100% found this document useful (1 vote)
77 views13 pages

Service Contract Template

- The document describes a service contract template for an "Employee" service that provides functionality for retrieving an employee's maximum weekly work hours and updating their work history. - It outlines the basic service information, operations, inputs/outputs, faults, and performance metrics that should be documented in a service contract to specify the relationship between a service provider and consumer. - The template is intended to use both human-readable language as well as machine-readable formats like WSDL and XSD to define the functional, non-functional, and policy requirements for a service in a consumable manner.

Uploaded by

preethiscribd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
77 views13 pages

Service Contract Template

- The document describes a service contract template for an "Employee" service that provides functionality for retrieving an employee's maximum weekly work hours and updating their work history. - It outlines the basic service information, operations, inputs/outputs, faults, and performance metrics that should be documented in a service contract to specify the relationship between a service provider and consumer. - The template is intended to use both human-readable language as well as machine-readable formats like WSDL and XSD to define the functional, non-functional, and policy requirements for a service in a consumable manner.

Uploaded by

preethiscribd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

22-10-2008

This Presentation Courtesy of the


International SOA Symposium
October 7-8, 2008 Amsterdam Arena
www.soasymposium.com
[email protected]

Founding Sponsors

Platinum Sponsors

Gold Sponsors Silver Sponsors

Introducing the Service Contract


Template: Evolving the Contract
with the Business
Arnaud Simon
Red Hat

1
22-10-2008

Presentation Summary
Why do we need a Service Contract?
What goes in the Service Contract?
Service Contract Definition Process
Service Contract Characteristics
Service Contract and Policy enforcement
Conclusion

Why do we need a Service


Contract?
Services are loosely coupled, when the
Consumer only needs to know the service
interface; no technology- or platform-details
Service Service
Consumer Provider
Service Contract
n service definition
n service operations
Implementation n message formats Implementation
n QoS
n

Service Contracts formally specify the


relationship between Provider and Consumer

2
22-10-2008

What goes in the Service Contract?


There are two types of contract requirement:
Functional requirements
Describe which functionality a consumer can expect
from the service if it abides to its contractual
obligations
Nonfunctional requirements
Define the way in which the service provider goes
about its business
Policies
Specify the rules of engagement between service
consumers and service providers

Service Contract Definition Process


Define the Functional Requirements

Define the Service


Describe the functionality of the Service
Define the semantics of the service

Define how to consume the Service


Define message and semantic formats for requests
Define error management
Identify conditions for particular outcomes and
behaviors

3
22-10-2008

Service Contract Definition Process


Define the Nonfunctional Requirements

Define how consumers will communicate with


the Service
Describe acceptable communication protocols
Decide on the appropriate invocation style
Delineate quality of service and applicability
constraints
Set your latency expectations
etc.

Service Contract Definition Process


Define the Policies

Access control
Data encryption
Non repudiation
Auditing
Usage control
Etc.

4
22-10-2008

Service Contract Definition Process


Finally Advertise your Service Contract

Identify prospective consumers


Identify what value the Service provides them
Publish the Service Contract
Make sure prospective consumers
Understand it
Agree with it
Are ready to use it

Create excitement!

Service Contract Lifecycle


Service Evangelization
1 Service Architect
Management
Service Definition
Service Architect
Business people
Service Implementation
2 Service Architect
Development Team
3

Service Deployment Service Publication


Service Architect Service Architect
Deployment Team
System administration Team

5
22-10-2008

Service Contract Characteristics


Service Contract Actors
Service Architects
Business Analysts
Managers
Development Team
Deployment Team

The Service contract is also a communication


tool

Service Contract Characteristics


WS-* Standards cannot express everything:
Security
Transactionality
reliability

WSDL itself is insufficient to describe all the Service Contract


requirements

WSDL and XML schema are


Machine readable language
Humane readable and writable?
Only by trained computing people!

WSDL cannot be used for communicating with business people

6
22-10-2008

Service Contract Characteristics


Use a Service Contract Template
Mixture of:
Human language
Machine-readable languages (WSDL, XSD)

The following sample is derived from the case


study introduced in the book:
'Service-Oriented Architecture. Concepts,
Technology, and Design' by Thomas Erl, PRENTICE
HALL 2005

Basic Service Information


Basic Service Information
Service Name Employee
Service Version 1.0
Service Description As part of the Timesheet Submission Process, see pages 448 to 441,this service is required to contribute
two specific functions.
The first requires it to execute a query against the employee record to retrieve the maximum number of
hours the employee is authorized to work within a week.
The other piece of functionality it needs to provide is the ability to post updates to the employee's
history. This operation is required only when a timesheet is rejected.

Service Usage This service is accessed by the orchestration service: Timesheet Submission Process, see page 441

Release Notes

Valid Period Date introduced 22/02/2005; expiry date 01/02/2007


Service Location http://sample.com/employee

7
22-10-2008

Service Operations
Service Operation GetWeeklyHoursLimit'

Name GetWeeklyHoursLimit

Description GetWeeklyHoursLimit uses the Employee ID value to retrieve the WeeklyHoursLimit value

Preconditions Employee ID must exist

Post-conditions Current Week working hour limit for this employee is returned

Message Exchange Pattern Request-response: receive a message, perform business logic and send a correlated message

Service Input and Output


Output

Description Employee ID and its corresponding working limit for the current week.

Data Type Data Type


Description Employee ID specified as an Integer and this employee working
hour limit for the current week expressed as a Short.

Additional As specified in the TLS entity-model


Information Constraints:

Schema ..\Chapter 15\Employee.xsd

Binary Part Not required

8
22-10-2008

Faults Scenarios

Faults
Fault
Condition Communication failure
Additional Error code TLSC03
information

Fault
Condition Service unavailable
Additional Error code TLSC04
information

Performance Metrics
Service Level Agreement

Service Availability 24/7


Maximum 5 minutes
Downtime
Guaranteed 2 seconds in 99% up to 5 minutes
Response Time

Maximum Call 100 calls per hour for GetWeeklyHoursLimit and 0.2 for UpdateHistory
Frequency

Average Call 10 calls per hour for GetWeeklyHoursLimit and 0.02 for UpdateHistory
Frequency

9
22-10-2008

Policy and Security


Identity store
Centralized part of the overall infrastructure
Ensure it is consistently used and maintained
Authentication & Authorization
Define how security claims from service
consumers are validated and processed
Data Encryption
Transport security (SSL)
Payload encryption

Policy and Security


Usage Control
Bill the service consumer on a per usage basis
Prioritize access
Auditing
How exactly is a service being used?
Who is using the service?
Rule conditions can be set up to audit under
certain conditions

10
22-10-2008

Policy and Security


Error Trapping
Runtime errors needs to be recorded and
reported
Response times and Logged timeouts need to be
monitored
Ensure that the service is kept inline with SLA
requirements!
Notification Services
Send out notifications when specific events are
triggered

Service Monitoring
Availability
When will the service be active and available?
Will the service always be fully available?
Logging
Troubleshooting
Monitoring
Security control
Auditing
How exactly is a service being used?
Who is using the service?

11
22-10-2008

Service Repository and Registry


Awareness & Discovery
The service consumer must have knowledge of the
existence of the service provider and the location of
its contract
Publish Process
Ensure that service registration and contract metadata
are performed in a consistent manner
Documentation
The service registry must contain documentation to
help better interpret the service's capabilities

Service Versioning
Message & Operation Contracts
Backward compatible changes

12
22-10-2008

Service Versioning
Message & Operation Contracts
Use an ESB

Service Versioning
Policies

13

You might also like