Download the CERTIFIED MuleSoft Developer

 CERTIFIED MULESOFT DEVELOPER EXAM Preparation Guide v. November, 2014 2 T ABLE OF C ONTENTS Table of Contents ......................................................................................................................................................... 3 Preparation Guide Overview ........................................................................................................................................ 5 Guide Purpose .......................................................................................................................................................... 5 General Preparation Recommendations .................................................................................................................. 5 Required Experience ................................................................................................................................................. 5 For Further Information ........................................................................................................................................... 5 Exam Overview ............................................................................................................................................................. 6 To Register for the Exam .......................................................................................................................................... 6 Exam Objective ......................................................................................................................................................... 6 Intended Audiences .................................................................................................................................................. 6 Pass/Fail Requirement .............................................................................................................................................. 6 Cost ........................................................................................................................................................................... 7 Exam Format ............................................................................................................................................................ 7 Testing Location ........................................................................................................................................................ 7 Certification Validity ................................................................................................................................................. 7 Exam Module Details .................................................................................................................................................... 8 Basics .................................................................................................................................................................... 8 Batch ..................................................................................................................................................................... 8 Cache Scope .......................................................................................................................................................... 8 Clusters ................................................................................................................................................................. 8 Common Error Scenarios ...................................................................................................................................... 9 DataMapper ......................................................................................................................................................... 9 Deployment and Management Consoles ............................................................................................................. 9 3 Enricher ................................................................................................................................................................ 9 Exceptions .......................................................................................................................................................... 10 Expression Routing ............................................................................................................................................. 10 Expressions ......................................................................................................................................................... 10 Flows and Testing ............................................................................................................................................... 10 General Knowledge Questions ........................................................................................................................... 11 HTTP ................................................................................................................................................................... 11 Java Custom Components .................................................................................................................................. 11 Database ............................................................................................................................................................. 11 JMS ..................................................................................................................................................................... 12 MuleSoft Solutions’ Place in the Enterprise ....................................................................................................... 12 Properties ........................................................................................................................................................... 12 REST .................................................................................................................................................................... 12 Routing ............................................................................................................................................................... 13 SOAP Web Services ............................................................................................................................................. 13 Transactions ....................................................................................................................................................... 13 VM Transport ...................................................................................................................................................... 13 Sample Exam Questions ............................................................................................................................................. 14 Solutions to Sample Questions ................................................................................................................................... 17 4 P REPARATION G UIDE O VERVIEW G U ID E P U R P O S E The purpose of this guide is to help those looking to become a Certified MuleSoft Developer understand what knowledge and skills are recommended to pass the exam. This guide does not provide that knowledge. It simply details what knowledge is required and how to obtain that knowledge. Further details can be found on our certification website at http://training.mulesoft.com/certification and our certification frequently asked questions page at http://training.mulesoft.com/certification/faq. G E N E R A L P R E P A R A T IO N R E C O M M E N D A T IO N S It is suggested, but not mandatory, that an individual first achieve Associate MuleSoft Developer accreditation prior to attempting Certified MuleSoft Developer exam. Relevant additional details can be found at: http://training.mulesoft.com/certification. To prepare for taking the Certified MuleSoft Developer exam, a participant should be able to fully comprehend the concepts described under the Exam Module Details section below and apply the concepts in order to answer exam questions on topics related to each module. For the latest MuleSoft product documentation, please visit: http://www.mulesoft.org/documentation. You may also find that some of our courses are helpful in preparing for the Certified MuleSoft Developer exam, such as our Anypoint Platform Essentials and Advanced Anypoint Platform Development courses, but really no course could provide the real project experience needed to pass this challenging exam. R E Q U IR E D E X P E R IE N C E This test is designed to verify product expertise gained through significant experience using MuleSoft products on a variety of projects. There is no specific amount of experience required, but history shows that people who pass this challenging exam have months or years of real MuleSoft project experience. The exam aims to ensure that each individual has: strong applicable software development background; broad and deep knowledge of MuleSoft solutions and tools; and appreciable experience using MuleSoft solutions on multiple types of real or experimental projects. F O R F U R T H E R I N F O R M A T IO N For questions related to MuleSoft CERTIFICATION that are not addressed in this document, please see: •
