160 likes | 754 Views
ADVANTAGES OF MULTI-TIER ARCHITECTURE IN DESIGNING COMPLEX SOFTWARE APPLICATIONS FOR NETWORK ENVIRONMENTS. Alina Andreica, PhD alina.andreica@staff.ubbcluj.ro Daniel Stuparu dstuparu@staff.ubbcluj.ro. Abstract.
E N D
ADVANTAGES OF MULTI-TIER ARCHITECTURE IN DESIGNING COMPLEX SOFTWARE APPLICATIONS FOR NETWORK ENVIRONMENTS Alina Andreica, PhDalina.andreica@staff.ubbcluj.ro Daniel Stuparudstuparu@staff.ubbcluj.ro
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 Roedu Conference 2005
Contents: • Goals and Design Principles of the Application • Present Architecture of the Application • Future Stages and Design Models • Advantages of the n-tier Design • Conclusions and Future Developments • References Roedu Conference 2005
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, Finances-Accountability, Assets) • offer distributed access to the system’s facilities for various categories of users • provide relevant synthesis for management levels Roedu Conference 2005
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 Roedu Conference 2005
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 Roedu Conference 2005
2. Present Architecture of the Application(cont.) Standalone view Fig. 1 Present tier structure of the application PostgreSQL DB Server MS .NET Windows Forms (GUI) 1 Business Layer 2 Data Layer 3 ODBC protocol Roedu Conference 2005
2. Present Architecture of the Application(cont.) Description of Fig.1 • Module 1. Windows Formscontain all graphical user interfaces (GUI) • send all the requests to Module 2 - Business Layer • uses the data provided by Module 2 - Business Layer • 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 Layermanage the system database and the connection to it • use the ODBC communication protocol • execute the given SQL queries on DBMS Roedu Conference 2005
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-modulescommunicate by means of XML messages • flexible and easy extendable/ reusable message structure • Independence between the client sub-module and the database engine • Platform independentensure by the multi-tiers structured design and the autonomy of client and server parts. Roedu Conference 2005
3. Future Stages and Design Models(cont.) Client-Server View Fig. 2 - Client-server architecture of the application Client MS .NET Windows Forms (gui) 1 Business Layer 2 Client side (XML, socket) PostgreSQL DB Server Server Data Layer 3 ODBC protocol Server Side (XML, socket) Roedu Conference 2005
3. Future Stages and Design Models(cont.) Fragmentation of the database • concurrent facilitiesoffered by the PostgreSQL database server • optimize accessfrom each type of organizational unit • amulti-layer view on the database • We shall implement ahomogenous 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 Roedu Conference 2005
PostgreSQL DB Local DB1 (fragment ) Local DB2 (fragment ) Local DBn (fragment ) Local schema Local schema Local schema Global schemas 3. Future Stages and Design Models(cont.) Fig. 3 - Segmentation model applied on the database Roedu Conference 2005
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 designadvantages since a very large number of levels induces run-time disadvantages • an adequate balance of design generality & extendibility& run-time speed is to be pursued Roedu Conference 2005
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 refinetheoretical aspects of systematic project implementation and multi-tier design Roedu Conference 2005
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#” second edition, Microsoft Press, 2002 • [CSN99] Client/Server and the N-Tier Model of Distributed Computing, Micromax Information Services Ltd. 1999 • [Dev82] Devor, C., et al., „Five-Schema Architecture Extends DBMS to Distributed Applications”, Electronic Design, Mar. 1982 • [Hog03] Hoganson, K., and Guimaraes, M., „N-Tier Client/Server Course”, Consortium for Computing Sciences in College Conference, Dunwoody, Georgia, 2003 Roedu Conference 2005
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 Architectureshttp://www.corba.ch/e/3tier.html • [CSW] Client/Serverhttp://www.iterrasoft.com/ClientServer.htm Roedu Conference 2005