Wednesday, May 29, 2019

TIBCO EMS :

TIBCO EMS : 

TIBCO Enterprise Message Service™, our standards-based Java™ Message Service (JMS) broker allows any application that supports JMS, whether home grown or third-party, to quickly and easily exchange messages. Fully certified with both the JMS 1.1 and 2.0 specifications ensures compatibility with other applications—as well as a loosely coupled design for less overhead, time, and cost. As part of TIBCO® Messaging, it supports seamless integration for heterogeneous platforms, reduces system bottlenecks, increases scalability, and helps you respond faster to change.

TIBCO EMS will be  Interoperability enabled by standards

Capabilities :

1)  Flexible Qualities of Service
2)  Secure Communication
3)  Secure Communication
4)  Interoperability Across all TIBCO Messaging

TIBCO EMS communicates  through Queue and Topics .
 Persistent : When a manufacturer sends a PERSISTENT message, the producer must wait for the server to reply with a confirmation.
 Non-persistent  : Sending a NON_PERSISTENT message omits the overhead of persisting the message on disk to get better performance.
 Reliable : EMS extends the JMS delivery modes to include reliable delivery. Sending a RELIABLE_DELIVERY message omits the server confirmation to improve        performance regardless of the authorization setting.

TIBCO EMS Acknowledgement Modes

TIBCO EMS Acknowledgement Modes 
    Auto  : When sender sends an message, the message will be acknowledged                          immediately when it is received by the receiver.
     Client  : when the sender sends, the receiver will acknowledge after the receipt of                                message. In process implementation, the message will be acknowledged when                      the confirm activity executes. 
    TIBCO EMS Explicit : It receives all the messages in one session and acknowledges the                                         message after the execution of confirm activity in the process                                                 implementation. If even a single message is not acknowledged,                                               then all the messages will be redelivered.
      TIBCO EMS No   : TIBCO EMS No will never send an acknowledgement for a message                                       received by JMS receiver and will reduce the traffic.
     Dups Ok  :When the receiver has a lot of operations and performance issues, the                               acknowledgement will be sent for all the messages during a convenient timing.           TIBCO EMS Explicit Dups Ok : Unlike Dups Ok ack mode, it acknowledges for the                                                                   individual message at a time.
     Transactional   : Transactional ack mode will be used when a transaction can process                                      JMS messages. It will send acknowledgement when the transaction                                        commits.
     Local Transactional : This ack mode will consider JMS produced messages and                                                       consumed messages as a transaction. It will send a                                                                 acknowledgement based on receipt of messages.
TIBCO EMS : 

TIBCO Enterprise Message Service™, our standards-based Java™ Message Service (JMS) broker allows any application that supports JMS, whether home grown or third-party, to quickly and easily exchange messages. Fully certified with both the JMS 1.1 and 2.0 specifications ensures compatibility with other applications—as well as a loosely coupled design for less overhead, time, and cost. As part of TIBCO® Messaging, it supports seamless integration for heterogeneous platforms, reduces system bottlenecks, increases scalability, and helps you respond faster to change.

TIBCO EMS will be  Interoperability enabled by standards


Capabilities :

1)  Flexible Qualities of Service
2)  Secure Communication
3)  Secure Communication
4)  Interoperability Across all TIBCO Messaging

TIBCO EMS communicates  through Queue and Topics .

EMS Delivery modes :
      Persistent : When a manufacturer sends a PERSISTENT message, the producer must wait for the server to reply with a confirmation
  Non-persistent : Sending a NON_PERSISTENT message omits the overhead of persisting the message on disk to get better performance.
     Reliable :EMS extends the JMS delivery modes to include reliable delivery. Sending a RELIABLE_DELIVERY message omits the server confirmation to improve performance regardless of the authorization setting.


  


Monday, May 27, 2019

TIBCO Integration Introduction

Approaches

TIBCO integrates the applications from below approaches :

1) Point to Point Integration 
2) Hub and Spoke integration 
3) Enterprise service bus

Point to Point Integration features
  • Systems communicate directly with each other.
  • Basic, Traditional, Easy and Quick.
  • Tight coupling.
