4

Are there open-source or other commercial alternatives to Oracle's OSDI?

In my scenario, I have a legacy API (it's what the customer systems use and can't be changed). I have an underlying product that has the functionality needed to replace the legacy system, but it has its own API.

So I need to translate between them. This translation layer is a classic facade pattern and doesn't need to do a lot other than unpack/map parameters and return values - it doesn't have any state or do any complex processing.

I can implement the layer fairly easily by hand, but it's repetitive and error prone.

OSDI allows me to define a method to be called (say, in SOAP), and specify how its parameters are used in a call to a different underlying method. I can add other values to the called method, and also say how the returned value (perhaps some XML) is translated into the return value for the top-level method.

It has a graphical editor based on Eclipse to allow these definitions to be created and edited easily.

All quite neat, but OSDI hasn't been updated for 5 years or so and it has some issues.

So are there alternatives that can do something similar?

The Archetypal Paul
  • 41,321
  • 20
  • 104
  • 134
  • Why can't you just code a replacement "shim" for each legacy API X, that calls your new API X' with suitable argument shuffling? If you are only going to do this once, I don't see how getting a general-purpose code mapper is easier than just writing the shim. A more interesting alternative might be replace the legacy API calls on X, at each call site, with the code shuffle to call X'. For that I might have a useful answer. – Ira Baxter Jun 17 '13 at 04:26
  • Well, of course I can code it. But there are a lot of legacy APIs to do (and we are likely to have future customer deployments to do with similar needs). We're unlikely to be able to get the customer to change the code at their end, so replacing the calling code isn't really an option – The Archetypal Paul Jun 17 '13 at 08:21
  • You didn't address the question: why is using some kind of generator that you have to configure on a per API basis, faster/more effective than just coding the shim? – Ira Baxter Jun 17 '13 at 08:25
  • It's there right in my original question: "I can implement the layer fairly easily by hand, but it's repetitive and error prone." – The Archetypal Paul Jun 17 '13 at 10:24

0 Answers0