Comments
L W wrote: Dear Sir, Please do forward a Google Wave Invitation to lvw.iv4 (at) gmail (dot) com, at your earliest convenience? Much appreciated!
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

SYS-CON.TV
Today's Top SOA Links


Systems Integration with Openadaptor
Business system integration with little or no custom programming

Openadaptor is a software toolkit that may be classified as a lightweight Enterprise Application Integration (EAI) solution. It provides a configurable component framework for connecting various systems and middleware implementations. In less technical parlance, the components are akin to Lego building blocks that users can snap together to build adaptors, which themselves are the metaphorical glue or plumbing between applications. Originally written in 1997 to help a large financial organization integrate its applications with Message Oriented Middleware (MOM), while avoiding vendor lock-in in the process, Openadaptor has since joined the open source community and evolved to become one of the better recognized systems integration tools.

Through years of usage, however, several shortcomings have emerged. The initial architectural concepts of legacy Openadaptor predated the popularity of XML, and a canonical data representation called DataObjects became an integral part of the framework introducing certain performance overheads and overly strict rules as to what can, and what cannot, be exchanged between an adaptor's components. The experience of developing and supporting legacy Openadaptor has also highlighted several other shortcomings, such as the proliferation of custom code that led to the support hurdles, poorly defined and unclear customization and interface points, and the inevitable tendency toward bloat-ware. This was compounded by the fact that some of the inherent functionalities with time became superseded by industry standard equivalents (the clumsy, though effective, proprietary transaction manager would serve as an example).

About Kris Lachor
Kris Lachor is a senior software developer at Dresdner Kleinwort.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Ismael,
Thanks for the feedback, it's always very useful to us. You should be able use stored procedures for updates - see the MapCallableStatementWriter (and corresponding map-stored-proc-writer.xml example, and their XML equivalents). In fact, if you can guarantee that the warehouse will always be based on Oracle it might be easiest to implement the 'upsert' funtionality in a stored procedure which the JDBC writer would invoke.

Having said that, with your comments in mind, we are looking at adding direct support for updates (and possibly 'upserts') with a view towards squeezing it into our upcoming 3.4.3 (November '08) release of openadaptor.

Also it's worth noting that the RawSQLWriter can achieve the same effect - it uses actual SQL strings which get directly executed against the db, albeit with a performance penalty (overhead of constructing the SQL manually, and not being able to compile it).

regards
Eddy Higgins, Kris Lachor (& the openadaptor dev team)

P.S. Note that www.openadaptor.org is the primary resource for openadaptor technical support. This affords the best visibility to the dev team, and other oa users.

Great article. Great tool. It seems a good fit to a new project I'm involved with.

The project will require extracting data from a ERP system to load into a data warehouse. The ERP system uses a DB2 UDB database, while the data warehouse will be based on an Oracle database. On a daily basis, it is necessary to extract all the new or updated records from selected tables on our ERP database to load on the data warehouse.

From the documentation and the samples, I found that it is very easy to INSERT data in a table, but could not find references to table UPDATES, or more specifically to the situation where an input record may be updating the corresponding record in the target table if it already exists, otherwise it will be inserted on the target table.

What would be the best approach to resolve this "UPSERT" type of problem using Openadaptor?

Many thanks for the help

Ismael


Your Feedback
Eddy Higgins wrote: Ismael, Thanks for the feedback, it's always very useful to us. You should be able use stored procedures for updates - see the MapCallableStatementWriter (and corresponding map-stored-proc-writer.xml example, and their XML equivalents). In fact, if you can guarantee that the warehouse will always be based on Oracle it might be easiest to implement the 'upsert' funtionality in a stored procedure which the JDBC writer would invoke. Having said that, with your comments in mind, we are looking at adding direct support for updates (and possibly 'upserts') with a view towards squeezing it into our upcoming 3.4.3 (November '08) release of openadaptor. Also it's worth noting that the RawSQLWriter can achieve the same effect - it uses actual SQL strings which get directly executed against the db, albeit with a performance penalty (overhead of constructing the SQL manually, and not being able...
I Matos wrote: Great article. Great tool. It seems a good fit to a new project I'm involved with. The project will require extracting data from a ERP system to load into a data warehouse. The ERP system uses a DB2 UDB database, while the data warehouse will be based on an Oracle database. On a daily basis, it is necessary to extract all the new or updated records from selected tables on our ERP database to load on the data warehouse. From the documentation and the samples, I found that it is very easy to INSERT data in a table, but could not find references to table UPDATES, or more specifically to the situation where an input record may be updating the corresponding record in the target table if it already exists, otherwise it will be inserted on the target table. What would be the best approach to resolve this "UPSERT" type of problem using Openadaptor? Many thanks for the help I...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE