Enterprise applications have now become the lifelines of any organizations. Business processes of most of the organizations have been automated. These enterprise applications have helped companies serve their customers better and much faster. Messaging is an important aspect of any enterprise application. It is the robustness and speed of the underlying messaging system that, to a huge extent, influences one’s decision to opt for an enterprise application.
There is a huge gamut of messaging protocols available for different enterprise apps. Different systems support different messaging protocols. We have JMS for Java, Rendezvous for Tibco, IBM has WebSphere MQ and Microsoft has MSMQ besides others. We also have open standards in messaging like SOAP. Although we can discern these messaging systems on many parameters we will be differentiating them as open systems and proprietary solutions in this article.
Enterprise messaging has been in use since the initial enterprise-level systems. In those days things were not as organized as they are today. Each company that provided enterprise solutions had its own messaging system. But still, the purpose was solved and that is what everybody was concerned with. The need to interact with other systems was not faced until later. Along with time, as companies grew so did the need to have different applications installed in different departments and interaction between them started to become arduous let alone the need to communicate with different systems in different companies altogether. IBM had its own messaging protocol, so did TIBCO, Microsoft and a lot of other companies. To overcome this conundrum some initiatives were taken of which some were really successful. EDI is one such protocol that helped solve this problem to a big extent. It helped businesses define common message formats with their clients and other business partners.
Enterprise JAVA, one of the three flavors of JAVA, came with a messaging system called JMS (Java Messaging Service). JAVA is not controlled by just one company; instead a lot of companies have come together to form a group JCP (JAVA Community Process). It is this community that decides on latest features to be added to JAVA. Following this process is what makes JAVA an open system and JMS being a part of enterprise JAVA inherits this feature. A lot of enterprise applications and application servers support or run on JMS.
Another messaging protocol that has recently come up and captured the attention of the software community is SOAP. SOAP is based on XML, which itself is an open system. It is this openness and extensibility of SOAP that has made it a popular choice for messaging in enterprise applications.
Proprietary systems have been there since the beginning which is why through regular improvements over time they have become much more reliable and robust. Some years back open messaging systems were not given that much preference and companies tended to go with proprietary solutions for requirements where reliability and performance cannot be compromised. Over time things have changed; software development companies have adopted open messaging systems and developed their products around them. JMS, for example, has been adopted by a lot of companies and a lot many products have been floated in the market which cater to industries like banking and telecom that require reliable communication. SOAP has got a similar success story.
One upside that the proprietary systems have is the proven track record. As they have been in the picture since the earlier times they have much more credibility than the open systems, which came a lot later. Open systems now have caught up due to mass adoption by well-established companies. As a matter of fact going with open systems has its own advantages. One of the biggest pros of going with an open messaging system is that interactivity between different applications becomes much easier. Extending the application and integrating with client’s system requires less effort than it does with the proprietary systems. Also, one does not get locked down with just one company and bear the brunt of its aggressive licensing and support schemes. Another benefit of the open systems is that its professionals are much easily available; usually this is not the case with proprietary systems.
Open systems are a much better choice for enterprise messaging provided they are backed by robust applications. They serve business expansions much better than their counterparts. Generally, proprietary systems have been used in mission critical systems and real time applications, and they do have their upsides. It is an organization’s own discretion to either adopt open systems or the proprietary ones and they need to make the choice wisely taking future prospects into consideration along with current technical and business aspects of an enterprise application.