ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » What is Best practice regarding number of Ops/IIB Interface

Post new topic  Reply to topic
 What is Best practice regarding number of Ops/IIB Interface « View previous topic :: View next topic » 
Author Message
PankajS
PostPosted: Wed Sep 24, 2014 7:35 am    Post subject: What is Best practice regarding number of Ops/IIB Interface Reply with quote

Voyager

Joined: 27 Dec 2004
Posts: 82

Hi there,
Quick Background: We are implementing SOA based Integration project and we have BPM8.5 and IIB9 in out product stack.

I have two queries.

1. What should be granularity of a ESB services ? By that I mean, is it a good practice to expose IIB service interface with one (or at max two ) operations or it does not matter ?
My personal experience has been that more the number of operations, more is the complexity of the service and further it is difficult to maintain the service in PRD environment

However, would like to hear from experts on this.

2. What is the best practice to implement the Composite Services. Should that be implemented as BPEL MicroFlow or IIB Service ?

In the reference of out project, there are two categories of the composite services.
i> A service that invokes multiple ESB services
ii> A service that invokes multiple SoRs(System of records)

My view on the issue is that ESB should only host the atomic services and BEPL microflows should be used for composite services. This is based on the experience that the composite services, especially the one that involve sequential and dependent calls get complex to develop as there is no out of box support for this in IIB.

Looking forward to hearing from experts on their experience.
Back to top
View user's profile Send private message
Dave Ziegler
PostPosted: Wed Sep 24, 2014 12:43 pm    Post subject: Reply with quote

Centurion

Joined: 15 Apr 2014
Posts: 118

I'm far from an expert, but this interests me as well since I'm going through a similar process...

Generally speaking, I think the answer here is "it depends". I'm still very new to IIB but we're trying to follow what we've learned elsewhere and apply it in our ESB solution. I agree with your statement about monolithic services. They become difficult and clumsy to maintain in prod (we see this currently in a few places), and breaking things into small, reusable components is usually a good idea.

(These are excellent by the way:)
http://www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420
http://www.amazon.com/Enterprise-Integration-Patterns-Designing-Deploying/dp/0321200683
http://www.amazon.com/Service-Design-Patterns-Fundamental-Solutions/dp/032154420X
Back to top
View user's profile Send private message
smdavies99
PostPosted: Wed Sep 24, 2014 11:00 pm    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

Please bear in mind that going to a two or three tier SOA Architecture will result in a performance degredation to the calling application.

I worked (at a previous employer) where we had a 3-tier arch. It was dog slow.
I implemented on service as a single tier (using subflows from a 3-tire model) and got a FIVE fold increase in throughput. This was on V6.1.0.9 and the hardware was a Sloooooowwwww Solaris System so this may not be representative of more recent versions of Broker/IIB and modern hardware.

The SOA Purists (I have a bookshelf filled with SOA books) seem to insist on SOAP everywhere even internally between the layers of your SOA Architecture. This will slow your system down. We have a perfectly good Interflow solution sitting underneath broker that is called MQ. There is IMHO nothing wrong in sending Request/reply SOAP Formateed messages over MQ (and even using non persistent messaging) . I call this being pragmatic.

There has to be a bit of a trade off between a Pure SOA design and one that works for you and your environment. A decent and representative POC will tell you what is best for your environment.
_________________
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
View user's profile Send private message
ruimadaleno
PostPosted: Thu Sep 25, 2014 1:06 am    Post subject: Reply with quote

Master

Joined: 08 May 2014
Posts: 274

Regarding service granularity there is no golden rule to point you the number of operations each service should deliver.

Avoid extreme scenarios:
- High number of services with a one or two operations
- Low number of services with high number of operations

You should look by the business side, usually avoid services with high number of operations. Eventually create several services, aggregating similary or logical related operations by business requirement.

In theory services with high number of operations will have more consumers => more traffic . Also, a bug in service with high number of operations can bring down several operations causing high impact in business.


Just my two cents
_________________
Best regards

Rui Madaleno
Back to top
View user's profile Send private message
zpat
PostPosted: Thu Sep 25, 2014 6:39 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
Location: UK

Use MQ whenever possible. There are so many advantages over web services and (God forbid) files.

Transactionality being just one benefit. Using WS you have no transactionality and you have to handle the situation where the other end is not available.

I won't bore you with details - but I spend a lot time solving (other people's) problems in flows that use WS and java and very little time solving problems in flows that use MQ and ESQL.
_________________
Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error.
Back to top
View user's profile Send private message
PankajS
PostPosted: Thu Sep 25, 2014 10:42 pm    Post subject: Reply with quote

Voyager

Joined: 27 Dec 2004
Posts: 82

Thanks Guys for inputs. This is my outlook on the issues after discussion.
1. Granularity:
All agree that there is no golden rule as such on granularity and it really depends on case to case basis but having less operations is always an advantage. To put down some advantages that I can think off-
1. Less operations are less number of interaction points through one interface so less susceptible to changes so easy to maintain
2. It adds to difficulties in identifying testing scope for services with multiple operations as change in even one operation may trigger the regression test on whole bundle.
3.Impact Analysis: A service with multiple operations will invite wide spread impact analysis each time it changes due to its multiple touch points

2. Composite service and choice of platform.

My view on this is, the product should be used to its strength ! I mean, BPM is design for orchestration so I would prefer to use it if it is in my product stack. (When I am saying this, I am still to answer the question what are tangible benefits of doing so ? If any one has done such study, please do share.)Only exception would be when performance is the key. In such cases I would prefer to go with single layer provided I am not proposing a mammoth to be built on service layer.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » What is Best practice regarding number of Ops/IIB Interface
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.