Adapter usage

Hi. Does anyone knows when do we exactly need to use an adapter to connect between systems, and when don’t we need an adapter?

Are there any options to connect systems besides using the adapteR?

You would use an adapter when you don’t want to have write all the code to connect to a system yourself. Is there some specific concern you have about using an adapter?

well, literally yes.
b’cos i was given a situation where i was supposed to retrieve information from a plain SQL database, and i was informed that an SQL adapter is required.

But if the situation changes, where a publish request is required (where the service is sent to the target source, to return some information back to the EAI layer), then the SQL adapter is not required.

Therefore, i’m quite baffled as to how and when do we define that we need the adapter or that we dont?

  1. I also understand that there are drivers available. But how different are drivers compared to adapters?

I’ve come across multiple projects, and my immediate response would be to say ‘use adapter’, but i need to justify the situation of the usage of adapter, as in explore why and when, or if there are other situations where we do not require an adapter.
Therefore, it would be a great help, if i could get this matter clarified, as I’m still baffled.

Thanks!

Database access is a bit wierd because there is an “adapter” that is more or less built into Integration Server. All the database services in pub.db are essentially an adapter. In IS, that’s usually all an adapter is–a set of services. The database adapter comes with the base install. The adapter uses a driver.

Adapters and drivers are not conceptually equivalent. Adapters use drivers.

wM 6.0 mucks things up a bit because of the merging of Enterprise Server and Integration Server. The ES adapters are being rehosted within IS. The JDBC Adapter replaces the pub.db services and provides functions beyond the basics that the pub.db services supported.

I’m not sure that there is a “SQL Adapter” per se. But there is an MS SQL Server driver that the JDBC Adapter (and the pub.db services) would use when conneting to MS SQL Server.

I’m not sure I understand the scenario “…where a publish request is required (where the service is sent to the target source, to return some information back to the EAI layer), then the SQL adapter is not required.” Can you rephrase or add some detail? What version of things are you using?

i’m currently using wM v4.6.

with the part on the scenario “…where a publish request is required (where the service is sent to the target source, to return some information back to the EAI layer), then the SQL adapter is not required.”…

I guess i’m talking about this situation being an online transaction, where the previous scenario which i outlined (requiring SQL adapter) is a batch process.
I guess with the online scenario, EAI will trigger a service to request for information from the SQL database, and return the information back to EAI, using the same session. In this situation, why would the adapter not be required here?

Just want to ascertain 1 thing, …
regarding your statement of “…The ES adapters are being rehosted within IS. The JDBC Adapter replaces the pub.db services and provides functions beyond the basics that the pub.db services supported”…

is there still the pub.db services available in IS for wM v6.0?
Would any of these be changed or everything remains the same?

I assume when you say EAI you mean Enterprise Server (or Broker). In this case, if an IS service is requesting data via ES then the adapter is attached to ES. You could view ES as an “uber adapter” from an IS point of view.

The pub.db services have been deprecated in 6. They are still there but new integrations shouldn’t use them.

wrt “online” vs. “batch”–is there a reason why the batch process couldn’t go through the same path as the online process? I’d offer that if you have an established path through IS to ES to a DB adapter to the database, that all your integrations to that DB use that path. Having both IS and ES establish independent connections to the DB would seem to redundant.

HTH.

i think there’s the slight issue here.

b’cos when v6 is used, ES will be merged with IS.
if i currently use IS to link to my DB via my ES, then how would this changes everything, when i shift to v6? (assuming i’m now using v4.6)?

since pub.db services would be deprecated in v6, then what happens to my services that would make use of this pub.db services in v4.6?

pls advise!

Strictly speaking, ES is not merged with IS. ES still exists as a separate component but is now named Broker. So you can move your IS stuff to 6, and stay with whatever version of ES that you have.

There is a document that ships with wM 6 that describes how to use previous versions of things with wM 6.

Deprecated services by definition still exist and still function. But you should migrate away from them.

Someone please chime in if I’m off-base on any of this.

Hi All,

We are facing a severe problem with database connection. Please see below the errors (server log message)

<<

[ART.0116.3001E] Adapter Runtime (Notification): Notification error during execution of PU006_ERPM_RCM.resourceOrg.jdbc.core:notifyResourceOrgDetails. Error: [ADA.1.316] Cannot execute the SQL statement “SELECT t1.WM_ROWID,t1.OPERATION,t1.ORG_HISTORY_ID,t1.ORG_UNIT_ID,t1.ORG_UNIT_NAME,t1.PARENT_ORG_UNIT_ID,t1.CREATE_DATE,t1.WM_SENDTIME FROM WEBMETHODS_RCM.WMB_ORG_HISTORY t1”. "

[12266]Closed Connection
12265 Closed Connection"
>>
We are using IS-6.1, JDBC Adapter ver-6.0.3, Database >> Oracle-8.1.7, JDBC-Driver >> Oracle JDBC Thin Driver

Can anybody tell me the root cause of this kind of error and way to resolve it. I know one workaround that is to reload JDBC Adapter package. Is there any way to resolve it permanently.

I will be grateful if anybody can help in this regards.