Tuesday, July 07, 2009

Issues with SOA Adoption

Here is my attempt to identify some of the reasons for failure to adopt SOA. This time the focus is on not having a holistic SOA enabling infrastructure.

Many large enterprises try to reduce vendor-lock by not having a single provider for their entire SOA development/ deployment stack. This philosophy works great from a risk management perspective. However, this risk management strategy directly competes with the “speed to market” gains promised by SOA.

1. Not having a unified platform that facilitates seamless integration across the service orchestration layer, the application layer, the data layer etc. leads to long system integration and debugging cycles
2. Not having a centralized facility for the end to end management and monitoring of services can cause long outages and hampers the ability to track information/ transactions flowing across the various layers of the service architecture (i.e. service orchestration layer, the application layer/ business logic layer, the data layer etc.)
3. Not having a holistic SOA governance suite that enable discovery of existing service assets at design time and that provides service utilization information at runtime causes service proliferation issues

The following blog by my colleague and co-blogger Yogish prompted me to address this issue as it speaks to Oracle/ BEA integration strategy two big names in the space of SOA infrastructure.

Analysis on Oracle’s BEA integration strategy

In lieu of the one year anniversary of Yogish’ blog I am being optimistic in assuming that this acquisition will lead to the creation of a holistic SOA platform that encompasses service interactions at design time and runtime. I am also hopeful that a single SOA platform will provide seamless integration across various layers of the architecture as in the service orchestration/ mediation layer, the business logic/ application logic layer and the data layer. In addition, my hope is that a stronger player such as Oracle (following the BEA acquisition) would start pushing for “SOA standards” and start holding other SOA players accountable for staying compliant with these (in much the same way that the other vendors would now be putitng more pressure on a stronger SOA contender such as Oracle (following the BEA acquisition) to abide by these same standards. This "peer pressure" will hopefully make interoperability an achievable goal.

In the event Oracle is able to pull together a holistic SOA stack then here are some advantages for its' customers -

1. Having one vendor support the end to end stack enables a customer to find the right support whether it be from the perspective of SOA product suite integration or from the perspective of availability of the right tooling to enable and enterprise to cut down its' service lifecycle timeline (service design, service deployment) and improve its' time to market.
2. Having a player such as Oracle that has traditionally focused on scalability, reliability and end to end monitorability will provide customers with a SOA platform that is robust enough to meet the stringent SLAs at runtime while making service availability more predictable and less of a guess work at runtime
3. Having one vendor provide a holistic service governance suite will allow an enterprise to reuse its enterprise service assets (if authored appropriately) thus enabling the business to compose existing services to offer new capabilities.

In conclusion, I want to state that I do not align with Oracle or any other SOA player but merely want to comment on issues that have hampered SOA adoption and how these might be addressed. I believe that a unified SOA infrastructure platform will be a key capability needed to truly realize the full potential of SOA.

Thanks for listening.
surekha -

Sunday, May 17, 2009

Role of Events in taking Proactive Action

In exploring the role of events is it possible to achieve predictive analysis to provide rapid response and take proactive action?

One possibility is by tracking how humans handle event exceptions and locking their processing logic and turning this into business logic. This allows one to perform event correlations and to automate exception handling. Here event handling can take the form of rapid response or proactive action. Further, analysis of precursor events (i.e. events that occurred just prior to the exception) could lead to predictive alerts to be raised to circumvent exception situations and thus enable proactive actions to be taken.

If sensors and RF ID technology are the first steps to event capturing and event processing then addition of event analysis and event composition (Complex Event Processing style) is the next step in the evolution with exception based learning and proactive action based event emission may be considered a more advanced step in the process of EDA.

Many transportation companies and carriers and just in time supply chain providers could adopt EDA for rapid response or even proactive action. For example, combining weather based events, traffic flow patterns etc can be used to insure quality of the goods being transported to minimize wastage in transport. Furthermore, containers that transport organic food that does not use preservatives could use special types of "sensors" that detect the emission of gases and chemicals within the shipping container chambers to assess the freshness and the ripeness of the produce. If these events indicate rapid ripening proactive action based events can be sent to these shipping containers to lower temperature etc. to retain the freshness of the produce for transportation with minimum damage. (This example is only illustrative as I am not a expert on this subject.)

It must be noted that traffic and weather based events are combined with information about product preservation rules, correlated and processed to preserve sensitive consumer products to safely and preserve the high quality after this type of behavior has been observed in the human actor and this exception processing logic has been codified for future automation. EDA in this case is utilized for the purpose of tracking human exception processing and then automating this behavior albeit all the while depending on incoming current state events and outgoing proactive actionable events.

It seems very much a plausible use of EDA and so I am curious how many of you are using EDA for solving similar use cases.

As always your input is very valuable.
surekha -

Monday, March 02, 2009

Missing-link between Business Architecture and Service Oriented Architecture (SOA)!!!

Before we embark on the effort of establishing a link between Business Architecture and Service Oriented Architecture (SOA) here is an attempt at creating a loose working definition for each.

SOA is an architectural paradigm that allows one to model, build and measure reusable business components that can be flexibly assembled to offer a business service.

Business Architecture is an architecture style that structures the accountability over the most important business activities (for instance production, distribution, marketing, etc।) and/or the economic activities (for instance manufacturing, assembly, transport, wholesale, etc.) into domains.

To begin with here are a few key SOA principals that all apply to the realm of Business Architecture. Principals of loose coupling, abstraction, reuse and interoperability (of both messages and the operations) all of which facilitate composition of more course grained business services.

So what does a Business Architecture effort entail and how is SOA relevant to the discipline of Business Architecture? Business Architecture should focus on broad reusable business components that can be turned into or wrapped into reusable service components and/or business services. The term reuse has received a bad wrap but when looked at from the lens of being able to offer enterprise wide consistency and cross-business area interoperability one begins to realize that this very attribute of “reuse” has the potential to deliver speed to market and cost reduction both of which are touted to be powerful selling points for SOA. From this perspective Business Architecture can be seen as a precursor to SOA.

Business Architecture should be designed to help align the right business operating model (low cost services provider or innovation oriented service provider or niche services provider or a service provider that offers low cost processing to meet regulatory compliance needs etc.) with the value chains and the component business processes. Following this effort one would need to study how to alter business activities and those value chains that are directly impacted by the changing business needs (which are external influences to the operating environment). Without undertaking this study it is not possible to identify "appropriate" business strategies that fit the underlying operating model chosen by the business. This effort has to precede SOA based service definition work as this thought process enables rationalization of the current state “service worthy assets” and helps in the identification of business service interface for these assets.

Given the above description of the discipline of Business Architecture one would logically arrive at the conclusion that for the concept of Business Architecture to truly take root in any organization it is imperative that business strategy be considered the "driver" of the Business Architecture effort(s). In addition one will notice that package solutions and infrastructure / frameworks can only be treated as an enabler for the identification of business optimization opportunities (within the value chains and their component business processes) but are definitely not the drivers of Business Architecture work or SOA work. There are some other considerations as well such as the role of a Business Architect, the executive sponsorship for Business Architecture etc.

The role of a Business Architect is a critical aspect of Business Architecture to succeed. Since the “business aspect” of Business Architecture is important finding someone with the right type of business knowledge to fulfill the role of Business Architect would be a must have. Also, having someone with the ability to apply the philosophy of architectural abstractions to the business domain is important. Fortunately for us architects this is great news as some of the lessons learnt from SOA can now be easily translated to the realm of Business Architecture long as we have the right level of business expertise as well.

Having said that, Business Architects will need to be cognizant of the fact that they have to strike a fine balance between their technical and business skills. In addition, people in this role have to be careful to not engage in prematurely promoting the principal of business process abstraction (a core architectural principle), without first establishing the right foundation for introduction of this concept. The reason is that the Lines of Business owners possess a very keen sense of pride in being “unique” and abstractions often lead to the erosion of or removal of “unique” customizations where ever these interfere with the larger scale intent of the business process/ value chain.

Business Architects need to have enough business savvy to engage with their business partners on an equal footing. They have to first express the nuances of the various problem domains before they start the process of abstracting and drawing parallels across the business processes owned by the multiple Lines of Business. Even during this phase Business Architects have to be able to explain these abstractions in business syntax and show how the competitive advantage “uniqueness” can still be incorporated without loosing operational efficiency. To be able to articulate the concept in business lingo and to tie this to financial impact by walking through the underlying analysis is the only way to get business buy-in given that these are the metrics up on which Lines of Business owners are measured. If not done by garnering the right partnerships the resultant enterprise-wide operational efficiency or competitive advantage benefits would never be realized.

If one cannot find this Business Architect, a cross-functional team with complimentary skills may be able to pull this off. In order for such a cross-functional team to be able to execute effectively on any large scale Business Architectural/ SOA effort it must have the support of a prominent executive sponsor. The executive sponsor has to be able to articulate business strategies, and influence key representatives of the Lines of Business to collaborate with a group such as the Enterprise Architecture Group. Executive support of such a team enables it to effectively analyze and abstract broad Business Architectural constructs and can help define and drive business solutions to implement business strategies that align with the chosen operating model of the organization.

An oft asked question on executive sponsorship is whether it is the CIO or the CEO and the influence that technology has on such an effort. This depends on the type of organization, the charisma of the CIO and the business acumen of the CIO vs. the technical acumen of the CEO. Also, key to this decision is whether technology is a business driver for this organization or is at least a key component for driving the operating margins.

Finally, for Business Architecture, the related SOA work and the business solutions to be considered part of a sustainable model this body of work has to deliver tangible and measurable benefits. The measures and the value proposition will have to be agreed upon at the outset of embarking on this path/ journey. In addition this multi-step journey has to be associated with a set of well-understood and well-published multi-year target business deliverables.

For some additional information on Business Architecture please review content on related blogs:
Business Architecture – Process Architecture and Information Architecture!
Key Best Practices - What is Service Orientation?

Thanks in advance for your feedback.
Surekha -

Thursday, February 19, 2009

Economy and IT

All the bad news about economic downturn got me thinking that there are a few parallels to be drawn between the cause and effect of current economic situation and IT. Just like American consumer, we have to start thinking about making some adjustments that will be required in future. Lets look at some of the parallels first:

Exotic instruments – One of the reasons financial system came crashing down was the invention of exotic financial instruments such as Collateralized Debt Obligation (CDO), Credit Default Swap (CDS) etc. These instruments were not well understood by majority of people that were peddling it or those that bought into it. We in IT world have been living in alphabet soup of our own – EAI, AI, SOA, BPM, CEP etc. While some of these acronyms have legitimate meaning, most are there to sell products or consulting services. In financial world these instruments have led to illusion of profit thus fat bonuses for undeserving people. In IT world this has also led to fat profits or career advancement for undeserving people

Sub-Prime Mortgages – IT equivalent of sub prime mortgages is the foolish investments we have made over time in technologies that have failed to pay back (they are the financial world's equivalent of "Upside Down" mortgages). Now, any new technology investment is risky and we should not be totally risk averse otherwise we will miss the opportunity to take advantage of transformative technologies such as the Internet, but at the same time we in IT tend to over hype any thing new. "If only I go ahead and buy a new CRM package, I will have better customer relationship." I am sure every organization has a number of expensive software products that have either been abandoned or are under utilized.

Next time I will talk about the adjustments. Anyone here with me for a “BAILOUT”?

Ashok Kumar

Monday, February 09, 2009

SOA is not.....

Looks like there is a contant need to educate the industry on SOA and this time I shall take a stab at what SOA is not....

  1. SOA is not about technology
  2. Web Services is not SOA
  3. SOA is not dead - it has the same symptoms as global warming (too much pollution in the air)
  4. SOA is not defined as "A camel is a horse desinged by a committee"
  5. It is not a case of Chicken (Business Architecture) and the egg (SOA)
  6. SOA is not entirely about reuse
  7. SOA is not expensive - it follows Archimede's Priciples :)
  8. SOA is not a product or a platform
  9. SOA is not about registry & repository
  10. SOA does not start with a big bang

Just my thoughts and please do feel free to drop me line with your comments and/or feedback.

Yogish

Monday, January 26, 2009

Thoughts on Finding Value in BPM/Workflow Technology

I found an interesting entry on my colleague Todd Biske's blog Finding Value in BPM/Workflow Technology.

Here are some additional thoughts on how the value proposition for the BPM and Work Flow Management tools could be taken to the next level.
1) Ability to incorporate "Rules" or a "Rules Engine Component" into a business process step or a work flow task would be a great addition to these BPM/ Work Flow Engines. These rules can be encoded best practices or they can be regulatory in nature or business algorithms that may be volatile while the process flow or the work flow may not be so.

2) Ability to perform impact analysis for any process flow change prior to releasing the "new process".