Our certification frequently asked questions site at http://training.mulesoft.com/certification/faq. 5 •
Contact the MuleSoft Certification team at [email protected]. For questions related to MuleSoft TRAINING that are not addressed in this document, please see: •
Our Training website at http://training.mulesoft.com. •
Our training frequently asked questions site at http://training.mulesoft.com/faq. •
Contact the MuleSoft Training team at [email protected]. E XAM O VERVIEW T O R E G IS T E R F O R T H E E X A M To view delivery options and testing center locations, and to purchase and schedule exams, please visit the MuleSoft Webassessor site at: https://www.webassessor.com/wa.do?page=publicHome&branding=MULESOFT. E X A M O B JE C T IV E The Certified MuleSoft Developer exam is designed to assess true expertise as a MuleSoft integration developer. The exam verifies: strong applicable software development skills; broad and deep MuleSoft solution knowledge; and appreciable experience using MuleSoft solutions on multiple types of projects. I N T E N D E D A U D IE N C E S •
Developers (various programming languages) •
Business Architects •
Solution Consultants •
(Some) Project Managers •
System Integrators •
(Some) Program Managers •
Technical Architects The Certified MuleSoft Developer exam is a highly technical exam and, regardless of role, the individual will need to meet the profile described under the Exam Objective section above. P A S S /F A IL R E Q U IR E M E N T A score of 80% or higher is a required to pass the Certified MuleSoft Developer exam. 6 C O S T The fee is $250 USD per person per attempt to take the Certified MuleSoft Developer exam. Please note that this exam may in some cases be purchased in a bundle or package with other training and/or certification exams (see http://training.mulesoft.com/catalog). E X A M F O R M A T Number of Questions/Format: 100 multiple-­‐choice questions Duration: Up to 2 hours Language: English Resources Allowed: None. This is a ‘Closed Book’ exam. Proctoring: Required. A testing proctor will supervise you taking the exam, either in a testing center on online (see more details below). T E S T IN G L O C A T IO N This examination is available anywhere worldwide. You have two delivery options: •
In any testing center location within Kryterion’s network worldwide; •
Online from any Internet-­‐connected PC worldwide with qualifying webcam and utilizing Kryterion Webassessor’s Online Proctoring service. C E R T IF IC A T IO N V A L ID IT Y The Certified MuleSoft Developer accreditation has an expiration of two (2) years from the date of passing. 7 E XAM M ODULE D ETAILS The following sections provide key concepts and detailed information on the modules covered in the Certified MuleSoft Developer exam. To prepare for taking the exam, a participant should be able to fully comprehend the concepts described under each module below and apply the concepts in order to answer exam questions on topics related to each module. For the latest MuleSoft product documentation, please visit: http://www.mulesoft.org/documentation/ Basics This Basics module provides focuses on providing the understanding of the Mule Flow concept with Mule messages, major components, and basic configuration of HTTP, Java Component, etc. Key Concepts: • Steps to creating a Project in Mule • How a Flow applies to a Mule Message Source and a Message Processor • Major components of a Mule Message • Procedural coding approach with Mule development • Basic Mule configuration of transport protocols, endpoints, and POJO manipulation Batch The batch module reviews the new batching feature implemented in 3.5. Key Concepts: • The various phases of batch processing • Configuring batch processing Cache Scope The Cache Scope module reviews how the Cache Scope strategy supports time saving and processing load by storing and reusing frequently called data. Key Concepts: • How to add and configure a Cache Scope • Creating a new Caching Strategy and best practices for managing through application code Clusters The Clusters module provides an overview of the how to manage server clusters and the relations with Mule Enterprise Service Bus (ESB) implementation. 8 Key Concepts: • Understanding general concepts and benefits for building Mule Clusters • How Mule Clusters use queues to distribute application flows for processing • A review of how clustering supports various Mule transport mechanisms Common Error Scenarios The Common Error Scenarios module details common error situations during MuleSoft development and related exception strategies used for dealing with issues. Key Concepts: • Global application configuration for handing exceptions • Anypoint Studio error scenario navigation • Working with debugging Flows and expression handlers DataMapper The DataMapper module reviews how mapping flows can define overall data transformation and integration process from a given input to a given output. Key Concepts: • How to use the Anypoint DataMapper component and common implementation scenarios • Working with the JSON data type and how it applies to a DataMapper • Using the Object to String transformer • Data model code translation and usage with a Mule message Deployment and Management Consoles The Deployment and Management Consoles module provides an overview of configuring an application environment, managing user community, and deployment procedures using MMC. Key Concepts: • Using the general step-­‐by-­‐step process for deploying an application to a server using the Mule Enterprise Management and CloudHub consoles • Configuring Mule ESB and CloudHub for application deployment • Organizing spring properties and spring property file configuration • How to use Flow Analyzer to review aspects of Flows in a application and why this is critical during configuration and application deployment Enricher The Enricher module covers how Enrichers can be used to enhance a Mule message. 9 Key Concepts: • How the Message Enricher processes data and relevant use cases • Understanding complex enrichment Exceptions The Exceptions module evaluates the available Exception strategies, usage of the Exception strategies, and how they affect Flows and Sub-­‐Flows. Key Concepts: • Using Exception Strategies and how they affect Flows/Sub-­‐Flows • The different exception strategies that are available • How to change and return a message from an Exception strategy • Routers that are for potential error conditions (First Successful, Until Successful) Expression Routing The Expression Routing module provides a review of routing techniques using Expressions. See the Expressions description and, to a lesser degree, the Routing description. Key Concepts: See Expressions and, to a lesser degree, Routing. Expressions The Expressions module provides a review of all expressions properties, and inbound/outbound routing ways of using expressions. Key Concepts: • Inbound-­‐outbound Expression properties • Using Flow variables and session variables for expression evaluation • How Maps and Lists are evaluated and/or manipulated using Expressions • Setting variable and property elements using Expressions • Setting and testing Payload attributes through Expressions using components such as Expression Transformers, Filters, Choice Router, and Loggers Flows and Testing The Flows and Testing module conducts focuses on how to develop various flow types and how to unit test all message Flow techniques. Key Concepts: • How to unit test various endpoints 10 •
•
•
•
Coding and testing exchange patterns (e.g., request-­‐response and one-­‐way) Understanding the differences between inbound and outbound endpoints Testing using JUnit cases with MuleSoft Procedures for sending a Mule message from test class to a MuleSoft application General Knowledge Questions The General Knowledge Questions module covers basic MuleSoft implementation and design concepts. Key Concepts: • Creating Flows and how to use message processors • Steps when debugging Flows and common error scenarios • Understanding data movement through an application and is encapsulated with Mule Logic HTTP The HTTP module focuses on the concept for building HTTP connector flows, logging, and processing in Anypoint Studio. Key Concepts: • Understanding how to create and configure an HTTP endpoint, inbound and outbound • What the differences are between HTTP and HTTPS • Building independent HTTP flows in Anypoint Studio • Understanding HTTP content-­‐type and the effect on browser types Java Custom Components The Java Custom Components module reviews creating and testing Java custom components and integrating them into flows. Key Concepts: • Using advanced Java concepts to invoke service calls for passing Mule messages • Creating Mule transformers using custom-­‐made Java classes • Configuring Java components such as prototype and singleton • Usage of the default entry point resolver with Java components Database The Database module focuses on database connectors and data source customization for endpoints within flows. Key Concepts: • Understanding contents of database connectors and associated data sources 11 •
•
•
How database operations differ and their limitations Database return types and how to access the contents of the returned objects using Expressions Using SQL for DataMappers and Expressions JMS The JMS module provides an overview of building JMS connectors including attributes such as creating two-­‐way communications, temporary queues, and serializing objects to send over transports. Key Concepts: • Understanding general usage and configuration concepts of using JMS • Using back channels and creating two-­‐way communication through JMS connections • How JMS queues differ from Topics • Understanding how JMS uses Correlation IDs, serializing, and deserializing objects MuleSoft Solutions’ Place in the Enterprise This module outlines how systems, data, and applications can be integrated within an enterprise and discusses the potential business impact. Key Concepts: • Understanding integration points for Mule ESB within an enterprise • Benefits of using Mule ESB Properties This module reviews Mule properties, properties file configuration, and other configurable parameters. Key Concepts: • Reviewing how to develop and manage application properties • Benefits for using global properties REST The REST module provides an overview of REST basics, method usage, dynamic endpoints, and absorbing resources. Key Concepts: • Understanding the basics of implementing a REST services and the methods used such as GET, POST, PUT, and DELETE • Review how to use annotations on REST methods to create unique signatures • Usage of REST blocks and how to absorb resources • Understanding how to create REST clients and working with dynamic endpoints 12 Routing The Routing module reviews the different types of Routers and how Routers are used to control how messages are sent and received by components. Key Concepts: • Defining and basic creation and control of Mule Flows, Sub-­‐Flows, and Flow-­‐Reference • Understanding Filters and how to other basic filters are used with Routing • Usage techniques for Splitters, Aggregators, Multi-­‐Cast Routers, and For-­‐each SOAP Web Services The SOAP Web Services module provides an overview of using SOAP web service concepts for publishing and/or consuming a Mule message. Key Concepts: • Learning and applying the basics of a SOAP message with Mule • Understanding how to use CXF Interfaces to create Service definitions • Extending interfaces to create CXF implementations • Sending and receiving Mule messages over HTTP Transactions The Transactions module reviews how to apply the concept of transaction management and which endpoints support this transaction. Key Concepts: • Managing and configuring resource transactions for inbound and outbound messages • Understanding the various transaction types and usage techniques VM Transport The VM Transport module reviews how to use a VM Transport for controlling how messages are sent and received by components in the system. Key Concepts: • How to use VM Transport for communication between Mule flows • Queue usage with VM Transport and configuration structure 13 S AMPLE E XAM Q UESTIONS Solutions to these questions are provided in the next section. Question 1. Can a flow have more than one message source? A. Yes, using the composite source B. Yes, if declared sequentially at the beginning of the flow C. No, Mule validates on startup that the next element after a message source is a message processor D. It depends on if the two message sources have compatible transport types. Question 2. Which of the following transformations is not possible when using DataMapper? A. Excel Spread Sheet to a CSV file B. CSV file to a POJO C. XML file to Map D. JSON to HTML Question 3. Fill in the Blank: Mule ESB and CloudHub can have multiple _______, each of which can be transmitting concurrent __________. A. Applications, Messages B. Nodes, Loads C. Flows, Endpoints D. Endpoints, Workers Question 4. Where can't I define an Exception Strategy? A. Sub-­‐flow B. Flow C. Private flow D. Global configuration Question 5. Expressions can be used in MuleSoft integration: A. To extract information from the current message B. With routers and filters for defining routing logic C. For filtering out unwanted messages 14 D. All of the above Question 6. In order to Unit test a MuleSoft application it's necessary to extend what class? A. org.mule.tck.junit4.FunctionalTestCase B. org.mule.tck.functional.FunctionalTestComponent C. org.mule.tck.exceptions.FunctionalTestException D. org.junit.Test Question 7. One can use Mule Expression Language in which of the following contexts? A. Application B. Message C. Server D. All Question 8. When receiving HTTP responses, the payload of the MuleMessage will always be: A. A hashmap of all query parameters B. An InputStream C. Dependent on the URL and how it comes to Mule (webserver, proxy, etc.) D. Either JSON, a string or a hashmap depending on the request Question 9. If the component implements Callable lifecycle interface, what method would you use to receive the message? A. onCall() B. initialize() C. Start() D. None of the above Question 10.
What are the databases that MuleSoft integrations can connect to? A. Any JDBC compliant database B. Oracle, MySQL, Postgres, Derby, DB2, MSSQL C. Any database D. Oracle and Postgres 15 Question 11.
What is the purpose of setting the maxRedelivery attribute on the connector URL? A. To deliver each message in the queue up to the value set in maxRedelivery, without differentiating between messages that generated errors and others B. That attribute is not possible to set on a JMS connector C. To avoid an infinite loop trying to process a message that will always generate an error D. To define the maximum number of receivers for the message Question 12.
What's the correct way to define a dynamic inbound endpoint? A. Dynamic endpoints are only supported for outbound endpoints B. <http:inbound-­‐endpoint host="0.0.0.0" path="/#[expresion.for.path]" port="port" /> C. <http:inbound-­‐endpoint address="http://host:port/#[expresion.for.path]" /> D. <dynamic-­‐source expression=""[expresion.for.path]"> <http:inbound-­‐endpoint rootAddress="http://host:port/" /> </dynamic-­‐source> Question 13.
What is a Scope? A. It is a construct that contains message processors and limits the scope of flow variables B. It is another name for flows and Sub-­‐Flows C. It is a construct that contains message processors, and changes the way they execute D. It is a construct that executes message processors asynchronously to the container flow. Question 14.
What is the appropriate way to log SOAP messages in CXF? A. Logging the payload as String B. Using cxf:inInterceptors C. Enabling logging in the CXF configuration 16 S OLUTIONS TO S AMPLE Q UESTIONS Question Correct Answer 1 A 2 D 3 A 4 A 5 D 6 A 7 D 8 B 9 A 10 A 11 C 12 A 13 C 14 B 17