Using Grid Technologies for Web-enabling Legacy Systems - CiteSeerX

3 downloads 26045 Views 36KB Size Report
separated from the business logic and the data model components. ... technologies for migrating Cobol software systems with character-based user interface. 1.
Using Grid Technologies for Web-enabling Legacy Systems Thierry Bodhuin and Maria Tortorella RCOST - Research Centre On Software Technology Department of Engineering, University of Sannio Via Traiano, Palazzo ex-Poste – 82100, Benevento, Italy (bodhuin/[email protected])

Abstract The adoption of the Internet technologies favors the diffusion of Web and Grid-based applications. However, the development of new applications exploiting the modern interfaces and distribution channels have to face the problems connected with the integration of existing software systems. This aspect often requires the migration of legacy systems toward the Web technologies. In fact, they cannot be simply discarded as they are very important for the business they support and because they encapsulate a great deal of knowledge and expertise about the application domain. Many migration strategies have been proposed in the literature. Many of them are referred to decomposable and/or semi-decomposable software systems where the interface component is separated from the business logic and the data model components. In this case, the interface component can be re-implemented, while the other ones are encapsulated into a software wrapper. Unfortunately, the legacy systems are very often non-decomposable. It is necessary to apply strategies that work also leaving unchanged the control flow of the legacy system and allowing its integration with Web and Grid environments. This paper proposes a solution using Web and Grid technologies for migrating Cobol software systems with character-based user interface. 1. Introduction The adoption of the Internet and Web technologies motivate the introduction of dynamic activation and discovery of services that can be considered an important evolution factor for the future of the legacy systems. However, the evolution had to face the integration of the existing software systems with the new user interface paradigm and middleware technology. The Web technologies combined with dynamic discovery of services allow the dynamic migration of the legacy systems in order to support the continuity of its services even during maintenance and evolution activities. This document proposes to evolve an approach for migrating legacy systems to the Web proposed in [BGT03]. The presented solution enables the integration of character-based legacy systems written in Cobol language with the Web and Grid technologies. The Grid allows the seamless access and world-wide use of computing resources in terms of computing power and storage space. In particular, the paper will focus on the use of some Grid technologies for enabling the dynamic activation, discovering and use of services. 2. Research challenges in the problem area In the e-business, it is often necessary to integrate services across distributed, heterogeneous, dynamic systems accessing resources within an enterprise and/or external ones. The integration can be referred also to the legacy systems that cannot be simply discarded, as they encapsulate a great quantity of knowledge and expertise about the application domain that is of great importance for the business. A solution can consist of their migration toward innovative and emerging technologies. In [BGT03], an approach is presented for migrating non-decomposable legacy system to the Web. After being modified, the legacy system could run on the Web server side and be accessed through a screen proxy by the Web server. One of the problems met in this kind of solution is the updating

of the application server when a new version of the migrated legacy system is created. The Grid technologies can help in this direction. In [FK99, FKT01], the Grid technologies are defined as supporting the sharing and coordinated use of diverse resources in dynamic, distributed “virtual organizations”. Using combined approaches, based on Web and Grid technologies, enables the dynamic updating of client and server parts of a software system. This document proposes a solution using Web and Grid technologies for migrating legacy systems that are character-based and written in the Cobol language.

2 & 12 11 & 20

Web Server

Web Browser User 1

Screens & Proxy Container Servlet 8 & 17 10 & 19 Screen Model User 1/LS 1 v1



3 & 13

5 & 14 7 & 16

1

Activation & Proxy Container 6 & 15 Legacy System 1 v1

9 & 18



Legacy Data 1

Legacy System 2 v1 Legacy Data 2 v1

Screen Model User 1/LS 2 v1 Activation & Proxy Container Screen Model User 2/LS 1 v2

Legacy System 1 v2

Screen Model User 2/LS 2 v2

Legacy System 2 v2 Legacy Data 2 v2



Web Browser User 2

Directory 4 Service



