Wednesday, April 26, 2006

Reliable Integration

I'm working on a "side project" to create a Web Services adapter. The basic guiding principals of this adapter are following my previous post on "Real Time Integration". The ultimate goal is to produce an easy to use but extremely reliable adapter that can be distributed and connected to existing systems. This is an exercise where I'm using Open Source products to construct. I'm then going to compare the outcome (time/effort, quality, ease of use, supportability) with some packages platforms that do the same thing.

The adapter is designed to interface with third party applications who are still using proprietary API's. Here is a high level and still in-flight design of the adapter:



Here are some more details of where I'm at.

Products Used: ActiveMQ 3.2.2, Apache 5.5, Axis 2 (rel .94)

I've got just basic functionality working right now. That is a doc/literal wrapped web service publishing directly to a JMS queue. It is very raw and has none of the "reliability" stuff I've been talking about built in yet. That's Phase 2 which is next.

Since this is a "side project" which means on my own time, it will be some time before it is complete. I'll try and post more details as I go along. Things like the WSDL design, interop issues, schemas, any issues/gotchas with the open source products etc.

3 comments:

fuzzy said...

Pretty picture. I'd argue that FTP, HTTP, etc. are the Adapters - they are the "unreliable" part ... so you adapt them to the reliable JMS.

See http://fuzzypanic.blogspot.com/2006/04/message-centric-vs-service-centric.html

markg said...

Hi Mike,
You are correct about FTP and HTTP. JMS is being used for persistent for that very reason. Unfortunately legacy and third party applications don't always have a reliable interface into them such as JMS. This design however takes that into account. In addition, proper adapter design can take into account the unreliable nature of ftp and http.

Of course adapter is probably a bad term for what I'm toying with here, more like a reference implementation or a personal play project. :)

markg said...

A link to Mike's blog which has some pretty good stuff by the way. fuzzypanic