O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Engineering Service Oriented Systems: A Model Driven Approach

Book Description

Despite pressures of economic slowdown and the e-commerce bubble burst, moving towards e-services is a compelling necessity for today's organizations. Companies that are reluctant to adopt a service oriented architecture in their IT systems will be missing out on unprecedented opportunities to create business value with relatively small IT investments.

Engineering Service Oriented Systems: A Model-Driven Approach combines concepts from systems theory, model driven software engineering, and ontologies for software engineering into a systematic method for engineering service oriented systems while integrating both business and software perspectives.

Table of Contents

  1. Copyright
  2. Foreword
  3. Preface
    1. Target Readership
    2. Aim of the Book
    3. Motivation Behind this Book
    4. Final Thoughts
    5. References
  4. Acknowledgment
  5. I. Service Concepts
    1. I. Introduction to Services
      1. Introduction
      2. The "Service" Concept
      3. The Service Interface
      4. E-Services
        1. Deriving E-Services
        2. Enabling Infrastructure for E-Services
        3. Modeling E-Services
      5. Service-Oriented Architecture
      6. Web Services
      7. The Book's Vision of Service Engineering
      8. Book Organization
      9. References
    2. II. Service Concepts
      1. Introduction
      2. Service Concepts
      3. Core Service Concepts
      4. Resources
      5. Service Interface
        1. Service Interfaces as Contracts
      6. Abstract, Concrete, and Aggregate Services
      7. Service Dependencies
      8. Provider vs. Consumer Service Viewpoints
        1. Services from the Consumer's Perspective
          1. Specifying the Service
          2. Identify Providers Offering this Service and Obtain Information about Them and the Service they Provide
          3. Select a Service Provider out of many Similar ones
          4. Obtain Information about the Service Execution Preconditions such as Resources Required.for the Consumption of the Service
          5. Negotiate an Agreement with the Service Provider and Establish a Service Usage Contract
          6. Monitor the Progress of the Provided Service
          7. Possibly Renegotiate and Modify the Service Delivery (e.g., Cancel) While it is Being Delivered
          8. Pay for the Service According to the Agreed Payment Model (One-Off Per Usage and So On)
        2. Services from the Provider's Perspective
        3. Life Cycle of a Service (From a Provider Perspective)
      9. Summary of Service Concepts
      10. Modeling the Service-Oriented Organization
      11. Principles of Service Modeling
        1. Services Often Depend on Other Services and can be Combined with each Other in Several Possible Ways
        2. Service Identification and Selection
        3. Level of Abstraction and Granularity
        4. Service Modeling that is Independent from its Realization
        5. Service Specification via its Interface Description
        6. Service Contracts
        7. Understanding Services from Both Provider and Consumer Viewpoints
        8. Model Services at a Granularity that Matches Customer Requirements
        9. Service Implementation must be hidden from the Consumer
        10. Formalized Service Functionality Description
      12. Service-Oriented Business Architecture
      13. Service-Modeling Notation
      14. Chapter Summary
      15. References
  6. II. Service Languages and Standards
    1. III. Standards for Web Services
      1. Introduction
      2. Web Services Definitions
      3. The XML Language
      4. XML Schema Languages
        1. Document Type Definition (DTD)
        2. XML Schema Definition Language (W3C, 2004)
        3. Benefits of the XML Schema Language
      5. XPath
        1. Examples
      6. XSLT
        1. Style-Sheet Declaration
          1. The <xsl:if> Element
          2. The <xsl:choose> Element
          3. The <xsl:apply-templates> Element
      7. Web Services Standards
        1. Web Services Description Language (WSDL)
      8. Messages and Simple Object Access Protocol (SOAP)
      9. Messages in ebXML
      10. Universal Description, Discovery, and Integration (UDDI)
        1. UDDI Schema
          1. Business Entity
          2. Business Service
          3. Binding Template and tModel
          4. Publisher Assertion
        2. UDDI API
      11. Alternatives to UDDI
      12. Chapter Summary
      13. References
    2. IV. Service Coordination
      1. Introduction
      2. Business Process Automation
      3. Business Process Management (BPM)
      4. Business Process Management Technologies and Standards
      5. Workflow Management
      6. Rationale for Business Process Coordination
        1. Framework for Collaborative Processes
      7. Concepts of Choreography and Orchestration
      8. The Importance of Choreography for Coordination and Collaboration of Business Processes
      9. Web Services Orchestration
      10. Requirements for Web Services Orchestration
      11. Differences Between Web Services Orchestration and Choreography
      12. Web Services Choreography and Orchestration Standards
        1. WS-CDL
        2. Web Services Conversation Language (WSCL)
        3. XLANG
        4. Web Services Flow Language (WSFL)
        5. Business Process Modeling Language (BPML)
      13. The BPEL Specification
        1. BPEL Activities
      14. A BPEL Example
      15. Technologies and Standards for Automating Business Processes Choreographies
      16. Chapter Summary
      17. References
  7. III. Service Engineering Concepts and Techniques
    1. V. Model-Driven Service Engineering
      1. Introduction
      2. The Use of Modeling in Software Development
        1. Informal vs. Formal Software Models
        2. UML Metamodeling Standards
        3. UML Profiles
        4. Serialising UML to XML
        5. Metamodeling Frameworks
          1. Meta-Object Facility (MOF)
          2. Eclipse Modeling Framework (EMF)
          3. Microsoft Domain-Specific Languages Framework
        6. Other Metamodeling Technologies
      3. Introduction to Model-Driven Engineering
      4. The MDA Concept
      5. Summary of the MDA Theory
      6. Principles of MDA
      7. Business Modeling: Computation Independent Business Model (CIBM)
      8. Platform-Independent Models (PIM)
      9. Platform-Specific Model (PSM)
        1. Another PIM to PSM Transformation Example
      10. Standards for MDA
      11. The MDA Process
        1. Transformation Mappings
        2. Marking Models
        3. Mapping Languages
        4. Recording the Transformations
        5. Generating Code and Other Artifacts
      12. Benefits of the MDA Approach
      13. Limitations of MDA
      14. Generating Code from Models
        1. Model-Driven Code Generators
        2. Templates
          1. Domain-Specific Languages
          2. General-Purpose Languages
          3. Strongly Typed Languages
          4. Loosely Typed (Scripting) Languages
        3. Source Models for Code Generators
      15. Advantages of Model-Driven Code Generation
        1. Quality
        2. Consistency
        3. Agility
        4. Portability
        5. Separation of Concerns
        6. Speed of Development
        7. Increased Time Allocated to Preliminary Phases
      16. Risks from Adopting Code Generation
        1. Software not Suitable for Code Generation
        2. Poor Quality of Code Generation Software
        3. Poor System Design
        4. Lack of Communication
        5. Rejection of Code Generation
        6. XML and Code Generation
      17. MDD and Service Engineering
        1. Service Integration with MDD
      18. Chapter Summary
      19. References
    2. VI. Ontologies for Model-Driven Service Engineering
      1. Introduction
      2. What are Ontologies
      3. The Relation of Ontologies to Service Engineering
      4. Ontologies for Business Services
      5. Using Ontologies to Describe Web Services
      6. Languages for Describing Ontologies
        1. RDF
        2. RDF Schema
        3. OWL and OWL-S
          1. Automatic Web Service Discovery
          2. Automatic Web Service Invocation
          3. Automatic Web Service Composition and Interoperation
        4. Service Profiles
        5. The Relation of Profile to Process Model
        6. Modeling Services as Processes Using Ontologies
        7. An OWL-S Ontology Example
        8. Grounding an OWL-s Service to a Concrete Realization
        9. Using XSLT with a WSDL Grounding
      7. Web Service Modeling Ontology
        1. Language for Defining WSMO
        2. WSMO Top-Level Elements
        3. Web Service Descriptions
      8. Semantic Web Services Framework
      9. Semantic Web Services Ontology
        1. FLOWS Process Model
        2. FLOWS-Core
          1. Service
          2. Atomic Process
          3. FLOWS Example
        3. Service IOPEs
        4. Messages in FLOWS
        5. Channel
        6. Control Constraints
        7. Grounding a Service Description in SWSO
      10. SAWSDL-Semantic Annotations for WSDL
        1. Defining Annotations to Publish a Web Service
        2. Adding Categorization Information by Defining a Taxonomy
        3. Defining Annotations for use in Matching and Composing Web Services
        4. Composing Web Services with SAWSDL
        5. Composing Web Services Using Ontology Reasoning
        6. Defining Schema Mappings to Enable Web Service Invocation
      11. Semantic Web Services Execution Environment (SWSEE)
      12. Benefits from Using Ontologies in Service Engineering
        1. Domain-Specific Reasoning Capability at Run Time
        2. Support for Dynamic Binding of Web Services
        3. Separate Domain Specific Knowledge from Application Specific Data Models
        4. Provide Central Point of Reference for all Application Semantics
        5. Modeling of Services on Diverse Layers
        6. Reuse of Business Services
        7. Preventing Loss of Information when Mapping Between Models
        8. Use Ontologies to Model Extended Service Descriptions
        9. Modeling Service Domains
        10. Modeling the Data in SOA Environments
        11. Mapping Ontologies to Executable Service Models
      13. Chapter Summary
      14. References
    3. VII. A Methodology for Model-Driven Service Engineering Based on IDEF
      1. Introduction
      2. Service Models
      3. A Systemic View of Business Services
      4. IDEF and Business Services
      5. Identifying Services with IDEFO
      6. Service Design
      7. Modeling the Service Resources: The IDEF1X Methodology
        1. An IDEF1X Modeling Approach
          1. Entity Classifications
          2. Composition
          3. Entity States and State Transitions
      8. Mapping and Transforming IDEF Service Models
        1. Mappings Between Service and Computing Domains
        2. Mapping Business Service Models to Platform-Independent (Realizable) Service Models
        3. Transforming IDEF PIM to PSM
        4. Transforming Resources to Data Definitions Using Ontologies
        5. Scripting the Service Logic
        6. Service Controls: Using a Rule Language to Define Control Logic
      9. Generating Web Services Graphical User Interfaces (GUIs)
      10. IDEF Service Ontologies
      11. Chapter Summary
      12. References
  8. IV. Service Deployment Execution and Management
    1. VIII. Service Deployment Execution and Management
      1. Introduction
      2. Environments for Consumption and Provision of Services
      3. Managed Service Delivery
        1. Web Services Management (WSM)
          1. Managed Resource
          2. Service Life Cycle
          3. Service Management Metrics
          4. Monitoring Service Usage
          5. Service Version Control
          6. Quality-of-Service (QoS) Contracts
          7. Service Quality, Monitoring, and Support
          8. Service Infrastructure Scalability and Extensibility
          9. Modularity and Extensibility
          10. Peer-to-Peer Interaction
          11. Service Reliability
          12. Contracts
          13. Fault Tolerance
          14. Message Monitoring
          15. Network Monitoring
      4. Service Security
        1. Overview of Service Security
        2. E-Service Security Requirements
        3. Web Services Security Initiatives and Organizations
        4. W3C Specifications
        5. OASIS Specifications
        6. WS-I Specifications
      5. Technologies for E-Services Security and Privacy
        1. Public Key Infrastructure and Key Management
        2. Transport Security
          1. SOAP Security
          2. Authorization
        3. Security Assertions
      6. Web Service Transactions
        1. WS-Coordination
        2. WS-BusinessActivity
        3. WS-AtomicTransaction
      7. Architectures for Managed Service Delivery
      8. Relationship of SOA to Other Software Technologies
        1. SOA and Object Orientation
        2. SOA and Web Technologies
        3. SOA and Other Distributed Software Technologies
        4. SOA and Enterprise Systems
        5. SOA and Mobile Technologies
      9. Service Bus
      10. A Service Architecture Example: Designing E-Services for an Airline
        1. Transaction Services Infrastructure for Cheap Flights Airline
      11. Chapter Summary
      12. References
    2. IX. A Platform for Model-Driven Service Engineering
      1. Introduction
      2. Platform Overview and Philosophy
      3. Key Features in CLMS Platform
      4. Platform Architecture
        1. Listener Web Service
        2. Authentication Services
        3. IDEF0/IDEF1X Processing System
        4. Service Orchestration Generator
        5. Orchestration Mappings Library
        6. Workflow Execution Engine (IDEF0 Workflow Engine)
        7. Accept Envelope
      5. Service Engineering Using the CLMS Platform
        1. Methodology. Stage 1: Scoping
          1. IDEF1X-Based Models
        2. Methodology. Stage 2: Service Architecting
        3. Methodology. Stage 3: Service Modeling
        4. Methodology. Stage 4: Building
        5. Methodology. Stage 5: Service Deployment
        6. Methodology. Stage 6: Service Adaptation and Improvement
      6. Model-Driven Generation of Service Artifacts
      7. CLMS Coding Facility: Implementing MDD Using XML Technologies
        1. Metamodeling
        2. Master/Detail Metamodel
        3. Business Rules Metamodel
        4. Web Form Metamodel
        5. Modeling
        6. Code Generation
      8. A Service Runtime Example
      9. Chapter Summary
      10. References
    3. X. A Case Study of Business Service Realization: Account Receivables—Account Payables
      1. Introduction
      2. Background
      3. Introducing the A/R-A/P Transaction Cycle
      4. The Importance of Modeling the A/R-A/P Transaction Cycle
      5. Modeling A/R-A/P Services with IDEF0 and IDEF1X
        1. Service Identification in the A/R Process
        2. Sales Order Management
      6. Service Design
        1. Service Interaction Diagrams
      7. Service Information Modeling
      8. Creating the Input and Output XSDs
      9. Service Implementation
      10. Implementing the A/R-A/P Services with CLMS Platform
      11. Chapter Summary
      12. References
    4. XI. An Overview and Summary
      1. An Overview of E-Services
      2. Requirements for Future Generation E-Services
        1. Interchangeable E-Services
        2. Privacy and Security Management
        3. Self-Service Capabilities
        4. Services Anywhere (Mobile Services)
      3. Enabling Technologies for E-Services
      4. Service Grids
      5. Knowledge-Based Services
      6. Intelligent Semantic Services
        1. An Intelligent Web Services Scenario
      7. Web Service Technologies as the Enabler of Next Generation E-Services
      8. The Future of Model-Driven Service Engineering
      9. Some Final Thoughts
      10. References
  9. About the Contributors