Hub and Spoke integration
  • Direction communication is not needed.
  • It will be scalable to some extent.
Disadvantage-
        If Hub is down, it will affect all systems communication.

Enterprise service bus : 
  • Light weight, easy to expand.
  • SOA friendly.
  • Incremental adoption.

Wednesday, April 24, 2019

Sorting in Mule 4

Sorting the data can be done using dataweave in Mule 4 with orderBy function.

orderBy: Reorders the content of an object using a value returned by a function as the criteria.

Sorting Numbers: In Mule 4 using dataweave.

Ascending order: To sort the numbers in ascending order, use 'orderBy $'.
Example: numberAsc: ([3,8,1,6] orderBy $)

Descending order: To sort the numbers in descending order, use 'orderBy -$'.
Example: numberDesc: ([3,8,1,6] orderBy -$)

Sorting Letters: In Mule 4  using dataweave.

Ascending order: To sort the letters in ascending order, use 'orderBy $' just like in case of sorting the numbers.
Example: letterAsc: (["s","e","p","z","a"] orderBy $)

Descending order: To sort the letters in descending order, there is an extra logic to be used. Arrange the letters in ascending order using 'orderBy $' and on top of that, use '[-1 to 0]', which inverts the ascending order thereby giving the descending order of letters.
Example: letterDesc: (["s","e","p","z","a"] orderBy $)[-1 to 0]

Complete code snippet:
Input Dataweave logic:


Output:

Please feel free to comment your queries/opinions.

Friday, April 5, 2019

Issues in Mule 4

Munit Debug Error


  • Currently the recommended version of runtime in Mule 4 is 4.1.5.
When we create Munit for our Mule 4 applications and try to run the test cases in debug mode,  we have an issue at times.

 

One of the solution for this is :
1. Copy the files from "C:\Users\{username}\.m2\repository\com\mulesoft\mule\agent\mule-debugger\4.1.4"
2. Paste them to "C:\Users\{username}\.m2\repository\com\mulesoft\mule\agent\mule-debugger\4.1.5" and rename file from 4.1.4 to 4.1.5


This should solve your problem.

Mule 4

Introduction

  • Mule 4 comes with the Anypoint Studio version 7, in simple Studio 7.
  • In Mule 4, we have Dataweave Language which replaced Mule Expression Language(MEL).
  • Try scope is added for the error handling which helps in handling easily.
  • Dataweave has been changed to 2.0.
  • Minor changes to Munit, which is easy to use now.
  • In mule 4, the code by default is a mavenised code. There is no need of manually mavenising as in case of Mule 3.
  • With Mule 4, it is now easy to build/develop the applications.

Will be adding more in detail with common issues faced in Mule 4.

Wednesday, August 8, 2018

Anypoint Studio

What:
Anypoint Studio is MuleSoft provided Eclipse-based IDE (integration development environment) to design and test Mule applications. You build applications based on the requirement and test them. You can deploy the applications and run it on your Mule server(which is an integrated server).

Anypoint Studio provides you with two parallel tabs to design and craft your applications:

  • Visual Editor
  • XML Editor


Visual editor is further divided into several parts:
  • Package Explorer
  • Canvas Area
  • Palette
  • Connection Explorer
  • Console Area
  • Properties Editor
  • DataSense Explorer

 
  • The Package Explorer displays project folders and files in a tree format. Click to expand or contract Mule project folders and examine the files that are used in a Mule project.
  • The Canvas Area is the space for creating the flows using the building blocks(Mule Palette components) to build a Mule application.
At the bottom of the canvas, three tabs which offer different ways to interface with your application are present.
    1. Message Flow: Drag-and-drop interface in which you arrange building blocks to form an application
    2. Global Elements: Interface for creating or editing reusable configurations for Mule building blocks
    3. Configuration XML: XML editor interface displays the XML elements that correspond to the building blocks arranged on the Message flow canvas.
  • The Palette, contains a list of building blocks that you can drag and drop onto the canvas to build your application.
  • The Connection Explorer displays a list of any global connector configurations defined in your application for quick access to your configuration details.
  • The Console area contains the console for the embedded Mule server, which displays a list of events and problems (if any) that Studio reports as you create or run your Mule application. It also displays the logs that are generated from the application.
  • The Properties editor tab is labeled with the name of the building block that is currently selected on your canvas, or with "Mule Properties View" when no building block is selected.
  • The properties editor includes the DataSense Explorer, which supplies real-time information about the data structure of your payload and any available inbound and outbound properties or variables.



