Hi. For you Enterprise Server veterans this may sound like a stupid question but please bear with me… ( I must have misplaced my “webMethods for Dummys” book )
Where do the common operations run and how do we set a custom classpath for common operations ?
For example, let’s say I have Server A running ES Broker #1, and I have Server B with an adapter process monitor “pointing” to Broker #1. Under this adapter process monitor I have an instance of the JDBC adapter configured/running and an integration component (script) using this adapter. Let’s also assume my integration component is calling a common operation called getProperty.
It is clear to me that 1) the adapter is running on Server B, and 2) to adjust the classpath for the JDBC adapter I can put my classpath in the “Add to class path” field. So far crystal clear.
…but where does the common operation run and how do I adjust the classpath ? I know that the meta data for the integration component script (Java code) is stored on the broker server, and when the adapter is loaded (or restarted) this script is loaded onto the server where the adapter is running.
Do common operations get transferred to each adapter server ?
Am I making any sense ?
I’m sure when I hear the answer I will bang my head against the wall but PLEASE tell me anyway.
Thanks in advance,
Common operations are just a way to put shared code in one place - they aren’t really any different than code written directly in an Integration Component. Like Integration Components, common operations will run on the adapter that calls them. In your example, the code runs on Server B in the adapter process, and thus the classpath must reference all files required by the common operations used. There is no need to put anything in the classpath of Server A. If you added a Server C, with another adapter that uses the same operations, you would also need to have the required files in the classpath on that server.
Skip, thanks for the feedback.
Here’s some more info. We have multiple Enterprise servers (each on a different port) in one Territory. One of the servers/broker is for Shared services (eg. getProperty files) and we are hoping that all integration components can reference the shared common operations.
Just so I’m clear on what you are saying…if I have adapters running on Servers B, C, D, E, and F…and they all require information from the property file. We would have a step in the integration component flow/script (for an adapter on B, C, D, E and F) that would call the common operation to get a property. Are you saying that this common/shared operation will actually run on servers B, C, D, E, and F…just like the integration component script AND that we have to duplicate the property files on servers B, C, D, E and F ??? I was hoping we could get away with one instance of these shared property files. I didn’t really want to copy all of these property files to every server with adapters.
If anyone has any more input/thoughts on this please let me know.
Yep, you’d need to have the properties file on all the servers. This is why Enterprise code usually stores common values some other way - I usually use infosets in a Broker document definition, since that’s stored on the broker and accessible to any adapter.
Skip, can you please point me to any other examples or reference for using infosets for common (shared) data ?
I really don’t like the idea of copying our property files.
Sorry, I don’t really have any sample code handy. It basically involves using the Java API to set up a common operation that retrieves the desired value from a Broker document type containing the setup information. I know it’s not extremely elegant, but not much in Enterprise development is. Yet another reason why Integration Server is better than Enterprise.
You also have the option of hard-coding the values directly in the common operation. Again, not elegant, but it does save you the setup of the infosets. The downside is that you must edit the operation to change the values, which is more difficult for your administrators. With the infosets, they can change the values right from the Enterprise Manager tool.
Does anyone have any sample to use the Java API to retrieve values from a Broker document type containing setup information ?
I am new to webMethods,
how to establish connection between Integration Server4.6 and Enterprise Server(broker), i have to publish a document to broker. can any one please help me? i read broker user guide, there was few steps i do not understand, there is no ENTERPRISE option under Adapter in navigation panel of admin browser.
please give me step by step solution. i know it is a stupid question please bare with me.
thanks in advance
Basically you have to configure “ES Bride Adapter4.6” to communicate from IS4.6 to EnterpriseServer (Broker) this will create a WmEnterprise package in the developer which have a publish service it does publish the document to the connected broker using brider adapter communication.
Search this site to get more information on Bride Adapter stuff or else look in the Advantage.webmethods.com for downloading necessary documentation to accomplish.
This is the older scenario prior to release IS6.x