ZS805 Unit01 Script
ZS805 Unit01 Script
WebSphere Service
Registry and Repository
overview
Unit objectives
After completing this unit, you should be able to:
• Explain the common scenarios and roles of a service registry
• Identify the main functions and capabilities of WebSphere Service
Registry and Repository
• Explain how WebSphere Service Registry and Repository enables
SOA governance
This unit is an overview of the functions and capabilities of IBM WebSphere Service Registry and
Repository. Within an SOA, organizations that provide and use services rely on well-defined
interfaces to govern interactions. A service registry provides an information store for maintaining
service information from the view of each party. You learn how WebSphere Service Registry and
Repository provides a highly customizable, secure, and comprehensive system for managing
service metadata throughout its lifecycle.
After completing this unit, you should be able to explain the common scenarios and roles of a
service registry. Identify the main functions and capabilities of WebSphere Service Registry and
Repository. Explain how WebSphere Service Registry and Repository enables SOA governance.
The movement towards building services started with a requirement to integrate applications and
other IT resources in an organization. Applications, databases, and messaging systems were all
built on different computing platforms, operating systems, and programming languages.
Organizations were facing increasing difficulty and cost with integrating all the systems together.
Web services use simple, widely used protocols to communicate between these systems.
Service-oriented architecture provides a simple, scalable design for defining IT capability as
services. These discrete components abstract the underlying implementation and provide a
standard interface definition and messaging model. SOA ensures that a system can access any
application on its network, now and in the future.
Why adopt service-oriented architecture? SOA aligns IT capabilities with the business needs of
the organization. SOA allows developers to focus on implementing business capabilities, instead
of infrastructure. SOA also encourages reuse by defining IT capabilities as interoperable modules.
Point-to-point services
WSDL
Policy
requirements Service description
In the early stages of SOA adoption, one department might package a few shared applications as
services. In a simple point-to-point connection, the service requester connects and binds to a
service at run time.
Developers define the service interface by using the Web Services Description Language (WSDL)
format. The WSDL document defines a clear, implementation-neutral interface for service
requesters to build clients for the service. At run time, the client communicates with the service by
using a standards-based protocol, such as SOAP over HTTP.
The requester relies on a service interface to define a list of operations. WSDL documents
provide a standard, interoperable way of documenting service operations, bindings, endpoints,
and data types.
• Both the client and the server are responsible for integration tasks
– The client and the service must agree on which security policies to apply, and
how to apply them
One of the main principles of service-oriented architecture is loose coupling between the client
and the service. However, service clients and services rely heavily on service metadata.
Deploying the service on a new server requires the service provider to republish the service
description document. Service clients must modify their clients to point to the new service location
as well. Changes to the data types, operation parameters, or network protocols require changes
to the client, the server, or both parties.
The main problem is that the client and the service are responsible for both the integration and
application work. The solution is to factor out the integration layer into a separate role, leaving the
service requester and provider to focus on the business application itself.
Claim Claims
application processing
Billing Customer
application accounts
With an enterprise service bus pattern, integration tasks are factored out from the service into the
bus. In this example, the billing application must retrieve information from financial services.
Instead of directly calling the service, the billing application calls a virtual inbound endpoint on the
bus. A mediation flow can validate the request; transform the message to fit the service interface;
and decrypt and verify the signature of the message. From a list of candidate services, the
mediation selects the correct service to bind and call.
How does the mediation know which service to call? Information about the service, or service
metadata, is either saved or written into the mediation flow.
An enterprise service bus does not represent any one product. In real-world scenarios, the
enterprise service bus can be implemented with a combination of WebSphere DataPower SOA
Appliances, WebSphere Message Broker, and WebSphere Enterprise Service Bus.
A mediation flow is a runtime component within your integration layer that connects a service
requester with one or more service providers. The mediations within the flow need information
about the service to validate the service request, transform the message format, enforce runtime
policies, and locate the service endpoint.
What are some issues with storing service metadata inside mediation flows? Embedding the
service metadata within the mediation makes it harder to manage changes to the service.
It creates a tight coupling between mediation flows and service metadata. With a tight coupling, it
makes it difficult for administrators to change the service runtime policy without having to
republish mediation flows. Saving information specific to a service in a mediation flow reduces the
chance for reuse. Hardcoding service metadata across multiple mediation flows makes it harder
to keep all the information up to date. Lastly, when a service provider saves service metadata in a
mediation flow, the provider loses control over access rights to the information.
It makes sense to factor out the service metadata into a service registry and keep the mediation
patterns generic. Provide a centralized system of records about a service, and restrict access to
authorized users only.
Claim Claims
application processing
Billing Customer
application accounts
Retrieve Retrieve
policy endpoint
Business Financial
partner access services
WebSphere Service
Registry and Repository
© Copyright IBM Corporation 2012
The mediation flow within the enterprise service bus does not change. However, the hardcoded
service metadata is saved into WebSphere Service Registry and Repository; it is retrieved when
needed to route a request to a service. The registry function provides a system of record for all
information that is needed to complete the service request. The repository function saves a copy
of the service metadata so that all versions of the metadata can be easily retrieved.
Expanding on the earlier example, the billing application calls a virtual inbound endpoint on the
enterprise service bus. The first mediation in the flow requests a policy document from the
requesting service. After applying and enforcing the policy, the mediation flow completes its
processing and retrieves a service endpoint for the current environment. The mediation flow calls
the service at the specified location to complete the request.
If the service policy is revised, or if the administrator deploys the service onto another server, only
the service record must be changed on Service Registry. The service requester, service provider,
and mediation flow do not have to be updated.
What is WebSphere Service Registry and Repository? It is a registry that is designed to represent
and govern SOA services. It is a repository, conceptually like a database, that stores artifacts for
retrieval at both design time and run time. It is an enterprise Java application that runs on IBM
WebSphere Application Server, Network Deployment. The Service Registry and Repository
enterprise Java application uses the security and high availability features in the WebSphere
Application Server platform.
What features does Service Registry and Repository provide? IBM WebSphere Service Registry
and Repository provides a single, consistent, and comprehensive description of a service. It
controls the visibility of services. It manages different versions of service description documents.
It provides features for developers to capture, analyze, and communicate proposed changes to
services. It interacts and federates information with other metadata stores.
WebSphere Service Registry and Repository focuses on a minimalist set of metadata that
describes capabilities, requirements, and the semantics of deployed service endpoints.
10
• Manage role
– Optimize infrastructure by providing performance
levels at run time
Enrich
• Enrich role
– Providing additional, contextual information to
Govern mediations within an enterprise service bus
WebSphere Service Registry and Repository plays multiple roles in managing services in the
enterprise.
The publish and find role maintains a set of information about services for retrieval by clients.
Announcing the existence of services and their capabilities promotes reuse of services, thus
realizing the benefits of SOA.
The manage role supports non-functional requirements of a service by maintaining performance
information with runtime monitoring solutions, such as IBM Tivoli Composite Application
Management for SOA. Mediations use service level metadata to respond to changes in
performance.
The governance enabler role describes how a service registry provides features in support of
SOA governance within an organization.
The enrich role provides mediations within an enterprise service bus with more contextual
information about the service, such as service costs, availability, and geographic locality.
11
IBM WebSphere Service Registry and Repository integrates with a number of solutions in support
of its five main functions: publish, find, enrich, manage, and govern. For enterprise service bus
solutions, such as IBM WebSphere Enterprise Bus and IBM WebSphere Message Broker, a
mediation can look up service metadata in its mediations.
One common use case is to support dynamic service selection with endpoint information
retrieved from Service Registry. The IBM WebSphere DataPower SOA Appliance also supports
Service Registry, with the ability to retrieve endpoint information or generic service metadata
lookup.
UDDI support includes the ability to import information from a UDDI registry, observe, and notify
changes in the registry, and update service metadata that is stored in a UDDI registry. Finally,
with the web service interface, any generic SOAP client, including Microsoft .NET web service
clients, can integrate with Service Registry and Repository.
12
What is the relationship between service registries and service governance? Service metadata is
the major coupling point in a service-oriented architecture. It explains how to bind, connect, and
call a service, and ties a service client to a service provider. If the service metadata changes, the
client application, the service, or both parties might have to change their implementation.
Coupling often occurs between organizations as one part of the company hosts the service, while
other parts of the company rely on it. The client organization and the service organization rely on
the service metadata to find and call services.
Therefore, service metadata must be managed carefully to avoid stability in the enterprise. Your
organization must manage any changes to the service metadata with a set process. The change
management process must be enforced through a development lifecycle, with any updates
handled by people in authorized roles.
13
• Service governance
– A subset of IT governance
– Focuses on the lifecycle of services to ensure the business value of SOA
Information technology governance establishes decision making rights to all aspects of IT: the
people, the technology, and the processes that manage IT. IT governance also establishes
mechanisms and policies to measure and control how IT decisions are made and carried out.
Why does service governance matter? An organization realizes business value with service-
oriented architecture when business goals are aligned with IT capabilities. Service governance
focuses on a development process that matches business needs with service capabilities.
By managing the development process and lifecycle, you can reduce business risk and regain
control with services. You maintain quality and consistency across services. Lastly, a defined
service governance process allows business analysts, architects, developers, and administrators
to communicate clearly across all stages of the service lifecycle.
14
WebSphere Service Registry and Repository provides a framework for you to manage, monitor,
and govern services in your organization.
In its most basic form, WebSphere Service Registry and Repository provides governance by
applying a service lifecycle to a business model object.
You create your governance policies in WebSphere Service Registry and Repository by defining
the business model objects that describe your organization in the registry. You define the
lifecycles that apply to these business model objects.
There are several ways that you can control business model objects throughout its lifecycle. You
can document your governance processes that interact with WebSphere Service Registry and
Repository. You can define access control permissions to objects and lifecycle transitions. You
can define governance policies to control when governance operations can occur. You
customize the user interface to Service Registry. Lastly, you can implement Java plug-ins to
provide custom processing behavior.
15
SOA
Approve Approve
board
proposal? specification?
Approve Approve
proposal specification
Enterprise
Model the Realize the
architect
service service
Swimlane charts are useful for laying out the roles, decision rights, and steps in a governance
process. This example lists the initial three roles for defining a service: business analyst, SOA
architecture board, and enterprise architect.
In the first step, the business analyst queries Service Registry to determine whether any of the
existing services fulfill a business need. If there are no suitable candidate services, the analyst
proposes a new service.
In the next step, the SOA architecture board reviews the new service capability proposal. If the
proposal needs more work, the board can reject the proposal and send it back to the analyst (not
modeled).
After the architecture board approves the service, an enterprise architect models the first service
version by using design tools such as IBM Rational Software Architect. The SOA architecture
board has another opportunity to approve the technical specification of the service. After the
service is approved, the enterprise architect works with the development organization to realize
the service.
16
Programming
User interfaces interfaces
Web UI SOAP web service
Enterprise
External systems
JavaBeans
WebSphere ESB Content
WebSphere model
administration WebSphere
WebSphere
scripting Service Registry
Message Broker
and Repository
Server
WebSphere
Configuration
DataPower
and design
WebSphere
WebSphere Service Registry Application Server
Relational
Process Server Studio Network Deployment
database
The following diagram provides an architectural overview of WebSphere Service Registry and
Repository.
The WebSphere Service Registry and Repository is an Enterprise Java application that runs on
WebSphere Application Server, Network Deployment. This application supports a number of
programming interfaces: a set of SOAP web services, a set of RESTful web services, an
Enterprise JavaBeans interface, and managed beans for access through WebSphere
administration scripting. Service Registry and Repository can integrate into a number of external
systems, including: WebSphere Enterprise Service Bus, WebSphere Message Broker,
WebSphere DataPower SOA applications, and WebSphere Process Server. System
administrators can access the application with the web user interface, or Web UI. Business
analysts, architects, and developers can retrieve service information with the Business Space
web application framework.
WebSphere Service Registry and Repository uses its on information model to represent service
metadata. To further customize the content model, use the WebSphere Service Registry and
Repository Studio application. Service Registry and Repository saves its information in a
relational database.
17
The Web UI is a web application that is built into WebSphere Service Registry and Repository.
Administrators use the web UI web application to manage the runtime configuration of Service
Registry and Repository.
18
• Eclipse-based modeling
tool
• Administrators use
Studio to configure
Service Registry
policies and settings
WebSphere Service Registry and Repository Studio is a desktop application that is built on the
open source Eclipse platform. SOA architects use the Studio UML diagram editors to model
governance processes as lifecycles. Architects can also extend the content model by building
custom classification systems and business model objects.
Service Registry administrators can manage configuration profiles within Studio before
synchronizing the changes with a runtime instance of Service Registry.
19
• Manage service
metadata
entries by using
Service Registry
widgets in the
Business Space
framework
© Copyright IBM Corporation 2012
You can manage service metadata entries with the Service Registry widgets in the Business
Space framework. When you install WebSphere Service Registry and Repository Server, you can
install the Business Space framework on a server instance.
20
The SA02 Eclipse plug-in SupportPac provides a client for retrieving service documents that are
stored in Service Registry. This plug-in is included with Service Registry Studio. It can also be
downloaded separately and installed into any Eclipse-based product, such as IBM Rational
Software Architect and IBM Rational Application Developer.
For Microsoft .NET developers, download the SA11 Visual Studio Package for a comparable set
of features that are integrated inside Microsoft Visual Studio.
Visit the WebSphere Service Registry and Repository SupportPacs page for more information:
www.ibm.com/support/docview.wss?uid=swg27008751
21
Unit summary
Having completed this unit, you should be able to:
• Explain the common scenarios and roles of a service registry
• Identify the main functions and capabilities of WebSphere Service
Registry and Repository
• Explain how WebSphere Service Registry and Repository enables
SOA governance
22