3) Availability of analytical tools that could suggest optimization opportunities that could make process improvement suggestions such as the following
a) how switching the steps in the process may benefit the overall process flow
b) how metrics show that there is a ton of waiting in a step that could be made optional based on some criteria
c) how analytics could drive other optimizations such as making suggestions for automation of an information gathering step

4) Ability to subscribe to regulatory bodies that govern the outcome of a particular step of the process flow.

5) Ability to create a business process template for oft used processes within an industry vertical that allow standardization in the overall flow while catering for customizations and competitive advantage optimizations in particular steps of the flow.


Best Regards!!
- surekha,

Saturday, January 24, 2009

Have you heard for Ahmedabad? If not - you should

Ahmedabad is the largest city in the state of Gujarat (India) and is a few hundred miles north of Mumbai. This is also the city where Gandhi had his ashram where he start the non-violent movement for freedom from the British rule.

It is very unlikely that you have heard about this city, other than maybe seen it in the Gandhi movie not knowing the name of the City. Based on my recent trip there earlier this year I believe that it has the potential of becoming one of the major International cities in India .

Following is my reasoning:
  • The state of Gujarat was hit by a major earthquake in 2001 which resulted in thousands of death and substantial damage to the infrastructure. From this tragedy rose an opportunity (and which I sincerely hope we repeat the feet to overcome the current financial crisis)


  • The state and the city rebuilt all the major roads include some highways that are mostly 6 lanes wide (OK the extreme two are now used for parking). Even though there is traffic - it keeps moving and one can go from one end of the city to the other without any major traffic blocks (unlike the other major cities)

  • In the late 80's early 90's the pollution was horrible, especially at the center of the city where they had the highest level of pollution of any of the cities in India. Today they have provided incentives where majority of the auto rickshaws have switched to CNG (see picture below).

  • The city is the banks of river Sabarmati and they have now embarked on ambitious multi year project (SRFDCL) to develop the riverfront on both the banks of the river from one end of the city to the other.

  • Even though the traffic is OK now, in order to cater to the growth the city has embarked on one more project of developing a Rapid Transport System (BRTS). Instead of developing a city metro/rail system, they took a faster an more practical approach. The city has built dedicated special center lanes for express bus. In addition, they have also built a number of flyovers to facilitate rapid transportation. Something to learn from, it may be cheaper and faster to develop rapid transportation system using buses than developing a city wide metro/railways.

  • The city boasts one of the best Management Institutions (Indian Institute of Management - Ahmedabad) in the country. Ofcourse there is also the Gujarat University (a large campus) with a lot of well reputed colleges and research centers around it.

  • Looks like Indian Institute of Technology (IIT) is expanding into more cities, include Gandhinagar (IIT Gujarat) which could basically be considered as one of the suburbs of Ahmedabad