Figure 1: Integration of Legacy systems with web and grid technologies Figure 1 depicts the proposed solution and shows how the legacy systems can be found, activated and used through a web browser. Legacy systems are environment dependent and self contained, that is they do not need external resources like database for global storage. Figure 1 shows that the legacy systems continue to interact with the legacy data even after their evolution. The Activation & Proxy Container (APC) in the right side of Figure 1 includes the information about the various versions of the legacy systems that either have been or may be activated. The resources managed by the APC have been processed by applying the approach proposed in [BGT03]. The Screens & Proxy Container Servlet (SPCS) contains the references between the screens models and the associated activated version of the legacy system. The APC and SPCS components exploit GRID technologies. The numbered arrows in Figure 1 show the flow of data and control when a user wants to interact with a legacy system through the Web. The steps involved for discovering, activating and using the legacy systems, depicted in Figure 1, are the following: 1: The APC interacts with Directory Service for registering the legacy system services it can activate. 2: A web user connects to a Web server to find and interact with a legacy system through a web user interface. 3: The Web server activates the SPCS. 4: The SPCS searches for the legacy system service into the Directory Service in order to find the legacy system location and versions that can be activated. 5. The SPCS contacts the APC associated to the legacy system that should be activated. 6: The APC activates the legacy system and keeps a reference to it. 7: The legacy system contacts the SPCS for creating its user interface. This is actually done through the wrapper of the legacy system and through the proxy part of the APC. 8: The SPCS creates an instance of a screen model corresponding to the legacy system user interface and connects them.

9: The legacy systems continues to run and modifies its associated user interface through calls to the proxy part in the APC that redirects calls to the SPCS and then to the specific screen model. This step corresponds to an iteration of step 6b and 7b, and may consist of a sequence of display commands on the screen. 10: At a certain time the SPCS responds to the Web server transforming the screen model to an HTML page. This may happen when the legacy system requests an user intervention, for example the execution of a Cobol ACCEPT instruction, or when the time between the last refresh of the screen elapses. 11: The web server forwards the answer to the web browser. 12: The user fills in an input field or simply the web browser asks for a refresh of the screen. 13: The Web server redirects the request to the SPCS. 14 & 15: The SPCS redirects the web input to the legacy systems through the APC. Steps 16-20 evolve as described in steps 9, 10 and 11. 3. State of art The high costs and risks of adopting a new system motivate the choice for an incremental migration strategy [CG97] from procedural/text-based environment to object-oriented/web-based technologies. This strategy can be based on reverse engineering, wrapping and GUI re-implementation and allows the gradual introduction of object-oriented components in the Enterprise Information System and, on the other hand, extends the benefits of past investments in information technologies [BS97]. An incremental migration strategy has been proposed in [ABGT02]. In this strategy, the wrapping allows new object oriented applications to coexist with legacy components. A wrapper represents the interface that gives new applications access to the legacy components by the exchange of messages. The wrapper converts the messages into calls to the system components that perform the required service. This approach has been completed with the implementation of a toolkit [BGT02] supporting the migration of a legacy system toward the Web. The applied strategy was based on the individuation of an object model of the application, based on the Model-View-Controller design pattern, and focused on the persistent data and on the separation of the user interface components. Techniques of automatic migration of the user components towards JSP (i.e.: Java Server Pages) and wrapping of the individuated objects were applied. Sneed [Sne96] proposed a software component encapsulation at different granularity levels (batch process, online transaction, program and module). Each component can be accessed from other foreign environments, through wrappers and by message passing. The same author in [Sne01] describes the tools and techniques for encapsulating host COBOL programs behind an XML interface. In [TH01], Thiran and Hainaut present a wrapping methodology for legacy data system reuse supported by an operational CASEtool. In [ACCD01], the authors present a pilot project for the migration of a legacy COBOL system to a Web-based architecture, using user interface reengineering and wrapping technique. The user interface components are isolated and re-implemented using Microsoft Active Server Pages and VBScript script language. The legacy program wrappers are implemented as dynamic loaded libraries written in MicroFocus Object COBOL. In [CHMS97], an integrated tool environment, based on static analysis of character-based panels for the identification of dialog entities, is presented. It supports the migration of character-based panels of a mainframe application to graphical user interfaces in a client/server application. In [AFMT95], Antoniol et al. propose an approach to reengineer BASIC PC legacy code into modern graphical systems in C++ code. The approach was based on the conceptual representation of the original code in terms of abstract graphical objects and callbacks. Many of the proposed strategies are referred to decomposable and/or semi-decomposable software systems with the interface components separated from the business logic and the data model components. In these cases, the interface component can be re-implemented, while the other ones are encapsulated into a software wrapper.

