Author |
Message
|
pcelari |
Posted: Fri Jun 18, 2010 8:54 am Post subject: WMB messageflow as service provider - good or bad? |
|
|
Chevalier
Joined: 31 Mar 2006 Posts: 411 Location: New York
|
Hello,
in the MQSI era, there was a know commandment: "don't build application with MQSI".
If extended to today, that commandment might become "Don't build services with WMB".
But I also know banks build complete trade management solutions on message broker platform. So WMB has become much more than a integratoin platform, as business logic has been implemented into messageflows.
I recently got into a debate with a colleague over the position of message broker in an enterprise environment. He argued WMB should only play the role of a broker - a pure service bus, i.e. routing, transformation, it should not be involved in application logic, should not update database, as such activity belong to application.
More clearly stated: WMB should not be used as a service provider.
From the above commandment, this statement is correct. But I wonder why would IBM build such a rich set of interfaces into WMB just so it can route and transform more?
Can anyone with a clearer vision clarify a little on this subject? _________________ pcelari
-----------------------------------------
- a master of always being a newbie |
|
Back to top |
|
 |
Gaya3 |
Posted: Fri Jun 18, 2010 9:04 am Post subject: Re: WMB messageflow as service provider - good or bad? |
|
|
 Jedi
Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US
|
pcelari wrote: |
I recently got into a debate with a colleague over the position of message broker in an enterprise environment. He argued WMB should only play the role of a broker - a pure service bus, i.e. routing, transformation, it should not be involved in application logic, should not update database, as such activity belong to application.
|
We just want to see your colleague, or ask him go through this forum atleast, or ask him to learn about message broker, or atleast to go through or work under good Message broker mentors.
There are lot of things to discuss here, on this aspect.  _________________ Regards
Gayathri
-----------------------------------------------
Do Something Before you Die |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jun 18, 2010 9:23 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Can / should you build services within WMB? You can certainly build simplistic services (fronting database enquiries, that sort of thing). Should you? It's a more complex question.
Can / should you front services with WMB? Absolutely yes, where WMB takes a service request and routes it to an application that can fulfil the requirement, transforming data back & forth as needed. In this circumstance is WMB the service provider or the back-end application? If the application changes or is replaced the service doesn't change.
I think where I'd have issue is that application logic should not be in WMB. There's a thin line between application logic & business logic. WMB can do application logic but is a bad place for business logic. Once inside WMB / ESB / integration layer it tends to vanish from the sight of the business.
So it comes to ownership of the logic.
In addition, WMB is a quantum jump from the limited facilities of MQSI. You couldn't easily build a service bus with MQSI because of the limited input/output. So the times have changed, but it was a bad idea to put business rules in MQSI in the same way it's a bad idea to put busines rules in WMB.
My 2 cents. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
pcelari |
Posted: Fri Jun 18, 2010 9:29 am Post subject: |
|
|
Chevalier
Joined: 31 Mar 2006 Posts: 411 Location: New York
|
Would you please kindly point me to a good thread on this subject? I'm not very good at debate, esp. if someone use vague argument, or cites a words from an expert presentation. _________________ pcelari
-----------------------------------------
- a master of always being a newbie |
|
Back to top |
|
 |
