Presentation on theme: "An Approach to Wrap Legacy Applications into Web Services Wesal Al Belushi, Youcef Baghdadi Department of Computer Science, Sultan Qaboos University, Sultanate."— Presentation transcript:
An Approach to Wrap Legacy Applications into Web Services Wesal Al Belushi, Youcef Baghdadi Department of Computer Science, Sultan Qaboos University, Sultanate of Oman Service systems and service management
SOA provides a methodology and an IT platform provides a loosely coupled environment produces well defined, easy to use and meaningful functionalities exposes the applications internally and externally
WEB SERVICES Web services solved the heterogeneity problem by allowing the applications to communicate using standard based mechanism. WSDL (Web Service Description Language) is an XML format for describing Web services interfaces. UDDI (Universal Description, Discovery and Integration) is an XML based protocol that acts as a public directory for registering Web services and as a real-time lookup of Web services. SOAP (Simple Object Access Protocol) is an XML based communication protocol that runs over HTTP.
WRAPPING LEGACY APPLICATIONS INTO WEB SERVICES Patterns to expose the functionalities of legacy applications: wrappers, adapters and proxies. Adapters and proxies know their clients in advent. Wrappers focus on providing the interface without having a prior knowledge about its client. Wrappers solve platform, language and network issues.
Wrapping Approaches Three basic approaches 1.Session Based Approach 2.Transaction Based Approach 3.Data Based Approach
Session Based Approach when the legacy application is written in a way such that the business logic and presentation interface are not clearly separated. In this approach, only the presentation layer of the legacy application is modified, the logic and work flow remains unchanged. This approach offers a one way service.
Transaction Based Approach This approach is used in a well structured legacy application with separate and distinct layers for data access, business logic and presentation. The transactions are performed on the legacy application without disrupting the state of application. Transaction based approach offers a two way Web service.
Data Based Approach This approach is used when an access to operational and transactional data residing on databases without going through business logic. It offers a one way service.
A HYBRID SOLUTION Hybrid solution combines the Top-Down and Bottom- Up styles of building Web services. This solution involves the following steps: 1.select a running legacy application 2.extract the required services from the legacy application 3.build a Web service through the Top-Down methodology 4.build the wrapper.
Running case WB is an Airline Company Three specific applications to be exposed as Web services: – Seat Reservation (SR) – Flight Availability (FA) – Check Hotels (CH)
legacy applications SR is a transaction based application that is running on the client-server style. FA is a session based application that does not require any transactions. CH is one of the new services joined WB, its main functionality is to retrieve information from the database without performing any transactions.
Extract the Service Extracting business rules from an application can be done through several techniques such as: Knowledge Mining and Reverse Engineering. Reverse engineering each application (SR, FA and CH) produces a business process diagram that describes the inputs, processes and outputs of each application.
Build a Web service A Web service is required for each legacy application (SR, FA and CH). These Web services will not perform any processes; instead they will accept inputs to the legacy application and outputs of the legacy applications.
Build Web Service Wrapper Wrapping the SR, FA and CH applications will be done through Transaction Based Approach, Session Based Approach and Data Based Approach respectively.
CONCLUSION Re-architecting IT infrastructure to Service Oriented Architecture is impossible without taking these legacy applications along. The Session Based Approach is the best approach used to deal with the typical legacy applications. Transaction Based Approach draws attention to security issues because it exposes database transactions internally and externally.