Newsletters Welcome, Guest Log In | Register

Subscribe

Sign up now and get the best business technology insights direct to your inbox.

  • Daily Edge
  • CTO Edge Update
  • Business Tools & Templates
  • Aligning IT & Business Goals
  • Maximizing IT Investments

10

Is Strategy the Key Characteristic of SOA?

by Loraine Lawson, IT Business Edge
Oct 12, 2009 4:01:08 PM

Loraine Lawson spoke with JP Morgenthal, the Tech Evangelist blogger and a Principal Architect, about why he thinks strategy might be the key characteristic of SOA. He explains that much of what we call SOA isn't - and why everything doesn't have to be called SOA to deliver value.

 

Lawson: I wanted to talk a little bit about your recent column, in which you explain why you're rethinking your position on the need to come to an agreement on what SOA means. You said that you're now open to viewing SOA as a strategy?
Morgenthal: Yes. SOA may be more strategy than an architecture piece.

 

“I don’t know how, but somehow we created an army of people who think SOA is all about business process. It’s not.”

   
JP Morgenthal
QinetiQ North America

Lawson: So, how did you define SOA previously?
Morgenthal: For me, and it still is to some degree, you talk about IT and business alignment. It’s using a service as a metaphor to model the business as a set of business functions.

 

There is a lot of misconception out there. I don’t know how, but somehow we created an army of people who think SOA is all about business process. It’s not. And your processes are not your services. Your services are your business functions. What function does your business do? If I’m a store, I sell goods. And that’s my business function. In order to do that business function, there are a number of things that I need to do internally.

 

Really, as a customer, do I care how many vendor relationships you need in order to have the products in stock that I’m interested in? No. If you don’t have the products, I’m going to go to a competitor. Your business function to me as a consumer is that I use goods and I buy goods from you. The things I care about are what kind of currency you accept in order for me to buy these goods, how easily I enter your establishment to find those goods, and how plentiful your stock is and your availability of those goods. That’s what I care about. That’s your business function, that’s your service, those are your operations.

 

Now, you're a consumer of vendor services because you need to get the goods into the store. So you're a vendor of trucking services, logistic services, wholesalers, manufacturers, right? So the store is a consumer, it’s a service chain, but people are confusing the entire service chain and the flow across the service chain with SOA. No. At the end of the day, you're modeling the retail outlet. It has four core operations, right? Those are the business functions.

 

You want to build the business process, you're going to do it across those four functions for that consumer, which is somebody coming in and buying goods. Who else are you satisfying? The rest of it is all mental-you-know-what.

 

So it’s a modeling of the business and the business function as a service. When I used to teach SOA, I’d say if you can’t think about how you would do it with a pen, paper and a filing cabinet, then you're not in the right place. You should be able to design any business function using those tools. Then you worry about how to automate.

 

Lawson: What has changed for you in terms of how you viewed it before and what you view differently now?
Morgenthal: What I’m seeing is that there is still a large group of people who think they're doing SOA, who in my opinion are not and don’t understand why they're not and I address one of them on your site around the New York State government SOA case study.

 

You're just never going to win these people over. As I wrote on another blog entry on another site, “It’s hip to do SOA even if you're not doing SOA.”

 

If you want to think you're doing it, great. Have a good time. You're not doing SOA. You're never getting the value of SOA. But you tell people that and they get very combative. It’s almost like taking food off their table, because if you're not doing SOA, then what the heck are you doing? It’s a dangerous position that we’ve created where everybody needs to slap SOA on their resume to get a job these days, which is ridiculous. It’s become something of a useless term.

 

But for the people who are doing or are attempting to do SOA and have been doing it for two to three years, have invested some money there, have run against some walls and maybe even had a couple of failures - what I’m noticing in those areas is that they're transforming into some sort of methodology that is helping them to build systems faster.

 

