Java Reference
In-Depth Information
Keeping Track of Your Services
Problem
You have developed several web services and want to keep track of them. They need to be
visible to potential consumers, and your architecture team needs a central place to define their
SLAs (service-level agreements) and policies and keep documentation and other metadata.
Generally, you need to manage the entire service life cycle.
Solution
Use an enterprise repository. The repository will support your governance efforts. A good re-
pository is a network-enabled data store that will serve as the location of record for all of the
design-time and runtime artifacts your operating SOA requires. This includes XML schemas,
WSDLs, service policies, and so forth.
There are many tools for this sort of thing, each with a different user interface and slightly
different feature set. Software AG and Fujitsu have jointly developed a popular repository
product called CentraSite, and offer a Community Edition license with limited functionality
for free. The client is Eclipse-based, which is likely familiar to you, so this might be
a good way to get started. Download CentraSite Community Edition 3.1.7 from ht-
tp://www.centrasite.org .
Vendors such as IBM, Oracle, TIBCO, and others have robust enterprise repository tools
that integrate with Eclipse-based development tools. Repositories are much more than regular
databases, and are frequently combined with UDDI registries to allow dynamic discovery of
services at runtime. They also can support migration of services between environments, and
at design time can offer governance support. Such support often includes things like the abil-
ity to limit who can add a service to the repository (to prevent the Bunny Services and Rogue
Services anti-patterns), and who can use which services.
Discussion
The enterprise repository is a cornerstone of your governance program. It is one of the chief
tools employed by your architecture team or Center of Excellence. Repositories can also be
very expensive. And while you can definitely get started without one, doing so will require
careful maintenance of your meta-model. Still, using a model cannot prevent developers from
putting their own services into production, and after a time you could end up with six slightly
Search WWH ::




Custom Search