WebMethods and Tibco are the two most popular Enterprise Application Integration tools in the market today. Lets look at some technical details to bring out the differences between them.
If you understand EAI, you’ll probably understand Hub and Spoke Architecture and Bus architecture.
1. Hub and Spoke Vs Bus Architecture
WebMethods is Hub and Spoke Architecture and Tibco is Bus architecture.
Hub and spoke is some thing where you have a centralized server, and all the data lines extending from it like spokes whereas
Bus architecture is like a data bus connecting and serving data to all the applications connected to it. One has to imagine many practical scenarios before one can perfectly avoid confusion between the two.
2. Broker Vs EMS
WebMethod has a product called Broker Server. This is their way of implementing JMS ‘kind of stuff’. I say ‘kind of’ because it can be used easily only with webMethods Integration server. Other data can be exchanged only through some extra wrappers/adapters.
On the other hand Tibco came out with a complete 100% JMS implementation which they say is written in C(and they also claim that because its written in C, its faster – I have doubts). The product is called EMS. One can create queues and publish and subscribe to it.
3. Document Vs XML
WebMethods internally stores each structure as a document. The broker can understand only documents. This means that if you have an XML , you’d first need to create a document out of it and then will be able to use it on their brokers(off course they provide API for conversion)
Tibco is quite good at these. You can send and receive just any XML or data by defining a schema. Hats off on that..
4. Packages Vs EARs
In Webmethods, each module or project is represented as a package. Each package may have functions called flow services. These can be invoked by other packages residing on the same Integration server. A package can contain their own flow language code(which is in XML). This gets converted internally into Java code. A Java service will have pure Java code.
Tibco deployment is more like a Enterprize archive(EAR). You need to pack all your compiled code and then deploy to the server(called BusinessWorks Engine).
This can sometimes be problematic because we have to have our own version control system, whereas webmethods has it inbuilt.
5. Integration Server Vs BusinessWorks
Webmethods has a centralized server where all the code is deployed. This is called an Integration Server. An integration server will also contain their built in services.
Tibco on the other hand has the product called BusinessWorks. EAR files are deployed on the BW engines to work out the trick.
At the end, I feel both are nothing but tweaked tomcat servers!!!
6. Services Vs Pallets.
A service in WebMethod , be it built-in or user built is a small function of a package(think of it as a class). There is a set of complete startup utilities which WebMethods provides. These are called Built-in Servcies
Tibco has a concept of pallets. These pallets are also some small function. But the implemennntation is done in just one city!
7. Triggers Vs Queues
Whenever a data comes to the Broker from an Integration server or rather say, webmethods Broker receieves a Queue, then a Trigger is called. These triggers in WebMethods do nothing but call another service[built-in or custom built].
JMS implementation of TIBCO called EMS does a delivery of the message(JMS message -Remember it can be anything!) to all the clients who have subscribed to the Queue.
8. Developer Vs Designer
Developer is for Webmethods. Its a java (old fashioned look, revamped in new version) based IDE which connects to IntegrationServer and allows you to ‘drag-n-drop-programming’. It gives you options to watch variables, debug, step through etc.
Tibco Designer – This is also a Java based tool which allows you to create your processes. You have have predefined template (basically a folder structure) for a new project and build everything accordingly. It gives you options for testing/debugging with breakpoints etc.
9. Flow Language Vs Flow Charting
Webmethods uses a language called Flow Language. A flow language consists of simple programming constricts like looping, branching, breaking etc. A flow service is written in Flow Language and comprises of Flow Steps(instructions ). Everything is drag and drop with some basic property setting such as Input/Output and pipeline variables.
Tibco implements everything like a flow chart. There is a canvas where start and stop end points are given. We can drag and drop existing processes and connect them with flow lines. These flow lines carry data with them in its pipeline kind of implementation.
It has to be noted that Webmethod’s earlier version (say around 3-4) had a similar interface what Tibco has it today. Further to that, Webmethods 7 interfaces have changed a lot from webmethods 6.
10. Software AG Vs Tibco Software
Software AG acquired Webmethods and has a revenue around 200mn. Whereas Tibco has a revenue of 500mn. (Figures from wikipedia).
I personally believe that Tibco markets its product quite well. They also have a good grip on open source community by sponsoring DWR and TIBCO GI projects. Current trend goes towards Tibco because of their wide range of products and excellent marketing. But webmethods is not a bad software too! There are more resources available for webmethods (advantage website) than Tibco. I strongly believe one doesn’t need an official training to get started(offcourse yes! for advance stuff) but you’ll find more webmethods trainers than Tibco in the market.
Support wise, I feel both are same – somewhat useless. Support now a days is just the name! But both release patches etc etc.
Implementation – Depends on how complicated you want things to be! (So, equal points to both here as well)
Cost – Depends again on the deal your crack with those guys. They don’t release the prices on their sites, which means they see you first(check your spending capability) and name the price!!
Overall , both middle wares are quite a good competition to each other. There are no translators available between the two for migration. For your company to choose which one to implement: Consider the following factors:
1. Cost – The deal you crack with them?
2. Products needed?
3. XML based or can work with Documents ?
Factors which shouldn’t affect your choice.
1. Cool and convincing marketing
2. Myths like Tibco is next gen tool
3. Myths like WebMethods is age old and time tested
4. One performs better than other – Trust me , Ive worked with both and performance is programmer’s responsibility not framework’s!