Choices of OpenCARE

I am trying to develop something to interact with Apache ActiveMQ as a part of OpenCARE project. At first, I tried Java but it seems to be so difficult for me which mostly works on C/C++, Python, and PHP. Fortunately, ActiveMQ supports various protocol such as OpenWire, Stomp and XMPP. Stomp supports many scripting languages, e.g., Ruby, Perl, Python and PHP. I prefer Python but it seems both STOMPy and stomp.py are not complete. In addition, they are a bit outdate. So XMPP seems to be the most interesting protocol for now.

If I am correctly understand the technical perspective of OpenCARE, OpenCARE architecture is a kind of plugin-driven approach which is highly extensible. Anyway, it is not necessary to write lots of plugins. In particular, plugins are classified into 2 categories.

  1. Addon protocols - SOAP, XML-RPC and etc.
  2. Data converters - Any to EDXL and EDXL to Any

Since ActiveMQ supports most of well-known protocols which are available for most popular programming languages, addon protocols such as SOAP and XML-RPC might be not necessary at this moment (we have OpenWire, Stomp, and XMPP). So the main works are to develop data converters for existing applications running on each organization.

As I mentioned above, Java is not my field and Python's Stomp is not as complete as it should. So I headed to XMPP. XMPP is the main protocol for Jabber IM as well as . That means it is very easy to understand than ActiveMQ itself. In summary, the main objective of OpenCARE is to deliver messages (EDXL) to subscribers (anyone who are interesting in some message types). It is easy to assume a subscribable topic as a conference room in Jabber. Anyone who want to get all messages in this topic should join (subscribe) this room. That's why OpenCARE should use XMPP as the main protocol, simply the best. Furthermore, XMPP library is available for wide ranges programming languages than Stomp.

Sadly, it seems XMPP is only available in ActiveMQ 4.1 and later. The latest stable version is ActiveMQ 4.0.1. I have never expected to see ActiveMQ 4.1 in WASCE. Is this case a so-called trade-off?

Tags: , ,

XMPP in WASCE

I haven't played around with this, but one should be able to add "Jabber listeners" under the Administrator > JMS Server tab > Add new Jabber listener. Then an application that listens on that port may fetch EDXL-DE to do other magical services as one wishes. WASCE was chosen as a prototype because it's not a plain Geronimo; the vendor had some enhancements (forgot where the list was). Besides, the current prototype is running WASCE 1.0.2 (Sun JDK 1.4) while the recently released version is WASCE 1.1 (IBM JDK 1.5) tho it might be a bit too soon to upgrade now. OpenCARE design separates network protocols (it takes any) from data object (EDXL-DE). Choose the protocol or programming language one feels comfortable with. Khob Khun Krab (KKK). Conductor

Post new comment