1 / 109

Migration of Legacy Assets to SOA Environments

Migration of Legacy Assets to SOA Environments. Dennis Smith and Grace Lewis Software Engineering Institute. Goal. Our Goal Today. Present and discuss Basic concepts related to SOA Challenges of implementing SOA-based systems

Télécharger la présentation

Migration of Legacy Assets to SOA Environments

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Migration of Legacy Assets to SOA Environments Dennis Smith and Grace Lewis Software Engineering Institute

  2. Goal Our Goal Today • Present and discuss • Basic concepts related to SOA • Challenges of implementing SOA-based systems • Effects of SOA characteristics on migration of legacy assets to services • Technique for determining feasibility and effort required to migrate legacy assets as services for a specific SOA environment

  3. Agenda Agenda • Introduction to SOA • Pillars of SOA-Based Systems Development • Issues in Migration to SOA Environments • SMART (Service Migration and Reuse Technique) • Conclusions and Next Steps

  4. SOA: 50,000 Foot View Agenda • Introduction to SOA • The 50,000 Foot View • Basic Concepts • Common Misconceptions • The 5,000 Foot View • The 1,000 Foot View • Pillars of SOA-Based Systems Development • Issues in Migration to SOA Environments • SMART (Service Migration and Reuse Technique) • Conclusions and Next Steps

  5. SOA: The 50,000 Foot View—Basic Concepts What is SOA? • Service-oriented architecture is a way of designing systems that enables • Cost-efficiency • Agility • Adaptability • Leverage of legacy investments

  6. SOA: The 50,000 Foot View—Basic Concepts Services • Services are reusable components that represent business tasks. • Customer lookup • Account lookup • Credit card validation • Credit check • Hotel reservation • Interest calculation • Services can be • Globally distributed across organizations • Reconfigured into new business processes

  7. SOA: The 50,000 Foot View—Basic Concepts Services and Cost-Efficiency CRM Application Order Processing Application Invoicing Application Customer Lookup - 2 Customer Lookup - 1 Customer Lookup - 3 A service with equivalent functionality can be implemented and used by all three applications Customer Lookup Service

  8. SOA: The 50,000 Foot View—Basic Concepts Services and Agility The new application can easily use available services. Order Processing Application Course Management Application New services can be used by other applications as well. Customer Lookup Service Credit Check Service Item Lookup Service Inventory Check Service Room Availability Service

  9. SOA: The 50,000 Foot View—Basic Concepts Services and Adaptability The SOA Infrastructure provides a standard communication mechanism between applications and services. Order Processing Application SOA Infrastructure Changes in services have potentially no impact on existing applications that use them. Customer Lookup Service Credit Check Service Item Lookup Service Inventory Check Service

  10. SOA: The 50,000 Foot View—Basic Concepts Services and Legacy Leverage Order Processing Application The applications access the services in a standard way. Legacy platform diversity and complexity is transparent to the application. SOA Infrastructure Customer Lookup Service Credit Check Service Item Lookup Service Inventory Check Service It is the service’s task to invoke the legacy system. Manufacturing System Customer Management System

  11. Internal Users SOA: The 50,000 Foot View—Basic Concepts Components of an SOA-Based System Application X Application Z Application Y Service D Internet SOA Infrastructure Development Tools Security Discovery Service C External System Service B Service A Legacy or New Code Enterprise Information System

  12. SOA: The 50,000 Foot View—Basic Concepts In Summary … • SOA is an approach to software development where • Services provide reusable functionality with well-defined interfaces. • An SOA infrastructure enables discovery, composition and invocation of services. • Applications are built using functionality from available services. • If managed well, SOA adoption can lead to • Cost-efficiency • Agility • Adaptability • Leverage of legacy investments • The hard part is the “if managed well”.

  13. SOA: The 50,000 Foot View—Common Misconceptions Agenda • Introduction to SOA • The 50,000 Foot View • Basic Concepts • Common Misconceptions • The 5,000 Foot View • The 1,000 Foot View • Pillars of SOA-Based Systems Development • Issues in Migration to SOA Environments • SMART (Service Migration and Reuse Technique) • Conclusions and Next Steps

  14. SOA: The 50,000 Foot View—Common Misconceptions An SOA Provides The Complete Architecture For A System • SOA is an architectural pattern/style/paradigm and not the architecture of the system itself. • An architectural pattern provides guidance that embodies best practices. • The concrete elements and their interactions are the architecture of the system. • Any number of systems can be developed based on an architectural pattern. • An architecture based on SOA inherits both the good and the bad. • Corollary: SOA cannot be bought off-the shelf. • System qualities have to be built into the architecture of the system. • Decisions have to be made—service design and implementation, technologies, tradeoffs.

  15. SOA: The 50,000 Foot View—Common Misconceptions Legacy Systems Can Be Easily Integrated Into An SOA Environment • Upfront hands-on analysis on the technical feasibility and return on investment must be performed to avoid last minute surprises. • Is it technically feasible to create a service from the legacy system or part of the system? • How much would it cost to expose the legacy system as services? • Is this cost plus the cost of maintaining the legacy system more than the cost of replacing it with a new one? • What changes will have to be done to the legacy system? • How much will these changes affect current users and other production systems?

  16. SOA: The 50,000 Foot View—Common Misconceptions Using XML and WSDL Guarantees Interoperability Among Web Services Provided by Multiple Organizations • Web Services enable syntactic interoperability • XML Schema defines structure and data types • WSDL defines the interfaces: operations, parameters and return values • Available information, technologies and tool support • Web Services do not guarantee semantic interoperability • XML and WSDL do not define the meaning of data • WSDL does not define what a service does • Active research area—unresolved issues • Interoperability needs agreement on both syntax and semantics

  17. SOA: The 50,000 Foot View—Common Misconceptions SOA Is All About Technology • SOA not only means a shift in technology but also changes in the organizational governance model. • Service definition • Service repositories • Ownership • Common services? Data? • Evolution • Conflict resolution • Deployment mechanisms • Monitoring mechanisms • Enterprise-wide policies • Service-level agreements

  18. SOA: The 50,000 Foot View—Common Misconceptions It Is Easy To Develop Applications Based on Services • It is relatively easy to build services to work with a particular infrastructure … but designing a “good” service might not be that easy. • From a implementation standpoint • Ease depends on tool availability for SOA infrastructure • Most difficult part is composition—data mismatches • From a design standpoint • Not many best practices for designing services • Have to anticipate potential users and usage patterns • What is the right Quality of Service? Can you guarantee it? • “If you build it they will come” – Can you afford this?

  19. SOA: The 50,000 Foot View—Common Misconceptions It is Easy to Compose Services Dynamically at Runtime • Current technologies have not advanced to the point that this is possible in production environments. • Requires the use of a common ontology by service providers and client applications within a domain • Requires the construction of extremely intelligent applications that • Construct the right queries for the discovery of services • Compose services when there is not a single service that can process the request • Provide the right data to invoke a service that was discovered at runtime

  20. SOA: The 50,000 Foot View—Common Misconceptions In Summary … • Our intent is not to discourage, but to caution. • An SOA approach may be the best way to achieve common goals of interoperability, agility, and reuse. • But … • Most of the mentioned issues are active areas of research. • Some solutions will require time to mature. • Also keep in mind … • Not everything in an SOA-based system has to be a service • It might not make sense for your whole system • Most case studies will show that the key is governance • Which has very little to do with technology

  21. SOA: The 5,000 Foot View Agenda • Introduction to SOA • The 50,000 Foot View • The 5,000 Foot View • Web Services • The 1,000 Foot View • Pillars of SOA-Based Systems Development • Issues in Migration to SOA Environments • SMART (Service Migration and Reuse Technique) • Conclusions and Next Steps

  22. SOA: The 5,000 Foot View—Web Services Web Services • Web services is one mechanism for implementing an SOA-based system. • Service interfaces are described using Web Services Description Language (WSDL) • Data is transmitted using SOAP over HTTP • UDDI is optionally used as the directory service • Because it is the most common mechanism, it is often equated to SOA.

  23. SOA: The 5,000 Foot View—Web Services Web Service Protocol Stack The highlighted standards are the most commonly used Most Web Service standards are emerging and even competing Security, QoS, Transactions, and Management have to be addressed in all layers

  24. SOA: The 5,000 Foot View—Web Services Web Services At Design Time Bob exposes functionality in a system as a service (or creates a specific service) and places a WSDL document in an “accessible place” Alice obtains the WSDL corresponding to Bob’s web service Alice runs the WSDL document through tools that generate all the necessary message construction code (e.g. WSDL2Java) Alice adds code to her application that executes the message construction code to connect to Bob’s web service and any additional code that uses the response obtained from Bob’s web service

  25. SOA: The 5,000 Foot View—Web Services Web Services At Run Time HTTP Request Call Return HTTP Response User at Alice’s Application HTTP Server Bob’s System • When Bob’s HTTP server sees a SOAP message it sends it to the SOAP engine • User executes Alice’s application 5. Bob’s system executes the invoked operation 2. Application builds a SOAP message and sends it to Bob’s service via HTTP 6. Bob’s system returns operation results 4. SOAP engine parses the message and constructs the call to Bob’s system 8. Alice’s application interprets response and displays results to the user. 7. SOAP engine builds response message and returns it via HTTP

  26. SOA: The 5,000 Foot View—Web Services Static vs. Dynamic • With today’s technology, discovery and composition of services are done at design time—Static • Developer discovers services and obtains addresses • Developer writes code to invoke the services located at these addresses • There is a great amount of research to enable discovery and composition at runtime—Dynamic • Application discovers services and obtains addresses • Application contains code to invoke the discovered services and “knows” what information to provide • There are a lot of “In-Between” techniques • Application discovers services but requires user intervention to select services and provide the required information • Portals are configured such that “portlets” correspond to services

  27. SOA: The 5,000 Foot View—Web Services In Summary … • Web Services are the most currently used approach to SOA implementation. • Basic infrastructure standards are fairly stable • More higher level standards are emerging • Web Services are not the only approach to SOA implementation.

  28. SOA: The 1,000 Foot View Agenda • Introduction to SOA • The 50,000 Foot View • The 5,000 Foot View • The 1,000 Foot View • Pillars of SOA-Based Systems Development • Issues in Migration to SOA Environments • SMART (Service Migration and Reuse Technique) • Conclusions and Next Steps

  29. SOA: The 1,000 Foot View Components of an SOA-Based Systems • Services • Applications • SOA Infrastructure

  30. SOA: The 1,000 Foot View Our Scenario: SOA-Based System Components Organization 2 Credit Card Validation System Organization 1 SOA Infrastructure CRM Application Order Management System FedEx Shipping System Order Processing Application Internet Financial System UPS Shipping System DHL Customer Organization Shipping System Order Placement Application

  31. SOA: The 1,000 Foot View Distribution of SOA-Based System Development “Just-In-Time” Inventory Management Net-Centric Operations Organizational ESB Single Organization Multiple Organizations Incorporation of Map Data Software as a Service On the left side of the spectrum all three types of components are developed within the same organization. On the right side of the spectrum each type of component is developed by a different organization. There are many possibilities in between. As you move to the right, the challenges are greater.

  32. SOA: The 1,000 Foot View Application Developers 1 • Focus on the discovery, composition and invocation of services, either statically at design time or dynamically at run time

  33. SOA: The 1,000 Foot View 4. The application needs to be architected in such a way that it can easily accommodate changes in services interfaces … Application Developers 2 2. Understand the interfaces in terms of the functionality and QoS provided by them Organization 2 Credit Card Validation System Organization 1 SOA Infrastructure CRM Application Order Management System FedEx Shipping System Internet Order Processing Application 1. Identify appropriate services (both internal and external) that can be reused Financial System UPS Shipping System 3. Create the new system using as many existing services as possible DHL Customer Organization Shipping System Order Placement Application Application Developer needs to create a new application using the SOA approach … as well as if it needs to become a service provider itself

  34. SOA: The 1,000 Foot View Tasks for Application Developers • Understand the SOA infrastructure • Discover appropriate services to be incorporated into applications • Retrieve service description documentation • Invoke the identified services in applications • Data conversions • Error handling • Availability handling • Test the services for correctness in the context of the application being developed

  35. SOA: The 1,000 Foot View Service Developers • Focus on the description and granularity of services so that applications can easily locate and use them with acceptable Quality of Service (QoS)

  36. SOA: The 1,000 Foot View 3. Anticipate requirements for future consumer systems and architect services in a scalable fashion Service Developers Organization 2 Credit Card Validation System Organization 1 SOA Infrastructure CRM Application Order Management System FedEx Shipping System Order Processing Application Internet Financial System UPS Shipping System 4. Design, create and publish services to internal and external organizations 2. Analyze service interface, functionality and QoS requirements for new consumer systems 1. Identify what existing business functionality can be exposed/reused as services DHL Shipping System

  37. SOA: The 1,000 Foot View Tasks for Service Developers • Understand requirements of potential service users • Understand SOA infrastructure • Develop code that receives the service request, translates it into calls into new or existing systems, and produces a response • Describe and publish the service • Develop service initialization code and operational procedures • Service-Level Agreements (SLAs) are a topic of current interest among service providers.

  38. SOA: The 1,000 Foot View Infrastructure Developers • Focus on providing a stable infrastructure • Standards • Common services • Development tools • NOTE: The Enterprise Service Bus (ESB) is an example of an infrastructure designed to support the SOA paradigm.

  39. SOA: The 1,000 Foot View Infrastructure Developers 2 There are common services that are used by all applications Organization 2 Credit Card Validation System Organization 1 SOA Infrastructure CRM Application Order Management System Security FedEx Development Tools Shipping System Order Processing Application Internet Financial System Discovery Service Registry UPS Shipping System Infrastructure developers have to design, create and maintain these common services for both internal and external use (if required) DHL Shipping System

  40. SOA: The 1,000 Foot View Tasks for Infrastructure Developers • Selection of standards to implement as part of the infrastructure • Development of a set of common infrastructure services for discovery, communication, security, etc. • Identification and development of binding mechanisms to satisfy the largest set of potential service users • Provision of tools for application and service developers • Documentation and support for the infrastructure

  41. SOA: The 1,000 Foot View The Potential Problem • If the three types of components are developed within the same organization, the challenges are less. • Simpler communication between developers (or might even be the same developers) • However, it is becoming increasingly common for these three types of components to be developed independently by separate organizations. • Decisions made locally by any one of these development groups can have an effect on the other groups.

  42. SOA: The 1,000 Foot View Sample Consequences of Decisions: Service Granularity 1 • The granularity of service interfaces can affect the end-to-end performance of an SoS because services are executed across a network as an exchange of a service request and a service response. • If service interfaces are too coarse-grained, clients will receive more data than they need in their response message. • If service interfaces are too fine-grained, clients will have to make multiple trips to the service to get all the data they need.

  43. SOA: The 1,000 Foot View Sample Consequences of Decisions: Service Granularity 2 Or the service can be more granular and provide three different operations for each type of information Order Management System CustInfo getCustBasicInfo( CustomerId ) OrderHistory getOrderHistory( CustomerId ) Order[] getPendingOrders( CustomerId ) [Basic Info, Order History, Pending Orders] getCustomerInfo( CustomerId ) The Order Management System can expose the business functionality of getting all the customer information in one call

  44. SOA: The 1,000 Foot View Sample Consequences of Decisions: Requirements 1 • If service developers do not understand functionality and QoS needs of potential users of services, they might end up developing and deploying services that are never used

  45. SOA: The 1,000 Foot View In Summary … • SOA-based systems are about more than just technology. • SOA-based systems development requires • Strategic approach to SOA implementation • Alignment with business goals • SOA governance • Policies, coordination and guidance for SOA infrastructure providers, service providers, and application developers • Realistic technology evaluation • Context-based technology evaluations • Change of mindset • Different development and implementation approach

  46. Agenda • Introduction to SOA • Pillars of SOA-Based Systems Development • Issues in Migration to SOA Environments • SMART (Service Migration and Reuse Technique) • Conclusions and Next Steps

  47. Pillars of SOA-Based Systems Development SOA-Based Systems Development SOA Governance Change of Mindset Technology Evaluation Strategic Alignment SOA Design Principles

  48. Pillars: Strategic Alignment Strategic Alignment SOA-Based Systems Development Technology Evaluation SOA Governance Strategic Alignment Change of Mindset SOA Design Principles

  49. Pillars: Strategic Alignment Alignment with Business Goals • Any successful SOA strategy has to be aligned with business goals. • Examples • Reduce time to market for applications • Increase information available to customers • Integrate business partners • Decrease development cost by increasing reuse • Reduce maintenance costs • Improve customer service • Improve internal processes

  50. Pillars: Strategic Alignment Service Conception • 1. Business processes to support business goals are identified. • 2. Candidate services are identified. • Top-Down • Shared steps between business processes are identified as service candidates. • Bottom-Up • Legacy system inventory is performed. • Systems with functionality to support business processes are identified as migration candidates. • 3. Services are selected based on relationship to business goals.

More Related