TIBCO EAI (Enterprise Application Integration) Architectural Decision Making

By | September 27, 2014

TIBCO is widely used for integration of enterprise applications in different organizations where heterogeneous business systems are in use. An efficient, maintainable integration with flexibility of future changes and adaptation is a key requirement when it comes to complex systems integration in any organization.

In this post, I am going to discuss about different protocols and technologies available in TIBCO BW for Enterprise Applications Integration along with their pros and cons based on my past experiences.

Web Services Based Integration:

Integration of different systems by utilizing Service Orientation of Web Services has become quite common when It comes to enterprise applications. TIBCO BW provides quite handy and powerful resources for developing SOAP web services. TIBCO also provides a Plugin for development of RESTful web services.

Web Service Based Integration has many pros. Exposing web service operations allows a greater re-usability of the services and same web service allows endpoints for any number of upstream/downstream systems. Web service based integration also gives a greater power to the developer to ensure data correctness and a more stronger information security by utilizing security measures like digital certificates and password based authentication.

The only possible disadvantage of excessive use of web services in your TIBCO project is performance degradation. Web services responses may be slower in different scenarios due to multiple factors including server’s load and a large number of SOAP related issues. You should opt for web services only when you actually need it. For scenarios where a simple HTTP connection can serve the purpose; It makes no sense to implement a web service for that.

When using SOAP Web Services based integration; you how two choices: SOAP over HTTP web services or SOAP over JMS web services. Which option to use depends on various factors.

Benefits of Using SOAP JMS Web Services:

  • JMS based web services support asynchronous communication model.
  • JMS Web services are used for guaranteed delivery of messages by using EMS PERSISTENT delivery features.
  • JMS based web services are more scalable and efficient due to queuing capabilities of EMS Server.

Benefits of Using SOAP HTTP Web Services:

  • HTTP based SOAP web services are lightweight.
  • HTTP based web services support multiple platforms.

 

HTTP Based Enterprise Application Integration:

In many cases, communication between upstream or downstream system and TIBCO layer is through HTTP channel where payload is transferred through HTTP GET and POST options. HTTP based integration reduces the overheads and makes the integration simpler. The only thing to concern about is the Host URL (IP/Name as well as Port number) and the parameters to be sent.

There are some data validation and security problems also associated with this approach. All the data sent through HTTP channel must be properly validated, parsed and translated before using it for any further processing. SQL Injections and other security vulnerabilities also need to be addressed properly before using the parameters sent over HTTP channel.

SSL based encryption is also supported by TIBCO for communication done on HTTP protocol.

 

RV (Rendezvous) Based Enterprise Application Integration:

Rendezvous is another commonly used protocol for message communication in TIBCO. RV is rapidly being replaced by EMS/JMS based communication in current age implementations; Its still widely available in many old implementations. RV based communication has many pros also associated with it. Unlike JMS; RV based communication doesn’t have any single point of failure (as no centralized server is used) and we can achieve guaranteed delivery of messages by utilizing Certified RV capabilities.

Cons of RV include less control over messaging and lesser features for performance tuning. Use of ledger files for retry mechanism often results in performance degradation.

JMS Based Enterprise Application Integration:

As stated earlier; JMS based communication is rapidly taking control replacing RV based communication mechanism in the projects being developed using TIBCO BW. The reason behind popularity of JMS/EMS is its efficiency as well as performance tuning features. With a centralized EMS Server, a lot of tweaks and tuning measures can be taken on the server to improve the performance of the system. Destinations bridging, routing, messages persistence, Fault Tolernace, Load Balancing and many other features supported by EMS make it a primary choice for the TIBCO messaging.

 

Other than the above discussed EAI options; File Poller, Adapters and Custom Even sources are also supported by TIBCO BW which can also be used for application and system integration. Which option to use and with what preferences and configurations it will work efficiently; is a matter of concern and one should analyze and compare all the options thoroughly when designing the system.

 

Ajmal Abbasi

Ajmal Hussain Abbasi is a TIBCO Consultant By Profession with more than 6 years experience in TIBCO products. He has extensive practical knowledge of TIBCO Business Works, TIBCO Spotfire, TIBCO BE, EMS and TIBCO ActiveSpaces. He has worked on a number of highly critical integration projects in Telecom sector by using his skills in Tibco Designer, Adapters, TIBCO EMS, RV, Administrator, TIBCO BE, TIBCO ActiveSpaces etc. Ajmal Abbasi is also experienced in developing solutions using Oracle PL/Sql, Linux and Java. You can contact Ajmal Abbasi for Consultancy, Technical Assistance and Technical Discussions.

More Posts - Website - Facebook - LinkedIn

One thought on “TIBCO EAI (Enterprise Application Integration) Architectural Decision Making

  1. rahul

    Hi sir,

    Please write a post on ESB vs SOA vs EAI.
    This would be highly useful for understanding the integration of distributed applications in different software architectures.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *