Service Oriented Architecture (SOA) shows demonstrable signs of simplifying software integration. It can reduce the cost of integration significantly and reduce time-to-market through leveraging reusable enterprise assets. Organizations are beginning to design agile business solutions following a service oriented approach.
This course delves deep into various aspects of SOA. It starts with the Service Oriented Analysis and Design. This will help the architects understand how requirements are captured, business processes are modeled and services are identified. It describes the principles of service orientation. The principles will act like a checklist against which you can validate your own design.
Upon completion of this course, the participant will be able to:
> Know about service and business process design> Recognize messaging architecture in SOA > Apply transaction management > Know architecture governance > Learn best practices
SOA Fundamentals Objectives Defining Service Oriented Architecture (SOA) Putting SOA in Context SOA As an Alignment Strategy The SOA Umbrella What s a Service? Service Actors Serving Up SOA Business Process Management BPM & Workflow SOA Governance SOA Governance Model SOA Job Role Impact Services Please! SOA Re-Organization What Makes a Good Design? Is This a New Concept? Service Orienting the Enterprise Service Oriented Thinking SOA Is Perfect NOT! Service Characteristics When Do I Need a Service? About Services in SOA Contract-Driven Software SOA Standards Summary SOA Case Study Objectives What is a Case Study? Case Study Background Additional Background The Problem Statement Status Quo Issues Status Quo Issues (continued) Opportunities How Can SOA Help? Example Solution Snippet Summary Introduction to Web Services Objectives A Conceptual Look at Services Defining Services Service Communication Analogy Three Key Service Questions Connecting the Dots SOA: Runtime Implementation What Is a Web Service? Enterprise Assets as Services Typical Development Workflow Advantages of Web Services Web Service Business Models Example: Internal System Integration Example: Business Process Externalization Binding via SOAP SOAP in Protocol Stack SOAP Structure SOAP Message Architecture Applying SOAP Interface via WSDL WSDL Structure Applying WSDL Locating a Service UDDI Overview UDDI Terminology UDDI Structure Applying UDDI WS-I Overview WS-I Deliverables Summary Layers of Services Objectives What Is Layering? SOA Layers Common Layers Auxiliary Layers Digesting the Layers The Application Service Layer The Business Service Layer The Orchestration Layer Layering Rules of Thumb Scope of a Service SOA User Interface Portal Site's Context Awareness Web 2.0 Data Aggregation Summary SOA Value Proposition Objectives The SOA Value Proposition Reducing Integration Expense Integration Costs Illustration Ripple effect of changes The Value of SOA Layering SOA Reduces Integration Costs Increasing Asset Reuse SOA Economics/ROI Asset Reuse Illustration Service Reuse v. Object Reuse Increasing Business Agility Business Agility Illustration Traditional EAI Approach Problems with Traditional EAI Approach Change Flow Using Legacy Approach SOA Agility Build the Services Build the Process We Can Easily Change the Process Reducing Business Risk Risk reduction illustration SOA Eases Compliance Risk Other Advantages Business Advantages Hasn't This Been Said Before? Hasn't This Been Said Before? ROI Quantification Hurdles Real World SOA Example 1 Real World SOA Example 2 Real World SOA Example 3 Real World SOA Example 4 Summary Enterprise Service Bus (ESB) Objectives SOA and the ESB Pattern Loose Coupling Service Invocation Business Process Data Integration Enterprise Service Bus (ESB) Legacy System Integration Unsupported Protocol The Role of ESB in SOA ESB: Software Artifacts Business Process Business Process: Example Minimum ESB Capabilities Minimum ESB Capabilities: Integration Minimum ESB Capabilities: Communication Minimum ESB Capabilities: Service Interaction Minimum ESB Capabilities: Management Security and ESB Summary Introduction to Service Oriented Analysis & Design (SOAD) Objectives Introduction to SOAD Applying OOAD Principles Abstraction Abstraction in SOAD Encapsulation Encapsulation in SOAD Modularity Modularity in SOAD Hierarchy Hierarchy in SOAD Why OOAD Is Not Enough Granularity The Need for Loose Coupling The SOAD Methodology The SOAD Methodology Steps Stage 1: Requirements Gathering & Process Modeling Stage 2: Service Identification Stage 3: Service Implementation Stage 4: Process Implementation SOAD Stages and SOA Lifecycle Summary SOA Service Life Cycle Objectives SOA Adoption Adoption Stages Managing Services SOA Service Life Cycle Overview SOA s Circle of Life Discovery Phase Analysis & Design Phase Implementation Phase Deployment Phase Monitor Phase Retirement Phase Summary Stage 1: Business Modeling and Use Cases Objectives Stages of SOAD Where are We in SOA Lifecycle? Stage 1: Business Process Modeling Basic Concepts SOA and Business Process Model Before You Get Started Process Modeling Steps Business Process Use Cases Return Handling Use Case Modeling the Business Processes Use Case and Business Process The Return Handling Process Model Return Handling Process Model Trading Partner Design Pattern The UML Alternative Best Practices Summary XML Schema Basics Objectives What is an XML Schema? Role of XML Schema in SOA Creating a Schema File Defining a Simple Element Defining a Complex Element Defining Element Attributes Referring to an Element From Another Element Defining Abstract Data Types Adding Restrictions Referring to a Schema from an XML Document Validating the XML Against the Schema Summary Web services Description Language (WSDL) Objectives WSDL Overview WSDL Document Tags WSDL Namespaces Sample WSDL Document Structure <definitions> <import> <types> <message> <portType> <operation> One-way <operation> Request-Response <operation> Solicit-Response <operation> Notification <operation> Modeling Simple Operation Modeling Complex Operation Modeling Complex Message <binding> More on <binding> <binding> Syntax SOAP Binding Example <service> and <port> More on <port> WSDL SOAP Binding Extensions soap:binding soap:operation RPC or Document Style? WSDL API for Java Summary Stage 2: Service Identification Objectives Stages of SOAD Where are We in the SOA Lifecycle? Stage 2: Service Identification The Service Model Developing a service model Service Model Example #1 Service Model Example #2 Service Model Example #3 Service model granularity SOAD Stage 2 Process Identifying Services Service Identification Check Specify the Service Interface Specify The Process Interface Identify Services from UC001 Return Handling Identify Services from UC001 Return Handling Identify Services from UC001 Return Handling (continued) Service Contract Template Service Contract Template Part 2 Service Contract Template Part 3 Service Design Best Practices Summary Simple Object Access Protocol (SOAP) Objectives SOAP Overview SOAP in Protocol Stack SOAP Components SOAP HTTP Request Example SOAP HTTP Response Example Message Envelope The Header Element Header Attributes SOAP Body SOAP Fault Communication Style RPC/Encoded Style RPC/Literal Style Enabling RPC Styles Document/Literal Style Document/Literal Wrapped Style Details of the Wrapped Style Enabling Document Literal Style Summary Stage 3: Service Design and Implementation Objectives Stages of SOAD Where are We in the SOA Lifecycle? Introduction How Is a Service Developed? Top Down Development Web Service Implementation Choices Apply OOAD in New Service Development Top-Down Summary Bottom-Up Development Bottom-Up Technology Choices (Java) Example: JCA-Based Service Example: JAX-WS Service Bottom-Up Technology Choices (.NET) Example: ASMX Service Example: Adapter-Based Service Data Mapping Interface Mapping Implementing the Services for UC001 Return Handling Best Practices Summary Stage 4: Business Process Implementation Objectives Stages of SOAD Where are We in the SOA Lifecycle? Basics Business Process Diagram Process Automation Challenges More Challenges BPEL Variables Partnership Example: A Buy-Sell Partnership Modeling Partnership in BPEL Simple Activities Invoke Activity Structured Activities Process Development Phases Phase II Process Definition Phase III Process Compilation Phase IV Process Deployment Phase V Process Execution What Is a Good Process Design? Follow Integration Patterns Example: A Simple Process Additional Process Design Considerations Summary Service Component Architecture (SCA) Objectives Need For a New Programming Model... Need For a New Programming Model SCA Vendor Support Service Component Architecture SCA Basics Assembling Services SCA Components Service Components References and Wires Wiring Example Service Components Imports Export Imports and Exports Service Implementation Types Summary Adapters Objectives What is an Adapter? Adapter Example The Adapter Pattern Resource Adapters Custom Adapters Adapter Based Services Advantages of Adapter Based Services Generating Adapter Based Services Communication Modes Outbound Communication Inbound Communication Summary Information Management in SOA Objectives Introduction SOA and Enterprise Information Management Replication Overview Operational Challenges SOA and Data Basics Intro: Operational Data Data Publishing Event Modeling Events Data Mediation Data Format Generic Data Model Example Generic Data Model Mapping Data Loading Data Extract Transform Load (ETL) ETL and SOA Data Federation SOA Data Layering Data Federation vs ETL Summary SOA Challenges and Risks Objectives SOA Challenges and Risks Emerging Standards Emerging Standards (cont'd) Selecting Tools and Infrastructure Service Selection and Creation Service Management Portfolio Management Paradigm Shifting Communication Policies and Compliance Project Management Training and Re-skilling Governance and Risk Mitigation Summary Governance Fundamentals Objectives The Strategic Role of IT Governing IT IT Infrastructure Library (ITIL) ITIL: Managing IT Activities ICT Infrastructure Management (ICTIM) ICTIM Processes Control Objectives for Information and related Technology (COBIT) Need for SOA Governance SOA Governance SOA Governance Adoption Key Governance Relationships SOA Governance Elements SOA Governance Procedures Recommended Procedures More Recommended Procedure SOA Governance Policies Enterprise Policies Business Policies Service Policies SOA Governance Metrics More SOA Governance Metrics Some Best Practices Relevant Standards Work OASIS SOA-RM Reference Model in Context OASIS SOA-RA Summary Overview of Service Registries Objectives Services Registry Why Do We Need a Service Registry? Main Activities when Using a Registry Publish Discovery Dynamic Discovery Management Enforce Governance Lifecycle SOA Registry Products Summary Messaging and Asynchronous Communication Objectives Introduction Asynchronous SOA Basic Messaging Patterns SOA Callbacks... Callback Example Implementing Callbacks BPEL Correlation Sets Additional Uses of Callbacks Non-Blocking Calls in SOA Parallel Activity One-Way Non-Blocking Calls Assured Delivery Implementing the Publish Subscribe Pattern SOA Client Behavior BPEL Events Handling Event Handler Details 1/2 Event Handler Details 2/2 Summary Error Handling and Transaction Objectives Introduction Error Handling in a Service Designing Faults Error Handling in a Process Fault Handler Fault Handler Example Raising Faults in a Process Transaction in SOA... Transaction in SOA Transaction and Short Lived Business Process Transaction and Long Lived Business Process Example: Long Running Process Transaction Context Propagation Example: Transaction Context Propagation Compensation Compensation in a Microflow Compensation in a Long Running Process Example Compensation Compensation Handler Compensation Guidelines
SOA Security Overview Objectives Traditional Systems Loosely Coupled Systems Risks of Loosely Coupled Services SOA Security Concerns Security Stack: Web Services Security Stack: Other Services Discussion Question Summary Security Patterns Objectives Service bus security Service bus security layers Application-managed security Security as a service Reverse Proxy ESB Gateway Discussion Question Summary Security Layering Objectives SOA Layers Security Layering Policy-driven Security PEP/PDP in Action Separation of concerns Loosely-coupled security layer SES/SDS in Action Layering and service granularity Security Service Granularity Process-centric Security Discussion Question Summary Introduction to SOA Testing Objectives Introduction The SOA Components to Test SOA Testing Challenges... SOA Testing Challenges Layered Component Testing Intro: Phased Testing Parts of a Test Framework Unit Testing a Web Service Verification Scenarios Unit Testing Data Maps Unit Testing Business Process Integration Test System... Integration Test System Intro: Non-Functional Testing Performance Testing Security Testing Interoperability Testing Persistence Testing Process Versioning Testing SOA Patterns Objectives Patterns: Introduction SOA Patterns Messaging Channel Patterns Messaging Channel Patterns for SOA Messaging Channel Patterns Messaging Channel Patterns for SOA Messaging Channel Patterns Message Type Pattern Deferred Response in SOA Message Routing Patterns Message Routing Patterns in SOA Message Transformation Patterns Message Transformation Patterns in SOA Summary SOA Antipatterns Objectives What are Antipatterns? Technology-driven SOA Adoption So What's New? SOA Is the Cure All Web Service is SOA The Silo Approach Fine Grained Service Point-to-Point Communication Stateful Services Summary Software Platform for SOA Objectives SOA Development Iteration Types of Software Needed To Support SOA Oracle SOA Suite IBM Software Offering IBM WebSphere Process Server IBM IT Service Management (ITSM) Tools TIBCO BusinessWorks TIBCO SmartMapper webMethods Fabric webMethods: Enterprise Service Platform (ESP) webMethods: Business Process Management (BPM) webMethods: Business Activity Monitoring (BAM) webMethods: Composite Application Development WebLogic Integration Microsoft BizTalk Server 2006 Windows Workflow Foundation (WF) Summary Appendix A. Glossary Glossary Glossary Glossary Glossary Appendix B. Service Oriented Modeling and Architecture (SOMA) Objectives Introduction SOMA The Rational Unified Process SOMA & RUP Summary Appendix C. WS BPEL 2.0 A Technical Overview WS BPEL 2.0 Motivation History Basics BPEL Usage BPEL Constructs BPEL Constructs Activities BPEL Documents Imports Partner Links Example: a Buy-Sell Partnership Modeling Partnership in BPEL Variables Variable Properties Correlation Sets BPEL Activities Standard Attributes BPEL Basic Activities - invoke BPEL Basic Activities receive BPEL Basic Activities - assign BPEL Basic Activities - throw BPEL Basic Activities - rethrow BPEL Basic Activities - wait BPEL Basic Activities - empty BPEL Basic Activities - exit Structured Activities - sequence Structured Activities - if Structured Activities - while Structured Activities - repeatUntil Structured Activities - pick Structured Activities - flow Structured Activities - forEach BPEL Scopes BPEL Handlers Summary
“Super instructor. Really knows his stuff. Answers questions thoroughly and completely. I thought the course design was great and covered each topic in a well designed manner.” Student – Java Programming