This document covers the following topics:
Today's enterprises are quickly adopting Service Oriented Architecture (SOA) as a strategy for delivering business applications that can be developed and extended quickly.
SOA is an approach to building business systems in which IT organizations deploy computing capabilities as coarse-grained, reusable blocks of functionality known as services. Typically, a service models a single task or repeatable process within the enterprise. Business analysts, enterprise architects and developers assemble services into higher level constructs such as business processes, composite applications and complex services.
IT organizations usually host services on various back-end systems within (or possibly outside) the enterprise and expose them to consumers in loosely coupled fashion via an enterprise service bus (ESB) or other mediator. Deploying services into a mediation layer provides the services with location transparency and implementation independence, allowing an IT organization to interchange and evolve back-end service implementations without disrupting the consumer applications that use them.
Despite its advantages, SOA requires a development and governance infrastructure that is radically different from traditional computing applications. To design, develop and deploy SOA-based applications, architects and administrators must consider how to:
Manage a computing environment comprised of hundreds (or potentially thousands) of services and supporting artifacts.
Ensure that the many computing artifacts (e.g., services, schemas, business processes) supplied by autonomous development organizations meet enterprise policies and standards.
Define processes to ensure that services and other artifacts are accepted into the SOA in a controlled and well defined way.
Provide a development environment in which developers and business analysts are encouraged to assemble applications from existing assets in the SOA rather than building them from scratch.
Evaluate the consequences of a proposed change on a complex array of interdependent artifacts.
Provide a development environment that accommodates the unique processes and requirements of individual development organizations.
CentraSite is a standards-based SOA registry and repository. It serves as the central "system of record" for the Web services and other computing assets of an organization and provides the tools and infrastructure necessary to implement and manage SOA-based applications successfully.
CentraSite supports the entire development lifecycle of an SOA-based application, from its design and implementation to its deployment and ongoing operation in the runtime environment.
CentraSite supports the development of SOA-based applications by enabling developers, architects and business analysts to:
Publish Web services and other reusable assets into their organization's central registry.
Discover Web services and use them to assemble consumer applications.
Obtain detailed information about a Web service, including the list of its consumers, its technical support contacts, its disposition in the development lifecycle, usage tips and performance data.
Examine the relationships that a Web service has with other artifacts in the SOA in order to understand how a change to that service will impact the service's sub-components and dependants.
CentraSite supports an array of design-time tools that enable developers, architects and business analysts to discover, publish and re-use SOA assets. These tools include:
CentraSite Control, a browser-based user interface provided with CentraSite.
The CentraSite plug-in for Eclipse, also provided with CentraSite.
UDDI V3.0-compatible registry browsers and IDEs.
Third-party design-time tools available from members of the CentraSite Community. The CentraSite Community is a group of independent software vendors and system integrators who develop products that integrate with CentraSite.
Managing the content of the registry is critical to the success of an SOA environment. To support this effort, CentraSite provides governance capabilities and tools that enable administrators and architects to:
Control access to CentraSite and to the metadata for individual assets listed in the registry.
Model the specific entities that make up an organization's SOA environment as well as the dependencies and interrelationships of those entities.
Enable reuse of computing assets by providing easy access to in-depth information about an artifact's technical properties, semantics and relationships to other artifacts in the SOA.
Define classification systems (taxonomies) that enable Web services and other assets to be easily discovered and managed.
Impose mandatory testing, approval processes and/or quality checks to ensure that assets accepted into the SOA adhere to organizational standards and policies.
Model the lifecycle process associated with each asset type and specify the events that are to be triggered when an asset transitions from one lifecycle state to another.
Administrators and architects use CentraSite Control, the browser-based user interface provided with CentraSite, to perform these types of governance-related tasks. Systems and tools from the CentraSite Community can also provide this kind of functionality. Some basic administrative tasks can also be performed using the CentraSite Eclipse plug-in tool.
CentraSite provides tools that support the management and monitoring of services in the run-time environment. Using CentraSite, administrators can define policies that execute on policy enforcement points (PEPs) that reside between the consumer and the service endpoint. These policies typically perform security-related activities (such as authentication and message encryption/decryption), auditing/logging tasks and performance reporting functions.
When webMethods Mediator is used as a policy enforcement point, administrators can define and deploy "virtual services" into the run-time environment. Virtual services operate as consumer-facing proxies for the endpoints where Web services or XML services are actually hosted. Besides performing security, logging and monitoring activities, a virtual service can also execute advanced mediation steps such as message routing, load-balancing, failover handling and message transformation.
CentraSite supports the run-time environment by enabling administrators and analysts to:
Define and manage standard run-time policies.
Attach run-time policies to Web services and deploy the policies to specified PEPs in the run-time environment.
Define and deploy "virtual services," to perform mediation steps such as routing, load-balancing, failover and/or message transformation.
Monitor the run-time performance of services and identify services that fail to meet specified thresholds.
Out of the box, CentraSite provides support for the following policy-enforcement points and run-time monitoring products:
webMethods Mediator, which is a PEP that provides policy enforcement, service mediation and monitoring capabilities. webMethods Mediator enforces run-time policies that you create in CentraSite.
webMethods Insight, which is a monitoring tool that enables you to see what is happening in real-time with service transactions as they flow across any system. It provides visibility and control at the transaction level to heterogeneous SOA environments.
CentraSite also includes a framework called SOALink, which enables it to interoperate with other, third-party PEPs.
CentraSite's governance capabilities are used by many Software AG products. For example,
Developers who use Software AG Designer can publish service metadata to CentraSite and browse CentraSite's registry from the Designer IDE.
Analysts who use the webMethods Business Process Management System (BPMS) can browse CentraSite for services that they can use to implement the process steps in their business processes. Analysts can also publish process models into CentraSite and use CentraSite's impact-analysis feature to understand the model's dependencies on other components in their environment.
Analysts who use ARIS Architect can publish their business processes into CentraSite and integrate them with processes from webMethods BPMS (and vice versa).
Developers who use the Web service stack to expose functionality in Software AG's EntireX or ApplinX products can register their Web services in CentraSite for others to find and reuse.
Developers who build applications using the Software AG Natural product can use the NaturalONE user interface to publish business services to, and retrieve business services from, CentraSite's registry.