NICE@ Architecture

27 downloads 1949 Views 87KB Size Report
Alex Berson classified cooperative processing systems into five styles: Distributed Presentation, Remote Presentation,. Distributed Business Logic, Remote Data.
Tamkang Journal of Science and Engineering, Vol. 3, No. 1, pp. 49-54 (2000)

NICE@ Architecture Hung-Sheng Chiu and Chyan Yang Institute of Business Management, National Chiao-Tung University, Taiwan, R.O.C. E-mail:[email protected], [email protected]

Abstract This article is to show a successful experience on a two-year software reuse project of Software Engineering Lab. (SEL) in Taiwan. In this research, attention is strictly focused on the interrelationships among key components that link between business processes, information applications, and information technology infrastructure. This choice is based on software reusable component design of distributed data processing considerations. The research method uses case study. The main contribution of this article explores what SEL architecture is. Moreover, the transformation of client/server computing architecture into N-tier, Internet-enabled Component-based Enterprise architecture is also described.

Key Words: Software Architecture, Client/Server Computing, Migration, Internet-enabled L L L L L L L L 1. Introduction As information technology assumes a more strategic role in companies, the ad hoc estimates of the past must be replaced by more systematic measures in the future [11]. To date there has been little on distributed systems architecture re-engineering. The SEL project kicked off in November l998 by using N-tier, Internet-enabled, Component-based, Enterprise Application Technology supported form SEL of III. It takes about 24 man-months to deliver SEL architecture in April l999. The purpose of the SEL project is to re-engineer Internet architecture for a distributed environment. In the next section, we introduce briefly the cooperative processing systems and client/server systems architecture. A SEL solution is given in Section 3, which is used to migrate two-tier client/server applications into N-tier Internet-enable, Component-based Enterprise applications. In section 4, we demonstrate the application of the NICE@ architecture with a case study. Conclusions are presented in the final section.

2. Related Works

Existing work relevant to the major software architecture is client/server. Client/server model is a concept for describing communications between service consumers (clients) and service providers (servers). The basic distinguishing feature of client/server model is that a client initiates an interaction with a server by sending a message or by invoking an operation. A server may become a client when it issues requests to another server. A client/server system, which is based on the client/server model, may appear in two main forms: client/server computing and client/server applications, The former is an implementation of the client/server model to deliver computing services such as mail service, database service, web service, print service, etc. The later are the applications that use the client/server model. For example, ordering system has implemented by using the client/server model. A distributed computing system can be viewed as a multi-tiered environment from the perspective of hardware-platforms and as cooperative client/server processing from the viewpoint of functional distribution [1]. Alex Berson classified cooperative processing systems into five styles: Distributed Presentation, Remote Presentation, Distributed Business Logic, Remote Data Management and Distributed Data Management.

49

50

Tamkang Journal of Science and Engineering, Vol. 3, No. 1 (2000)

The Gartner group has also defined five styles of client/server computing which are very similar to Berson's model and are using the model in their research reports and conference presentations for aiding in the discussion of client/server application [2]. This model is based on the distribution points of presentation functions, application logic functions, and data management functions. However, this model does not account for asynchronous processing, making it difficult to model groupware applications and E-mail type applications. Morissawa, et al [6] developed the open solution framework (OSFW) of client/server system (C/SS) architecture. Their client/server solution model as its kernel reference model to overcome the weakness in these two models by adding asynchronous processing to make the model more understandable. However, the OSFW contains only the C/SS model and does not cover all application areas. N-tier, Component-based systems over Internet is not treated in OSFW, is important with current information systems and will continue to be important in the future. Our solution was developed to overcome these issues.

3. Context of N-tier, Internet-enable , Component-based Architecture 3.1 Software Architecture

Descriptions of architecture range from conceptual models of design to source code organization and touch on more abstract notions such as frameworks, patterns, and styles [8]. Software developers have been discussing the “architecture” of their systems since the late 60’s [3,13]. It was Shaw’s paper [9] and Perry and Wolf’s subsequent paper [7] dealing with foundations of the new research area, which triggered the growth in the “software architecture” field. Software architecture is considered as one of the keys to modern software technology. Over the past few years, we have seen growing research interest in software architecture [10]. Although no satisfactory formal definition of the term software architecture exists to date, most researchers [4, 5, 12] in the field agree upon the following two architectural constituents: components and their relationships. 3.2 SEL Solution Windows DNA (Distributed interNet Application Architecture) is based on the concept that distributed applications should be logically separated into three partitions or tiers. Partitioning an application increases its scalability and makes the application easier to manage and update. Windows DNA specifies three tiers: presentation, business logic and data. Moreover, Figure 1 shows the details of technologies used at each tier.

Figure 1. Windows DNA architecture

Hung-Sheng Chiu and Chyan Yang: NICE@Architecture