For semi-decomposable systems in which only the user interface may be separated from the rest of the system, the objects may be wrapped and the user interface may be migrated towards JSP pages (e.g.: keeping unchanged the data model and data store). In [ACCD01] a practical migration example of semi-decomposable Microfocus Cobol legacy system was presented. Another primary task involving a legacy system migration is the re-implementation of the old character-based interface by using web-oriented technologies, a form of web-based screen scraping [Mer00]. Screen scraping is a common technique for user interface modernization that consists of wrapping old, textbased interfaces with new graphical interfaces. The old interface is often a set of text screens running in a terminal. In contrast, the new interface can be a PC-based, graphical user interface, or even HTML. The migration activities may become more complex when the system is not clearly decomposable. In this case, the use of Screen Scraping techniques [CWSR00] may be used. These techniques [Att00] use the data stream between the terminal user interface and the application as input, in order to recover and transform the user interface information towards a new user interface or in HTML format using a user interface emulator. Several commercial tools [Abb02, Jac02, Tra01] based on proprietary platform already exist using this technique that allows the integration of legacy application in web or windows-based environments without modifying the source code. In [MGGK95], Merlo et al. defined a process to reverse-engineering user interface to obtain its structural and behavioral specification. A prototype implemented the approach and was used to convert and reengineer the user interface for a COBOL/CICS application program. In [MM00], the authors presented a restructuring process for user interface components, for migrating legacy applications towards the Web. They use the MORPH technology during the understanding and analysis phases. The proposed process is based on the individuation of the user interface components and their transformation towards HTML forms. It keeps on the server side the remaining part of the system and interacts with it by using the Common Gateway Interface (i.e.: CGI). The user interface functionalities are decomposed in two parts: one is used for creating the HTML forms usable for the presentation; and the second is used for processing the input field in the HTML forms and communicating with the legacy system components that uses the CGI interface. Csaba presented in [Csa97] an approach for user interface reengineering, in order to transform the DOS screens in Windows user interfaces. The approach uses specific Microfocus COBOL applications utilizing ADIS libraries for the management of the user interface input/output operations. In [BGT03], the authors present a migration approach towards the Web for nondecomposable legacy software systems. It requires an automatic transformation of the legacy source code, and a tool supporting the approach has been implemented for Cobol software systems. The Grid technologies [FKNT02] can represent a reference for managing the evolution of the existing server side applications and ensuring the quality of the service. They can support the sharing and coordinated use of diverse resources in dynamic, distributed “virtual organizations” [FK99, FKT01].

4. A road-map to address the research challenges The document proposes an architecture using Web and Grid technologies for accessing legacy systems. The proposed solution enables the dynamic updating of client and server parts of a software system. The solution uses the results obtained by a previous experience documented in [BGT03]. As the approach here proposed was specialized for Cobol legacy systems, the first step to perform is the generalization of the approach to other programming languages. In the same time, the SPCS and APC components of the architecture drawn in Figure 1 will be designed and implemented using Grid technologies. In particular, the Grid services permitting the dynamic discovering and

activation will be central aspect to be considered. Once the implementation activities are completed, case studies will be executed for verifying the correctness of the approach.

