Thursday, December 3, 2020

How to prepare for MuleSoft Certified Developer Certification - Part IV

 Are you preparing for MuleSoft Certified Developer Certification and looking for some guidelines and material about how to prepare then you have reached the right place. During preparing for MuleSoft Certified Developer Certification, I captured notes. I thought let me share everyone so that it will be beneficial to whoever preparing for the certification. This is the fourth part of the notes. You can visit the previous part if you have not visited yet here - How to prepare for MuleSoft Certified Developer Certification - Part III. 



Writing DataWeave transformations

1. DataWeave is used for

                XML, JSON, JAVA transformations

                Complex data structure transformations

                Define and use global and local variables and functions

                Coerce and format strings, numbers and dates

                Define and use custom data types

                Call Mule flows

2. Metadata is stored under src/main/resources folder in application-types.xml file

3. If we edit metadata in the input section of Transform Message component then sample file (json.json) is generated under sample_folder in src/test/resources

4. Types of DataWeave errors

                a. Scripting error

                b. Formatting error

5. Comments in DataWeave

                a. Single line -> //

                b. Multi-line -> /**    */

6. To create a field as an attribute in XML use @(field). When we translate from XML to JSON use @ before consuming the attribute

7. map (object, index) -> { } functions    

                $$ refers to an index

                $ refers to the value

8. If we would like index value to be appended to variable and map function DO NOT have definition of (object, index) then use $$ to append index

e.g. 'flight$$' it will give results flight0, flight1

9. If we would like index value to be appended to variable and map function have a definition of (object, index) then use single $ with ()

e.g. 'flight$(index)' it will give results flight0, flight1

10. If we are transforming XML message to java and XML contains multiple child elements (e.g. returns) then {()} need to be removed to show all indexed java objects

11. 'do' clause requires body separator ---

12. 'format' schema property used to coerce

                a. when used for string, the format is associated with the output

                b. when used with a date, the format is associated with the input

13. To create custom datatype, use type header directive


type abc = '';




Another option is to use fully classified class name.

14. lookup function can be used to call the flow. lookup function cannot call subflow

Triggering flows

1. Connectors while working with the file is

                FILE, FTP, FTPS, SFTP

                Functionalities - file matching, locking the file, Overwriting, appending, generating new files

2. When the application deployed to ClouldHub, access is only to /tmp folder

3. Mule supports automatic and Manual watermarking

                For manual watermarking ObjectStore is used

4. Id column is used to make a sure the same record is not processed twice with concurrent processing

5. new poll can be executed before the watermark is updated if

                The poll interval is small

                The high volume of records to processed

                Processing of each record take longer time

6. JMS connector to publish and consume JMS messages

                Publish consume - Synchronous

                Publish - Asynchronous

7. The watermark column enable the On Table Row Operation to avoid duplicate processing of the records

8. File List the operation returns Array of Mule event objects

Processing records

1. For each scope is used to process records from the collection

                If an error occurs then for each scope processing stops and the event is returned to the error handler

2. batch scope is used to process records for the filter, aggregate

3. Phases of batch job

                Load and dispatch (implicit)

                Process (required) - Asynchronous

                On Complete (Optional)

4. Default configuration

                Blocks of 100

                Threads - 16

5. until a max number

                default 0 - stops process with first error

                -1 - batch continues without many errors

                +  - number of errors occurs these many numbers then process stops

6. Filters in batch step

                accept expression - the process records if evaluates true

                accept policy

No comments:

Post a Comment

Please do not enter any spam link in the comment box.

What is ROWID_OBJECT and ORIG_ROWID_OBJECT in Informatica MDM and what is significance?

 In Informatica Master Data Management (MDM), ROWID_OBJECT and ORIG_ROWID_OBJECT are critical identifiers within the MDM data model, parti...