I'm not sure where this question would go and i'm not aware of any forums for architecture buffs on the internet.
My question is simple. If there is a web service offered by vendor X, what's the proper (best practice) way to call it?
1) Directly
2) Via an Integration Layer
I'm keeing it vague for a reason to encourage wide open answers.
Hi Jeff,
While this forum is not architecture centric here's one view.
The generic/vague answer to your generic question is "it depends".
It's hard to answer a generic question with specifics without having detailed requirements of what you are trying to accomplish.
The answer would depend on a miriad of variables such as:
Adrian
Jeff,
It depends. If you using a 2-tiered architecture, then you'd call the service directly. However, if you using a 3-tiered architecture (View-Control-Model) then the view (interface object) would call the Model service via the Controller layer. So if the webservice provided by vendor -x is no longer needed, it can easily be replaced by vendor-Y product if you use the 3-tiered architecture.
The newer J2ee provisions n-tiered architectures, which means you can scale, replicate with sufficient redundancies etc. (but thats another story)
warm regards,
K
brought to you by enabling practitioners & organizations to achieve their goals using: