Service Oriented Dinosaurs

June 2nd, 2008 by Kyle Gabhart

Primitive man and woman were forced to adapt to their environment to survive. Animal hides for clothes, crude weapons and tools made out of stone or bone, and roots or berries for food (perhaps sabertooth steak or terradactyl ribs if company is coming over). Eventually, some nearby tribe discovers fire, but reports of fire-related injuries and property destruction lead our cave dwellers to avoid this new magic. These primitive humans are doing fine with their current capabilities and they are able to meet their basic needs without dabbling with such things. Over time the nearby tribe’s use of fire expands and one very enterprising woman invents pit fired pottery. The more primitive people have heard and seen the potential of this new breakthrough and are interested in using it. Alas, the obstacles to adopting this innovation are not trivial. They must learn how to create fire, handle fire cautiously, locate and stockpile flint and tender, develop fireproof tools, create fire pits, learn to craft with clay and finally develop a process to fire the clay pots successfully. Lack of education, skills, infrastructure, resources, and processes hinder their ability to progress. Perhaps the greatest barrier for these primitive people is fear of the unknown and risk of failure. Thousands of years later, we are faced with the same technology adoption challenges — education, skills, infrastructure, resources, processes, and fear.

Modernizing legacy information systems is not unlike the modernization efforts that have occurred for thousands of years. In fact, legacy or heritage systems are often referred to as ‘dinosaurs’. Correspondingly, the same types of obstacles must be overcome:

  • Education — There is a mindset shift that must take place to understand the service oriented way of thinking. At first glance, services are just fancy objects. The reality is that service orientation requires a much broader, end-to-end view of the enterprise, complete with process-centric alignment, layered architecture, contracted interfaces, standards-based connectivity, and full life cycle governance. I have blogged about the alignment of service orientation and the unique qualities of SOA before. Also, David Ing has some interesting thoughts on service orientation.
  • Skills — A well documented skills gap exists around service orientation. Joe McKendrick sites it as one of the two things killing SOA in 2008 and the guys over at ZapThink have been alerting the industry to the dangerous SOA skills gap for quite some time. Why is this? Service orientation skills cannot be acquired by attending a conference or reading a book (although I do have a book that I HIGHLY recommend). Academic learning as well as hands-on mentoring is required. Moreover, there are nuances to effective service orientation, service design, process alignment, and enterprise governance that require time and experience to develop. There are new technologies, design patterns, techniques, and methodologies that must be introduced and ultimately absorbed. This will require instructor-led training, research, hands-on mentoring, and practical experience to develop proficiency in these areas.
  • Infrastructure — Contrary to popular belief, a service oriented infrastructure cannot be achieved by purchasing an Enterprise Service Bus (ESB) from a vendor and adding water. There are, in fact, a variety of infrastructure elements (service registry/repository, governance suite, business process engine, policy manager, policy enforcer, and etc.). There is a great little SOA infrastructure white paper that a consortium of vendors put together a while back. Additionally, be sure to avoid the trap of assuming that you need to have your SOA infrastructure fully mature on day one. Eric Newcomer has a great post from a couple years back regarding an incremental adoption of SOA infrastructure.
  • Resources – There are several ways to slice the resource issue. For effective adoption of SOA, you will need a pool of human resources (with appropriate education and skills), technical resources (infrastructure, knowledge management and collaboration tools, as well as design and development tools), and you will need expert resources (developed in-house, or brought in from an outside source initially).
  • Processes — All the education, skills, infrastructure, and resources in the world won’t amount to a hill of Java beans without effective processes for governing the adoption of service orientation. You will need processes for service selection, service design, quality assurance and testing, policy enforcement, and runtime service management. Effective governance can make or break your adoption of SOA. I have blogged on the importance of service oriented governance numerous times.
  • Fear – People fear change. Service orientation appears threatening to many people at first due to the changes required in adopting it. New patterns of thinking are required around how to solve customer problems. Skills must be adapted, other skills developed from scratch. New infrastructure and resource pools must be created and processes must be adapted and new processes created. These changes can be intimidating. A considerable degree of people change management must be accepted as a part of a successful transition toward service orientation.

Service orientation adoption is challenging in its own right. It becomes increasingly challenging when you factor in the dinosaurs that must be modernized as a part of the adoption process. Immediately, questions begin to arise:

  • What systems and/or business processes should be modernized?
  • Should we migrate, expose, or leverage our existing legacy assets?
  • Should adoption occur within a particular line of business or across the whole of the enterprise?
  • How will modernization impact existing teams and project roles?

These questions and many more must be explored as part of the adoption of service orientation. I explored several of these topics in a recent public webinar - Enterprise Modernization and SOA Concepts (pdf).

