368 Smart SOA Solutions with WebSphere Enterprise Service Bus Registry Edition V7.5
10.3 Service versioning scenarios
In this section, we demonstrate how the dynamic SLA gateway solution handles
the following scenarios for service version management:
Manage requests to an existing service version
Manage making a backward-compatible change that does not change to an
existing service interface
Manage making a backward-compatible change to a service interface
Manage making a change to a service interface that is not backward
compatible
The dynamic SLA gateway solution can support all of these scenarios with no
additional coding or change in the mediations.
10.3.1 Processing requests for version 1.0 of the service
First we show consuming the initial 1.0 version of a service using the dynamic
SLA gateway solution.
Figure 10-2 shows how the SLA endpoint lookup mediation primitive assigns an
endpoint based on the SLA between a consumer capability version 1.0 and the
version 1.0 SLD of this provider service.
Version numbers: We adopt the service version number pattern of Vx.y, as
explained here:
The first digit, x, indicates a major version for non-backward compatible
changes.
The second digit, y, represents backward-compatible changes or a minor
version number.
We use Vx.y.z where the third digit, z
, represents a subminor version with the
same service interface.
Chapter 10. Service versioning 369
Figure 10-9 Service endpoint V1 lookup based on SLA
Configuring the v1.0 provider
In 7.4, “Registering a service using Business Space” on page 211, we illustrate
how to register the initial version of account creation service in WSRR and how it
is governed through the appropriate life cycles.
Follow the steps that are described in 7.4, “Registering a service using Business
Space” on page 211 through to 7.4.5, “Providing a specification and service level
definition for a service” on page 232.
Consumer
Capability
Version
Consumer Id
Context Id 1.0
Dynamic SLA
Gateway
Mediation
Capability
Version
(Consumer ID)
WebSphere ESB
WebSphere Service Registry
and Repository
Service
Endpoints
V1.0
Service
Endpoints V1.0
Service Ports
V1.0
Service Level
Definition
V1.0
Service Level
Agreement
(Context ID 1.0)
Provider
Service
Version V1.0
Service
Interface V1.0
Provider
370 Smart SOA Solutions with WebSphere Enterprise Service Bus Registry Edition V7.5
After completing those steps the account creation service v1.0 is at the Realized
state in the SOA life cycle. The development team has implemented the service
provider and has deployed the EAR file for the account creation service v1.0
(named AccountCreationV1_0EAR.ear) to a server in development environment.
The team has also performed functional tests (without the ESB gateway
solution.)
Publishing the gateway provider endpoint
Optionally, you can register the gateway endpoint for the account creation
service v1.0 that is made visible to consumer capability versions. Follow these
steps:
1. Load the gateway endpoint WSDL for the account creation service v1.0
AccountCreationV1_0_DevelopmentPortGateway.wsdl into WSRR.
2. Add the staging gateway port to the SLD.
3. Add the staging gateway service endpoint to the SLD.
4. Authorize the gateway endpoint for use to change its state to online.
Configuring the v1.0 consumer
To configure a consumer capability in WSRR, complete the steps described in
7.4.6, “Governing the service consumer” on page 238.
By following these steps you now have the consumer application version 1.0 in
the
Specified state of the SOA life cycle environment. The consuming application
is able to consume the account creation service through the dynamic SLA
gateway.
We use the Web Services Explorer in IBM Integration Designer to send requests
to the provider service, which simulates the consumer application.
Testing
To test the SLA gateway solution for managing the service version 1.0 in the
development environment, complete the following steps:
1. In IBM Integration Designer, open the context menu by right-clicking a WSDL
in any web services project.
2. In the context menu, select Web services Test with Web Services
Explorer.
Chapter 10. Service versioning 371
3. Clear the WSDL entry under the WSDL main in the navigator view by clicking
the eraser icon, as shown in Figure 10-10.
Figure 10-10 Clearing the WSDLs in the Web Services Explorer
4. In the WSDL URL field, enter the following web services URL for the account
creation to bring the WSDL into the navigator view:
http://localhost:9080/AccountCreationV1_0/services/AccountCreationSe
rviceV1_0_DevelopmentPort?wsdl
Figure 10-11 shows the completed WSDL URL field.
Figure 10-11 Fetching the WSDL into Web Services Explorer
Web Services Explorer: Using the Web Services Explorer in IBM Integration
Designer allows us to test the versioning as part of the final verification steps
in the
Realized state in the development environment. In many cases, such
tests involve multiple consumer and provider services. Thus, you can
complete such tests only when all involved services are deployed in a staging
environment. Test version management early, when possible, according to
your test plan.

Get Smart SOA Solutions with WebSphere Enterprise Service Bus Registry Edition V7.5 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.