When to use a Common layer of IS?

Hello WM Friends,

I have a dilemma in finalizing my design for the project I work presently.

Background of webMethods Environment:
We have 2 clients systems (business types : 1. Consumer and 2. Large Business) and both of them is hosted in webMethods IS and they reside in their own IS servers. And we have a Common IS where all the shared services reside. Both Consumer and Large Business uses services from Common thru pub-sub using a Broker in the middle.

Project background:
I have a web service provider called CDAS. This is hosted in a non webMethods environment and it is internal to our Organization.
Now both Consumer and Large Business wants to consume few services from CDAS. My confusion about the design is whether to

  1. Create Web Service Connectors separately in Consumer IS and Large Business IS and use them, or

  2. Create Web Service Connectors in Common IS. Create IS Docs, flows, etc and do a pub-sub from Consumer IS and Large Business IS.

My thought is to go with option 1 because of following reasons.

  1. I am just creating web service connectors, I dont have any mapping and transformation logic that is common and can be reused by both Consumer and Large Business.

  2. I want to avoid 2 more layers, pub-sub to Broker and Common IS. This will give me better performance.

  3. No additional time required to develop pub-sub logic in Consumer and Large Business.

  4. When CDAS changes it services then all we need to do is modify the affected services in both Consumer and Large Business. We dont have the extra burden of modifying the assets in Common IS.

Off-course we are duplicating the Web Service Connectors in 2 IS systems by adopting option 1. But I see more pros than cons. Does anyone can throw some light to me whether I chose the best option or not? It is a critical decision in my project and all helps are appreciated.


I don’t think either way is wrong. Your web service provider should be the abstracted interface so your thought of having each consumer go after that instead of through a common IS is fine. However if the interface is poorly developed or abstracted then going through the common IS might be better, it really just depends. As far as overhead the extra broker stuff should not amount to more than a handful of milliseconds.

I would use the web service as the guide. In other words if they just slapped some annotations on an existing service, not sure I would go directly at it. However if it is pretty well defined then the extra stuff is probably not necessary and may not really buy you anything.

Thank you very much for your quick response Mark.