There are lot of other cool stuff about Ahmedabad and if it looks like I am biased - Yes! I am. In the spirit of full disclosure, I spent my first 19 years at Ahmedabad.
What does this have to do with SOA or Strategic IT? Very simple - the State and the City realized that the city was becoming unlivable because they were not providing adequate services to their citizens. In order to improve the quality of service - the combined their efforts to first plan and build out the infrastructure (still WIP) to try and provide one of the best living conditions in the Country. Something we can all learn from.

Wednesday, January 14, 2009

Key Learnings:Drawing parallels between Design Patterns and the principles of SOA - Part II

This blog entry attempts to expand on the concepts explored in a prior blog of mine Key Learnings: Drawing parallels between Design Patterns and the principles of SOA that deals the relevance of design patterns in the world of SOA and services. Patterns explored previously were the Facade, Abstract Factory, Builder, Factory and Bridge.

In this blog we look at how infrastructure components like the ESB that are part of the service mediation layer insulate the service consumer from the service provider by offering call-dispatch functions that map out the most efficient call execution path for honoring a consumer business request। Many of the constructs of the service mediation layer provide add-on capabilities which are in fact model driven implementations of common design patterns।


Adapter - modifies an incoming method call to fit the required method signature or definition of the provider without impacting the consumer

Transformer - adapts the parameter and return type or message format (which includes alteration or interpretation of the message content) and enables the insulation of the consumer information from that of the providers'

