Steps To Help SOA Succeed
Service-oriented architecture (SOA) is an approach that has garnered lots of big ideas, plus there's technology complexity to boot. However, a best-practices talk by David Linthicum, a consultant with Linthicum Group
, provided an outline for understanding SOA in a world where "the hype is huge." Linthicum recently spoke on the topic of "Steps to Make Your SOA a Guaranteed Success" at Enterprise Architect Summit 2007.
Before opening his talk, Linthicum played a segment from the "Greg the Architect" animation, where the character Greg literally gets sick from ingesting too much SOA jargon. The animation was created by Tibco, according to Linthicum.
Linthicum said that the basic idea for SOA has been defined and now it's a matter of getting it to work. The buzzwords are new, but the issues are old. Namely, SOA is about people. In contrast, the technology issues are simple, he said.
Right now, there are a few competing frameworks for SOA, which Linthicum listed as follows:
All of these groups try to do the same thing, which is to build a framework for SOA. Linthicum noted that Oracle has pulled away from its "SOA 2.0" nomenclature, which he just associated with some of the hype surrounding SOA.
While there have been questions about how readily enterprises will embrace software-as-a-service (SaaS) -- the Web-based software delivery method where the software runs outside the company's firewall and connects with the company's data -- Linthicum was unequivocal about the future of SaaS adoption.
"Most enterprise applications are going to be Web-delivered," he said. "It really makes sense for you to deploy on that platform."
Linthicum laid out the problem for enterprise architects, which is really about making IT work. CEOs complain that it takes one to two years to change anything with IT infrastructure and they are not happy, Linthicum said.
"You have these dysfunctional silos and it becomes a house of cards because of all these interdependencies. We haven't designed it with oversight, like city planning," he added.
That said, people doing enterprise architecture and SOA aren't on the same page either.
"They are not the same people and they are thinking differently," Linthicum said. "Everyone's trying to replace each other. They think they can do each others' jobs. These guys are fighting, but it's not in the open -- it's more passive-aggressive fighting."
He added that traditional enterprise architects have not done a stellar job in understanding the opportunities within SOA. On the other hand, people doing SOA work have not figured out how SOA meshes with existing enterprise architecture standards and practices, Linthicum said.
Not everyone should do SOA, Linthicum said. If you can't create a business case for SOA, you shouldn't do it. Traditional justifications for SOA are that it will save development dollars through reuse and that it will enhance IT infrastructure. However, the reuse proposition isn't that huge. Linthicum said that about 10 percent reuse is "a great number for average reuse."
For those looking for a more mathematical-like expression for determining the value of SOA, Linthicum provided one:
Value = (NSR * DR) * C
where NSR is the number of services, DR is the degree of reuse and C is complexity.
The bottom line though, is about the possibility of organizational change. As an organization, Salesforce.com is used to change all of the time, whereas government bodies aren't. If the people can't change, there is no need for SOA, Linthicum explained.
Good and Bad Practices
SOA is needed to improve an organization's adaptability and agility. Its benefits include functional reusability and supporting change management. It also affords interoperability instead of point-to-point integration, as well as overall orchestration, Linthicum said.
Bad SOA practices include selecting a technology before understanding an organization's requirements and needs. Another fault is not linking back to accepted enterprise architect best practices. Other SOA mistakes include not creating a business case, using the wrong people and a general lack of funding and empowerment.
So what are the best practices in implementing SOA? Linthicum listed a few:
- Make sure you do SOA right the first time.
- Don't be afraid to experiment. When a mistake happens, admit you're wrong and try again.
- Keep vendors working with you and empower those working for you.
- Learn all you can, but don't get caught up in the hype.
- Don't wait for standards to emerge. Standards have become marketing tools for some companies.
- Small battles win the war.
- Give yourself plenty of time -- never skimp on any of the steps.
Linthicum said there's not a lot of SOA being done out there, adding that "If someone says they've done thousands of SOAs, they're lying."
Kurt Mackie is online news editor, Enterprise Group, at 1105 Media Inc.