Another resource you might consider is a new course that Web Age has been offering since April of this year. It is a two-day workshop that explores the modernization of legacy applications, SOA concepts, modernization challenges and risks, and various strategies for modernizing legacy systems. It is aimed at team leads, architects, managers, and legacy application support personnel. For more details, check out the course details - WA1657 Application Modernization and SOA Concepts.

Adopting service orientation and “moving out of the Stone Age” is not a simple task. It requires intentional allocation of time, energy, and resources. It cannot and should not be approached in an ad-hoc fashion. Technology adoption has always been challenging, just like when ancient man and woman adopted fire. When it comes to service orientation, be sure that you work through the necessary steps of adopting education, skills, infrastructure, resources, processes, and addressing the fear factor. Otherwise, you just might get burned.

Posted in SOA | 1 Comment »

Microsoft’s SOA Strategy

August 9th, 2007 by Kyle Gabhart

I’ve been traveling and teaching a lot since the SOAWorld conference. This past week, a couple of my students challenged me on some statements that I made during the course regarding the notion that Microsoft has arrived a bit late to the SOA table. I find this particularly interesting considering the fact they Microsoft was so instrumental in the early Web services innovations around SOAP, WSDL, etc., but it seems that they have gotten distracted with lawsuits, Office, and Vista, and taken a while to come along with a comprehensive SOA story and supporting infrastructure.

After some interesting and sometimes heated discussions, these students points me toward some resources that shed some interesting light on what Microsoft has been working on. I must admit that I had lost track of .NET 3.0 and the evolution of Indigo into the Windows Communication Foundation (WCF). The work that Microsoft has done in this arena is quite impressive and, in true Redmond fashion, elegantly simple. Additionally, one of the students turned me on to Juval Lowy, who has been recognized by Microsoft as a Software Legend and a Regional Director for Silicon Valley. Juval is the brains behind IDesign, a great resource for .NET 3.0, and provides master-level workshops on .NET 3.0 and especially the WCF. The guy is brilliant, has a fascinating perspective on SOA, and a rather compelling and authoritative delivery style. To get a taste you can check out one of his MSDN Webcasts: Applying Service-Orientation to Your Development Process.

On a parallel thread, I ran across an interesting article from Redmond Magazine: “Microsoft Does Have a SOA Strategy“. Dana Gardner, who is quoted in the article, blogs on this subject and describes the strategy as ’service-enabled’ and ’sorta-SOA’. Another analyst quoted in the Redmond article describes Microsoft’s strategy around SOA as ’standards-based at the edge’. The article also identifies that Microsoft is focusing more upon empowering individuals and small teams rather than ’selling a big, fat SOA stack’. This is certainly consistent with their strategy in other areas of the enterprise. The reality of, course, is that Redmond will not sit idle while the IBMs, Oracle’s, and SAPs of the world carve up the enterprise marketplace. More infrastructure components are coming from Microsoft in the next iteration of Biztalk and the full realization of .NET 3.0, especially the Workflow Foundation (WF) piece.

One final thread regarding Microsoft’s SOA strategy is an apparent attempt to take the ‘ESB leadership’ that the big Java vendors have managed to secure in the industry and turn it around as a liability. Rather than trying to compete against these established ESB vendors directly, Microsoft is attempting to paint the notion of an ‘enterprise’ bus as short-sighted and internally-focused strategy. The next generation, according to Redmond, is the Internet Service Bus (ISB) which turns the attention outward to the extended-enterprise, consisting of partners, clients, and the information superhighway at large. Whereas traditional ESB solutions focus within the enterprise. The ISB turns the attention to interaction between enterprises. I’m not sure how much of that is real and how much is fluffy rhetoric, but it is an intriguing perspective.

Posted in SOA | No Comments »

In Search of Standard SOA Middleware

February 22nd, 2007 by Kyle Gabhart

As SOA increases in maturity and we understand it better, inevitably we develop standards and common design strategies. One such design strategy that I am closing monitoring is the evolution of the Enterprise Service Bus (ESB). In particular, I am interested in the potential development of a standardized SOA middleware framework framework that can be implemented by multiple vendors to supporting portable process definition, component/service assembly, mediation logic, messaging, and a data service layer.

OSOA seems to be making some considerable headway on Service Component Architecture (SCA) and Service Data Objects (SDO). OASIS has certainly cornered the business process / service orchestration side of things with the Business Process Execution Language [which evidentally now is shunning the all upper-case (BPEL) acronym in favor of the much stranger looking (BPel) case]. This still leaves me wanting to see some standardization in mediation logic and messaging. I hope that Chappell and friends will pick up the ball with Synapse and run with it, but it doesn’t appear to be moving especially fast right now. Until then, or until another initiative comes along, I guess I’ll just have to settle for vendor lock-in on the messaging / mediation middle-tier.

Posted in SOA | No Comments »