Mulesoft Provided IDE (Anypoint Studio) installation

In my last post, we have seen how to get started with Mule-ESB. Let us check the installation steps in this post.

Installation Process: 
To work with Mule-ESB you need to have an IDE to build the applications, follow the below steps to get one.
1.Download the AnypointStudio ZIP file from the offical site (https://www.mulesoft.com/platform/studio) and save it.
2.Extract the ZIP file and double click on the 'AnypointStudio.exe'.
3.Select the Workspace location and click on launch.
4.And there we are, Anypoint Studio launches and opens the 'HomePage' with the introduction.




Sunday, April 15, 2018

Common Issues in Mule-ESB

Java was started but returned exit code 13....

Issue: 

Sometimes, when we try to open the AnypointStudio application, we end-up getting a pop-up saying, 'Java was started but returned exit code 13'. 



Reason: 

The possible reason for this might be the issue with the Java application installed in the system. 

Solution: 

Check 
  1. if the JDK is installed properly.
  2. if the path of the JDK file is correct.

Monday, March 12, 2018

Middleware/Integration

Mulesoft provided integration platform - Mule ESB


WHAT: 

Mule, the runtime engine of Anypoint Platform, is a lightweight Java-based enterprise service bus (ESB) and integration platform that allows developers to connect applications together quickly and easily, enabling them to exchange data(middleware which integrates multiple systems). For example, we can integrate a Database system of organization A with the Salesforce system of the same organization or any other organization if required. 

It allows integration of existing systems, irrespective of the different technologies that the applications use, including JMS, Web Services, JDBC, HTTP, and more. The ESB can be deployed anywhere, can integrate and orchestrate events in real time or in batch. 

The advantage with ESB is, it allows different applications to communicate with each other by acting as a transit system for carrying data between applications.

Mule capabilities include:
Service creation and hosting - Expose and host reusable services, using the ESB as a lightweight service container.
Service mediation - Shield services from message formats and protocols, separate business logic from messaging, and enable location-independent service calls.
Message routing - Route, filter, aggregate, and re-sequence messages based on content and rules.
Data transformation - Exchange data across varying formats and transport protocols.

WHY:

There are several commercial ESB implementations in the market. But many of these are with limited functionality or are built on top of an existing application server or messaging server, locking us into that specific vendor. Whereas Mule is vendor-neutral, so different vendor implementations can plug in to it.

Mule is lightweight but highly scalable, allowing us to start small and connect more applications over time. The ESB manages all the interactions between applications and components transparently, regardless of whether they exist in the same virtual machine or over the Internet, and regardless of the underlying transport protocol used.

HOW:

To get started, we need to install the Anypoint Studio from the Mulesoft offical site (https://www.mulesoft.com/platform/studio).  

Sunday, March 11, 2018

Higreaves

Higreaves Solutions is a platform where you get information on various technologies. These include but are not limited to, middleware/integration, back-end and front-end technologies along with testing.

Front-End:

  • Java
  • HTML
  • .Net
  • Ajax
  • SpringBoot

Middleware/Integration:

  • Tibco
  • Mule ESB (Mulesoft)
  • Oracle ADF
  • Boomi

Back-End:

  • Oracle
  • MySQL
  • SQL Server
  • Salesforce

Testing:

  • Selenium
And other technologies like ODI, OBIEE, Oracle Fusion,SSIS/SSRS. If required, Higreaves conducts online trainings.

You can also get projects on different technologies.

For more details on training and projects, please mail us @ higreavessol@gmail.com

TIBCO EMS :

TIBCO EMS :  TIBCO Enterprise Message Service™, our standards-based Java™ Message Service (JMS) broker allows any application that suppor...