DronaBlog

Thursday, January 21, 2021

Informatica MDM Installation Checklist


 Are you looking for an article about how to prepare a checklist for Informatica MDM Installation? You might have gone through the Informatica MDM Installation guide and must be facing issues from where to start. The best way to start is nothing preparing checklist. In this article, we will see what are the main topics to consider for check and we will also see a sample checklist file.





Introduction

After going through more than 100 pages in the Installation guide, I realized that we need to prepare a checklist for each component of Informatica MDM. Informatica MDM comes with Hub Server, Process Server, Informatica Data Director Configuration Manager, Provisioning Tool, Business Process Management i.e. Active VOS, Elastic Search, Application Server (such as Jboss, WebSphere, Weblogic), Database (such as SQL Server, DB2, Oracle). Each of these components has a separate set of instructions. Sometimes we get lost or overwhelmed with all these instructions. So take a long breath and start documenting the main section as like mentioned in our next section

Components to consider for installation

The number of components that are needed for installation is based on the business needs. However, there few components are commonly required irrespective of business need e.g. Process Server, Hub Server. So first document all possible components which you are planning to install. Here is a sample list of components. 


Informatica MDM Installation checklist

The checklist contains details about each of the components which are captured in the previous section. e.g. Create the MDM Hub Master Database section will have details about database name, server name, port, and credentials. You can access the complete checklist here.


For reference, the checklist will look like as below





If you are looking for more details about Informatica MDM then here is a video for Informatica MDM.







Tuesday, January 19, 2021

Join Conditions in Snowflake

 Are you looking for an article about the type of Join conditions in Snowflake? Are you also would like to understand these different types of join conditions in detail? If so, then you reached the right place. In this article, we will understand various join conditions used in Snowflake.





Introduction:

As like DBMS, Snowflake supports various types of join conditions. Join condition allow us to combine data from two or more tables. In Snowflake, there is no association between the tables using the primary key and foreign keys but we can still use the join condition.


Type of Join in Snowflake:

  • Inner Join
  • Outer Join
    • Left Outer Join
    • Right Outer Join
    • Full Outer Join
Let's understand each Type of Join with help of the Venn diagram

Understanding Syntax for Join Condition

Using the join condition in the SELECT statement is command practice. After writing the SELECT statement in the FROM clause we need to provide a table name then followed by the JOIN keyword. We also need to provide details on which column we need to perform join by using an ON clause. Here is the syntax for the join condition in Snowflake.




A. Inner Join

The Inner join in Snowflake is used to return rows from both tables which satisfy the condition. 

Example:
SELECT CUST.CUST_NBR
, CUST.FIRST_NAME
, CUST.LAST_NAME
, ADDR.AD_LINE_1
, ADDR.COUNTRY
FROM CUSTOMER CUST
INNER JOIN ADDRESS ADDR
ON CUST.CUST_NBR = ADDR.CUST_NBR.

The above query returns the elements which common between the CUSTOMER and ADDRESS tables.


B. Outer Join

If two tables do not contain all the records then we use an OUTER JOIN. Each table contains records even if the other table does not contain any corresponding record. The outer Join is subcategorized as 
  1. Left Outer Join
  2. Right Outer Join
  3. Full Outer Join
Let's understand these Outer join one by one.

1. Left Outer Join

The LEFT JOIN in Snowflake returns all the rows from the table on the left side of the equation even if there are no matching rows in the table on the right side of the equation.



Syntax

SELECT CUST.CUST_NBR
, CUST.FIRST_NAME
, CUST.LAST_NAME
, ADDR.AD_LINE_1
, ADDR.COUNTRY
FROM CUSTOMER CUST
LEFT OUTER JOIN ADDRESS ADDR
ON CUST.CUST_NBR = ADDR.CUST_NBR.





2. Right Outer Join


The RIGHT JOIN in Snowflake returns all the rows from the table on the right side of the equation even if there are no matching rows in the table on the left side of the equation
.
Syntax
SELECT CUST.CUST_NBR
, CUST.FIRST_NAME
, CUST.LAST_NAME
, ADDR.AD_LINE_1
, ADDR.COUNTRY
FROM CUSTOMER CUST
RIGHT OUTER JOIN ADDRESS ADDR
ON CUST.CUST_NBR = ADDR.CUST_NBR.

3. Full Outer Join

The FULL OUTER JOIN in Snowflake returns all the rows from both tables irrespective of condition match.
Syntax
SELECT CUST.CUST_NBR
, CUST.FIRST_NAME
, CUST.LAST_NAME
, ADDR.AD_LINE_1
, ADDR.COUNTRY
FROM CUSTOMER CUST
FULL OUTER JOIN ADDRESS ADDR
ON CUST.CUST_NBR = ADDR.CUST_NBR.


















Learn more about Snowflake here

Saturday, December 26, 2020

