Program Strategic pentru Promovarea Inovarii n Servicii prin
Educaie Deschis, Continu (INSEED)
POSDRU/86/1.2./S/57748 Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007-2013 Program Strategic pentru Promovarea Inovarii n Servicii prin Educaie Deschis, Continu (INSEED) POSDRU/86/1.2./S/57748 Proiect cofinanat din Fondul Social European prin Programul Operaional Sectorial Dezvoltarea Resurselor Umane 2007-2013 Service Engineering and Management Service Engineering and Management Business Service Integration and Management Business Service Integration and Management Migration to Service Oriented Migration to Service Oriented Architecture Architecture Anca Daniela Ionita Universitatea Politehnica din Bucureti 2 SOA as a Reuse Solution SMART - Migration and Reuse Technique Service-oriented modernization Strategies of Migration from Legacy Systems to Service Oriented Architecture Code Reengineering Redevelopment Horseshoe Models Standards of the target system Summary 3 Objectives Understand the necessity of modernization through migrating to a Service Oriented Architecture; Know the alternative strategies for migration and be capable to select the most appropriate one, in respect with the given stakeholders, the existing application and the requirements of the target system; Using standard languages and being aware of the standardization endeavors. 4 Reuse Solutions Design patterns abstract, typical solutions, for well-defined problems that appear frequently in various applications; Program generators systems capable to generate fragments of code or entire applications, often for specific domains Program libraries class and function libraries that implement frequently used operations Wrapping legacy systems defining a set of interfaces that allow interoperation and conformity with domain standards, for giving access to the existing system, which is otherwise impossible due to technological barriers Configurable applications systems that implement multiple pre-defined configurations, correspondent to a generic applications; for a particular application instance one can may the appropriate choices, which fit the particular situation of a certain client or project; 5 SOA as a Reuse Solution Component-based development assembling components that hide the internal structure and expose interfaces defined in conformity with a standard model; Service-oriented systems systems capable to discover and call software services supplied by a third party Aspect-oriented development defining program elements that are to be inserted in the existent code at compiling Frameworks class collections that can be adapted and extended for creating application systems COTS (Commercial Off-The-Shelf) Integration development by reusing interfaces of existing application systems Product Lines based on implementing all the common elements and variabilities of a software application specific to a certain domain, in order to be capable of adapting rapidly to multiple clients options 6 Migration and Reuse Technique SMART - developed by the Software Engineering Institute (SEI) Migration strategy selection of components to be transformed applied method for each of them (i.e. wrapping or rewriting code) establishing the best order of performing the migration steps. 7 SMART Technique Overview 8 Service-oriented Modernization SOA (Service Oriented Architecture) for offering a flexible way to use services for creating applications; Cloud Computing treating infrastructures, platforms and applications as services, as it has been proved to efficient in many industrial approaches. 9 Strategies of Migration Cold Turkey based on a direct withdrawal of the legacy application; replacement with a new one based on services may produce discontinuities in the business processes. Chicken Little gradual approach definition of gateways between the legacy elements and the subsystems of the target system. 10 Code Reengineering 2 steps reverse engineering understanding the structure of the existent code forward engineering creation of the new program, better structured from the point of view of extensibility 30% and 35% from the costs of the entire life cycle 47% and 60% of the total maintenance effort 11 Redevelopment The Chicken Little Strategy 12 Horseshoe Models The initial Horseshoe Model from reengineering 13 Development based on reuse Analysis of existing application; Code restructuring to separate reusable items; Developing a model of legacy applications; Development of a model application that wants to migrate; Definition of transformations to achieve the desired application to the existence; Identify candidate development services; Specification of services; Implementation services by reusing existing code. 14 Research challenges of the target 15 Framework for classifying migration 16 Horseshoe based on metamodeling 17 Standards of the target system Object Management Group (OMG) www.omg.org develop enterprise integration standards Organization for the Advancement of Structured Information Standards (OASIS) www.oasis-open.org 18 Examples of OMG Standards Service oriented architecture Modeling Language (SoaML) Business Motivation Model (BMM) Business Process Definition Metamodel (BPDM) Business Process Maturity Model (BPMM) Business Process Model and Notation (BPMN) Production Rule Representation (PRR) Semantics of Business Vocabulary and Business Rules (SBVR) Workflow Management Facility (WfMF). 19 Examples of OASIS Standards ebXML Business Process Specification Schema Technical Specification ebXML Message Service Specification ebXML Registry Information Model (RIM) ebXML Registry Services Specification (RS) Reference Model for Service Oriented Architecture (SOA-RM) Service Provisioning Markup Language (SPML) Web Services Business Process Execution Language Web Services Context (WS-Context) Web Services Security 20 References Lewis, G., Morris, E., Simanta, S, & Smith, D. (2008). SMART: Analyzing the Reuse Potential of Legacy Components in a Service- Oriented Architecture Environment, Technical Note CMU/SEI-2008- TN-008 Papazoglou, M. P., Traverso, P., Dustdar, S. & Leymann, F. (2007) Service-Oriented Computing: State of the Art and Research Challenges, IEEE Computer, (pp. 64-71) Razavian, M., & Lago, P. (2010). A Frame of Reference for SOA Migration. In E. Di Nitto & R. Yahyapour (Eds.), Towards a Service- Based Internet (Vol. 6481, pp. 150-162): Springer Berlin /Heidelberg Winter, A., & Ziemann, J. (2007). Model-based Migration to Service- oriented Architectures: A Project Outline. In H. M. Sneed (Ed.), CSMR 2007 Workshop on a "Research Agenda for Service-Oriented Architecture Maintenance" (pp. 107110). Amsterdam, The Netherlands: Vrije Universiteit Amsterdam