|
Data Access technologies are highly complex
because they must provide several mapping options for flexibility and performance. They rely on
relatively consistent database engines to publish convenient APIs to manipulate data at the appropriate
levels (transactions, tables, views, rows, columns, cells) and imply business data consistency and
concurrency. Improperly managing this, e.g. with transactions, caches, etc. could quickly result in
severe performance bottlenecks or data corruption.
The other complexity of Data Access is that it requires significant development effort with a mix of
different skills among development team members (object design and development, database and transaction
programming).
But accessing Services (not only Web Services) is
even more complex than accessing Data. Services do not rely on convenient APIs and are defined and
constrained by business or technical logic. Services do not provide direct data handling; they are
procedural and sequential by nature.
Data Access can be seen as a transformation from one data structure to another, while Service Access
involves transformation from a data structure to a sequence or chain of command invocations at
application runtime.
|