0% found this document useful (0 votes)
11 views

CS2 Service Terminology

The document outlines the fundamentals of Service Oriented Computing (SOC), including key terminology such as services, service contracts, and service consumers. It discusses various service models—Task, Entity, and Utility services—and emphasizes the importance of design principles like loose coupling and reusability. Additionally, it highlights the goals and benefits of SOC, referencing Thomas Erl's principles for service design.

Uploaded by

mohit
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
0% found this document useful (0 votes)
11 views

CS2 Service Terminology

The document outlines the fundamentals of Service Oriented Computing (SOC), including key terminology such as services, service contracts, and service consumers. It discusses various service models—Task, Entity, and Utility services—and emphasizes the importance of design principles like loose coupling and reusability. Additionally, it highlights the goals and benefits of SOC, referencing Thomas Erl's principles for service design.

Uploaded by

mohit
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/ 20

Service Oriented Computing

Akshaya Ganesan
Assistant Professor[Off-Campus]
BITS-Pilani
Agenda
Contact Session 2
• Service Terminology
• Service Models and Layers
• Service-Related Granularity
• Service Orientation Design principles
• Service Orientation Goals and Benefits
Module 2: SOA Terminology
Contact Session 2
Service Terminology
Service
• Applying service-oriented design principles to the design of solution logic results in service-
oriented solution logic.
• The most fundamental unit of service-oriented solution logic is the service.
• Services exist as physically independent software programs.
• Each service is assigned its own distinct functional context and comprises a set of capabilities
related to it.
• Those capabilities suitable for invocation by external consumer programs are commonly
expressed via a published service contract.
Service Terminology
Service capability
• Each service capability is a function offered by the service.
Service Terminology
Service Contract: The Most Important Metadata for SOA
• The most basic interaction in SOA is between Service providers and Service consumers.
• For each interaction between these two parties, one provides some combination of data and
functionality, and the other consumes it.
• The two parties must come to an agreement, or contract, that specifies the details of the Service the
provider is performing.
• A standardized service contract is one of the fundamental design principles in the Service Oriented
Architecture (SOA).
• Service contracts:
• WSDL for SOAP and
• WADL / uniform contract (provided by http)for REST.
• It also contains SLA that describes Qos guarantees, behaviors and limitations
Service Terminology
Service consumer
• A service consumer is a software program that invokes a service.
• Invoking a service means sending a message to one of the service capabilities expressed in the
service contract.
• Any number of programs can act as a service consumer. Eg:a web application, another service
Service Terminology
Service composition
• A service composition is an aggregate of services collectively to automate a common task.
Service Terminology
Service Agent
• A service agent is an event-driven program to act as an intermediary
Service Terminology
Service inventory
• A service inventory is an independently standardized and governed collection of services within
a boundary (an enterprise or a department in an enterprise)
• The inventory can be structured into layers according to the service models used
• Multiple business processes can be automated by the creation of service compositions that
draw from a pool of existing agnostic services that reside within a service inventory.
Service- Related Granularity
Different granularity levels
• Service Granularity
• - functional scope of service
• - fine-grained service- a small quantity of logic
• Capability Granularity
• The functional scope of individual service capability
• Constraint Granularity
• The level of validation logic in a capability
• More coarse grain – fewer constraints
• Data Granularity
• Quantity of data processed
Service Models
A service model is a classification
• When building services they can be categorized depending on:
• the type of logic they encapsulate
• the extent of reuse potential this logic has
• how this logic relates to existing domains within the enterprise
• The three common classifications that represent the primary service models are
 Task Service
 Entity Service
 Utility Service
• The use of these service models results in the creation of logical service abstraction layers.
Service Models
Entity Service
• The entity service model represents a business-centric service.
• Entities should be independent of any particular business process and intended to be reused in
multiple business processes.
• It is considered a highly reusable service because it is agnostic.
• Entity services are also known as entity-centric business services or business entity
services.
Example: Several of its capabilities are indicative of traditional CRUD (create, read, update, delete)
methods.
Service Models
Utility Service
• It is dedicated to providing reusable, cross-cutting utility functionality.
• It encapsulates low-level technology-centric functions like event logging, notification, and
exception handling.
• It is ideally application agnostic.
• The utility service, such as address checking or part number validation, is useful across the
enterprise.
Service Models
Task Service
• Services that implement a business function, activity, or task
• Task services come in different sizes ranging from discrete utility services to large business
services.
• Smaller services tend to be more general purpose.
• Larger business services are usually composed of smaller services.
• This type of service tends to have less reuse potential.
• Examples: calculate the price of an insurance quote.

• An organization can create its own service models!


• Service models play an important role in Service-oriented design phases.
SOA Reference Model
Service Oriented Design
The service-oriented design has eight specific design principles.

• Standardized service contract


• Loose coupling
• Abstraction
• Reusability
• Autonomy
• Statelessness
• Discoverability
• Composability

As per Thomas Erl's SOA Principles of Service Design


Goals and Benefits of Service-Oriented Computing
References

1) SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with
REST,by Thomas Erl, Benjamin Carlyle, Cesare Pautasso Raj Balasubramanian Prentice Hall.
Thank You!
In our next session:

You might also like