Service identification and description. 2 Copyright e-Government Program (Yesser) Service...

18
Service identification and description

Transcript of Service identification and description. 2 Copyright e-Government Program (Yesser) Service...

Service identification and description

Copyright e-Government Program (Yesser) 2

Service identification - Summary Slide

Definition - Service Definition - Interface

Service interface – operation - parameters Example of a service What needs documenting?

From specification to design Service identification + description - the process

Identify Service operations Naming: Service operations Naming: Service operations

Add service operations to the use case steps Create descriptions

Audit Use cases and term model

Copyright e-Government Program (Yesser) 3

Definition - Service

A service is executable software which offers a well-defined interface, accessible to other, independently developed and functioning, pieces of softwareA service displays functionality for others in form of operations

P3

P4

P2

P5

P1

Programstruktur

Datamodel

Service

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Operation 6

Operation 1

Operation 2

Operation 3

Operation 4

Operation 5

Interface

P3

P4

P2

P5

P1

Program structure

Data model

ServiceInterface

Copyright e-Government Program (Yesser) 4

A service has the following properties Use:

A (business) service only exists if the business understands it The service user does not need to know anything but the ”service

agreement” for using the service The service is autonomous – loosely coupled – without a state The service works independently, i.e. that one use of the service is

independent of other uses and of user context Services are a standardised way of modelling functionality across suppliers

and platforms

Technical: Services can be access from all platforms through a well-defined interface There are several ways of implementing a service – e.g. web service Service data can only be accessed through its operations

Thus it is not allowed to access service data by going around the operations (join across service tables is forbidden)

Copyright e-Government Program (Yesser) 5

Definition - Interface The interface of the receiving system, to which the using systems must relate and refer

Used in several different places in IT architecture: Between human and computer (e.g. GUI) Between programs Between other elements in IT architecture

Service

Output parameter

Input parameter

Output parameter

Input parameter

Output parameter

Input parameter

Output parameter

Input parameter

Output parameter

Input parameter

Output parameter

Input parameter

Operation 6

Operation 1

Operation 2

Operation 3

Operation 4

Operation 5

Interface

Copyright e-Government Program (Yesser) 6

Service interface – operation - parameters

The service interface has the following properties Service contact with the outside world Consists of operations and input / output parameters The interface must be well-documented The interface must be on display and easily accessible

Operations: Operations are the service functionality Without operations, no functionality

Input parameters: The data elements (attributes), which the operation needs to be able to perform

the specified functionality

Output parameters: The data elements (attributes), which the operation returns after performing the

specified functionality

Copyright e-Government Program (Yesser) 7

Example of a service

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

List

InterfaceCustomer

Send

Delete

Update

Read

Create

Copyright e-Government Program (Yesser) 8

What needs documenting?

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

List

InterfaceCustomer

Service description

Service operation description

Service operation

description

Service operation

description

Service operation

description

Service operation

description

Service operation description

Send

Delete

Update

Read

Create

Copyright e-Government Program (Yesser) 9

From specification -> design

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

Inputparametre

Outputparametre

InputparametreOpret

Søg

Ret

Hent

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameter

Outputparametre

Inputparametre

Output parameter

Input parameterCreate

Read

Update

Delete

InterfaceCustomer

Logical layer

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"   ……<message name=“CreateRequest">  ……  </message><message name=“CreateResponse">  ……  </message><message name=“CreateFault">  ……  </message>………..<operation name=”Create" parameterOrder="arg1"> <documentation>OpRegister customer in customer file index</documentation> <input name=" CreateRequest " message="tns: CreateRequest " />   <output name=" CreateResponse " message="tns: CreateResponse " />   <fault name="Fault" message="tns: CreateFault " />   </operation>  ……….<service name=“Customer">  <documentation> Short service description </documentation> …….  </service>

  </definitions>

Operational layer

WSDL = ”Service contract”

Send

List

Copyright e-Government Program (Yesser) 10

Service identification + description - the processA

gen

cy

Completedescriptions

Initial state:- use cases identified and specified

Final state:- All services identified and documented

AllServices

Finished ?yesno

Audit Use casesand term model

IdentifyServiceoperations

Link to:-Use Case modeling-Term modeling

Copyright e-Government Program (Yesser) 11

Identify Service operations

Identify Service operations For each use case, add service operations Generalise Services – think big picture, consider reuse Create services and operations in the service catalogue Categorise services

Copyright e-Government Program (Yesser) 12

Naming: Service operations

Service operations are composed as follows: Term.Sub term_Operation

Term: The term describes an overall operational object, present in the term model. The term is

also the name of the service. The term is never in plural form.

Sub term: The sub terms belongs to the overall operations object; e.g. customer- optional, where

Optional is a sub term to Vehicle. The sub term is only used when it does not represent the overall term that relates to the operation – it is equipment that needs listing/getting/registering, not the vehicle itself.The sub terms is never in plural form, and is separated from the overall term by a ”.” (period).

Operation: The operation is the description fo the task the service performs, e.g. Get, Create, List,

Correct. The list of operations is not final, but will at first be kept at a minimum – though it is vital that the operation that the operation covers the actual task the service provides. If there is no operation to cover the task, one must ”invent” a new oneThe operation is referred to as an imperative verb, and separated from the sub term by a ”_” (underscore). If there is no sub term, use a ”.” to separate operation from overall term.

Copyright e-Government Program (Yesser) 13

Naming: Service operations

Read: Read is used to acquire (read) data, an instance, from a data source List: Lists the instances in the database. Create:  Creates a new instance, and saves it to a database. Only instances that have

been created can subsequently be retrieved (Get).Update: Update makes content changes to an already created instance.Send: Sends data to a given recipient, when it is necessary to push data.Delete: This operation deletes an instance.

Copyright e-Government Program (Yesser) 14

Example of service description template

Copyright e-Government Program (Yesser) 15

Example of template for service operation description

Copyright e-Government Program (Yesser) 16

Add service operations to the use case steps

Copyright e-Government Program (Yesser) 17

Create descriptions

Create descriptions Describe the service Describe the operations Add input and output parameters for each operation –

typically harvested from term model

Copyright e-Government Program (Yesser) 18

Audit Use cases and term model

Revise Use cases If there is a need for use case changes, these are re-

vised on the go Make use of professional specialists

Revise the term model If there is a need for term model changes, these are re-

vised on the go Make use of professional specialists