Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 5/22/2017 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 5/22/2017 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 5/22/2017 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 5/22/2017 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 5/22/2017 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 5/22/2017 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 5/22/2017 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. 5/22/2017 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 5/22/2017 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 5/22/2017 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 5/22/2017 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 5/22/2017 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 5/22/2017 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 5/22/2017 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 5/22/2017 Roedu Conference 2005 16