Sorry Theo but, I think Steve is on to
something with anti-patterns and I *do*
consider the number of services to give an indication
of approach. In particular your comment:
- it might even be a cultural
barrier; developers might think using services is a waste of time and
prefer to integrate their apps in another way
…Implicitly indicates to me that (in
that example) this is not an SOA environment.
An SOA journey must have strong centralised (architectural) control ensuring
developers do not just ‘do it’ how they think is the best way
forward for “their” application (which in reality of course, isn’t
their application – it’s the business’ application, a fault
many of us have suffered from at some point in our careers, I’m sure :o)
SOA is not WS (IMHO), SOA does mean strong
Governance and adherence to standards, and this may frequently upset
Developers!
M.
Marc
Davies
Fujitsu
Business Unit
Chief Technology Officer
Architecture
& Design Group
Core Services
Mobile: +44 (0) 7867 825118
E-mail:
marc.davies@uk.fujitsu.com
Telephone:
-Hot Desking-
http://uk.fujitsu.com
This e-mail is
only for the use of its intended recipient. Its contents are confidential and
may be privileged. Fujitsu Services does not guarantee that this e-mail has not
been intercepted and amended or that it is virus-free.
From:
Beack, Theo [mailto:Theo.Beack@softwareagusa.com]
Sent: 27 October 2005 05:15
To: Jones, Steve G; Ken Laskey;
Miko Matsumura
Cc: soa-blueprints@lists.oasis-open.org
Subject: RE: [soa-blueprints]
Anti-Blueprints
I don't consider the number of
services to be an accurate indication of either a good or bad
approach. I think that one has to be more precise in measuring the relative
maturity of the services that exist. Factors that can help one determine the
"maturity index" of the SOA implementation might include:
- level of reuse,
- scope of the services,
- service granularity,
- adherence to architectural
blueprints,
- compliance with standards, etc.
This is not a comprehensive list and one can take different views on how
to measure the maturity of the services implementation, but the point I'm
trying to illustrate is that one has to look at this from different angles
in order to determine whether the approach which has been followed is a good or
"bad" one.
The statement “We’ve got hundreds
of web services and it hasn’t helped us at all” is
only a symptom of a potentially larger (or real) problem. The lack of
reuse can be caused by factors such as:
- developers might find it
difficult to find the appropriate services,
- several conflicting services
might exist that provides similar functionality,
- instability or lack of performance of
services & infrastructure might cause developers to abandon the use of
services,
- it might even be a cultural
barrier; developers might think using services is a waste of time and
prefer to integrate their apps in another way
In my experience many organizations
create services without doing any planning. Many tools allow them to do this in
a very easy manner and developers could easily created a large collection of
services, without any planning. Following a good services design approach
might be an important step to create truly reusable services. Determining the
purpose of the service, who the primary consumers will be, usage patterns,
interfaces required for the various consumers, service security, documentation,
proper metadata, etc. all of these aspects of a service should be considered
and might play an important part in making it a usefull and widely used
service.
Regards
Theo
From:
Jones, Steve G [mailto:steve.g.jones@capgemini.com]
Sent: Tuesday, October 25, 2005
17:12
To: Ken Laskey; Miko Matsumura
Cc:
soa-blueprints@lists.oasis-open.org
Subject: RE: [soa-blueprints]
Anti-Blueprints
In other words has someone just
“right-clicked” on a JavaBean (or C# object) and selected
“Create Web Service” from the menu, or was there actually planning
and intent? I’ve actually seen organisations where just this sort
of exercise has been undertaken creating the thousands of web services problem.
Number is part of the issue, its
indicative of a bad approach when organisations create thousands of DISTINCT
(as opposed to instances) of web services. But the Service should have a
qualitative impact on the “real-world” or provide a useful function
(e.g. mathematical calculation) this stuff is in the SOA-RM as being the basis
of service.
In terms of numbers I’d say that
volume is an important indicator
of bad practice, not a definitive guide but its getting a more and more common
statement “We’ve got hundreds of web services and it hasn’t
helped us at all”. Clearly its possible to have lots of top quality
services, in the same way as in theory its possible for people to write decent
multi-threaded code but in practice both are normally indicators of problems.
Steve
From:
Ken Laskey [mailto:klaskey@mitre.org]
Sent: 25 October 2005 21:47
To: Miko Matsumura
Cc:
soa-blueprints@lists.oasis-open.org
Subject: Re: [soa-blueprints]
Anti-Blueprints
The question is less one of number than independence. Does the original
interface (method call) provide a capability that is useful beyond the object
with which it is connected and can it be used without being part of a sequence
with other methods from the same object?
On Oct 25, 2005, at 4:10 PM, Miko Matsumura wrote:
This is a good topic, thanks for
introducing it, Steve.
The number of services *is* a quantitative
measure, but perhaps not a very helpful one? =)
I'm pretty sure there's an antipattern
here, and I think perhaps there could be some kind of way to assess this. I
think another variable in this mix is the extent to which the registry
repository in question can help with respect to discovery and classification as
well as governance. The thing that worries me is when I see people assuming
that fine grained (object level) services will be reused, when the reality is
that OO didnt generate that much reuse from even the guy in the next cubicle,
let alone across the company or across the planet.
I think this is less of a gross number of
services antipattern so much as a coarse-grained vs fine-grained antipattern...
From: Duane Nickull
[mailto:dnickull@adobe.com]
Sent: Tuesday, October
25, 2005 12:57 PM
To:
soa-blueprints@lists.oasis-open.org
Subject: RE:
[soa-blueprints] Anti-Blueprints
I disagree with this anti-pattern.
I am not sure that the number of services
is really a quantitative measure of SOA. A grid computing cluster
administrator may be able to rationalize such behavior, although it may seem
absurd in other areas such as Amazon deploying a service for each book it
carries vs. deploying one service that allows the consumer to parameterize the
book title.
Perhaps a better measure would be the
development of some test criteria to ascertain whether a contemplated service
is a good candidate for repurposing beyond a small number of consumers.
This should be based on alignment with LOB and presumably different
implementers will have different criteria for quantifying such.
From: Miko Matsumura [mailto:mmatsumura@infravio.com]
Sent: Tuesday, October 25, 2005 12:41 PM
To: marchadr@wellsfargo.com;
steve.g.jones@capgemini.com; soa-blueprints@lists.oasis-open.org
Subject: RE: [soa-blueprints]
Anti-Blueprints
I just added a "microservice"
antipattern where programmers put 10000000 WSDLs into a registry just because
their IDE lets them do so.
From: marchadr@wellsfargo.com
[mailto:marchadr@wellsfargo.com]
Sent: Tuesday, October 25, 2005 11:54 AM
To: steve.g.jones@capgemini.com;
soa-blueprints@lists.oasis-open.org
Subject: RE: [soa-blueprints]
Anti-Blueprints
Good idea. I put up the first drafts of
them at: http://blueprints.jot.com/WikiHome/SOA+Anti-Patterns/SOA%20Anti-Patterns
Let me know if I correctly eloborated and
named them for you.
-----Original Message-----
From: Jones, Steve G [mailto:steve.g.jones@capgemini.com]
Sent: Tuesday, October 25, 2005 11:21 AM
To: soa-blueprints@lists.oasis-open.org
Subject: [soa-blueprints] Anti-Blueprints
The SOA Blueprints will lay down a “best
practice” set of guidelines and templates for delivering SOA. This
will definitely be a positive thing and help expand and firm up people’s
understanding of SOA. One thing that the group states that it will do is
define standards and guidelines, does this mean that allied to our blueprints
we must also consider the “anti-blueprints” (analogous to
anti-patterns) that must be avoided. So for instance focusing on process
over service (bad), only thinking of web services (bad) etc etc. Defining
the blueprints give guidance towards success criteria, but should we also give
guidance on failure criteria for acceptance of a system as being
“SOA”.
Not sure whether this should be in the TC as its laying down
best practice, and not to increase the already large workload… but it
needs to be somewhere.
If you’ve started with an enterprise “best
practice” process map you are NEVER going to be SOA and 90% probability
your system will be inflexible or fail.
Web Service point to point is STILL point to point, doing a
bad practice in XML doesn’t make it better
Splitting into two separate tiers of Service and Process
with separate rules and governance results in divergent solutions
Creating “business” services based on the belief
that IT understands the business results in services that meet neither IT nor
business goals
Building your own proprietary XML-RPC stack to give yourself
“control“
The last could still be SOA from one perspective, but
I’ve yet to see it done well when the driver was a belief that its better
done in house than using standards. When we get the official Wiki it
could be something to document via that route.
___________________________________________________________
CTO, Application Development Transformation
T +44 870 906 7026| 700 7026| www.capgemini.com
m: steve.g.jones@capgemini.com
Join the Collaborative Experience
___________________________________________________________
This message contains information that may be privileged or
confidential and is the property of the Capgemini Group. It is intended only
for the person to whom it is addressed. If you are not the intended recipient,
you are not authorized to read, print, retain, copy, disseminate, distribute,
or use this message or any part thereof. If you receive this message in error,
please notify the sender immediately and delete all copies of this message.
------------------------------------------------------------------------------------------
MITRE Corporation, M/S H305 phone: 703-983-7934
7515 Colshire Drive
fax: 703-983-1379
This
message contains information that may be privileged or confidential and is
the property of the Capgemini Group. It is intended only for the person to
whom it is addressed. If you are not the intended recipient, you are not
authorized to read, print, retain, copy, disseminate, distribute, or use this
message or any part thereof. If you receive this message in error, please
notify the sender immediately and delete all copies of this message.
|