tag:blogger.com,1999:blog-13639021.post6907008606736875847..comments2024-03-05T04:05:47.416-08:00Comments on The Wisdom of Ganesh: Practical SOA Building Blocksprasadgchttp://www.blogger.com/profile/00179696156998026173noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-13639021.post-20141248653140947432011-05-25T13:54:59.554-07:002011-05-25T13:54:59.554-07:00> but also shows how difficult it is to find a ...> but also shows how difficult it is to find a good fitting granularity.<br /><br />That's an insightful comment. It made me think about why I chose this level of granularity. Perhaps at this level, the exposed interfaces of all three chosen components are based on service standards (e.g., SOAP) while their implementation languages are different and unique (Service Container - Java, etc., Broker - some proprietary language like IBM's ESQL, XSLT, etc., Process Engine - BPEL). The Rules Engine does not even have a standard defined interface, hence it gets abstracted out of this level.<br /><br />Perhaps you will then point out that a "Data Services Server" or "Mashup Server" a la WSO2 should also be shown at this level, but to me, the first is a specialised kind of broker that has adapters to datastores, the second a specialised kind of Process Engine based on a simpler orchestration model.<br /><br />Regards, and thanks for the thought-provoking questions,<br />Ganesh Prasadprasadgchttps://www.blogger.com/profile/00179696156998026173noreply@blogger.comtag:blogger.com,1999:blog-13639021.post-45787794911672560782011-05-25T08:33:32.566-07:002011-05-25T08:33:32.566-07:00Ganesh,
thanks for your reply, that makes the cho...Ganesh,<br /><br />thanks for your reply, that makes the chosen level of abstraction pretty clear, but also shows how difficult it is to find a good fitting granularity. For instance, you could also drop the process engine by declaring it to be an implementation detail for the services run in the service container (in a sense that business processes are again rendered as services, a recursive composition model).Tammohttps://www.blogger.com/profile/01177066995521548311noreply@blogger.comtag:blogger.com,1999:blog-13639021.post-10172822614826427432011-05-25T06:47:41.205-07:002011-05-25T06:47:41.205-07:00Tammo,
I see a Rules Engine as a second-class cit...Tammo,<br /><br />I see a Rules Engine as a second-class citizen of a SOA environment.<br /><br />Both Brokers and Process Engines delegate (externalise) some of their logic to a Rules Engine, and they therefore abstract the existence of the Rules Engine from the rest of the ecosystem. So we could consider a Rules Engine to be an implementation detail rather than a first-class SOA component.<br /><br />Regards,<br />Ganesh Prasadprasadgchttps://www.blogger.com/profile/00179696156998026173noreply@blogger.comtag:blogger.com,1999:blog-13639021.post-15173250901140867472011-05-25T05:54:59.404-07:002011-05-25T05:54:59.404-07:00You could add a business rule engine, as it is sup...You could add a business rule engine, as it is supposed to address different things as a BP engine.<br /><br />All in all, it fits pretty much into my view to a SOA blueprint architecture.Tammohttps://www.blogger.com/profile/01177066995521548311noreply@blogger.com