Home Page Icon
Home Page
Table of Contents for
Front cover
Close
Front cover
by Vasfi Gucer, Ulas Cubuk, Tony Curcio, Timothy Quigly, Shishir Narain, Nick Glowa
Accelerating Modernization with Agile Integration
Front cover
Notices
Trademarks
Preface
Authors
Now you can become a published author, too!
Comments welcome
Stay connected to IBM Redbooks
Chapter 1. Introduction
1.1 Integration has changed
1.2 Audience and scope
1.3 Navigating the book
Chapter 2. Agile integration
2.1 Agile integration: A brief introduction
2.1.1 People: Decentralized integration ownership
2.1.2 Architecture: Delivery focused integration architecture
2.1.3 Infrastructure aspect: Cloud-portable integration infrastructure
2.2 The journey so far: SOA, ESBs, and APIs
2.2.1 The forming of the ESB pattern
2.2.2 What went wrong for the centralized ESB pattern
2.2.3 The API economy
2.3 Microservices
2.3.1 The rise of lightweight run times
2.3.2 Microservices architecture: A more agile and scalable way to build applications
2.3.3 Comparing SOA and the microservices architecture
2.3.4 Bi-modal IT and decentralization
2.3.5 Decentralization and integration versus point-to-point
2.4 The three aspects of agile integration
2.5 People: Decentralized integration ownership
2.5.1 Moving to a decentralized and business-focused team structure
2.5.2 Big bangs generally lead to big disasters
2.5.3 Decentralized integration ownership and decentralized infrastructures
2.5.4 Prioritizing project delivery first
2.5.5 Evolving the role of the architect
2.5.6 Automation: The key to consistency in decentralization
2.5.7 Producing multi-skilled developers
2.5.8 Conclusions on decentralized integration ownership
2.6 Architecture: Delivery-focused architecture
2.6.1 Consumer-centric API management
2.6.2 Fine-grained application integration
2.6.3 Application-owned messaging and events
2.6.4 Conclusions on delivery-focused architecture
2.7 Technology: Cloud-native infrastructure
2.7.1 Virtual machines, containers, and serverless
2.7.2 Cloud-native approach
2.7.3 Portability: Public, private, and multicloud
2.7.4 Conclusion on cloud-native integration infrastructure
Chapter 3. Agile integration: Capability perspectives
3.1 Capability perspective: API management
3.1.1 A brief history of API management
3.1.2 Cloud-native infrastructure
3.2 Capability perspective: Application integration
3.2.1 Moving to a cloud-native approach
3.2.2 Fine-grained deployment: Breaking up the ESB
3.2.3 Grouping integrations
3.2.4 Stateless components
3.2.5 Image-based deployment
3.2.6 Elastic-neutral infrastructure and container orchestration platforms
3.2.7 Lightweight run times: How the modern integration run time has changed
3.2.8 Log-based monitoring
3.2.9 API intra-application communication
3.2.10 Event-driven architecture
3.2.11 Agile methods
3.2.12 Continuous Integration and Continuous Delivery and Deployment
3.2.13 DevOps
3.2.14 Creating integrations is becoming easier
3.2.15 Decentralizing integration ownership
3.2.16 Using integration run times in a microservices application
3.3 Capability perspective: Messaging and event streams
3.3.1 A brief history of asynchronous communication
3.3.2 Introducing messaging and event streams concepts
3.3.3 Differentiating capabilities
3.3.4 A detailed look at messaging
3.3.5 A detailed look at event streams
3.4 Capability perspective: Files and Business-to-Business
3.5 Hybrid and multicloud considerations
3.5.1 Multicloud: Multiple cloud services
3.5.2 Hybrid Cloud: Multiple deployment modes (public, private, and legacy)
3.5.3 Evolution of API deployment modes
3.6 Use cases driving hybrid and multicloud adoption
3.6.1 Multicloud strategy
3.6.2 Cloud bursting and scalability
3.6.3 Disaster recovery
3.6.4 Application affinity
3.6.5 Regional flexibility
3.6.6 Geographical high availability
3.7 References
Chapter 4. Cloud-native concepts and technology
4.1 Defining cloud-native
4.2 Key elements of cloud-native applications
4.2.1 Modular components
4.2.2 Preferring stateless
4.2.3 Immutable deployment
4.2.4 Elastic-neutral infrastructure and container orchestration platforms
4.2.5 Lightweight run times
4.2.6 Log-based monitoring
4.2.7 API-led intra-application communication
4.2.8 The reprise of event-driven architecture
4.2.9 Agile methods
4.2.10 Continuous Integration and Continuous Delivery and Deployment
4.2.11 Continuous Adoption
4.2.12 DevOps
4.3 Twelve-factor apps
4.3.1 Conclusion on 12-factor apps
4.4 Container technology: the current state of the art
4.4.1 Containers
4.4.2 Container orchestration
4.4.3 Kubernetes primer
4.5 Cloud-native is not for everyone, nor for everything
4.6 Realizing the true benefits of containerization
4.7 Application boundaries in a container-based world
4.7.1 Implicit and explicit boundaries
4.7.2 Why do application boundaries matter?
4.7.3 How should we choose the application boundaries?
4.8 Service mesh
4.8.1 Role of a service mesh
4.8.2 Service meshes and API management
4.9 Cloud-native security – an application-centric perspective
4.9.1 Scope of this section
4.9.2 Limitations of traditional security models
4.9.3 Challenges unique to cloud-native
4.9.4 Securing a cloud-native application
4.9.5 Hybrid solutions: Securing cloud to cloud and cloud to ground
4.10 The future of cloud-native
4.10.1 Are software-as-a-service applications serverless?
4.10.2 Function-as-a-service: a more accurate term for serverless?
4.10.3 Could any runtime be provided in a FaaS model?
4.10.4 FaaS for cloud-native?
4.10.5 Are there downsides to FaaS?
4.10.6 Conclusions on FaaS
Chapter 5. IBM Cloud Pak for Integration
5.1 IBM Cloud Pak for Integration
5.1.1 One platform supported by common services
5.1.2 IBM Cloud Pak for Integration - benefits
5.1.3 License flexibility for other non-containerized architectures
5.1.4 Getting access to IBM Cloud Pak for Integration for the exercises
5.2 Red Hat OpenShift Container Platform
5.3 API Lifecycle: IBM API Connect
5.3.1 Key phases of the API Lifecycle
5.3.2 API Lifecycle components
5.3.3 API lifecycle in combination with other capabilities
5.3.4 Product deployment options
5.4 Integration security: IBM DataPower Gateway
5.4.1 Security Gateway
5.4.2 API Gateway
5.4.3 DataPower and agile integration
5.5 Application integration: IBM App Connect
5.5.1 User-aligned integration tooling
5.5.2 No-code RESTful integration services
5.5.3 Flexible integration patterns
5.5.4 Broad deployment options
5.5.5 Extended connectivity
5.5.6 Situational awareness with insightful and actionable notifications
5.5.7 Quick utilization of artificial intelligence (AI) services
5.5.8 Rapid visual orchestration of data and systems for API-driven architectures
5.5.9 Lightweight integration runtime for cloud native deployment
5.5.10 Grown from a trusted market leading product
5.5.11 IBM App Connect on deployment options
5.6 Enterprise Messaging: IBM MQ
5.7 Event Streaming: IBM Event Streams
5.8 High-Speed File Transfer: IBM Aspera
5.8.1 Fast, Adaptive and Secure Protocol (FASP) technology
5.8.2 Aspera on Cloud
5.9 Service Mesh: Istio
Chapter 6. Practical agile integration
6.1 Introduction
6.2 Application Integration to front a data store with a basic API
6.2.1 Db2 setup
6.2.2 Db2 table setup
6.2.3 Swagger definitions
6.3 Expose an API using API Management
6.3.1 Importing the API definition
6.3.2 Configuring the API
6.3.3 Merging two application flows into a single API
6.3.4 Add simple security to the API
6.4 Messaging for reliable asynchronous data update commands
6.4.1 Enable create, update, delete via commands
6.4.2 Deploy and configure Queue Manager
6.4.3 Queue manager configuration
6.4.4 DB commands implementation
6.4.5 Graphical data maps implementation
6.4.6 Policy definitions
6.4.7 BAR file creation
6.4.8 Override policies for environment specific values
6.4.9 Global transaction coordination considerations
6.4.10 Conclusion
6.5 Consolidate the new IBM MQ based command pattern into the API
6.5.1 Defining the API data model
6.5.2 Paths
6.5.3 Securing the API
6.5.4 The Assembly
6.5.5 API testing
6.5.6 API socialization
6.5.7 Conclusion
6.6 Advanced API security
6.6.1 Import the API into IBM API Connect
6.6.2 Configure the API
6.6.3 Add basic security to the API
6.6.4 Test the API
6.6.5 Securing the API Using OAUTH
6.6.6 External client testing
6.7 Create event stream from messaging
6.7.1 Creating a new event stream topic
6.7.2 Running the IBM MQ source connector
6.7.3 Configuring the connector to connect to IBM MQ
6.8 Perform event-driven SaaS integration
6.8.1 Scenario
6.8.2 IBM App Connect event-driven flow to Salesforce, Google and Slack SaaS applications
6.8.3 Prerequisites
6.8.4 Create flows
6.8.5 Test your flow
6.8.6 Conclusion
6.9 Implementing a simple hybrid API
6.9.1 Business scenario
6.9.2 Invoking existing APIs from IBM App Connect Designer
6.9.3 Solution overview
6.9.4 Preparing the external SaaS applications
6.9.5 Create simulated on-premises API flow
6.9.6 Create Hybrid API
6.9.7 Test the flows
6.9.8 First, test the simulated on-premises API
6.9.9 Final Hybrid API integrated testing
6.9.10 Conclusion
6.10 Implement event sourced APIs
6.10.1 Implementing the query side of the CQRS pattern
6.10.2 Event sourced programming - a practical example
6.10.3 How to do it?
6.10.4 Creating the flow in IBM App Connect
6.10.5 Mapping the received events to the output required
6.10.6 Sending the new payload to the database
6.10.7 Client applications
6.11 REST and GraphQL based APIs
6.11.1 IBM, GraphQL, and Loopback
6.11.2 LoopBack models and relationships
6.12 API testing
6.12.1 Create a test from an API request
6.12.2 Update the test case from a Swagger file and publish
6.12.3 Gain insights into API quality
6.13 Large file movement using the claim check pattern
6.13.1 Build the file transfer
6.13.2 Build an event-driven flow
Chapter 7. Field notes on modernization for application integration
7.1 IBM App Connect adoption paths
7.1.1 Agile integration
7.1.2 Adoption path options
7.1.3 Conclusion
7.2 Splitting up the ESB: Grouping integrations in a containerized environment
7.2.1 What grouping do you have today?
7.2.2 Splitting by business domain
7.2.3 What about integrations that span business domains?
7.2.4 Grouping within a domain
7.2.5 Stable requirements and performance
7.2.6 Synchronous versus asynchronous patterns
7.2.7 Shared lifecycle
7.2.8 A worked example
7.2.9 Conclusion
7.3 When does IBM App Connect need a local MQ server?
7.3.1 Benefits of being dependency-free in container-based environments
7.3.2 When can we manage without a local MQ server?
7.3.3 Can I talk to multiple queues in the same transaction without a local MQ server?
7.3.4 Coordinating a two-phase commit requires a local MQ server
7.3.5 When else do I need a local MQ server?
7.3.6 Why do we have so many integrations that use server connections?
7.3.7 Conclusion
7.4 Mapping images to helm charts
7.4.1 Developing helm charts for Kubernetes
7.4.2 Upgrading (extending) helm charts
7.5 Continuous Integration and Continuous Delivery Pipeline using IBM App Connect V11 architecture
7.5.1 Continuous Integration Delivery and Deployment
7.5.2 Example pipeline - High-level concepts
7.5.3 CI/CD pipeline in depth
7.5.4 Considerations for CI/CD pipelines with IBM App Connect
7.5.5 Practical example
7.6 Continuous Adoption for IBM App Connect
7.6.1 What does Continuous Adoption apply to in IBM App Connect?
7.6.2 How can Continuous Adoption be implemented with IBM App Connect?
7.7 High Availability and Scaling considerations for IBM App Connect in containers
7.7.1 Overview
7.7.2 Scaling
7.7.3 High Availability
7.8 Migrating centralized ESB to IBM App Connect on containers
7.8.1 Overview
7.8.2 Considerations for IBM MQ based integrations in containers
7.8.3 Considerations for Http/WebServices based integration flows in containers
7.8.4 Considerations for integrations that interact with databases
7.8.5 Considerations for in containers
7.8.6 Considerations for TCP/IP based integrations in containers
7.8.7 Considerations for file-based integration in containers
7.8.8 Considerations for integrating IBM App Connect with IBM Event Streams
7.9 Splitting an integration across on-premises and cloud
7.9.1 Overview
7.9.2 Using callable flows with IBM App Connect Designer
7.9.3 Callable flows versus APIs
7.9.4 Cloud debugger for ACE on Cloud applications
Chapter 8. Field notes on modernization for API lifecycle
8.0.1 Security Gateway
8.0.2 API gateway
8.0.3 Connectivity and mediation
8.0.4 DataPower and API Connect compared
8.0.5 DataPower to API Connect migration
8.1 Enterprise APIs across a hybrid or multicloud boundary
8.2 How many API Connect Clouds and Gateways
8.2.1 Separate API Clouds
8.2.2 Separate API Gateway Cluster
8.3 Organization, Catalog and Space responsibilities for APIs
8.4 Automated provisioning of a new API provider team
8.5 High availability and scaling on containers for API Management
8.5.1 High availability in a containerized environment
8.5.2 Scalability of API Connect in containerized environment
8.5.3 Conclusion
8.6 IBM API Connect API Test Pyramid
8.6.1 Practical Test Pyramid
8.6.2 Requirements
8.6.3 Test types
8.6.4 Automated testing
8.6.5 Conclusion
Chapter 9. Field notes on modernization for messaging
9.1 Modernizing your messaging topology with containers
9.1.1 Typical existing topology
9.1.2 Removing local connections
9.1.3 Containerizing queue managers
9.1.4 Fine-grained queue manager deployment
9.1.5 Decentralization
9.1.6 Application containerization and operational consistency
9.2 IBM MQ availability
9.2.1 Kubernetes deployment styles: Deployments (replica sets) versus stateful sets
9.2.2 Multi-instance queue managers in containers
9.2.3 Further improving service availability with additional independent queue managers
9.2.4 Connection distribution
9.3 IBM MQ scaling
9.4 Automation of IBM MQ provisioning using a DevOps pipeline
9.4.1 Design for DevOps pipeline
9.4.2 Building a sample IBM MQ pipeline
Appendix A. Additional material
Locating the GitHub material
Cloning the GitHub material
Related publications
IBM Redbooks
Online resources
Help from IBM
Back cover
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Note: Before using this information and the product it supports, read the information in “Notices” on page xi.
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset