web-servicesesbsoaosb

ESB transformation capabilities


Good evening,

I work for a customer who wants to have a Service Oriented Architecture. I work at the SAP system end, and the service bus used is Oracle Service Bus.

One of the providers (provider A) requires that an HTML is sent to them, contained as an XML element. We are responsible of generating the information that "provider A" needs, so we asked the OSB guys to do the transformation on the info sent by us. They basically told us to f*** off, as a service bus should not write code to do a transformation.

I understand what they mean, but as far as I know, an application should not be responsible for the connectivity logic in a service oriented architecture. Even if it means for them to write code, they should be the ones to implement it. For us, it would mean doing double the work.

Do you guys have any documentation regarding this? Or at least to provide information on what is the best practice. I have been searching, but have not found the precise info that I need.

Thanks.


Solution

  • Service buses can transform (It's part of the VETRO acronym), but generally only where it makes sense.

    if there's an endpoint that is difficult for clients to consume due to its format, then transforming to a (canonical) domain model makes a lot of sense.

    In your case, it looks like you just want an application-specific format from an existing service, which seems to be the app's responsibility rather than the service bus's.

    I think the OSB team would agree that it's their responsibility to provide you with the data, but not their responsibility to decorate it in the format you'd like.