Gaya3 |
Posted: Fri Jun 18, 2010 9:40 am Post subject: |
|
|
 Jedi
Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US
|
this is only to give an insight about the Enterprise cloud..
1. Transformation - use MQ / JMS / Active Q / MSMQ goes on
2. Transformation - MB / WebMethods / TIBCO goes on
3. Building Business process - WPS / Pega / goes on
4. Building Business Rules - BRMS / ilogs / goes on
5. Building Business Monitoring - WebSphere monitoring tools / goes on
6. Building Business Governance. - Fabric and all comes here. _________________ Regards
Gayathri
-----------------------------------------------
Do Something Before you Die |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jun 18, 2010 9:44 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Gaya3 wrote: |
1. Transformation - use MQ / JMS / Active Q / MSMQ goes on |
Strictly speaking none of these provide transformation services. They're transport mechanisms, and even WMQ's ability to convert between code pages doesn't count as transformation in this context.
You also need HTTP/HTTPS in this list.
Gaya3 wrote: |
3. Building Business process - WPS / Pega / goes on
4. Building Business Rules - BRMS / ilogs / goes on |
I've built both of these in WMB. In one notable occassion on a site that was also using WPS. It's the question of if this is a good or bad thing which is at the heart of this thread. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
smdavies99 |
Posted: Fri Jun 18, 2010 9:48 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
I'm working in a multi-tiered ESB environment with Broker at its heart.
Granted, the Webservices are not exposed to the world. That part is coverted by things like Websphere Portal or LifeRay. Underneath is Oracle, Sap and also external services all being used by broker.
The major issue is then project teams try to implement business logic in Broker. As a statless ESB engine, it is very difficult. An appserver is far more appropriate for that which is why WPS is built on top of an AppServer.
Ideally, you should run both alongside each other, after all who cares about this in a proper ESB environment.
IF you design the environment carefully then it will all work nicely. But.... a lot of the time this does not happen and we have to live with it, and at times suffer for it. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Jun 18, 2010 9:58 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
smdavies99 wrote: |
As a statless ESB engine, |
This is a big point.
Broker flows should be as stateless as possible, in general. You particularly want to avoid long-running processes.
Broker can also be a significantly more rapid and reliable development tool for a number of things than other application development environments so even for certain categories of business logic it can be a "good" solution (even if not the best solution by all measures).
Who's got the Extra Special Bitters? |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jun 18, 2010 10:04 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjeff wrote: |
Broker flows should be as stateless as possible, in general. You particularly want to avoid long-running processes.
|
In the example I quoted above, long running transaction I dug my heels in and had moved into WPS even though everything else was in WMB. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
smdavies99 |
Posted: Fri Jun 18, 2010 10:16 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
mqjeff wrote: |
Who's got the Extra Special Bitters? |
I've got some T.E.A. http://www.hogsback.co.uk/ in for the footie this evening... _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
Gaya3 |
Posted: Fri Jun 18, 2010 10:53 am Post subject: |
|
|
 Jedi
Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US
|
Vitor wrote: |
Gaya3 wrote: |
1. Transformation - use MQ / JMS / Active Q / MSMQ goes on |
Strictly speaking none of these provide transformation services. They're transport mechanisms, and even WMQ's ability to convert between code pages doesn't count as transformation in this context.
You also need HTTP/HTTPS in this list.
Gaya3 wrote: |
3. Building Business process - WPS / Pega / goes on
4. Building Business Rules - BRMS / ilogs / goes on |
I've built both of these in WMB. In one notable occassion on a site that was also using WPS. It's the question of if this is a good or bad thing which is at the heart of this thread. |
My mistake, i meant Transportation _________________ Regards
Gayathri
-----------------------------------------------
Do Something Before you Die |
|
Back to top |
|
 |
pcelari |
Posted: Tue Jun 22, 2010 6:44 am Post subject: |
|
|
Chevalier
Joined: 31 Mar 2006 Posts: 411 Location: New York
|
thank you all for sharing the insights!
Apparently the criteria of whether put applicaition/business logic in broker or not isn't a clear line. we just have to balance our design using commen sense and reason. Principles are guidelines, not ideological statement to be clinged on at any cost.
I wonder if we can get a more clearly stated general recommendations from an IBM expert here. _________________ pcelari
-----------------------------------------
- a master of always being a newbie |
|
Back to top |
|
 |
Gaya3 |
Posted: Tue Jun 22, 2010 6:53 am Post subject: |
|
|
 Jedi
Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US
|
pcelari wrote: |
thank you all for sharing the insights!
Apparently the criteria of whether put applicaition/business logic in broker or not isn't a clear line. we just have to balance our design using commen sense and reason. Principles are guidelines, not ideological statement to be clinged on at any cost.
I wonder if we can get a more clearly stated general recommendations from an IBM expert here. |
Do you need to make loosely coupled systems?
Do you like to loosen the application burden in transforming the data. and all?
Do my application need to bother about what OS, network and all?
few more... _________________ Regards
Gayathri
-----------------------------------------------
Do Something Before you Die |
|
Back to top |
|
 |
zpat |
Posted: Tue Jun 22, 2010 7:04 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
It depends on many factors, can you modify the legacy back-ends (do you even have the source code)?
The thing to avoid is multiple, overlapping points of maintenance for the business logic with complicated co-dependencies.
Keep everything as isolated from each other as possible - using XML messages (or other standardised format) to communicate between systems.
I personally don't see an issue with using the power of WMB to provide services, providing the above principles are observed.
There is no absolute rule, and IBM won't be able to give you such guidance. Where possible keep each flow stateless and fast, that doesn't mean it can't access databases.
There are several database nodes (and even more in v7) so IBM clearly intend these to be used - when it is right depends on your specific case. |
|
Back to top |
|
 |
|