Now, is that SOA? I don’t know. I don’t know that I’d still call what they're doing at the end SOA, but what I find interesting is that they finally got on a path that is leading to better response, being more agile, being more responsive in their own organization, if nothing more, from a systems development perspective - which they could have done with agile architecture and agile development practices if they adopted those and didn’t try to go after this big honking thing called SOA that nobody knows what it is. But they're getting there. Organically they're growing a methodology that fits their particular business, based on these concepts which really, at the end of the day, to them are nothing more than what we learned with distributed object computing back in ’95.

 

But hey, you know, some of us are ahead of the curve.

 

Lawson: What's missing in a lot of these implementations that keeps them from being SOA? I know some companies are just doing Web services. But what else is missing?
Morgenthal: They didn’t map the business boundaries properly. They didn’t map the service boundaries. They focused on utility service. What the heck is a utility service? It’s a software component. There’s no such thing as a utility service unless you're the electric company or the water company.

 

Lawson: Do you mean architecture is what’s missing?
Morgenthal: Understanding of the business is missing. You want to transform a business using SOA, you’ve got to understand and design services that align on the service boundaries. You’ve got to create the service boundaries properly. The service boundary for a retail outlet is on what we discussed earlier. It’s about how do I get into your store, how do I find goods, how do I pay for them. That’s all I care about. I’m a consumer.

 

Think about yourself as a consumer. IT people can’t put themselves in the mind of the consumer. They're only about being the provider and they take that and they screw that up.

 

Lawson: One question I had to sort of help me clarify something is what’s the difference between a business process and a business function? You’ve talked a lot about business function. I feel like I understand when you say that, but I don’t really understand what is meant when people say a business process.
Morgenthal: Well, a process is a series of stages, of steps, in which state is carried across. And that business process may be done within the confines of a single business function or it might require a couple of different business functions - like cross-business functions. So if I’m a store, moving the stuff from the back room out onto the shelves is a process. Moving the stuff from the truck into the storeroom and then identifying when to move from the store room onto the shelf, that’s another process.

 

Lawson: So is it that people are thinking too granular still?
Morgenthal: Yes. Granularity is a big issue with SOA. I think too many people doing SOA really just don’t know how to define service boundaries properly. They don’t understand the granularity issues, they don’t understand architecture.

 

And, like I wrote on your blog about the state of New York, kudos to you for improving your system. There’s nothing wrong with that. They take all the credit in the world for doing that, that’s phenomenal. More people need to do that. Just stop having to label it with SOA. There’s nothing wrong with component-based software to engineering and development. We’ve been doing it for years. It works great.

 

Not everything is a service. If you're not transforming the business into a service paradigm, if you're not thinking about what I do as a business, where are my business functions and where are my boundaries for my business function, you're not doing SOA.

Add a comment Leave a comment on this blog post.
Oct 21, 2009 11:42 AM Doug Brockway Doug Brockway    says:

A solid, practical interview.

 

It occurs to me that instead of positing that "strategy" is the key characteristic of SOA that Morgenthal is stating that boundaries, boundaries of business services, understanding, defining and managing them, is the essence of SOA.

 

Doug Brockway

Oct 21, 2009 12:21 PM user1280963 user1280963    says:

Technology vendors have encouraged people to think SOA is ahout deploying EAI or BPM technologies - big scale. Fundamentally, SOA is about facilitating reuse of some (not necesarily many) remotely accesible services. It has to be underpinned by a catalogue of the services you want to reuse (not the services you happen to have defined using a technology). And from there, success depends above all on active management of the catalogue. The main obstacles lie in the ownership of, management of and budgets for service creation and maintenance, not in technologies. Is there anything else worth saying about SOA?

 

 

Oct 21, 2009 12:30 PM Guest Jérôme Thiery  says:

Interesting to read that more and more peoples confirm that 'SOA' has become another buzz word (thus absolutely mandatory in resume).

 

I think we can also see such definition hijacking with BPM: Experts and organizations consider they are 'BPM' compliant because they model using BPMN (2.0, please) but, meanwhile, they don't integrate in their recommendations key principles such as

