Dos and Don’ts of SOA Data Access

SAN JOSE, Calif. — Memo to enterprises moving toward service oriented architecture (SOA) as a way to slash costs.

You’re going about it the wrong way, some software experts claimed today.

“Today, SOA data access is layered on top of traditional data APIs (application programming interfaces)” such as embedded SQL,” said Rob Steward, vice president of research and development at Progress Software’s DataDirect Technologies division.

During a keynote at the Virtualization Conference & Expo 2008 here, he said enterprises should build their access, especially data access, from the ground up using SOA principles.

Traditional data access methods will not work in a SOA environment. System administrators need to understand the differences between traditional data access and SOA data access methods.

Traditional data access uses tightly coupled application programming interfaces , so users write data access code specifically for the data they want to retrieve and process; but SOA services are loosely coupled by definition, Steward said.

The APIs for traditional data access methods are well-defined, but SOA uses interface contracts rather than well-defined APIs, Steward pointed out.

If traditional data access APIs are connection based, complex state machines — driven by the relational model and mostly synchronous, then SOA services are the exact opposite because they use the Internet.

It’s not all the same thing

“SOA services are stateless and operate in a disconnected fashion because the Internet, over which they communicate, is stateless and disconnected by its nature,” Steward said. Further, SOA services are both synchronous and asynchronous.

Another point of difference between the traditional and the SOA data models is that the traditional model only accesses information from one source whereas SOA typically accesses information from aggregated views of multiple sources, Steward said.

“If you want to do data access in SOA, you need to provide access to numerous data sources and from various client types, provide consistency to all data sources using standardized query languages, and, at the bottom you need a standard transport mechanism for moving data objects in a disconnected fashion,” Steward said.

What about using Web services through a Web oriented architecture? Isn’t that SOA?

“SOA does not equal Web services although most people implement SOA using Web services.”

And if you are expecting a quiz about SOA particulars, just remember that Web oriented architecture is only one of many ways of implementing SOA.

News Around the Web