Course Content
Introduction
- Understanding the definition
- Implementation issues
- Principles of Service Design
- Basic SOA Using SOAP
- The Role of WSDL, SOAP, and Java/XML
- Mapping in SOA
- What are closed systems?
- Designing closed systems
- Basic SOA Using REST
- ROLE of HTTP,XML
- Mapping in SOA
- What are open systems?
- Designing open systems
- Implementing Flexibility, Extensibility in SOA
Web Services Overview
- Crossing Boundaries
- What are Web Services?
- Six Key Components
- Web Services Characteristics
- Web Services Architecturally
- Technology Comparison
- Architectural Perspective
- Web Services Enable Decoupling
- Many Web Services Challenges
- Secure Services
- Spec and Standard Evolution
- Web Services Interoperability Organization
- WS-I Deliverables
- Java and Web Services
XML, Namespaces, & Schema
- What is XML?
- XML Can Provide Application-Specific Information
- Content: XML Document Syntax Rules
- Structure: A Document Type Definition
- XML Transformation to HTML
- XML Separates Structure, Content and Format
- Content as MarkUp
- Tell Parser That Text is Data
- Use Predefined Entities
- Well-Formed and Valid XML Documents
- Why Are These Definitions Important?
- XML Namespaces
- Name Collision - Example
- Inter-Organization Name Collisions
- W3C's Solution: Namespaces
- Uniform Resource Indicator
- Declaring a Namespace
- Namespace Scope
- Parsers Use URI, Not the Alias
- Default Namespace
- Attributes and Namespaces
- Example of Namespaces
- Namespaces Best Practices
- Benefits From Valid XML
- W3C XML Schemas
- Impacts of Schemas
- General Form of an XML Schema
- Elements, Attributes, and Types
- Simple Schema and XML Document
- Element Definitions
- Corresponding XML Schema
- Simple Types - Primitive Datatypes
- Restricting Simple Types: Facets
- Complex Types Bring More to Validation
- Repetition Control
- Restricting Simple Types
- Complex Types Can be Derived
- Derivation by Extension
- Extension of Phone Number
- Associating Schemas with XML Instances
- Using XML Schema with Namespaces
- Namespaces Provide Thread of Connection
- Schema Defines a Target Namespace
- XML Doc Uses Schema-Defined Namespace
- schemaLocation Links Namespace to Location
- Relating Schemas to XML
SOAP Overview
- SOAP in a Nutshell
- Anatomy of a SOAP Message
- SOAP and HTTP
- A Typical Scenario
- What is SOAP?
- Why do I need SOAP?
- Simple Scenario
- Less Simple Scenario
- Uses of SOAP
- Remote Procedure Calls
- Example of SOAP RPC Calls
- Example of Response
- Exercise: SOAP in Action
SOAP in Detail
- Protocols Used With Web Services
- Request and Response Example
- The SOAP Envelope
- SOAP Header
- SOAP Body
- SOAP Request/Response Example
- SOAP Defines a Fault Element
- SOAP Data Model
- Example Using XSD Data Type
- SOAP Styles and Modes
- SOAP With Attachments
- SOAP Messaging
- Endpoint Behavior
- SOAP Encoding Styles
- SOAP 1.1 vs. SOAP 1.2
- What is SAAJ?
- Understanding SAAJ
- SOAPElement
- SOAPElement Methods
- SOAPMessage
- SOAPPart
- SOAPEnvelope
- SOAPBody
- SOAPBodyElement
- SOAPHeaderElement
- SOAPHeaderElement Methods
- SOAPFault
- Connections
- Security Concerns Relative to SOAP
WSDL
- Describing Web Services
- WSDL in Practice
- WSDL Extensibility
- WSDL/SOAP Namespaces
- WSDL Elements
- WSDL Anatomy
- element and elements
- Looking Ahead - WSDL 2.0
Introducing SOA
- Fundamental SOA
- Common Characteristics of contemporary SOA
- Common Misconceptions
- Benefits of SOA
- Pitfalls of Adopting SOA
Evolution of SOA
- SOA Timeline
- Continuous Evolution
- Roots of SOA
Web Services and Primitive SOA
- Web Services Framework
- Services( as Web services)
- Service Descriptions
- Messaging
Web Services and Contemporary SOA
- Message exchange patterns
- Service activity
- Coordination
- Atomic transactions
- Business activities
- Orchestration
- Choreography
Web Services and Contemporary SOA
- Addressing
- Reliable messaging
- Correlation
- Policies
- Metadata exchange
- Security
- Notification and eventing
SOA and Service-Orientation
- Principles of Service-Orientation
- Service-orientation and the enterprise
- Anatomy of a service-oriented architecture
- Common principles of service-orientation
- How service-orientation principles inter-relate
Service-orientation and object orientation
- Native Web service support for service-orientation principles
- Service Layers
- Service-orientation and contemporary SOA
- Service layer abstraction
- Application service layer
- Business service layer
- Orchestration service layer
- Agnostic services
- Service layer configuration scenarios
Building SOA (Planning and Analysis)
- SOA Delivery Strategies
- SOA delivery lifecycle phases
- The top-down strategy
- The bottom-up strategy
- The agile strategy
Service-Oriented Analysis
- "Service-oriented architecture" vs. "Service-oriented environment"
- Introduction to service-oriented analysis
- Benefits of a business-centric SOA
- Deriving business services
Detailed Service-Oriented Analysis
- Service modeling
- Service modeling guidelines
- Classifying service model logic
- Contrasting service modeling approaches
Building SOA (Technology and Design)
- Service-Oriented Design
- Introduction to service-oriented design
- WSDL-related XML Schema language basics
- WSDL language basics
- SOAP language basics
Service interface design tools
- Service-Oriented Design
- Steps to composing SOA
- Considerations for choosing service layers
- Considerations for positioning core SOA standards
- Considerations for choosing SOA extensions
Service-Oriented Design
- Service design overview
- Entity-centric business service design
- Application service design
- Task-centric business service design
- Service design guidelines
- WS-BPEL language basics
- WS-Coordination overview
- Service-oriented business process design