JMS is neither about communication nor about protocol, but merely a
portable API for legacy MOM integration. This is just like JDBC is
neither about database file structure/organization nor about database
client/server protocol but merely a portable API for database access.
Like JDBC doesn't specify client/server protocol or backend file
structure/organization, JMS doesn't specifies MOM protocol either. JMS
implementations available today are all proprietary. Unlike CORBA or
SOAP where applicatons can communicate using components from different
vendors, JMS messages can only be exchanged between JMS clients from
the same MOM vendor.
Therefore, JMS is usually used in close systems, such as a workflow
engine of a PetStore transaction process system, where one has full
control and knowledge on all involved components. S/he can decide and
freely replace all JMS clients and the MOM within this close system.
It at least gives s/he the flexablility of code portability acrossing
different MOMs.
In building open systems, especialy in building applications which
need to interoperate with third party components, CORBA and SOAP are
better than JMS. For instance, if you implement a management agent on
a network element (NE), such as a router or switch, which needs to
communicate (via either operations or traps/events) with a third party
element management system (ems), JMS would be the last choice. Because
neither NE vendors nor the EMS vendors has full control and knowledge
on what are the possible JMS components and MOMs might eventually be
used in customers' network systems. Different customers may perfer
different MOMs and therefore would require different JMS clients on
every NEs and the EMS. But NE vendors can not pre-install all possible
JMS components on a NE box. This is why many NEs today are already
CORBA and SOAP capable (like most Cisco routers/switchs) but still
none is JMS'ized.
Regards,
Ke
om*******@rediffmail.com (csafd) wrote in message news:<72**************************@posting.google. com>...
hi everyone,
can anyone help me here,
I want to know which communication technology
is good for my system(which of course is being implemented
as a distributed system).
The technologies which I need to compare are:
1. Java Message Service (JMS)
2. CORBA (using Java)
3. SOAP (using Java)
Though I got a lot of material comparing SOAP and CORBA and many
more
but I have found not even a single document or test on internet
which compares JMS and CORBA or JMS & SOAP or all the three above.
can anyone help me by providing some analysis about when one should
use
JMS and when not. what are the problems with JMS. I have to handle a
lot of XML data and also control and synchronization protocols have to
be written in Java using JMS which may not be XML necessarily. when
one should not use JMS etc..
Thanks in advance-
Omkant