Untitled Document
Editor's Note: Learn how to best succeed on your SOA journey right here.
Although SOA is different from traditional architectures, applications in SOA
environments still need to access and use data. And it's often SOA experts,
not data experts, that design these applications.
As a result, performance issues often appear when applications are deployed.
Here are the main ways you can ensure that your data applications perform well
in SOA environments.
Data access guidelines for SOA environments
The following checklist will ensure your database applications perform well
in SOA environments:
1. Involve data experts in addition to SOA experts.
2. Decouple data access from business logic.
3. Design and tune for performance.
4. Consider data integration.
Tip #1: Involve data experts in addition to SOA experts.
SOA guidelines are defined by SOA architects, who do a good job of creating
and managing reusable services that represent business logic. But SOA architects
aren't experts at databases or data access. As explained earlier, SOA is about
business agility. SOA helps achieve agility by allowing you to build services
that multiple applications can reuse.
For example, suppose you design a service to be used in an application that
typically has no more than 50 users. When the application is deployed, the performance
of the service remains good until other applications are deployed that start
to use that same service. Quickly, there are 500 percent more users than the
service was designed for, and performance takes a nosedive.
This is a problem that occurs over and over in real-world SOA service design
-- the performance of a service that performed well when it was first deployed
breaks down as other applications begin to use that service. Designing a service
that performs well for 500 users is different than designing one that performs
well for 50 users.
Tip #2: Decouple data access from business logic.
In both traditional architectures (such as object-oriented architectures) and
SOA architectures, applications depend on technologies such as ODBC, JDBC, and
ADO.NET for access to data stored in databases. In traditional architectures,
data access code is contained within the application.
-1-