views:

819

answers:

3

Situation: Some Bank has an old legacy ABS (Automatic bank system).

Bank wants to:

  1. notify old legacy CRM system about client's account changes (Publish operation).
  2. check PIN codes of client cards (Request/Response operation) - in synchronious mode.

ABS is implemented in very old private technologies with StoredProcedures calls. So, I can connect to this system via database only.

Which ways of Java/.Net (ESB) application integration with old/legacy database system do you know?

Write/Publish operation

Any vendor's databse server:

  1. Scan tables for new entries - too low speed.
  2. Trigger (if they're supported) which handles SQL updates and inserts and writes event information to some table. And application listener should be checking this table for events.
  3. Oracle serevr : PL/SQL TRIGGERS + Oracle AQ. And listener for JMS.

Reading operation

  1. Just write result into tables of ABS - dangerous.

  2. ...

How to notify legacy database system about responses in synchronious mode??? How to implement Write/Read in synchronious mode???

Again, which ways of Java/.Net (ESB) application integration with old/legacy database system do you know?

+1  A: 

It depends on many factors; particularly read/write throughput and performance sensitivity of the database.

Databases tend to be kinda sensitive things and are often very fragile to general purpose access from arbitrary other systems when they are finely tuned for production use in a specific system; so often folks replicate the database to another read-only slave database that can be then used for doing integration work & querying and so forth.

You can then use triggers/polling/JMS based on whatever you need without impacting the original database.

Depending on the database replication technology used; you can then often install triggers in the replica database (which can afford to get a little behind from the master from time to time) - to minimise impact in the production database

James Strachan
+2  A: 

Lot of vendors hype about DataServices. I think the most value of these products is when integrating different datasources.

I would consider making a simple "application" that exposes this data as a service

svrist
A: 

Hi Alex.

I can propose you to use Mule as ESB in your bank (see also http://www.mulesource.org/display/MULE/Home).

It allows you to communicate to database directly (jdbc level which has to be OK with stored procedures as well as tables/views level). I have positive experience with it for integration core banking system (database level, Oracle) with standalone application (web services level).

Frankly, I din't got all your questions (your can ask me in Russian directly if you are prefere),but IMO Mule is your way - it can consume JMS, JDBC, file level and many others and process syncronouse and asyncornouse events as well (see also http://www.mulesource.org/display/MULE2USER/Available+Transports).

Reagrds.

P.S. To be more clear for English speaking audience, I can propose you use more standard term core banking system instead of ABS (which means the same in xUSSR countries).

FoxyBOA