WA2233
Solution Architecture Training: Enterprise Integration Patterns and Solutions for Architects Training
This training course covers a wide range of integration solutions based on proven enterprise integration patterns that will aid the students in designing the architecture of complex interconnected business systems.
Course Details
Duration
3 days
Prerequisites
Participants should have general understanding of Enterprise IT technologies.
Target Audience
IT architects and designers who want to learn about Enterprise Integration Patterns and Solutions.
Skills Gained
- Integration Patterns and Solutions
- Data Management in Enterprise
- REST Services
- Enterprise Service Bus
- Current API Management Solutions
Course Outline
- SOA Fundamentals
- Defining Service Oriented Architecture (SOA)
- Putting SOA in Context
- SOA As an Alignment Strategy
- The SOA Umbrella
- What’s a Service?
- Service Actors
- SOA in Action
- Business Process Management
- BPM & Workflow
- SOA Governance
- SOA Governance Model
- SOA Job Role Impact
- SOA Re-Organization
- What Makes a Good Design?
- Is SOA a New Concept?
- Enterprise Computing Evolution
- What about Microservices?
- SOA Is Perfect…NOT!
- Service Characteristics
- When Do I Need a Service?
- About Services in SOA
- Contract-Driven Software
- SOA Standards
- Service Implementation
- Service-Oriented Architecture (SOA) Data Patterns
- SOA Data Service Patterns
- Pattern Template
- Data Federation Pattern: Synopsis
- Data Federation Pattern: Benefits
- Data Federation Pattern: Context
- Data Federation Pattern: Solution
- Data Federation Pattern: Solution Architecture
- Data Federation Pattern: Considerations
- Data Federation Pattern: Summary
- Data Consolidation Pattern: Synopsis
- Data Consolidation Pattern: Benefits
- Data Consolidation Pattern: Context
- Data Consolidation Pattern: Solution
- Data Consolidation Pattern: Considerations
- Data Consolidation Pattern: Summary
- Data Cleansing Pattern: Synopsis
- Data Cleansing Pattern: Benefits
- Data Cleansing Pattern: Context
- Data Cleansing Pattern: Solution
- Data Cleansing Pattern: Considerations
- Data Cleansing Pattern: Summary
- Enterprise Service Bus (ESB)
- 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
- 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
- Introduction to IBM Integration Designer (IID) v8.0
- IBM Integration Designer (IID) v8.0
- SCA Basics
- Wiring Example
- Items Developed in IID
- The Project Structure
- Working With Shared Components
- Using the IDE
- The Test Server
- The Build Process
- Exporting Applications
- Module Versioning
- Summary
- Chapter 5 - Service-Oriented Architecture (SOA) Patterns
- SOA Patterns
- Asynchronous Queuing Pattern: Problem
- Asynchronous Queuing Pattern: Solution
- Asynchronous Queuing Pattern: Implementation
- Asynchronous Queuing Pattern: Illustration
- Event-Driven Messaging Pattern: Problem & Solution
- Event-Driven Messaging Pattern: Implementation
- Event-Driven Messaging Pattern: Illustration
- Reliable Messaging Pattern: Problem & Solution
- Reliable Messaging Pattern: Implementation
- Reliable Messaging Pattern: Illustration
- Adapter Pattern: Problem & Solution
- Adapter Pattern: Implementation
- Adapter Pattern: Illustration
- Canonical Protocol Pattern: Problem & Solution
- Canonical Protocol Pattern: Implementation
- Canonical Protocol Pattern: Illustration
- Protocol Bridging Pattern: Problem
- Protocol Bridging Pattern: Implementation
- Protocol Bridging Pattern: Illustration
- Canonical Data Format Pattern: Problem & Solution
- Canonical Data Format Pattern: Implementation
- Canonical Data Format: Illustration
- Data Transformation Pattern: Problem & Solution
- Data Transformation Pattern: Implementation
- Data Transformation: Illustration
- Schema Centralization Pattern: Problem
- Schema Centralization Pattern: Solution
- Schema Centralization Pattern: Implementation
- Schema Centralization: Illustration
- Intermediate Routing Pattern: Problem
- Intermediate Routing Pattern: Solution
- Intermediate Routing Pattern: Implementation
- Intermediate Routing: Illustration
- Decoupled Contract Pattern: Problem & Solution
- Decoupled Contract Pattern: Implementation
- Decoupled Contract Pattern: Illustration
- Decoupled Contract Pattern: Another Illustration
- Service Encapsulation Pattern: Problem & Solution
- Service Encapsulation Pattern: Implementation
- Service Encapsulation Pattern: Illustration
- Service Decomposition Pattern: Problem & Solution
- Service Decomposition Pattern: Implementation
- Service Decomposition Pattern: Illustration
- Enterprise Application Integration (EAI) Patterns
- Enterprise Integration Patterns
- EAI Patterns Summary
- Messaging Systems: Overview
- Pattern: Pipes and Filters
- Root Pattern: Message Channel
- Root Pattern: Message
- Root Pattern: Message Router
- Root Pattern: Message Translator
- Root Pattern: Message Endpoint
- Root Pattern: System Management
- Monitoring Credit Bureau Example
- Master Data Management (MDM)
- What is Master Data Management?
- A typical data management scenario
- Why do you need MDM?
- Why do you need MDM in SOA?
- What role does MDM play in SOA?
- MDM and SOA shared principles
- MDM and SOA Governance
- MDM products
- Implementing MDM in an SOA
- Review questions
- EA Lessons Learned and Anti-Patterns
- Key EA Lessons Learned
- Three Critical Changes EA Must Make To Survive Hard Times
- Scott Ambler’s EA Anti-Patterns
- EA Anti-Patterns
- API Management
- Drivers Towards Business Inter-connectivity
- View of the NetBeans IDE Web Services Facet
- Facebook Graph API Explorer
- APIs Proliferation
- API Management Defined
- API Management Disclaimers
- The Traditional Point-to-point Integration Example
- It Raises Some Questions …
- API Management Conceptual Diagram
- What Else is Needed?
- Driving Forces
- Gartner Research Stats
- API Management Offerings
- The Mashery API Management System Overview
- WSO2 API Management Main Components
- REST Services
- Many Flavors of Services
- Understanding REST
- Principles of RESTful Services
- REST Example – Create
- REST Example – Retrieve
- REST Example – Update
- REST Example – Delete
- REST Example – Client Generated ID
- SOAP Equivalent Examples
- REST Example – JSON
- REST vs SOAP Communication
- More REST vs SOAP
- REST vs SOAP Summary
- Famous RESTful Services
- Additional Resources
- What is gRPC?
- Protocol Buffers
- REST vs. gRPC
- Protobuf vs. JSON
- HTTP/2 vs. HTTP 1.1
- Messages vs. Resources and Verbs
- Streaming vs. Request-Response
- Strong Typing vs. Serialization
- Web Browser Support
- REST vs. gRPC – In a Nutshell
- Introduction to JAX-RS
- The JAX-RS Specification
- The Resource Class
- A Bunch of Annotations
- @Path
- Using Path Parameters
- HTTP Method Binding
- More Complex Paths
- Configuring JAX-RS for Deployment
- Designing a RESTful Service
- Introduction
- The Design Methodology
- Ingredients of a Service Operation Interface
- What Constitutes a REST Resource
- Resource Identifiers
- MIME Types
- HTTP Methods
- Request and Response Body Structure
- Example Operation Interface Document
- Formal (Machine-Readable) Specifications
- Defining the Cloud
- A Bit of History
- Wikipedia Entry
- Cloud Computing at a Glance
- Gartner Research on Cloud
- Electrical Power Grid Service Analogy
- The NIST Perspective
- Five Characteristics
- On-demand Self-Service (NIST Characteristic)
- Broad Network Access (NIST Characteristic)
- Resource Pooling (NIST Characteristic)
- Rapid Elasticity (NIST Characteristic)
- Measured Service (NIST Characteristic)
- The Three Cloud Service Models (NIST)
- The Cloud Computing Spectrum: IaaS, PaaS and SaaS
- The Four Cloud Deployment Models (NIST)
- The NIST Cloud Definition Framework
- A Hybrid Cloud Diagram
- Cloud Deployment Model Dynamics
- Cloud Services
- Defining Cloud Services
- User-Cloud Interaction
- Cloud Service Characteristics
- The Typical Cloud Services
- Application Services
- Messaging Application Service
- Email Application Service
- Cache Application Service
- Specialized Application Services
- AWS Analytics Systems
- Google App Engine (GAE) MapReduce Service
- Use Cases for MapReduce Jobs
- Integration Platform as a Service (IPaaS)
- Storage Services
- Object Storage
- Archive Storage
- Relational Storage
- NoSQL Storage
- Some AWS Storage Services
- Data Warehouses in the Cloud
- Cloud Utility Services
- Scalability and HA of Your Applications in the Cloud
- The Auto-scaling Service
- Monitoring Services
- Configuring Instance Health Check in AWS
- Amazon Web Services Integration Diagram
- Google App Engine (GAE) Services Integration Diagram
- Microsoft Azure Services
- Comparing Cloud Service Stacks
- AWS Simple Storage Service
- What is AWS Simple Storage Service (S3)
- AWS Storage
- Regions
- S3 Regions
- Getting started with S3
- Using BitTorrent
- More on Buckets
- Bucket Configurable Properties
- Advanced S3 Bucket Properties
- The Bucket Creation Dialog in the Management Console
- Bucket Permissions
- Bucket-level Operations
- Authorization of REST Requests
- Adding Cross-Origin Resource Sharing Configuration
- Event Notifications
- The Requester Pays Option
- The Object Key
- Object Versioning
- Example of Object Properties
- Object Storage Class Levels
- Object-level Operations
- Object Lifecycle Configuration
- Amazon S3 Data Consistency Model
- Observable Data Consistency Behaviors
- Eventually Consistent Reads vs Consistent Reads
- Amazon S3 Security
- S3 Use Case: Backup and Archiving
- Another S3 Use Case: Static Web Hosting
- More on Static Web Hosting
- S3 Static Website Hosting Dialog in Management Console
- S3 Use Case: Disaster Recovery
- AWS S3 Pricing
- Storage Pricing
- Request Pricing
- Data Transfer Pricing
- Amazon S3 Transfer Acceleration
- How to Enable Transfer Acceleration
- Enabling Transfer Acceleration in the Management Console
- Amazon S3 SLA Definitions
- Amazon S3 SLA Service Commitment
- S3 CLI
- Designing Cloud Solutions
- Getting Started …
- Good/Not-so-Good Use Cases for the Cloud
- Design the Cloud Service Interface
- Practical Observations and Rules
- Analysis and Design (A&D) Best Practices
- A&D Best Practices - Prototyping
- A&D Best Practices – System Partitioning
- A&D Best Practices - Leveraging Cloud Platform Services
- A&D Best Practices - Using Asynchronous Communication Patterns
- MOM to the Rescue
- A&D Best Practices - Preempt Possible Data Corruption
- A&D Best Practices - Caching
- A&D Best Practices - Staying Hands-On
- Be Aware of the CAP Theorem Constraints
- The CAP Triangle
- Cloud Layering
- Cloud Layering Overview
- Content Services
- Separate Static Content from Dynamic Content
- Logic Services
- Utility - Security Services
- Out-of-the-Box Security Service Example
- Layering Examples
- Architecting for HA in AWS (Same Data Center)
- Architecting for HA in AWS (Different AZs)
- AWS Solution Architecture Patterns
- AWS Architecture Center
- List of Reference Architectures
- High Availability Solution Architecture Blueprint
- Log Analysis Solution Architecture Blueprint Summary
- Scalable Web App Solution Architecture Blueprint Summary
- Simplified Web App Solution Architecture Blueprint
- Architecting for AWS: Design for Failure - Take 1
- Architecting for AWS: Design for Failure - Take 2
- Go with SOA and Asynchronous Communication Patterns
- Batch Processing with SQS
- Secure Your Applications
- Securing your Web Application Example
- Other Security Considerations
- Operational Checklists for AWS
- Excerpts from Operational Checklists
- Microservices
- What is a "Microservice"?
- One Helpful Analogy
- SOA - Microservices Relationship
- ESB - Microservices Relationship
- Traditional Monolithic Designs and Their Role
- Disadvantages of Monoliths
- Moving from a Legacy Monolith
- When Moving from a Legacy Monolith
- The Driving Forces Behind Microservices
- How Can Microservices Help You?
- The Microservices Architecture
- Utility Microservices at AWS
- Microservices Inter-connectivity
- The Data Exchange Interoperability Consideration
- Managing Microservices
- Implementing Microservices
- Embedding Databases in Java
- Microservice-Oriented Application Frameworks and Platforms
- Lab Exercises
- Lab 1. Basic Mediation Flow Development
- Lab 2. Using Mediation Primitives
- Lab 3. Develop a Simple RESTful Service
- Lab 4. Extracting Information from a HTTP Request
- Lab 5. Designing a RESTful Service
- Lab 6. Introduction to Amazon Simple Storage Service (S3)
- Lab 7. Introduction to AWS Lambda
- Lab 8. Introduction to Amazon API Gateway