Internet; and support a wide range of client devices for maximizing the access of an application. SEL architecture can help software developers use new application design on Windows DNA architecture easily, and implement their applications from client/server architecture to N-tier architecture. In addition, on the Softek’s project, our architecture has shown that the Softek’s development teams successfully adopted our solution to substitute their client/serve applications to N-tier Windows DNA architecture applications in less than six months. Moreover, the new implementation not only increases the ability to use enterprise environment, but also add some new features, such as asynchronous transaction and Internet web interface. As shown in Figure 2, the SEL provides template for developers to use. The template is based on several different purpose components. Under SEL template, there are data components, message components, mail components, security components, even-log components, replication components, and so on. Each component has its own special function.

A component is a discrete unit of software that has methods and state. It commonly runs inside some kind of container, such as VB, web browser or MTS (Microsoft Transaction Server). Some kinds of components run on their own. Using components is generally much easier than using class libraries or frameworks. COM was the first widely used component model. It’s now applied extensively is Windows and Windows NT software. Distributed COM (DCOM) allows creating and accessing COM objects on other machines. MTS is a COM-based transaction processing monitor. MTS applications must be written as COM components. 3.3 Architecture of SEL Solution The SEL architecture is based on Microsoft’s Windows DNA architecture; the Windows DNA is an application development model for the Windows platform. The purpose of Windows DNA is to help developers to establish robust, scalable, distributed applications on the Windows platform, extend existing data and external applications to support the

Application Process Business Object

Application Process

Data Warehouse

Process Object

t e t r n r o e t p n p I u S

Business Object Business Object

Deision Support Client

Database Server

Stateless Object

w o l l A

Web Server

e n i L f f O

Internet

OLAP Server

Application Process Message Server

Web Browser

Database Server

Business Object

Process Object

LAN

lg an ci ei s nt s iye l lc na o Onr AP

Online Transaction Processing

GUI Client

51

Figure 2. Architecture of Softek’s project GUI Client

LAN

Database Server

Internet

GUI Client

LAN

Database Server

Web Browser

Internet

Web Server

Application Server LAN

Business Object Business Object

Web Browser

Internet

Web Server

r e i T N

GUI Client

Database Server

Component GUI Client Based Web Browser

LAN

Application Server

Internet

Web Server

Figure 3. Migrating client/server architecture to NICE@ architecture

Database Server

52

Tamkang Journal of Science and Engineering, Vol. 3, No. 1 (2000)

As shown Figure 3, there are several steps that SEL solution uses to transform client/server application into N-tier application, and each step is divided functionally. Therefore, the developers can check their requirements and employ necessary steps for their products. The purpose to divide the SEL solution into several steps is that the software development companies do not need to transfer all their products to N-tier application that are being used in the enterprise. Software developers can just use what they need from the SEL solution. In addition, in the past, there were many cases showing that many software companies adopted new technologies, such as object-oriented analysis but failed. The major reason was that those companies adopted those new technologies without a good and through designs. They just directly used it. The SEL solution’s step-to-step implementation can be less risky than entirely replacement like other technologies had to do.

4. A Case Study The Softek company is a computer software vendor that provides accounting, stock quote, and MRP applications to the market. Softek’s products were developed based on the client/server architecture. As the Softek enjoyed their success of building their client/server solutions in the market, they gradually encountered the requirements of expanding their market globally. In order to meet their goal, their future products must provide the Internet access capability and support a large number of users. Therefore, the Softek wanted to extend a new ordering management system that includes several important elements: component-based, portable capabilities (asynchrony), Internet enable trading capabilities. However, under the client/server architecture, it was difficult to meet the enterprise’s requirements. In addition, to study and develop the new technology costs a quantity of time and money. Also, the risk of developing new technology is high, and sometimes the result may not really meet the demands. Therefore, the Softek decided to adopt the SEL architecture. With the SEL architecture, the Softek was able to save time and money because they did not need to study and develop new technologies by themselves. In addition, the architecture has been tested that it’s a workable architecture on the real world. Therefore, the Softek was able to avoid the risk of adopting new technologies.

Plan and Design According to the specifications and because of the limited duration, six months, for this project, and also the Softek’s development team is in China, SEL team divided the lecture into three courses, four handout documents, and one ordering system application. The SEL architecture is based on Windows DNA architecture. Before using SEL architecture, investigation of two servers, MTS (Microsoft Transaction Server) and MSMQ (Microsoft Message Server), were required. In addition, the Softek project was to generate an ordering system. According to the system development role, there would be four essential documents: system requirement analysis, use case analysis, object and component design, and user’s manual and source code. This project started in November 1998 and ended in April 1999, used Windows DNA architecture, and is built on Windows NT platform. Therefore, Microsoft Visual Studio was chosen as the development tool. Moreover, because the time was limited within six months, SEL team decided to use Visual Basic 6.0 to develop necessary components.

Implementation and Result To understand the requirements for the ordering system, at the beginning of the project, SEL development team held several meetings with SEL customers. After collecting their project requirements, SEL team used Rational Rose to draw the ordering system’s use case. In order to help the Softek development team to adopt the SEL solution, SEL team members also went China to train the Softek development team. Because the Softek development team already has experiences on Microsoft Visual Studio and SQL Sever database, this project only focused on system restructuring for the N-tier architecture, component designs and implementation, and some new technologies like MTS and MSMQ. The first training topic was the overview of Windows DNA, MTS, and component designs. Under this training, it focused on Microsoft Transaction Server architecture and how to use those new features of MTS. Also, SEL team educated how to write a component and build a stateless component in MTS. On the second training course, it focused on MSMQ, such as what is MSMQ, how MSMQ works, and how to write programs to send and receive messages on an N-tier environment. Having finished the training, SEL development team started working on the application layout and

