Course Code:
soaoracl
Duration:
35 hours
Prerequisites:
There are no specific requirements needed to attend this course.
Course Outline:
Introduction
- What is the System Analysis and Design Process?
- Place of the Analysis and Design activities in the Unified Process (RUP)
- A panorama of UML 2 diagrams used in the system analysis and design
- Frameworks for tracing requirements toward software implementation and tests
How to transform requirements into component based analysis specifications?
- Traceability between requirements and system analysis
- Advanced notions for representing the system structure and dynamics
- Refinement of the requirements on both axis
- Toward the system design using operation contracts
- Case Study : Definition of the analysis component model of the system
How to transform analysis specifications into design level ones?
- Traceability between system analysis and design
- Design Patterns for loose coupling and high cohesion of components
- Definition of the Design level Architectural Backbone of the system (components, ports, interfaces, exchange objects)
- Design level interaction diagrams to implement operation contracts
- Case Study : Updating design level component diagram with architectural choices
Implementing technical specifications and testing on a component basis
- Generating design level specifications into an object oriented programming language
- Deployment of Components on the Physical Nodes
- Integration and Acceptance tests on the basis of the previous specifications
Service Oriented Architecture and Computing
- Service Oriented Computing
- Terminology
- Service Oriented Analysis and Design
- Requirements and impact of adopting SOA
- Enterprise Service Bus
- Web Service and REST Services
- SOA Connection Points
SOA Technology
- XML and XML Schema
- Web Services
- JAX-WS and WSDL
- REST Services
- JAX-RS and WADL
- Discovery and Service Registries
- Enterprise Service Bus (ESB)
SOA Design and Architecture
- SOA Model
- Services and Service Capabilities
- WSDL first or code first design
- Principles of Service Orientation
- Service coupling
- Handling state
- Service discovery
Advanced SOA Design and Architecture
- SOA Architecture types
- SOA Design Patterns
- Message types
- Data transformation
Enterprise and Application Architecture
- Definition of (Enterprise) Architecture
- What drives the need for architecture?
- Architecture objectives, standards and frameworks
- Logical vs. physical architectures
- Common application architecture patterns
- Multi-step Process pattern
- Composite Application pattern
SOA Phase 1
- The pieces of the SOA puzzle
- How SOA enables business strategies
- Services and SOA defined
- What is the notion of “Applications” in SOA?
- The Service Layer model
- Infrastructure services
- Application services
- Orchestration services
- SOA Case study
- Sample outline for an SOA Blueprint document
- Sample business event walk-through
- Key SOA characteristics
- Architecture level loose coupling
- Service level loose coupling
- Next Generation SOA
- Synchronous vs. Asynchronous services
- SOA in the cloud
- SOA and standards
- SOA challenges
Service - or Resource-Oriented Architecture, or Both?
- Representational State Transfer (REST)
- The concept of resources
- The uniform interface
- Architectural constraints
- What about business logic?
- Perceived deficiencies of REST
- When to use REST, when to use a traditional SOA
- REST as the choice to support the presentation layer
- The synergy of Rich Internet Applications (RIAs) and REST
- JavaScript Object Notation (JSON) vs. XML for RIAs
- Case study
- Conceptual architecture
- RESTful vs. SOAP-type Services
SOA Governance & the IT Organization
- Why SOA needs governance
- Business vs. IT vs. EA vs. SOA Governance
- Categories of SOA Governance
- Design time governance
- Run time governance
- SOA Governance goals
- SOA Center of Excellence (COE)
The New Frontier: Cloud Computing
- Cloud definition
- How did we get here? From application hosting to SaaS to public & private cloud
- Chose your flavor: IaaS, SaaS, or PaaS?
- Moving applications into the cloud
- Resource virtualization
- Automated, on-demand provisioning of resources
- Shared infrastructure and applications
The Synergy of SOA and Cloud Computing
- SOA and cloud are complementary
- SOA/Cloud synergy
- SOA + SaaS
- SOA + PaaS
- SOA + IaaS
- Putting it all together: the SOA-Cloud
Across Application Silos: The Integration Landscape
- The integration landscape – the big picture
- Data level integration
- Extract, Transform, Load (ETL)
- Interface level integration (a.k.a. application integration)
- The messaging backbone
- Data transformation
- Content-based routing
- Establishing application connectivity through adapters
- Integration design patterns
- Service Oriented Integration (SOI)
- Advantages over traditional Enterprise Application Integration (EAI)
Enterprise Service Bus (ESB)
- The Enterprise Service Bus
- Introducing the ESB
- Conceptual ESB architectures
- How do enterprises use ESBs today?
- The need for cloud integration and its challenges
- From ESB to “Internet Service Bus” (ISB)
- The product landscape – ESB and ISB examples
Putting It All Together: OO, SOA, Cloud & Beyond
- Classification of integration architectures by the degree of coupling
- Approaches to leverage and migrate legacy systems
- Comparison of integration approaches and technologies
- Decision criteria for selecting a particular approach
- Integration with the data architecture