External Application - Middleware Communication

Hi

Often I have a question about the way an application can communicate or notify Middleware.
Some of the ways mentioned below:

  1. External application calls a Middleware service via SOAP (web service call)
  2. External application calls a Middleware service via http and notifies
  3. Middleware polls on External application database for a particular event
  4. JMS layer between an application and Middleware
  5. Poll on some common location which notifies Middleware

Basically all of the above methods buble down to 2 approaches:

  1. Push Mechanism
  2. Pull Mechanism

Which one would be the best to choose if we have the options.

regards,
Sumit

Hi,

I think that the communication ways you mentioned address different integration context mostly linked to your overall integration strategy adopted by your company.

Typically :

  • Web Service exposure with SOAP protocol or xml over Http may allow you in the future to give access to other channels (Internet applications, partners, specific devices …) The web services may also be the implementation of a defined reusable API in you company (foundation of your SOA strategy as far as you plan to have one !). Choosing this option depend also on what your client or target application is able to support ?

  • Using polling notification, JMS and FTP polling are foundation for an event driven architecture (EDA) and depend on Technologies supported by each of your legacies.

From my point of view, all this can be summarize as follow : “There is no “one fits all” option between these approaches, you have to deeply analyse your existing applications and clearly define what are your key drivers of your integration.”

Regards,
Djibril.

Hi Djibril,

Thanks for a quick response.
Ya you are correct that we do use different types of notifications.
The most widely used is the polling notifications.
The external application maintains a table which puts an event and middleware process is triggered.

One argument always arises whether Middleware should maintain this table or an
external system.

Did you come around such situation?

Regards,
Sumit