In our project we have to integrate with SAP and Database.We are planning to use webMethods 6.01, tell us shall we use only IS without using Broker since i can use SAP adapter and JDBC adapter on IS.
We are new to webMethods, please suggest us and tell us wht are the advantages of using IS with Broker and IS without broker.
Hi D Woo. You don’t have to use the broker. It all depends on your requirements. Does the integration between SAP and the database have to happen in real-time (event driven) ? Is there a potential for multiple integration points ? If you use a broker your source and target adapters would be decoupled. Any interested clients (eg. adapters) can subscribe to the message type. For example, your source adapter (eg. instance of the SAP adapter) retrieves the data, transforms it into a canonical (generic) message (document) format and publishes it to the broker. The broker knows what clients are subscribing to your message and will route it to the clients queue. The subscribing client(s) (eg. instance of the JDBC adapter) will retrieve the message from the queue, transform it from the canonical format to the application native format (usually) and update the your target (eg. database table). If another client needs the same data (eg. Siebel CRM) you would create a Siebel adapter and subscribe to the same message published by your SAP adapter.
This is just a rough overview of a pub/sub integration. If you provide more details on your requirements (eg. batch, real-time, one way syncronization, etc…) we will try and help.
Note: it is possible to do publish and subscribe in webMethods 6 without a broker. The documents will be stored/consumed from a document store on the Integration Server. This is known as “local multi-point integration”. If you are dealing with a multi-point integration that needs to span multiple geographic locations it is strongly recommended to use an EAI backbone architecture. This information can be found in the webMethods GEAR whitepaper “GEAR 6 Architecture Approach and Guidelines.pdf”.
The primary feature the Broker brings to the table is the pub/sub facility. It’s been my experience that most business integrations don’t require pub/sub. Pub/sub is a great decoupling mechanism but quite often processing requirements end up negating that decoupling (I need to make sure that the PO got to app X, I need to send 10,000 records as a group to be processed by a DB, etc.). Even one of the main operations of pub/sub, the request/reply, works to re-couple applications.
IMO webMethods positioning of IS and the Broker is confusing. We hear the same question repeatedly–when to use IS alone and when to use the Broker? It isn’t clear. wM positions IS as both a Broker adapter run-time and as stand-alone integration broker. This is why things are confusing.
IS has been and is still a very capable integration broker. It can handle real-time, event-driven processes. It can support multiple integration points. The concept of source–>canonical–>target formats is just as doable in IS as it is in the Broker. Dispersing IS boxes geographically offers the same advantages as dispersing Broker boxes. Pub/sub is doable in IS though it requires a bit more work for pre-6 versions.
The pub/sub facilities of the Broker need to be rolled into IS. And the idea of a “small footprint” IS for an adapter run-time to easily enable the distribution of adapters needs to be accelerated.
IMO, if an integration can be accomplished without the Broker then it should be done that way. The Broker is helpful when: 1) there are multiple subscribers to events (Is the magic number 2? 5? 100? That’s up to individual architects.) 2) the subscribers will change from time to time (If subscribers don’t change, then what’s the point?).
Lest someone think I’m an IS bigot that has never used Broker, I’ve used Broker for several years, back to the Active Software days. It’s a powerful tool. But IMO IS is better, on many counts.
As you said most of the business integrations don’t require pub/sub. But they may require Modeler or Workflow, if we want to work on Modeler or Workflow we need Broker…
I’m not sure that’s the case, though I’ve not used Modeler or Workflow. My understanding is that both of these tools generate components/config info for both ES and IS environments. I’m not sure what they do if ES is unavailable. Perhaps someone can shed some light on the subject?
But the Modeler is indirectly dependent on Workflow client…If you start Modeler it will gives an error and prompts to start WorkFlow Designer atleast once to obtain necessary jars from Workflow Server.