SOA Solution Implemented, searching for the pattern it conforms to RRS feed

  • Question

  • This is a little (or maybe completely!) backwards. We have implemented a SOA integration with our partners, and I am now looking for the pattern or architectural style it most closely resembles.


    The basic essence of the integration is that all the business rules are housed in our system (let's call it the Central Host). A set of around 30 web methods expose the functionality for a variety of operations. Each web method is a Get/Send pair, e.g. GetUserInfo and SetUserInfo. Each web method has a Request and Response interface, so there is a GetUserInfo_Request and GetUserInfo_Response. The direction for the naming is from the partner to the Central Host.


    The partners call these web methods and display the results. GetUserInfo_Request would be a call to the Central Host with the UserId parameber GetUserInfo_Request (UserId) and GetUserInfo_Response returned would be UserInfo complexType. The partner's UI, which can be called thin, calls these methods and displays the results, performing some minimal validation. The partners maintain no real business rules about the Central Host but do have some legacy rules of their own which are LOB specific.


    So Thin Client Architecture is about the right pattern, but implemented in SOA. What does one call such a pattern or architectural style?


    Wednesday, November 5, 2008 4:14 PM

All replies

  • What you have may be called as Service Facade.

    Wednesday, November 5, 2008 11:13 PM
  • I don't agree. A Service Façade is a simplified interface to a larger body of code which shields service consumers from the changes in the canonical model, and hides the hides the complexity of the canonical model.


    However this is not the implementation here which acts like a Thin Client for SOA (for a lack of better term).

    Tuesday, November 11, 2008 5:16 PM
  • I think your thin client is only a coincidence. What if your partners decide to have more of their LOB logic on the client side? Then the clients would become thick. However, your services continue to follow SOA paradigm.


    So I would say you follow SOA paradigm. I don't think it is right to tie it with patterns. You may have used 100s of them. Moreover, SOA paradigm stops when you go out of services. So, it wont be ideal to include client applications into this. For example, you may have a windows client, a mobile client etc.


    Hope this helps,




    Tuesday, November 11, 2008 10:42 PM
  • Hello,
    When I see your description about "Services" I think is more like interfaces using web services but they are coupled with the front end. In SOA we speak about services in terms of "business function", of course some times is in high level (for example open account) but in others is more like technical information, for example, "State of the customer". The other point is why you don't speak about mediation?  (ej. Enterprise Service Bus pattern). In SOA, the application who is using servicies is denominate Compouse application, and break the parading of "Separation of concerns".
    The "think client" is a type of front end with services of presentation in local mode. BUT the client request services to a mediator (ESB).
    Sorry if my note is not more clear. But I invite to you to read this document in CBDI: http://www.cbdiforum.com/public/events/workshops/downloads_sba1.php3
    IBM hava an excellent site with patterns for ebusiness and SOA http://www.ibm.com/developerworks/patterns/access/select-application-topology.html

    Have a nice day.
    Wednesday, November 12, 2008 1:08 AM

    CBDI says:

    We're Sorry, you are not currently logged in to CBDI. If you are viewing an eLearning module you may have timed out. Please log in to continue

    If you are already registered as a Gold member, please enter your username and password. If you want to register as a Gold member


    Could you download it and email it to me pbiswas@firstcdn.com

    Wednesday, November 19, 2008 5:36 PM