Registration for the instructor-led course
MuleSoft expert-led courses have a new home. Visit Trailhead Academy to learn more and register.
Summary
This course teaches experienced solution and technical architects or lead/senior developers how to design integration solutions that meet functional and non-functional requirements using Anypoint Platform™. It builds on prior experience developing and deploying Mule applications, and gives concrete guidance on how to design integration solutions for the Mule runtime (both Mule 4 and Mule 3) in the various deployment options supported by the Anypoint Platform. The course is case-study driven, with the solution architecture and effect on the organization's overall architecture being documented as the course progresses.
This course prepares students to take the MuleSoft Certified Integration Architect – Level 1 exam and includes two exam attempts.
Get a datasheet for the course here.
ノート:このコースの日本語版に関しては、こちらから内容をご確認ください。
Objectives
At the end of this course, students should be able to:
- Translate functional and non-functional requirements into well documented integration interfaces and implementation designs.
- Select the best Mule components and patterns for integration solution designs.
- Select the deployment approach and configuration of Anypoint Platform with any of the available deployment options (MuleSoft-hosted or customer-hosted control plane and runtime plane).
- Design Mule applications for the various deployment options of the Anypoint Platform runtime plane.
- Apply standard development methods covering the full development lifecycle to ensure solution quality.
- Design reusable assets, components, standards, frameworks, and processes to support and facilitate API and integration projects.
- Design and be responsible for the technical quality, governance (ensuring compliance), and operationalization of integration solutions.
- Advise technical teams on performance, scalability, reliability, monitoring, and other operational concerns of integration solutions on Anypoint Platform.
Audience
Solution and technical architects or lead/senior developers that are focused on designing enterprise integration solutions and have prior experience developing and deploying non-trivial Mule applications
Prerequisites
Experience developing and deploying Mule applications as demonstrated by one of the following:
Additional development and architecture knowledge and experience including:
- Proficiency in any JVM-based programming language with ability to read procedural, object-oriented, and (ideally) functional code
- Familiarity with threads, thread pools, locks, server/client sockets, JDBC data sources, and connection pools on the JVM
- Proficiency with current software development tools like Git/GitHub, Maven, Jenkins, or similar
- Experience as an architect or lead/senior developer on at least one integration project using any technology stack
- A full understanding of the fundamental ingredients of enterprise integration including interface definitions and contracts; data encoding using XML or JSON; REST APIs or SOAP web services; SQL or NoSQL database access; message-passing using JMS, AMQP or similar; network protocols like TCP/IP, HTTP and HTTPS; single-resource transactions
- Familiarity with basic security concepts including certificates and encryption at rest and in transit
Setup requirements
- A computer with:
- At least 8-16 GB RAM (16 highly recommended) available RAM, 2GHz CPU, and 10GB available storage
- A minimum screen resolution of 1024x768
- Internet access to ports 80 and 3306 (with > 5Mbps download and > 2Mbps upload)
- The latest version of Chrome, Safari, Firefox, or Edge
- Anypoint Studio 7.14 with embedded Mule 4.X runtime
- An Anypoint Platform account
- Advanced REST Client (or any other REST client application)
- (Optional) ArchiMate (or some other architecture diagramming tool)
Get a detailed setup document here.
PART 1: Architecting and designing integration solutions
Module 1: Introducing integration solution architectures |
- Describe the objectives of enterprise integration solution
- Summarize how to architect for success with Anypoint Platform
- Describe how integration solutions using Anypoint Platform are documented
- Describe using an architecture template for the course case study
|
Module 2: Identifying Anypoint Platform components and capabilities |
- Identify and document the overall design intentions of Anypoint Platform
- Review Anypoint Platform capabilities and high-level components
- Review API-led development techniques and options
- Identify Anypoint Platform components used to design and govern web APIs
- Explain event-driven API support in Anypoint Platform
- Distinguish between Anypoint Platform service and deployment models
|
Module 3: Designing integration solutions using Mule applications |
- Identify how Mule application components are typically used to implement integration solutions
- Apply Mule application components and capabilities to a range of use cases
- Summarize how class loading isolation is implemented in Mule runtimes
|
Module 4: Choosing appropriate Mule event processing models |
- Distinguish between Mule blocking, non-blocking, parallel, and reactive event processing options
- Identify the event processing models used in various Mule scopes and components
- Describe Mule streaming options and behaviors
- Describe the fundamentals of web APIs and event-driven architecture
- Describe the event processing options for JMS and VM connectors
- Select appropriate event processing for an integration use case
- Design integration use cases with batch, near real-time, and real-time data synchronization
|
Module 5: Choosing appropriate message transformation and routing patterns |
- Describe reusable ways to transform and process events
- Explain how to simplify and decouple complex data mappings using common data models
- Design transformations between data models
- Choose the best event transformation, data validation, and event routing patterns to an integration use case
|
Module 6: Designing Mule application testing strategies |
- Explain why testing is important in an integration project
- Identify the MuleSoft-provided framework and tools for testing during the software development lifecycle
- Design testing strategies for a Mule® application
- Define test coverage for flows in a Mule application
|
PART 2: Operationalizing integration solutions
Module 7:Choosing and developing a deployment strategy |
- Identify the service and deployment models supported by Anypoint Platform
- Distinguish between various Anypoint Platform deployment models
- Design containerized deployments for Mule runtimes
- Decide deployment options for various scenarios
|
Module 8: Designing with appropriate state preservation and management options |
- Decide on the best way to store a Mule application state in persistent or non-persistent storage
- Identify how to store a CloudHub application state using Object Store v2
- Decide on the best way to manage storage of a Mule application state using persistent queues
- Configure Mule application-provided caches to store a Mule application state
- Avoid duplicate processing of previous records using watermarks and idempotency validation
|
Module 9: Designing effective logging and monitoring |
- Describe auditing and logging options for Mule applications
- Design logging strategies for Mule applications
- Choose logging policies for Mule application log files
- Describe integration options with third-party log management systems
- Specify Anypoint Platform monitoring, alerting, notification, visualization, and reporting options for APIs and integration solutions
|
Module 10: Designing an efficient and automated software development lifecycle |
- Manage property files for Mule applications across different environments
- Manage Anypoint Platform environments for Mule application deployments
- Implement continuous integration and continuous delivery (CI/CD) for an organization
- Automate deployment and management with Anypoint Platform
|
PART 3: Strategies to meet non-functional requirements
Module 11: Designing transaction management in Mule applications |
- Identify why and when transactions are supported in Mule applications
- Identify resources that participate in transactions in Mule applications
- Demarcate transaction boundaries in Mule applications
- Choose the correct transaction type based on the participating resources
- Manage a transaction using the Saga pattern
|
Module 12: Designing for reliability goals |
- Distinguish between competing non-functional requirements
- Clarify and validate reliability goals for a scenario
- Design Mule applications and their deployments to meet reliability goals
- Identify reliability pattern for Mule applications
|
Module 13: Designing for high availability goals |
- Clarify high availability (HA) goals for Mule applications
- Balance HA goals with reliability and performance goals
- Identify ways to achieve HA using Anypoint Platform, in CloudHub and customer-hosted runtime planes
- Describe how clustering and load balancing works
- Identify HA aware connectors and their design trade-offs
|
Module 14: Optimizing the performance of deployed Mule applications |
- Clarify performance goals for Mule applications
- Balance performance goals with reliability and HA goals
- Identify the need for performance optimization and associated trade-offs
- Describe ways to search for and locate performance bottlenecks
- Describe how to design, architect, and implement for performance
- Describe ways to measure performance
- Describe methods and best practices to performance-tune Mule applications and Mule runtimes
|
Module 15: Designing secure Mule applications and deployments |
- Identify Anypoint Platform security concepts and options
- Describe how to secure APIs on Anypoint Platform
- Explain the security needs addressed by Anypoint Platform edge security
- Differentiate between MuleSoft and customer responsibilities related to Anypoint Platform security
- Evaluate security risks for Mule applications
- Describe how to secure Mule application properties and data in transit
|
Module 16: Designing secure network communications between Mule applications |
- Describe Anypoint Platform network security options and architectures
- Describe how to secure Mule® applications using Java key stores
- Design TLS communication and other network security options for an integration use case
- Distinguish between various CloudHub deployments with load balancers
- Properly size an Anypoint Virtual Private Cloud (VPC) to support deployment of all expected Mule applications
|