Decorator - augments the behavior or is a facility to add on to the behavior without altering the interface and breaking the service interface and service contract as new consumers need additions to the base business behavior

Interceptor - provides ancillary behavior, filters out information or calls to the provider, validates the message content for authN credentials, authZ/ entitlements and permissions etc। all of which provide important ancillary behavior to the provider without having the providers' service implementation layer having to be peppered with nonbusiness logic level code।

Finally, the point of this blog is to show that despite vast numbers of changes in technologies and technology based service offerings the basic design principles and design patterns of the object oriented design realm are still applicable। Knowing these and applying these carefully enables one to retain the durability of the service interface and protects the consumers from unexpected or non-deterministic results and exceptions.

Thank you for listening. Your input is invaluable!

- surekha

Sunday, January 04, 2009

Architetcure in 2009

This will be my first entry into the blog for 2009. It has been a while due to a lot of churn over last few months. I am happy to see 2008 go. The only fear I have is that at the end of 2009, I don’t want to be longing for 2008. What a brutal year. I am hoping that people have learnt some lessons that you can not always focus on short term results at the expense of doing the right thing that has long term value. Architecture falls in that long term value category, yet first thing organizations do when it comes to cutting costs - they sacrifice architecture. Why do we keep rewarding people that cause untold harm in the long run while seemingly achieving short term goals? Most IT organizations fall into the same category. Senior executives are rewarded based on short term gains or operational efficiencies at the expense of long term viability. Current environment will only exasperate the situation.

It seems to me that executives and boards have not met the responsibilities entrusted upon them. Most executives have only been interested in benefiting themselves. I believe that executive bonuses should be kept in escrow and only be handed out at least 3-5 years after they are eligible to receive it. The disbursement of bonuses should be contingent on meeting some tough criteria where it is clear that no long term harm was brought upon by actions of these executives that may have fattened the bottom line in one year but killed the company over long haul.

My apologies for ranting but it has been very frustrating last few months. Now we need to focus on future and adjust accordingly. One trend I am seeing is that without clear, measurable ROI, funding is going to be scarce. There are fewer (if any) opportunities to experiment. This also means that vendors will have to adjust their expectations and will have to prove beyond power point slides that their product is worth investing in.

Happy new year everyone.

Ashok Kumar