ADVANTAGES OF MULTI-TIER ARCHITECTURE IN DESIGNING …

Download Report

Transcript ADVANTAGES OF MULTI-TIER ARCHITECTURE IN DESIGNING …

ADVANTAGES OF MULTI-TIER
ARCHITECTURE IN DESIGNING
COMPLEX SOFTWARE APPLICATIONS
FOR NETWORK ENVIRONMENTS
Alina Andreica, PhD
[email protected]
Daniel Stuparu [email protected]
Abstract



The advantages of the n-tier architecture: flexibility, design
extendibility, including systematic approach of solving
distributed access issues
An ERP type application used to exemplify the principles and
benefits of the multi-layer architecture
Current 3-tier design will be extended in the design process 
flexible design
7/16/2015
Roedu Conference 2005
2
Contents:
1.
Goals and Design Principles of the Application
2.
Present Architecture of the Application
3.
Future Stages and Design Models
4.
Advantages of the n-tier Design
5.
Conclusions and Future Developments
6.
References
7/16/2015
Roedu Conference 2005
3
1. Goals and Design Principles of the Application
ManageAsist


ERP project
developed using “in-house” strategy by the IT Department, Babes-Bolyai
University
Goals:



modeling the activity and specific information processing within the
administrative compartments of an university (Acquisitions, FinancesAccountability, Assets)
offer distributed access to the system’s facilities for various categories of
users
provide relevant synthesis for management levels
7/16/2015
Roedu Conference 2005
4
1. Goals and Design Principles of the Application
(cont.)
Principles for ensuring efficient project development and
extendibility in future development stages:


Efficient relational database - integrating, in a systematic form, all relevant
information; this systematic structure will be used in further fragmentation
operations;
Flexible tier-structured architecture,







easy extendibility,
development in stages
client-server architecture,
platform autonomy.
Object and component oriented design
Efficient distributed access and appropriate security features
Compliable and proficient development environment; flexible, efficient and
concurrent database management system
7/16/2015
Roedu Conference 2005
5
2. Present Architecture of the Application


Use Microsoft .NET platform, in particular C# language
Database server is a PostgreSQL 7.4 on a FreeBSD 5.1 operating
system.
ManageAsist presently contains:

Acquisition module


operate in a standalone version, because of the restricted time we had in
order to make the module operational
the module has a 3-tier structure (see fig. 1) and connects, using ODBC
protocol, to the remote PostgreSQL 7.4 database engine
7/16/2015
Roedu Conference 2005
6
2. Present Architecture of the Application
(cont.)
Standalone view
MS .NET
Windows
Forms
(GUI)
1
Business
Layer
Data
Layer
2
3
Postgre
SQL
ODBC DB
protocol Server
Fig. 1 Present tier structure of the application
7/16/2015
Roedu Conference 2005
7
2. Present Architecture of the Application
(cont.)
Description of Fig.1

Module 1. Windows Forms contain all graphical user interfaces (GUI)



Module 2 - Business Layer




send all the requests to Module 2 - Business Layer
uses the data provided by Module 2 - Business Layer
responds to the requests coming from Module 1
interrogate Module 3, using SQL
database management system (DBMS) is transparent to Module 2
Module 3 - Data Layer manage the system database and the connection to it


use the ODBC communication protocol
execute the given SQL queries on DBMS
7/16/2015
Roedu Conference 2005
8
3. Future Stages and Design Models

Client-Server model
 manage numerous concurrent requests on the database
 upgrade current architecture by modifying ONLY Module 2
 client and server sub-modules communicate by means of XML
messages
 flexible and easy extendable/ reusable message structure
 Independence between the client sub-module and the database
engine
 Platform independent ensure by the multi-tiers structured design and
