Migration to Multitier Application Architecture: a Case Study

Migration to Multitier Application Architecture: a Case Study

Migration to Multitier Application Architecture: A Case Study Mirta Baranović, Ladislav Mačkala Faculty of Electrical Engineering and Computing, University of Zagreb Unska 3, HR-10000 Zagreb, Croatia [email protected], [email protected] and Denis Kranjčec University Computing Centre (SRCE), Zagreb Marohnićeva bb, HR-10000 Zagreb, Croatia [email protected] Abstract. During the migration of an and voice service (Studophone) have been application to a new system, it is usually introduced to facilitate the administrative desirable to start using new tools while keeping procedures to all the involved parties. The existing models. However, challenges brought by system was based on the Informix RDBMS with new technologies often lead to modifications in applications written in INFORMIX-4GL. architecture of the existing system. Software for Studomat was written in Visual Two similar applications with different Basic, while software for Studonet was created architecture not sharing the same code base later using CGI, HTML and JavaScript present a possible point of improvement. technologies. Development of a new multi-tier application Migration to modern technologies is based on open standards was an attempt to solve achieved by design of a completely new system. problems brought by old architecture. Special Character based user interfaces are replaced with attention was given to implementation of specific graphical ones, Java programming language is feature of existing applications. Quality solution used, and so is JavaScript in combination with was achieved using stable platform and design HTML and XML technologies. Although, the patterns. first goal of migration to new technologies is to keep existing architecture and to add a small Keywords. Multitier Architecture, Application number of new features, most often it is Migration, Design Patterns. impossible to resist the challenges that new technology brings. Modified architecture of this 1. Introduction new system combined with aforementioned technologies will allow, among other things, Computerization of the system of high integration of Studomat and Studonet education in the Republic of Croatia [2] is a applications that will simplify the code project that started at the end of 1998. It is large maintenance and improve the scalability of the in size and complexity and requires a number of system. years to be completed. The project is based upon the experience gathered since 1992 on a similar 2. Old Studomat/Studonet application project implemented on the Faculty of Electrical Engineering and Computing (FER) of the Applications that had been developed in the University in Zagreb [1]. This implementation old system enabled the students’ interaction with covers a complete evidence of syllabuses, the the Faculty administration. Information became educational program fulfillment, course more available to the students and the scheduling and all the students' activities, starting administrative tasks became easier to achieve. from the entrance examination, education and examinations to the graduation thesis and issuing 2.1. Functionality of graduation certificate (diploma) and its supplement with the evidence of the student's The basic idea was to install the application performance. on a kiosk-like device with a touch screen and a Devices like kiosks with touch screen printer and to put such a kiosk in a place with monitors (Studomat), Internet access (Studonet) public access at faculties, thus granting the students 24 hours availability and consequently Requirements placed on Studonet were very greater independence of Student Service working different from those placed on Studomat because hours. intended functionality consisted of simple menus The Studomat offered following options to with a minimal set of business rules on the client the students: with emphasis on its availability and on small • Applying for an exam or canceling that requirements while connecting the client through application, viewing the results of web interface. Hence, Studonet architecture is a written exams variation of three-tier architecture most • Enrolling in a new academic year: commonly used by web applications. choosing courses for senior students and Studomat and Studonet shared some of their choosing the mentor to guide the functionality so it made sense to base them on graduation thesis the same part of business rules. • Printing of various documents and grade lists Client (Standalone Application) User Interface Printer 1 • Notifying students about matters of + NATIVE . Presentation Logic . interest via e-mail + . NATIVE Business Logic DBMS • Presenting the summary of all relevant Printer N VisualBasic Application information pertaining to the student Business Logic Data An improvement of the system was the ODBC Stored development of a web application named Procedures Tables Web Server Triggers Studonet that allowed students to accomplish Presentation Logic simple, but often required tasks using Internet ODBC from the comfort of their own room, without Client (Web Browser) CGI Script having to come to their faculties. User Interface HTTP(S) HTML JavaScript 2.2. Model Figure 1. Studomat and Studonet Entire information system was based on a 2.3. Implementation relational DBMS. Decisions about application architecture design were made by analyzing Studomat is a standalone application written requirements placed on application. in MS Visual Basic using ODBC for database One part of mentioned functions of the access and native printer access. Visual Basic system such as enrolling in a new academic year and its development environment made the and choosing courses encompasses very design of rich GUI possible, and full integration demanding interaction between a user and the with Windows operating system allowed good application. This interaction consists of printer control. Documents were in MS Word navigation through a complex menu tree because format. it is based on an extremely complicated business Analysis yielded that one Studomat covered rules system. Transaction complexity level is the needs of roughly 1000 students, which, for high and includes interaction with 30 or more FER, meant 3-4 Studomats and 2 printers. database tables. Overload occurred several times a year when a One Studomat (kiosk with installed large number of students wanted to accomplish application) can be connected to several printers. similar actions in the same time. The server part Then it controls them, checks their status and of Studonet was created using CGI technology evenly distributes the workload during printing. that was the only available server-side Documents to be printed are dynamically created technology at the time of development. The because they consist of database data and static client part of Studonet was created using a text. combination of HTML and JavaScript language Considering all mentioned above, the only which is sufficient for design of a simple user choice for Studomat application was two-tier interface. application architecture (also known as client- Studonet later appeared to be rather sensitive server). Known flaws of two-tier architecture to workload because of limited scalability of CGI had little significance because of the rather small technology because it starts separate processes number of Studomats. for each new client. 3. New Studomat application Maximum data security is an aspect that cannot be neglected because user's confidential During the development of the new data are transferred over web. information system that is expected to include all Since a number of applications were already institutions of higher education in Croatia, a new developed for the new system, it would be version of Studomat had to be developed as well. desirable, if possible, to use the existing In the analysis phase all problems discovered programming code. Existing applications were during the development and exploitation of the developed using our own framework [6] old system and requirements placed on the new designed for development of standalone system were taken into account. applications, which could also be used. Intensive use of design patterns would make 3.1. Motivation the interchange of ideas within the development team easier and the maintenance of programming The new application is supposed to contain all code less demanding. of Studonet's and Studomat's functionality and The choice of technologies should be, as also some additional enhancements. Similarly to much as possible, based on open systems and the old system, the new application should have industrial standards rather than on proprietary two different "allotropic modifications" based on technologies in order to maximally avoid vendor old Studomat and Studonet with similar set of lock-in. functions and requirements. The first idea was to take the complete code 3.2. Choice of technologies base of the old Studomat/Studonet and, after some modifications, use it in the new system. Starting from the requirements for open Another solution was to write the whole architecture, industrial standards and object- programming code from scratch using the insight oriented programming language, Java appeared and experience gained during development of the to be the optimal choice, taking into account that old Studomat. applications for the new system and the From performed analysis it was concluded framework they are based on were written in that the greatest potential problem of this new Java 2 Standard Edition. system would be the different

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us