Databases Reference
In-Depth Information
Although SOA is different from traditional architectures, applications in
SOA environments still need to access and use data. In our experience, it's often
SOA experts, and not data experts, that design these applications. As a result, per-
formance issues often appear when applications are deployed. Although the
guidelines discussed in previous chapters of this topic also apply to SOA in one
way or another, some differences specific to data access in SOA environments are
worth a separate discussion. In this chapter, we'll share the main ways you can
ensure that your data applications perform well in SOA environments.
What Is Service-Oriented Architecture (SOA)?
Before we discuss guidelines for data access in SOA environments, let's define
what we mean by SOA. First, let's clear up some common misconceptions about
SOA:
SOA isn't a product that you can purchase. It's a design methodology that
defines how applications should be built.
SOA isn't the same as Web Services (although 90% of the time, companies
implement SOA using Web Services).
SOA is a way of building software applications that allows you to design
loosely coupled software components called services . What loosely coupled
means depends on who you talk to, but generally, the term implies the following:
Services are designed modularly based on business logic.
Built-in knowledge of other services is minimized so that changes to one ser-
vice don't ripple to others.
Services communicate using messages. When you create a service, you define
what messages it can receive and send. A service can be used by any consumer
(application or another service) as long as the consumer offers the service the
information it expects and, if a response is generated, the response is useful to the
consumer. For example, suppose you need to design a simple banking applica-
tion that performs two common tasks: making a withdrawal and making a
deposit. As shown in Figure 11-1, services are designed based on the task they
perform in the business workflow. The Deposit service can be used by both the
Teller application and the Wire Transfer application because the applications
interact with the service using standard messages.
 
Search WWH ::




Custom Search