Bibliography [Abb02] J.Abbott, “MicroFocus extends Web services to mainframes”, 2002, http://www.microfocus.com/press/news/ 20021004.asp. [ABGT02] C. Albanese, T. Bodhuin, E. Guardabascio, M. Tortorella “A Toolkit for Applying a Migration Strategy: A Case Study”, Proc. of the 6th European Conference on Software Maintenance and Reengineering, Budapest, Hungary, IEEE CS Press, March 2002. [AFMT95] G. Antoniol, R. Fiutem, E. Merlo, and P. Tonella, “Application and User Interface Migration from BASIC to Visual C++”, Proc. of IEEE International Conference on Software Maintenance, Opio (Nice), France, IEEE CS Press, 1995. [Att00] Attachmate Corporation, “White Paper: Repurposing Legacy Applications for the Web: Screen-Based Access in Perspective”, 2000, http://www.attachmate.com/article /0,1012,3485_1_4970,00.html. [ACCD01] L. Aversano, A. Cimitile, G. Canfora, A. De Lucia, “Migrating Legacy Systems to the Web”, Proc. of the 5th European Conference on Software Maintenance and Reengineering, Lisbon, Portugal, IEEE Comp. Soc. Press, 2001, pp.148-157. [BGT02] T. Bodhuin, E. Guardabascio, M. Tortorella “Migrating COBOL Systems to the WEB by using the MVC Design Pattern”, proc. of the 9th Working Conference on Reverse Engineering, Brisbane, Richmond (Virginia), USA, 2002, IEEE Comp. Soc. Press 2002, pp 329338. [BGT03] T. Bodhuin, E. Guardabascio, M. Tortorella “Migration of non-decomposable software system to the Web”, to appear on proc. of the 10th Working Conference on Reverse Engineering, Victoria, Canada, 2003, IEEE Comp. Soc. Press 2003 [CG97] G. Canfora, A. Cimitile, “A Reference Life-cycle for Legacy Systems”, Proc. of ICSE97 Workshop on Migration Strategies for Legacy Systems, Boston, Massachusetts USA, IEEE CS Press, 1997. [CHMS97] I. Classen, K. Hennig, I. Mohr, M. Schulz, "CUI to GUI Migration: Static Analysis of Character-Base Panels", Proc. of the 1st European Conference on Software Maintenance and Reengineering, Berlin, Germany, IEEE CS Press, 1997, pp 144-149. [CWSR00] S. Comella-Dorda, K. Wallnau, R. Seacord, J. Robert, “Survey of Legacy System Modernization Approaches”, CMU/SEI, 2000, http://www.sei.cmu.edu/publications/documents /00.reports/00tn003.html. [Csa97] Csaba L., “Experience with User Interface Reengineering Transferring DOS Panels to Windows”, Proceedings of the 1st Euromicro Working Conference on Software Maintenance and Reengineering, Berlino, Germania, 1997, IEEE Comp. Soc. Press 1997, pp.150-156. [FK99] I. Foster, C. Kesselman, “The Grid: Blueprint for a new computing infrastructure”, Morgan Kaufmann, 1999 [FKT01] I. Foster, C. Kesselman, S. Tuecke, “The anatomy of the Grid: Enabling Scalable Virtual Organization”, International Journal of High performance Computing Applications, 15(3), 2001, pp. 200-222, http://www.globus.org/research/papers/anatomy.pdf [FKNT02] I. Foster, C. Kesselman, J. M. Nick, S. Tuecke, “The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration”, http://www.globus.org/research/papers/ogsa.pdf [Jac02] jacada, “Terminal Emulation - A Simple Approach to Web-to-Host”, 2002, http://www.jacada.com/Products/Jacada_Terminal_Emulator/. [Mer00] Merant, “Micro Focus COBOL Language Reference - Additional Topics”, 2000, http://www.ufrima.imag.fr /PLACARD/ECOLE2/ASG/cobolCD/html/books/attocc.htm.

[MGGK95] E. Merlo, P.Y. Gagnè, J.F. Girard, K. Kontogianis, P. Panangaden and R. De Mori, “Re-engineering User Interface”, IEEE Software, Vol. 12, N. 1, 1995, pp. 64-73. [MM00] M. M. Moore, L. Moshkina, “Migrating Legacy User Interfaces to the Internet: Shifting Dialogue Initiative”, Proc. of the 7th Working Conference on Reverse Engineering, Brisbane, Australia, IEEE CS Press, 2000, pp 52-58. [Sne96] H. M. Sneed, "Encapsulating Legacy Software for Use in Client/Server Systems", Proc. of the 3rd Working Conference on Reverse Engineering, Monterey, CA, IEEE CS Press, 1996, pp.104-119. [Sne01] H. M. Sneed, "Wrapping Legacy COBOL Programs behind an XML-interface", Proc. of the 8th Working Conference on Reverse Engineering, Stuttgart, Germany, IEEE CS Press, 2001, pp 189-197. [TH01]Ph. Thiran, J. L. Hainaut, "Wrapper Development for Legacy Data Reuse", Proc. of the 8th Working Conference on Reverse Engineering, Stuttgart, Germany, IEEE CS Press, 2001, pp 198207. [Tra01] Transoft, “Product Family Enables E-Business and Enterprise Application Integration ”, 2001, http://www.transoft.com/news/adapter_announce.htm.