"We didn't start the fire ... it was always burning since the world's been turning ..." [Billy Joel 1989]. Is SOA the "Same Old Architecture?" or is it "Simply Over Ambitious?" Let's apply SOA's arsenal:: XML, BPM, Services, SOAP, Web Services - to the real world and find out. Let's put out some fires.

Main | September 2006 »

August 29, 2006

Are standards the answer to Event driven SOA?

Recent trends in EAI practices indicate the coming of mainstream of event driven architectures.

However, the complementary trend of SOA is still to recognize the value of events and event driven architectures for generating scaleable SOAs. Event driven SOAs are occupying the mindshare of a lot of SOA practitioners, and vendors like TIBCO etc.

 

However the catalyst to coming of event driven SOA might be in form of standards?

Standards like WS-Eventing and WS-notification are on the horizon and may take a few years to become mainstream. These standards might be the key to the unfolding of event driven SOAs on a larger scale.

-

Srinivas Padmanabhuni

-Contribute a cutting edge thought or research idea to SOPOSE'06, the first international workshop on service oriented and process oriented software engineering, details at http://www.dsl.uow.edu.au/events/sopose06 

August 16, 2006

Hype seems to be over, reality sinking in...!!

SOA is not just about software architecture or technology 

A recent survey by Ovum of 333 U.S. IT decision makers has formally announced what was obvious all this while. One in five surveyed have said that moving to SOA has created unexpected complexities.

To me, the root cause seems not to be with SOA itself but with not expecting the complexities that come with its uncontrolled adoption. There are hundreds of definitions for SOA, the tricky part is that each one of these is correct in its own context. For example, product companies are promoting a more product centric definition of SOA, which will help them sell their products. However, most of these definitions miss out on the big picture. Its like "six blind men and the elephant". What is essentially missed out is that SOA is not a technology but a concept, that its an enterprise software architectural style, its a "disruptive" way of organizing and managing business with support from agile software services.

Having interacted with IT decision makers of many fortune 500 companies, my own observation is that many organizations treat SOA as a new name for Enterprise Application Integration  (and for some, its just Web services based integration). They fail to visualize the need for a different Governance model from that of traditional IT governance, they don't foresee the need for re-defining their internal organization structure, they fail to spot the opportunities to improve and automate their business processes. 

Joe McKendrick opines on his blog that ITIL will help in achieving better SOA. It might be true... but I feel it  addresses only a part of the problem. anyway I would like to keep this thread aside for the time being for a separate discussion sometime later. In summary, there is an agreement emerging in the industry that SOA is not just software or technology but also includes management (be it processes or people aspect)

In my view, a more appropriate definition for SOA is something like this...

SOA is an architectural strategy that helps achieve tighter Business-IT alignment by taking a three dimensional perspective of the enterprise, Viz. technology, people and processes. The key aspect of SOA is to make business functionality available as a set of well governed, standards based, loosely coupled services and processes defined in a flexible and agile manner

I am not surprised with the results of this survey at all...

- Shireesh Jayashetty

August 14, 2006

SOA is not the same as Web services

SOA and Web services are not the same

 

The industry has witnessed enough hype on SOA. A common source of confusion in architects mind is whether Web services are same as SOA?

 

While web services have evolved as a technology for distributed computing based on standardization of different imperatives involved in inter application communications (e.g. standard

for data, standard for messages being exchanged, standard for describing of the application functionality etc.). Thus Web services based on these core set of standards including XML Schema, SOAP, WSDL are merely yet another mechanism for distributed applications to communicate. It is vital to understand this.

 

SOA on the other hand is an architectural paradigm which is based on a set of principles for any software functionality provider to interact with potential users of the software. In particular SOA principles advocate a loosely coupled mechanism for software providers to interact with other requestors via a strict contract which is indendepent of the requestor. Given this kind of goal of SOA, a key question is whether SOA is realizable only by Web services?

 

Key thing to understand is Web services do bring a high level of standardization and the interoperability thereupon to enable different providers to interact, however it is not necessary to use Web services to achieve SOA always. e.g. in a pure J2EE environment a Web service would be an overkill.

 

Likewise it is possible to use Web services not necessarily in a SOA based design, by using tight coupling as in RPC kind of invocations. Hence it is possible to do Web services without SOA principles.

-

 

The word 'enterprise'' - industry’s confusion, a blogger’s bliss

 

When an idea of ‘ the Infosys Blog for SOA’ was proposed, obviously I was very much excited.  Then, came the million dollar question: where do I start a discussion on SOA or what becomes an interesting or valuable discussion in today’s ‘Service Oriented IT Universe’?
 

While I was contemplating on the above question privately, I had a discussion with one of our potential clients that indeed provided the answer to my own question.
 

The question: The context of discussion goes like this: after listening to our hour long presentation on SOA and Infosys SOA service offering, one of the participants asked “The presentation is quite interesting; you have a structured and insightful approach in realizing SOA. But, tell me; here, you are suggesting to execute activities and to create artifacts at an Enterprise level. What do you mean by 'Enterprise'? Is the entire group [of companies]? Is it the entire company? Is it the whole ecosystem including customers and partners of one company?”    

 