Hung-Sheng Chiu and Chyan Yang: NICE@Architecture

component designs that were based on the previous use case. At same time, SEL team also helped the Softek solve problems during their product development because in the previous courses, they were only preparing and learning. However, at the real software development stage, many unexpected problems would happen. Therefore, it was important at this step to help the Softek development team solve their problems. By adopting the SEL solution, finally, the Softek development team was successfully to establish the N-tier ordering application in half a year. The demonstration of the ordering application, which follows the Windows DNA architecture, showed that users could either use the client application to access the server via the Intranet, or use browsers to access the server over the Internet. In addition, by using MSMQ, the application also provided portability (asynchrony) that allows the client side to make an order without connecting to the server, and whenever the client connects to server, the order will be processed. Right now, the Softek is working on its new product, which will include all the features that the demo ordering application exhibited. This product is supposed to complete at the end this year. The Softek also plans to migrate their other products to the N-tier architecture. The finial goal is to build an ERP (Enterprise Resources Planning) system.

5. Conclusions This article used SEL project as a case study to show how SEL solution works. Case study means that we investigate a contemporary phenomenon within its real-life context, when the boundaries between phenomenon and context are not clearly evident [14,15]. The purpose of this article is to provide experience of the SEL project from Software Engineering Lab. (SEL) of Taiwan. It concludes that the SEL architecture is a feasible solution for the N-tier application development. Documented in this article is a proposed method for migrating two-tier client/server applications to N-tier Internet applications. The purpose of this article is to provide information on the SEL project from Software Engineering Lab. (SEL) of Taiwan. In this research, attention is focused strictly on network architecture of distributed data processing considerations. This choice is based on the links between SEL and enterprise’s client/server systems. The main contribution of this article is to offer empirical evidence and to explores how the approach to re-engineer client/server information systems is.

53

Acknowledgements This research has been partially funded by in part by the ministry of economic affairs (MOEA), Grants 86-EC-2-A-17-0207, 87-EC-2-A-17-0207, 88-EC-2-A-17-0207. Any opinions expressed or implied are those of the authors.

References [1]

Berson, A., Client/Server Architecture, McGraw-Hill (1992). [2] Cassel, J, “The Total Cost of Client/Server: A Comprehensive Model,” A Gartner Group Conference on the Future of Information Technology Industry, November pp.10-11 (1994). [3] Dijkstra, E. W., “The structure of the Multiprogramming system” Communications of the ACM, 11(5), pp.341-346 (1968). [4] Kruchten, P., “Architecture Blueprints-The 4+1 View Model of Software Architecture,” IEEE Software, Nov. (1995). [5] Kazman, r., et al. “SAAM:A method for analyzing the Properties of Software Architectures,” In ICSE’94, Sorrento, Italy: IEEE Computer Society Press (1994). [6] Morisawa, Y., Okada, H., Iwata, H. and Toyama, H., “A computing Model for Distributed Processing Systems and Its Application,” Proc. of APSEC, Taipei, Taiwan, Dec., pp.314-321 (1998). [7] Petty, D. E. and Wolfe, A. L. “Foundations for the Study of Software Architecture,” ACM SigSoft, 17(4) (1992). [8] SEI. Software Architecture Definitions. URL http://www.sei.cmu.edu/architecture/definitions .html (2000) [9] Shaw, M., “Large Scale Systems Require Higher-lever Abstraction,” Proc. of Fifth International Workshop on Software Specification and Design, IEEE Computer Society, pp.143-146 (1989). [10] Shaw, M., and Garlan, D., Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, Upper Saddle River, NJ, USA (1996). [11] Singleton, J.P., McLean, E.R. and Altman, E.N., "Measuring Information Systems Performance: Experience with the Management by Results System at Security Pacific Bank", MIS Quarterly, Vol. 12 No. 2, pp. 325-337 (1988). [12] Soni, D., Nord, R. L., and Hofmeister, C., “Software Architecture in Industrial Applications,” in ICSE’95, Seattle, Washington: IEEE Computer Society Press (1995).

54

Tamkang Journal of Science and Engineering, Vol. 3, No. 1 (2000)

[13] Spooner, C. R., “A software Architecture for the 70’s: Part I–The General Approach,” Software–Practice and Experience, 1, Jan-Mar, pp.5-37 (1971). [14] Yin, R. K. (1994). Case Study Research, Design, and Method (2nd ed.), Thousand Oaks: Sage (1994). [15] Yin, R.K., Application of case study research, Newbury Park, CA: Sage (1993). Manuscript Received: Apr. 12, 2000 Revision Received: May. 26, 2000 And Accepted: May. 26, 2000