Java Reference
In-Depth Information
coarser grained your service is, the more interoperable it is, and the more suitable it is for
a client-facing endpoint.
Aggregation
Aggregation
Analyze your service to determine what other elements it may be apartof. These elements
may be existing processes, services, or service candidates themselves. In object-oriented
programming, this is called finding HAS-A relationships. Employing this technique can
help you discover composable services.
These are foundational techniques and will serve you well. But for service modeling, you need
to look beyond these basic principles and consider these additional aspects:
Reusability
Reusability
This is often considered in object-oriented design, but not to the extent that it must be
within a service model. To determine how to write the contract, you need to perform a
systems analysis that gives you the best guess on how it will be reused throughout your
enterprise. When it's not certain how the service will be reused, keep it sufficiently gener-
ic to promote the possibility of reuse.
Security
Security
This is typically dealt with at the application level for objects, but it must be modeled at
the individual service level when you're creating services. You will have an overall secur-
ity model for your SOA that might include SAML, a Policy Enforcement point, transport
security, digital signatures, Kerberos, or other related measures. These are typically indic-
ated in policies enforced by tools to support the contract.
Interoperability
Interoperability
Java objects only have to work with other Java objects. But services are intended to in-
teroperate. As you model a service, you must consider it from this viewpoint, identifying
other platforms you'll be working with. Adhering to the Basic Profile (discussed later)
helps here.
SLAs
Services, like the systems they wrap, should have defined service-level agreements. The
business process your service participates in might need to respond within 100 milli-
seconds, or a flag should be raised. This is particularly important in an SOA because even-
tually your well-designed service will be reused by many processes, and analysis at the
process level will be important to helping the business understand what it can expect.
Search WWH ::




Custom Search