The bigger question: It quickly came to my mind that I did hear a similar question may be one week back, for the n-1 th time. After promptly responding to the participant’s query, I noted an action item for me to take broader look around this question; also, to make this as the first topic for the SOA discussion.

Why this question? In today’s IT industry, each and every stakeholder has his/her own understanding and view point on SOA. These stakeholders include business managers to IT managers, product vendors to system integrators, program managers to programmers, technology analysts to Wall-Streeters.
 
Under this situation, the organization entrusts a team of SOA practitioners, either external consultants and/or own employees, in answering the first question “SOA-what's in it for us?”. After going through some discussions/activities, then encountering numerous obstacles, often teams realize that the question is quite difficult to answer. Why it is so difficult? Because the difficulty lies in the question itself; more precisely, nobody has defined the objective personal pronoun i.e. us. 
 

The answer: In a SOA context, ‘us’ is a combination of people, processes and technology. They come together to provide the ‘real services’ [offered by the organization to its customers]. Any answer [=SOA Strategy], without the sufficient emphasis on each of these constituents is destined to face only challenges.

Depending on the organizational drivers [aspirations, opportunities, pain points, threats…], organization need to prioritize [and reprioritize] the ‘real services’ that need to have the qualities of Service Orientation. The definition of ‘us’ [=people, processes, technology] around these ‘real services’ becomes the locus (location of focus) of a SOA for the defined time frame; and also becomes the definition of ‘Enterprise’ for a SOA initiative.     
 
The importance of the question/answer:  Once the above definition is created, the terms such as a) technology needs for SOA b) communication strategy for SOA c) Enterprise SOA adoption Roadmap d) Process Services in SOA and so on, becomes quite quantifiable and controllable. And on the other hand, any initiative without the definition of ‘enterprise’ is a natural candidate for a premature demise.

-Binooj Purayath

August 11, 2006

The SOA and Web 2.0 Debate...

I had posted an older version of this write-up on another blog… Just consolidating all SOA related posts in one place… By the way, thanks to Infosys for providing me this platform.

And here I go…


In a recent conversation with my colleagues, this topic came up… there were two schools of thought – one arguing that SOA and Web 2.0 are one and the same and the other convinced that these two are completely different animals. Well in my opinion both opinions are correct… and wrong. Here is why I think so…


First let me establish my definition of SOA and Web 2.0. And then get into the debate of comparing these two concepts.


In simple language SOA is an architectural style that preaches making available enterprise information to interested parties, within and outside the enterprise, seamlessly and in real-time (a more detailed viewpoint is available here).
 

Web 2.0, on the other hand, is a concept that preaches seamless collaboration among end users through technology, while retaining rich user experience, without having to change the natural human behavior due to technology workarounds.

Let me also define couple of terms I am going to use in the subsequent paragraphs.


Rich Business Experience: IT systems of an enterprise can be termed as providing Rich Business Experience if they are closely aligned with business needs. In other words, the IT systems are extremely flexible and are capable of quickly adopting to changes, they cost less to maintain and enhance, all enterprise data is accessible in real-time aiding better decision making. All these leading to improved customer satisfaction thereby help business to grow.


Rich User Experience: An IT application can be termed as providing Rich User Experience if it is intuitive for the users and its behavior closely mimics natural human behavior.
As is evident, SOA is more attuned to addressing the needs of an enterprise. It focuses on providing rich business experience and not necessarily so much on providing rich user experience. SOA primarily talks about organizing and managing internal structure of the software and data in such a way that the rich business experience is not compromised despite of constantly changing business needs. On the other hand Web 2.0 focuses on providing rich user experience without bothering itself with the issues like manageability of the internal structure of the software.
So what is the relationship between SOA and Web 2.0? SOA and Web 2.0 are very closely linked to each other in some ways and are miles apart in some other ways.
 
The linkage: While SOA is primarily focused on improving business experience, it is true that business are run by human beings and hence improving user experience is an essential part of improving the overall business experience. Web 2.0 is very well positioned to extend the improvement in experience to the presentation layer by take advantage of flexibility of underlying software due to SOA.
SOA looks at improvements in experience from inside out (from software to human) while Web 2.0 looks at improvements from outside in (human to software)


The separation: Not all business applications need user interaction. In fact for core business applications, the less human intervention, the better (more automated business). Businesses are constantly on the look out for cutting costs... including data processing costs. And it costs a lot less to process data when it is done as close to the processor as possible (meaning without human intervention). This will probably remain true for a foreseeable future irrespective of how cheaper the processing power becomes, unless it becomes available absolutely free.

Although this number could be different for some businesses (such as e-businesses – eBay, Amazon), for most other businesses, more than 80% of IT applications form core business applications. Hence Web 2.0 probably has space for contribution in the remaining 20% applications only which are non-core in nature...

- Shireesh Jayashetty