Category Archives: tibco

webMethods Vs TIBCO

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!

TIBCO GI (General Interface) : A boon for Open Source RIA

Tibco GI is OPEN SOURCE.
Tibco GI is cool.
Tibco GI is fascinating.
I like TIBCO GI

Tibco GI (General Interface) is a small little tool for building RIA.
The most amazing part of TIBCO GI is that it provides a fine IDE. And the IDE itself is built on the same framework. You don’t need any installer to run the IDE except a standard browser. And yes, ANY browser. I have tested with IE and Firefox and it runs smooth!
I have used Flash, I have used Ajax, I have used Flex, I have used Laszlo.. I like them all but I like this GI a lot! I always say : Rich User Interface = Rich User Experience! And TIBCO GI is quite satisfactory in that.

I would like to mention some cool things you can do with TIBCO GI:

– Integrate it with all major J2EE Frameworks: Struts 1.1, 2.0, Spring etc etc….
Links for some tutorials:
http://ajaxian.com/archives/ajax-crud-with-struts-2-and-tibco-gi
http://www.adtmag.com/blogs/blog.aspx?a=19387

– Javascript based: Runs on browser, no other downloads required.

– One page application: Just like flex, Single Page Application.

– Drag and Drop IDE: Just like flex builder, Drag and Drop Components and do lots of stuff with them. What’s more, remember the old days with VB6, It provides an IDE just like VB!

– Javascript: Organize all your business logic in Javascript. Add javascript functions and just call them from component’s events. Yes, the components have events and they can call other javascript functions or directly write code into that.

– Java Like API: If you download and goto the help section, You’ll see all the API’s are well structured Java Classes. Very well documented.

– COOL TOOLS: I must say some really really cool tools: Everyone knows how difficult it is to debug javascript(Until firefox came out with an Error Console) . TIBCO GI provides a small window where you can paste your JavaScript code and it can run it for you! No need to write functions! I use this for checking some external JavaScripts too!

– Error console. Before you actually deploy your application, the IDE checks all the javascript errors for you and lists them out.

– Another cool tool: XML Mapping. TIBCO GI has thought for Web 3.0. When websites become webservices. Expose all your business logic on webservice and call them by a WSDL. You can drag and drop your components to say what’s gonna be your input and what’s gonna be your output. You really gotta try this!!!

– Integrates quite well with All other TiBCO Products like TIbco Businessworks, Iprocess etc.

– Charting: Add in components provide a bundled set of charting tools. You will really like it if you’re into charting. It can give tough competition to FLEX Charting!

– The TibCO framework size is just around 350 KB. Bye bye dial up users. Web 2.0 is not for you!

– Lastly, TIBCO is open souce. I love open source. I have been into open source for quite sometime and something like this is really a boon for RIA World.