- "Process ownership",

- "Continuous Improvement"

- "Activity monitoring (measurement and current/target)"

Here again, simply because there is a great emphasis (not to say excitment) on BPMN, the motivation is tremendously high to model business processes...

which, definitely, supports more effective changes...

and which has been advocated for many years (even before BPMN. Ex: Business Use Cases).

 

And, by the way, my life as consultant has suddenly and significantly been improved the day I pinpointed that statement.

 

Then, the new challenge for BPM (resp. SOA) advocates is to ensure that executives' expectations are set properly. "You shouldn't believe you'll get the announced benefits of being 'BPM compliant' (resp. SOA compliant) simply thanks to BPMN modeling (resp. designing with 'distributed object' approach )". Luckily, the SOA/BPMN combative experts you talking about and the executives are usually different peoples with different objectives.

 

And that may be the subject of another posting "BPM from different perspectives"...

Oct 21, 2009 10:29 PM Guest Simon Tuohey  says:

I still believe there is value in clarifying what people think they mean when they use the term "SOA". It helps get past the communications barrier of using the same term to do mean different things - often there are quite different problems in the minds of different SOA-sayers.

 

And reminding people that SOA is a style or approach for doing architecture is often helpful, but the question that should also be asked is "architecture of what"? I like the Open Group's definition of architecture, which roughly paraphrased is "a description of the components of a system and their relationships to each other, along with guidance for change over time".

 

I think people are generally trying to solve three quite different sorts of problems with SOA, and much confusion comes from not clarifying in advance which of the three is the focus of concern:

 

1) The "SOA application" view: how can we understand and build a complex application as a set of modular components potentially implemented across diverse technologies, with well defined interfaces that encapsulate change effects and enable component reuse?

 

This is closely aligned to the long-standing concerns of designing complex software systems, especially distributed systems. The majority of SOA "developers" I have met think mainly at this level (or lower ;). The scope of concern is at the software application architecture level.

 

2) The "SOA solution" view: how can we conceive of a complex business solution that is distributed in nature and composed from behaviour exposed through "service interfaces" by underlying "applications", whether custom developed or commercial product? The scope of concern is at the business solution/project level; the goal is to enable the outcomes a particular project has been established to deliver. While there may also be goals of delivering reusable services and so on, they are a side-benefit, not the core intent.

 

3) The "Enterprise SOA" view: how do we proceed from an understanding of what the business needs to do (aka business services, activities, capabilities etc.) and structure our IT systems to provide composable "units of work" that correspond to that view, providing reuse but more importantly enabling quicker time to deliver new and/or changes to current IT capabilities corresponding to changes in business needs. I find very few people whose job has them operating at this level; it is more akin to the intent of Enterprise Architecture as found in TOGAF. This is also the view that takes the longest to realise but can potentially deliver the greatest business benefits.

 

Anyone holding one of these quite different perspectives can legitimately claim to be thinking - or doing - SOA. But each is trying to solve different problems, and may have trouble communicating effectively with someone operating from a different view.

 

I find most corporates "doing SOA" are operating more from view (2), while most software/application developers are hanging around in view (1) (where RESTful services seem to make a lot more sense, by the way).

 

My fervent hope is that over time I will meet more and more people operating from view (3), but I'm not holding my breath.

Oct 22, 2009 5:13 AM user1280963 user1280963    says in response to Simon Tuohey:

Sorry Simon. that definition is rubbish. It is a general definition of architecture, or even just 'modular design' as it was known in the 1970s.

 

If SOA means anything, it must be a specific kind of architecture, based on reuse of services iwhose contracts are define in a service catalogue. Further, those services should be remotely accessible.

 

The principal SOA design concerns can be nearly summarised in a paragraph. All the rest is mumbo jumbo.

Oct 22, 2009 7:23 AM Guest Simon Tuohey  says in response to user1280963:

Hello user1280963, if that's your real name:

 

You may observe I didn't try to define SOA. I did attempt to outline three very different perspectives I have encountered in various people (myself included at times) who have simply assumed that by saying "SOA" or something similar they have established a shared context for understanding. My point is that if they were talking to someone holding a different perspective then they hadn't.

 

If you're interested in a dialogue, I invite you to outline the types of concerns you feel are being addressed by "SOA", and the contexts in which they apply. And if you're not interested, or you think "the rest is mumbo jumbo", then I suggest you're assuming that the perspective you hold is the only one that applies, which may not be true.

 

If you're at all interested in the role of context in communications, and the often poor understanding of human communications shown by technologists, then you might like to take a look at the book "Goodbye Descartes" by Keith Devlin. Or not.

 

Cheers, Simon.

Oct 22, 2009 8:13 AM user1280963 user1280963    says in response to Simon Tuohey:

I am indeed very interested in having precise and widely agreed meanings for the many terms IT people bandy about so loosely. And in those meanings being technology independent wherever possible.

 

I find the BCS ISEB reference model for enterprise and solution architecture helpful in this regard (not perfect of course).

 

Where people do try to define SOA in a technology independent way - they usually end up with a definition so generic that it could as well be a definition of (say) CBD, Modular Design, or the Distributed Objects paradigm.

 

The Open Group, in its efforts to embrace all. has a tendency to define things in ways that are too widely interpretable for my taste.

 

FYI, I just updated my "SOA rant" at http://avancier.co.uk

Oct 26, 2009 2:30 PM Guest Simon Tuohey  says in response to user1280963:

Hello "Mr Avancier", or is it Graham?, aka user1280963:

 

In your "SOA Rant" at http://grahamberrisford.com/SOA%20rant.htm

titled "SOA: What is the role of a Service-Oriented Architect?"

your directly misquote me from above, saying:

 

Taking a technology-independent stance, some define Service Oriented Architecture along these lines "a description of the components of a system and their relationships to each other, along with guidance for change over time.”

 

I repeat - I DID NOT attempt to define SOA, I was pointing out that SOA is a style of architecture, and a useful definition of architecture is... and so on.

 

For what it's worth I think you have useful points to make. Surely you can make them without using me as your strawman?

 

Regards, Simon.

Oct 31, 2009 6:32 AM user1455379 user1455379    says:

OK, many people don't understand architecture. The vast majority of managers I meet in the business don't understand architecture and why should they? Business managers think in different paradigms, not in SOA, BPM or EA, but in Six Sigma and BSC. The questions should be:

1. Is the business asking for a SOA; did they ever ask for a SOA?

2. If so, how could we align these different paradigms?

Oct 31, 2009 9:34 AM user1280963 user1280963    says in response to user1455379:

The business is surely not asking for SOA, EDA, MOA....

 

The only people who need to distinguish these from each other (and from any other flavour of architecture based on components that send messages to each other) are architects who need to choose between design options, and teachers and students of architecture.

 

Simon - I didn't suggest you had attempted to define SOA, or mention your name. But I have updated my "SOA rant" to distance it even further from the Open Group source you mentioned, and I hope that addresses your concern.

 

http://avancier.co.uk

 

 

 

 

 

Collaboration Without Boundaries: Enabling Innovation, Changing the Workplace

In today's competitive environment, sharing information and expertise can be critical in driving organizational success. To foster innovation, it's important to create collaboration communities of employees, as well as customers and partners "outside the firewall." Read this white paper to learn how to tap into both internal and external knowledge.

Disaster Recovery & Business Continuity Template Pack

Prepare your company for any type of disaster you can envision and those you cannot. Immediately download this comprehensive set of templates and tools for documenting your business contingency plans.

Learn more >

The IT Service Catalog Management Toolkit

Bridge the IT-business gap once and for all! A well documented IT services catalog is the conduit for IT services to the rest of the company.

Learn more >