the autonomy of client and server parts.
7/16/2015
Roedu Conference 2005
9
3. Future Stages and Design Models (cont.)
Client-Server View
MS .NET
Windows
Forms
(gui)
1
Client
Business Layer
2
Client side
(XML, socket)
Server
Data Layer
Server Side
(XML, socket)
3
ODBC
protocol
PostgreSQL
DB Server
Fig. 2 - Client-server architecture of the application
7/16/2015
Roedu Conference 2005
10
3. Future Stages and Design Models (cont.)
Fragmentation of the database







concurrent facilities offered by the PostgreSQL database server
optimize access from each type of organizational unit
a multi-layer view on the database
We shall implement a homogenous distributed database system (DDBS)
local fragments will contain the most accessed tables from each compartment

hosted by different machine servers for increasing access speed
local access schema for each local database reunited into one or more
global access schemas
public global access schema(s) to be used by the application
7/16/2015
Roedu Conference 2005
11
3. Future Stages and Design Models (cont.)
PostgreSQL DB
Local DB1
(fragment )
Local
schema
Local DB2
(fragment )
Local DBn
(fragment )
Local
schema
Local
schema
Global
schemas
Fig. 3 - Segmentation model applied on the database
7/16/2015
Roedu Conference 2005
12
4. Advantages of the n-tier Design
Advantages of the multi-tier architecture principles
applied in designing ManageAsist:




easy extendibility of the project and natural development in stages
extendibility in client-server architecture
maximum code reusability in the development stages
code efficiency in systematic managing project components
Issue of managing tiers in project design

maximize their design advantages since a very large number of levels
induces run-time disadvantages

an adequate balance of design generality & extendibility & runtime speed is to be pursued
7/16/2015
Roedu Conference 2005
13
5. Conclusions and Future Developments



reveals the advantages of n-tier architectures, mostly in stage development
of projects;
significant benefits in project extendibility, including client-server model,
code reusability and systematic managing project components;
implementing efficient n-tier architectures requires an appropriate
management of levels, in order to balance the systematic design advantages of
these principles with run-time speed, mostly in network environments
Future Work

development of the next project modules (Finances-Accountability,
Assets),

Developing an efficient client-server architecture & multi-tier design,
according to the principles we presented along the paper

further refine theoretical aspects of systematic project implementation and
multi-tier design
7/16/2015
Roedu Conference 2005
14
6. References





[And04]
Alina Andreica, Iustin Pop – ICT Strategies for Increasing
Efficiency in Businesses and Organizations. Case study on some Romanian
SMEs , Panagiotis Petratos editor, “Global Information Technology,
Innovation and Entrepreneurship”, 350 pages , p. 1-8, ATINER, Athens, 2004
[Arc02]
Archer T., Whitechapel A. - ”Inside C#”
Microsoft Press, 2002
second edition,
[CSN99]
Client/Server and the N-Tier Model of Distributed Computing,
Micromax Information Services Ltd. 1999
Devor, C., et al., „Five-Schema Architecture Extends DBMS to
Distributed Applications”, Electronic Design, Mar. 1982
[Dev82]
[Hog03]
Hoganson, K., and Guimaraes, M., „N-Tier Client/Server
Course”, Consortium for Computing Sciences in College Conference,
Dunwoody, Georgia, 2003
7/16/2015
Roedu Conference 2005
15
6. References (cont.)




[McB00]
McBrien P., Poulovassilis A. „Distributed Databases”, 2000
[Mul93]
Mullender, S. (ed.), „Distributed Systems”, Reading, MA:
Addison-Wesley, 1993
[Ram98]
Ramakrishnan, R.,”Database Management Systems”, New York:
McGraw-Hill, 1998
[Rob02]
Robin A., “SOOP with Microsoft Visual Basic .NET and Microsoft
Visual C# .NET step by step“, Microsoft Press, 2002

[3nT]
3- and n-Tier Architectures http://www.corba.ch/e/3tier.html

[CSW]
Client/Server http://www.iterrasoft.com/ClientServer.htm
7/16/2015
Roedu Conference 2005
16