Chapter 4: Enterprise Architectures Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 42Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Highlights of this Chapter Enterprise Integration J2EE.NET Model Driven Architecture Legacy Systems
Chapter 43Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns J2EE Technology
Chapter 44Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns.NET Technology
Chapter 45Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns.NET Web Services COBOL Web service for multiplication CLASS-ID. MULTIPLICATIONSERVICE. FACTORY. PROCEDURE DIVISION. METHOD-ID. MULTIPLY. DATA DIVISION. LINKAGE SECTION. 01 VAL-1 PIC S9(9) COMP VAL-2 PIC S9(9) COMP PRODUCT PIC S9(9) COMP-5. PROCEDURE DIVISION USING BY VALUE VAL-1 VAL-2 RETURNING PRODUCT. COMPUTE PRODUCT = VAL-1 * VAL-2. END METHOD MULTIPLY. END FACTORY. END CLASS MULTIPLICATIONSERVICE.
Chapter 46Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Legacy Systems A pejorative term for computing systems that run on obsolete hardware and nonstandard communication networks run poorly documented, unmaintainable software consist of poorly modeled databases on hierarchical or network DBMSs support rigid user interfaces Legacy systems are important for us precisely because they are not cooperative!
Chapter 47Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns How Legacy Systems Arise Proprietary software not documented not supporting industry standards (vendors who hope to lock in the market through incompatibility) Semantics embedded procedurally in the code Ad hoc changes to software in response to changing requirements, because of changes in laws, regulations, competition, or other business needs bugs
Chapter 48Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Legacy Systems: Negative Difficulties in reuse and sharing of data and programs cause redundancy, wasted effort, and integrity violations Closed: typically, use a vendor’s proprietary software, and cannot cooperate with other systems
Chapter 49Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Legacy Systems: Positive Fulfill crucial business functions Work, albeit suboptimally Run the world’s airline reservation systems Run most air traffic control programs Have dedicated users Represent huge investments in time and money
Chapter 410Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Current Trends Create open systems Follow industry standards Use advances in software engineering and databases Enable applications to talk to one another, even if developed by different manufacturers This leads to better systems, because components can be built by specialists and system designers have more choice. But what about the older systems?
Chapter 411Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Accommodating Legacy Systems Introduce new technology as needed Integrate legacy systems with new components Integrate the legacy systems with each other But don’t spoil existing applications Is this even possible? If not, why not? If so, how might one achieve this?
Chapter 412Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Important Considerations The effort per legacy system one is willing to invest in Modifying existing applications Acquiring knowledge about, i.e., models of, the existing applications The limits on the ranges of the new applications Whether improvements to legacy applications are sought
Chapter 413Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Migration Updating technology is Essential A continual process All at once? Expensive Risky Brittle Frustrating for users Gradual change: dismantle legacy and build desired system hand-in-hand Install and test piecemeal
Chapter 414Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Old-to-New Converters Example: hierarchical to relational converters, which generate SQL from hierarchical (e.g., IMS) programs Convert Old Interface to New IMS Code Legacy HW & SW SQL New System
Chapter 415Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns New-to-Old Converters Example: relational to hierarchical converters, which generate hierarchical (e.g., IMS) programs from SQL Convert New Interface to Old IMS Code Legacy HW & SW SQL New System
Chapter 416Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Converters Applied to Interoperation Converters work well where there are only a small number of applications Converters can be applied, but expensively need a converter between every pair of applications, user interfaces, and database systems
Chapter 417Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns A Better Picture With enough such generic converters, we can make legacy systems talk to one another and to new systems Bonus: we can handle disparities among new systems as well Convert Any New or Old Interface Legacy HW & SW New Systems Application Applications and Interfaces Convert Any New or Old Interface
Chapter 418Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Applying Agents Agents can be the generic converters. We also need to nondestructively interpose agents between the components (weakly) type the messages exchanged use tools to keep track of the resources, i.e., applications and databases use tools to coordinate tasks
Chapter 419Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Chapter 4 Summary Services must fit into existing architectures J2EE and.NET are architecturally similar Legacy systems provide the basis for many services Interoperating with legacy systems is nontrivial Challenge: refactoring legacy capabilities to derive best value from resulting services