About
This is the MuleSoft Certified Developer - Level 1 Maintenance exam preparation. This exam is shorter than the first exam. It validates that a MuleSoft Certified Developer - Level 1 has maintained the skills and knowledge to work successfully on basic Mule 4 projects. It also test if the practitioner can, with supervision and guidance, design, build, test and debug, deploy, and manage basic APIs and integrations.
- Expectations
- use MuleSoft-hosted Anypoint Platform to take a basic API through all the steps of its lifecycle: design, build, deploy, manage and govern
- Use Anypoint Studio to build, test and debug basic Mule 4 integrations and API implementations
- Use Mule 4 connectors to connect to a range of resources including databases, files, web services, SaaS applications, and JMS queues
- Perform basic data transformations using DataWeave 2
- Use Mule 4 event processors to control event flow, handle errors, and process batch records
- Prerequisites
- Have a current MuleSoft Certified Developer - Level 1 certification.
Strategy
- Acronyms:
- DEV:FUN4 - Anypoint Platform Development Fundamental course
- DEV:DIY4 - MCD - Level 1/ Development Fundamentals DIY Exercises & Practice Exam
Go through the following as quickly as possible, writing notes and adding questions and answers to Anki, and also dedicating time to review the Anki decks daily.
- Anypoint Platform Development: Fundamentals
- Quick run through of the Topics focusing on the links, writing notes, adding Anki decks and reviewing them
- MCD - Level 1/ Development Fundamentals DIY Exercises & Practice Exam
- YouTube: MuleSoft Tech Zone - Mule 4 tutorials for beginners
Topics
Accessing and modifying Mule events
- Describe the Mule event data structure
A Mule event is immutable, and it consitutes the core information processed by the Mule runtime. It follows the configured application logic as it travels through the components inside the Mule application. Changing an Mule event instance results in the creation of a new instance because it’s immutable
- Use transformers to set event payloads, attributes, and variables
- Write DataWeave expressions to access and modify events payloads, attributes, and variables
- Enrich Mule events using target parameters
- Resources
- DEV:443 Module 1
- DEV:DIY4 Exercise 6-1, 7-1, and 7-2
- About Mule Event
- Set Payload
- Set Variable
- About the Transform Component
- About DataWeave
- Logger Component Example
- Enriching Data with Target Parameters
Structuring Mule applications
- Parameterise an application using property placeholders
- Define and reuse global configurations in an application
- Break an applicatino into multiple flows using private flows, subflows and the Flow REference component
- Specify what data (payload, attributes, variables) is persisted between flows when a Flow Reference is used
- Specify what data (payload, attributes, variables) is persisted between flows when a Mule event crosses a connection boundary
- Specify what data (payload, attributes, variables) exists in a flow before and after a call in the middle of a flow to an external resource
- Resources
- DEV:443 Modue 1
- DEV:443 Module 2
- DEV:DIY4 Exercise 7-1 and 7-2
- To Configure Property Placeholders for Mule Apps
- Global Elements
- Flow and Subflow Components
- About Flow Ref
Building API implementation interfaces
- Manually create a RESTful interface fo a Mule application
- Generate a REST Connector from a RAML specification
- Describe the features and benefits of APIkit
- Use APIkit to create implementation flows from a RAML file
- Describe how requests are routed through flows generated by APIkit
- Resources
Routing events
- Use the Choice router to route events based on conditional logic
- Use the Scatter-Gather router to multicast events
- Validate data using the Validation module
- Resources
- DEV:443 Module 4
- DEV:DIY4 Exercise 9-1
- Choice Router
- DataWeave Operators
- Flow Control in DataWeave
- About Scatter-Gather
- Validation Module
Handling errors
- Describe the default error handling in a Mule application
- Define a custom global default error handler for an application and identify in what situations it will be used
- Compare and contrast how the On Error Continue and On Error Propagate scopes work
- Create one or more error handlers for a flow
- Use the Try scope to specify error handlers for one or more event processors
- Describe the data structure of the Mule Error object
- Map errors to custom application errors
- Resources
- DEV:443 Module 5
- DEV:DIY4 Exercise 10-1
- Introduction to Mule 4: Error Handlers
- About Error Handling
- About On-Error Scopes
- Try Scope
- About the Mule Error
- Introduction to Mule 4: Error Mapping
Transforming data with DataWeave
Write DataWeave scripts to convert JSON, XML, and Java data structures to different data structures and data types.
Use DataWeave functions.
Define and use DataWeave variables, functions, and modules.
Define and use custom data types.
Apply correct DataWeave syntax to coerce data types.
Apply correct DataWeave syntax to format strings, numbers, and dates.
Call Mule flows from a DataWeave script.
Resources
- DEV:443 Module 6
Using Connectors
- Retrieve data from a Database using the Database connector.
- Create parameterized SQL queries for the Database connector.
- Retrieve data from a REST service using HTTP Request or a REST Connector.
- Use a Web Service Consumer connector to consume SOAP web services.
- Use the Transform Message component to pass arguments to a SOAP web service.
- List, read, and write local files using the File connector.
- List, read, and write remote files using the FTP connector.
- Use the JMS connector to publish and listen for JMS messages.
- Resources
- DEV:443 Module 1
- DEV:443 Module 3
- DEV:443 Module 7
- DEV:DIY4 Exercise 4-1, 8-1, 12-1, and 12-2
- Database Connector
- About the File Connector
- About the FTP Connector
- About the JMS Connector
Processing records
- List and compare and contrast the methods for processing individual records in a collection.
- Explain how Mule events are processed by the For Each scope.
- Use the For Each scope to process records.
- Explain how Mule events are processed by the Batch Job scope.
- Use a Batch Job with Batch Steps and a Batch Aggregator to process records.
- Use the Scheduler component to trigger a flow.
- Use connector listeners to trigger flows.
- Describe the features, benefits, and process to use watermarking.
- Describe the features, benefits, and process to use automatic watermarking vs. manual watermarking.
- Use connectors with automatic watermarking capabilities.
- Persist data between flow executions using the Object Store.
- Resources
Debugging and troubleshooting Mule applications
- Use breakpoints to inspect a Mule event during runtime.
- Install missing Maven dependencies.
- Read and decipher Mule log error messages.
- Resources
- DEV:DIY4 Exercise 6-1 and Walkthrough
- DEV:DIY4 all exercises
Deploying and managing APIs and integrations
- Package Mule applications for deployment.
- Deploy applications to CloudHub.
- Use CloudHub properties to ensure deployment success.
- Create and deploy API proxies.
- Connect an API implementation to API Manager using autodiscovery.
- Use policies, including client ID enforcement, to secure an API.
- Create SLA tiers and apply SLA based policies.
- Resources