How to create Orchestration Project in Informatica Active VOS Designer?

 Are you looking for the details about how to create Orchestration Project in Informatica Active VOS Designer? If so, then you reached the right place. In this article, we will see how to create our first Orchestration project. We will also discuss various types of Orchestration project we can create using Designer.





Step 1: Go to Active VOS Designer tool and then select File > New > Orchestration Project, and click Next.

 



 

Step 2: A new dialog box will open. Provide a name to the project and then click on ‘Next’ button.



 

Step 3: New Orchestration Project template will be shown on the screen and it includes

Default Orchestration, Java Enabled Orchestration, Tutorial, Tutorial Completed, Human Approval, Human Approval Completed, On Event Adjust Threshold, User Reports and Custom Function and XQuery

Select Default Orchestration and Click on ‘Finish’ Button



 





Step 4: The project will be displayed in the Project Explorer view in the Designer tool



 

Step 5: Expand the project by clicking an arrow on the left side of the Project Name. We will see multiple folders under the project and those are Service References, BPEL, deploy, form, sample-data, schema, test, WSDL, XQuery, XSL. All these folders will be empty. Each of these folders has a specific purpose. Project-specific files are stored in each of these relevant folders.








Learn more about Active VOS here -





 

 

Sunday, December 20, 2020

What is BPEL in Informatica Active VOS?

 

Are you interested in knowing what BPEL process in Informatica Active VOS is? Are you also would like to know what is structure and version of BPEL currently available in the market? If so, then you reached the right place. In this article, we will understand more about the BPEL process.






What is BPEL?

BPEL stands for Business Process Execution Language. Based on Web Service protocols we can define XML notations for Business Process Execution Language for Web Services (i.e. BPEL).

·         BPEL the specification is used as the standard in Web Services architecture

·         BPEL provides details about process-specific language constructs

·         BPEL is also used to define how multiple web services can be composed into coherent information system.

 

What is BPEL Version?

The current version BPEL is 2.0. The standard of BPEL language is based on the following specification

1)    Web Services Description Language Version 1.1.

2)    XPath

3)    XML Schema

 

What is BPEL Process?

Now we understand what is BPEL, let’s understand what BPEL Process is. A BPEL process is a collection of multiple Web Services. Each of the Web Service in this collection performs specific processing. These web services can be granular or complex.

 

Understanding BPEL Process with Example

In the figure below, the Customer places an order online using a Laptop or a similar device. This internally calls a web service. The web service receives and requests and acknowledgments that are communicated back to the Customer. At the same time Place Order process gets started. As soon the Place Order request is executed the communication will be sent to the Customer about the placement of an order in the form of an order number or receipt. The Place Order process internally will call another web service which will connect to the external supplier or provider of the item to the Customer. Finally, the order will be fulfilled with help of these systems communicating with each other. The execution of the customer buying experience can be filled with a proper mechanism using BPEL Process.

 



 





What are the important components of BPEL language?

The listed below are the components of BPEL language

·         Partner Links: Used to define roles of process participants

·         Variables: Variables used within the process

·         Correlation Sets

·         Faulted Handler: In order to handle exceptions

·         Event Handler: Used for handling messages and timeout events

·         Activities: Actual processing steps

 

Sample code for BPEL Language

Here is sample code for BPEL

<process>

<!-- Definition of roles of process participants -->

<partnerLinks> ... </partnerLinks>

<!-- Data and state variables used within the process -->

<variables> ... </variables>

<!-- Correlation comment -->

<correlationSets> ... </correlationSets>

<!-- Exception management -->

<faultHandlers> ... </faultHandlers>

<!-- Message and timeout event handler -->

<eventHandlers> ... </eventHandlers>

<!-- Processing steps -->

Actual processing steps

</process>

 

 

 

 









 


Saturday, December 12, 2020

How to prepare for Informatica MDM Developer Certification?

 If you planning to get Informatica MDM Developer certified and wanted to know how to prepare for Informatica MDM Developer Certification. If so, then you reached the right place. In this article, we will discuss all the topics on which Informatica Master Data Management certification is based on. We will also discuss the Informatica MDM Certification cost. With that, I would like to congratulate very first steps towards your MDM Developer certification and good luck with your exam.






Introduction

In this article, we will discuss all the topics on which questions will be asked in the certification examination. We will provide the necessary video tutorial and other material. With help of this material and proper training, you will be ready for your certification. You do not have to look for Informatica MDM certification dumps and avoid online frauds. You can find Informatica MMD training online either on Udemy or other platforms. You can also take training from Informatica but these are a little expensive. The Informatica Certification exam includes questions that are multiple-choice, multiple responses, or true/false formats. The exam has 70 questions with a passing score of 70 percent. The duration of the exam is 90 minutes. The exam access will expire 90 days after purchase, with no refund.


Informatica MDM Certification cost

