Jul 27, 2010

Surge of SOA Suites?




IBM_SOA_Maturity A month ago I wrote how suddenly I’m seeing a surge of interest in SOA Governance.  In an interesting follow up to that article, I found myself sitting in a vendor sales presentation for a full SOA suite of tools to a potential customer.  And this customer asked a very good question…

“We haven’t seen a lot of SOA suite sales in our region (and therefore haven’t seen many sales of your product). Why not?”

While many of the Fortune 500 and leading edge companies approached SOA with significant investment and (somewhat) serious commitment, others did not.

early_majority

The innovators and early adopters have been “doing SOA” for 6-10 years.  Two things forced them into major vendor ESB products and SOA suites from the start.  First, these were the only tools (operating at an enterprise level) early on the market and they provided EAI and protocol + technology bridging that settled them into a solid enterprise IT niche.  Second, the extending of all the various development technologies into the web service space hadn’t happened yet – therefore the major tools were the only way to “do SOA”.

The majority of adopters (from the charge above) have had other options.  Various containers and servers extended to provide parts of SOA functionality.  EAI tools and gateway tools that provide parts of ESB functionality.  A variety of small vendor SOA tools and even open source projects to fill in function needs.

As such, before investing hundreds of thousands of dollars (or more!) in a major SOA suite and major implementation effort, most IT shops (particularly where I am located, a small country) have started with small tools.  These departmental sized tools have allowed them to get their feet wet with SOA without the large investment risk of a major suite and associated implementation project.

Suddenly though, as with my article on Governance, many of these IT shops are finding they’re hitting the capacity and capability limits of these departmental tools.  Having been “doing SOA” for 2-4 years and hitting the 100-300 major service range, the more limited SOA tools hit reliability and performance problems, lack capabilities for managing the library of services (at design time or, more importantly in this case, at runtime), don’t do much about security, are harder to use than the visual design and scripting oriented SOA suite tools, and don’t well integrate out into governance tools or BPM tools.

Net net, the value proposition of a SOA suite becomes apparent, and the fears of a high investment in an unknown area no longer exist as they’re already familiar with some level of SOA and looking to move up in SOA maturity (to solve developing SOA management problems and to begin to realize higher level SOA benefits).

This is good news for Software AG, IBM, Oracle, and Tibco.  But the window of opportunity is closing for Microsoft, HP, Fujitsu, Alcatel-Lucent, Progress, and others.  Niche product vendors will be dependent on how well their specialty solutions play with the major suites (examples: Layer 7, Intel SOA Expressway, Weblayers, iWay).  The jury is still out on whether the growing open source SOA suite Mule make an impact.

Jul 19, 2010

Microsoft Demonstrates Component Thinking




Loraine Lawson over at the IT Business Edge Integration blog discusses Microsoft’s entry into the MDM space in her most recent post.  She notes that:

“I was also intrigued to learn that the whole thing is API-based. Why does that matter? As Hayler explains, it allows ISVs to build apps on top of MDS. That's a good thing, since the description of MDS sounds pretty bare-bones at this point. The idea seems to be that ISVs will be able to build on better user interfaces and create support for things like version comparison, which, oddly, it does not provide out of the box.”

I was surprised at this bit of thinking.  It’s always nice when a vendor product provides ways of extending it’s functionality.  It’s occasionally useful for enterprise IT shops, and often useful for niche vendor’s or ISV’s looking for opportunities to extend a major vendor’s product(s).  But that’s some old school thinking.

Since the early days of COM (Microsoft’s Common Object Model), followed by COM+ and ActiveX, Microsoft has been exposing component level capabilities of their products.  Thus, not only could their products be used for their primary purpose, but they could be leveraged to provide modular capabilities to other applications.

Take a look here…  This is a presentation slide showing the object palette of the BPM tool from Acentn, Agilepoint:

image

It’s a little hard to see (click for larger image), but notice the Microsoft exposed functionality – Exchange server can be used to create meetings, appointments, and read them later (calendar engine), Excel can be used to read data, write data, and perform calculations (calculation engine), Active Directory can be directly accessed to manage a user base (user management engine), and Sharepoint + Infopath can be access to generate a variety of automated portal functions.  Even Word can be used as a print engine.

So when Microsoft says their MDM tool is exposing it’s functionality via an API layer (SOA based I hope), my thought is how I’ll be able to orchestrate that functionality into business solutions I’m architecting, and how well they’ll fit various BPM processes being created.

Extending the application is nice, decomposing the application into function modules (with an easy to access open standards SOAP API) is Service Oriented Architecture.  In this area Microsoft’s thinking is way ahead of the competition.

Jul 13, 2010

Explaining What Is a Business Service




“What’s a Service?” my client asked.  Not what’s the technology of a service.  Rather this client is starting a real Service Oriented Architecture project.  Real meaning creating a new ‘application’ by creating a series of services that model granular business functions, and orchestrating those business services into business process workflows (both by BPM and by composite services) – layering on a User Interface and presto, it’s a composed application.

But they asked “what’s a service?”  More specifically, what level of business functionality should become a service?  A surprisingly tough question to answer , and when starting with an existing environment the answer usually is “we work with whatever level the existing applications are exposing”.  Not as bad as it sounds as the existing “transactions” usually have developed over time to model that business sweet-spot – preventing the need for the architects to actually address this question.

But when starting from scratch?  Many industry analysts and SOA architects have written basically “a service – we know it when we see it”.  That’s a remarkably distasteful answer when speaking to a group of IT analysts or architects.

To answer this question I created the presentation below.  This was round 2 for this presentation, the first edition was a complete failure (and was mostly developed by presenting language from The Open Group’s TOGAF-9).  Initially I thought the failure was due to a language barrier – I presented this to a team of software architects in Israel, and while they are all fluent in English it’s not their first language.  And being the presentation was heavily language based, the nuances can be difficult to grasp.

But I realized it wasn’t that.  Rather, having to parse a paragraph of architecture language to try to grasp what needs to develop into a straightforward concept (within the particular business concept) just doesn’t work.  So this version of the presentation attempts to simply and graphically work into the concept – how much business functionality comprises a service?

This is an original presentation, though I borrowed one small graphic from TOGAF-9’s SOA pages, and garnered some foundational ideas from a post on the same topic at the Inside Architecture blog by Nick Malik.

Jul 5, 2010

What Level of Detail for a Service?




What should be a service?  Not what API should be exposed or what function of the application should be exposed.  At the higher levels of SOA maturity when we actually begin to architect pieces of business functionality as services, what should a service be?  From the analysis perspective, from the business perspective, and that ultimately becomes the actual IT modules and blocks of code.

I had to give a presentation on that exact question.  It was surprisingly challenging, as almost every situation I’ve been in finds either organizations exposing application level functional API’s as services – and sometimes combining/composing those into wider services or enterprise services – or wrapping various blocks of IT functionality to offer more business flexibility (in theory from the IT perspective), as services.

Suddenly someone was asking, “ok, assuming we’re going to build a real Service Oriented system from scratch, at what level of granularity do we plan the services?”  Good question!

A little architecture research led me to create this presentation, which is mostly a wholesale rip-off from an architecture website (credit is given in the presentation).  However, while I believe this presentation has good conceptual information, it was a FAILURE in smoothly getting the ideas across.

I welcome feedback on how to make it better and/or other sources for these concepts.

Blog Widget by LinkWithin

Search