Informatica MDM Certification costs $340 USD, it includes a second free attempt. After that, if you would like to attempt again then the original cost will apply. This cost varies from time to time, so this cannot be a guaranteed price.

Informatica MDM Developer Certification

In this section, we will discuss the Informatica MDM syllabus. I would strongly recommend going through these topics before taking any Informatica MDM training online or attending any Informatica certification program. If you already working on the MDM project and have good experience in Informatica MDM real-time projects then it will be easy to get certified. 





A. Introduction to MDM Multidomain Edition

E. Overview of Match and Merge Processes

F. Fuzzy matching

G. Configure of queries and packages

H. User Objects

I. Introduction to Entity 360

J. MDM Entity 360 Architecture





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. 






Item

Notes

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

e.g.

type abc = '';

---

payload

 

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






How to prepare for MuleSoft Certified Developer Certification - Part III

 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 third 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 II. You can visit the next part of the notes here -  How to prepare for MuleSoft Certified Developer Certification - Part IV






Item

Notes

Consuming web services

1. Modules are extension to the Mule runtime than we can use when building Mule Application

e.g. HTTP, Database, Slack etc.

2. Connectors are modules that connect to an external server

e.g. HTTP, Database, Salesforce

3. Connector support level

Tier 1 : Mulesoft will isolate the problem and diagnose it

Tier 2: Mulesoft will find a workaround

Tier 3: Mulesoft will fix code

4. Connector Types

Premium -> Tier 1-3, Fully tested, Updated APIs, Additional Cost

Select -> Tier 1-3, Fully tested, Updated APIs

Mulesoft Certified -> Tier 1 (Developer - T2/T3)

Community -> Tier 1

5. If the connector is not available for RESTful web services then we can use HTTP connector and its Request operation

6. If the connector is not available in exchange for SOAP Web service the use Web Service Consumer connector. The response returned will be SOAP

7. WSDL file type is required to configure a Web Service Consumer to consume SOAP Web service.

8. Query parameters in the HTTP request operation can be sent in order to pass it to outbound REST request dynamically.

9. Design API in design center and publish it to Exchange to create a connector using REST connect

Controlling event flow

1. In order to route event synchronously we can use flow reference

2. In order to route event asynchronously we can use VM queue

3. Choice router can be used to route event based on conditional logic

4. First successful - routes sequentially until one successfully executed

5. Round Robin - one route executed, which one is selected by iterating through a list of maintained across execution

6. Scatter-gather - all routs executed concurrently (asynchronously). Results are combined into an object

7. If we use Scatter-gather flow control then all the object combined in the result need to be flattened using Transform Message component as

flatten(payload..payload)

8. If validation the component is used and validation fails the rest of the flow components will not be executed and response is sent back to the client

9. Scatter-gather returns Mule event object or Mule event object within another object

10. Choice router finds the FIRST true condition and then distribute the event to ONE matched route

Handling errors

1. Error can be handled at

                a. Application level

                b. Flow level

                c. Processor level (by adding TRY scope)

Note:

   a. Subflow do not have error handling section

   b. Mule Default handler is on error propagate

2. Messaging error occurs when an event is being processed and an error gets thrown.

                The normal flow execution stops

                The event is passed to first the processor in an error handler

3. Default error the handler will be used if

                No error is defined

                No valid error handler to handle an error

4. If an error occurs then error.description (String) and error.errorType (Object) gets generated

5. Error types are identified by namespace and an identifier

HTTP(namespace):UNAUTHORIZED(identifier), HTTP:CONNECTIVITY

6. error type ANY is most general Parent

7. All error is either general or critical (FATAL, OVERLOAD)

8. Error handler scopes

                a. On Error Continue (HTTP listener returns SUCCESS)

                b. On Error Propagate (HTTP listener returns an error)

9. Application level error handlers get executed when there is no flow or processor level error handler available

10. If multiple error scopes are defined for the error handler then the first error scope whose condition evaluates to true is executed. If the error no matched the mule default error the handler will be executed and not application default

11. There are two ways to specify error conditions

                a. Set type to ANY (Default) or one or more at Error Scope

                b. adding Boolean dataweave expression at when conditions

12. If flow level error handlers present, the application-level error handler will be ignored

13. Error at processor level can be handled by adding TRY scope.

                a. On Error propagate

                                If transaction is being handled then it is rolled back.

                b. On Error continue

                                If transaction is being handled then it is committed

14. APIkit Error

                BAD_REQUEST, NOT_FOUND, METHOD_NOT_ALLOWEED, NOT_ACCEPTABLE, UNSUPPORTED_MEDIA_TYPE, NOT_IMPLEMENTED






Understanding Survivorship in Informatica IDMC - Customer 360 SaaS

  In Informatica IDMC - Customer 360 SaaS, survivorship is a critical concept that determines which data from multiple sources should be ret...