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

Review: Introduction To Architectural Styles Distributed Architectures

This document discusses distributed software architectures and service-oriented architecture (SOA). It defines key SOA concepts like services, service orientation, and service discovery. It explains the need for SOA in isolating business logic and enabling interoperability. The types of services in SOA systems are described, including business, entity, functional, and utility services. SOA organizes services into layers and provides benefits like faster application development, easier maintenance, business agility, and lower costs.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

Review: Introduction To Architectural Styles Distributed Architectures

This document discusses distributed software architectures and service-oriented architecture (SOA). It defines key SOA concepts like services, service orientation, and service discovery. It explains the need for SOA in isolating business logic and enabling interoperability. The types of services in SOA systems are described, including business, entity, functional, and utility services. SOA organizes services into layers and provides benefits like faster application development, easier maintenance, business agility, and lower costs.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

Review

Introduction to architectural styles


Distributed architectures
Client Server Architecture
Multi-tier Architecture
Outline
Distributed Architectures
Service Oriented Architecture
Distributed Software
Architecture
Distributed Software
Architecture
A distributed system is a collection of computational and storage
devices connected through a communications network.

Communication occurs using a number of methods including


message passing, remote procedure calls, and remote method
invocation.
Service Oriented
Architecture
Service
A service is a business functionality that is
well-defined,
self-contained,
Independent from other services,
and published and available to be used via a standard
programming interface.
Math.h

Sqrt(n)
Service Oriented Architecture
(SOA)
Service Oriented Architecture (SOA)
is a business centric IT architectural approach that
supports integrating your business as linked, repeatable
business tasks, or services.
Service Orientation
Service orientation is a particular strategy for separating
concerns and dividing a system into components.

every component
Its fundamental characteristic is that
provides a distinct service that can be used by
multiple consumers.
Banking example
Imagine that several areas of banking applications will
deal with the current balance of an existing customer.
More than often, the get current balance functionality
is repeated in various applications within a banking
environment.
This gives rise to a redundant programming
scenario.
The focus should be toward finding this sort of common,
reusable functionality and implement it as a
SOA Defined
SOA is a software architecture model
in which business functionality are logically grouped and
encapsulated into
self contained, distinct and reusable units called services that
represent a high level business concept
can be distributed over a network
can be reused to create new business applications
contain contract with specification of the purpose, functionality, interfaces,
constraints, usage
... of the business functionality
Service Discovery
A service can only be used if potential clients are aware of its
existence, and have information about how to use it.
This is achieved through service description.

A service description contains at least the name of


the service, the location of the service, and the data
exchange requirements.
Key aspects of services
Loose coupling
the inherently unreliable communication over the internet must not
lead to a blocked system.
Service contract
A service contract is a communications agreement, and specifies
the details of the service that the service provider is performing
Autonomy
Services should have control over the logic they encapsulate.
Key aspects of services
Abstraction
Reusability (very important)
Composability (one functionality can communicate with other and
perform a task.)
Statelessness
services should minimize retaining information specific to an activity
Discoverability
What is Service Architecture? services

A collection of services
type type type

classified into
types
arranged into
layers
Governed by
architectural ca
ti o
n
ar
it y
e nc
y

ifi l nd
patterns and policies
u
ent ran pe
source:TietoEnator AB,
id g de
Kurts Bilder
Need for SOA
Isolating Business Logic
The biggest problem in programming is often it is very difficult to
keep the business logic separated from the so called computer
logic.

Non-IT folks can change the business logic any time, without
understanding how a small change could result in possibly
disproportionate amount of work required by the IT folks to
implement the change.
Need for SOA
Interoperability
Ability of one service to run on multiple machines.

Redundancies
There are many similar yet slightly different applications that are
used throughout the organization.
Each department usually comes out with its own version of
software components.
Types of Services
There are several types of services used in SOA
systems.
Business services
Entity services
Functional services
Utility services
Types of Services
Business services
Business service can be defined as the logical encapsulation of
business functions. It has to be relevant to the business the
organization is running.

Entity services
An entity service usually represents business entities (e.g.
Employee, Customer, Product, Invoice etc.). Such entity service
usually expose CRUD (create, read, update, delete) operations.
Types of Services
Functional services
It is usually a technology-oriented service and not a business
oriented one. Task services can be thought of as controller of
composition of services and hence its reusability is usually lower.

Utility services
Utility services offers common and reusable services that are
usually not business centric. They might include event logging,
notifications exception handling etc.
Service Architecture
Organized by Layers
Example Layers

Reasons for Layering


Presentation
1.Flexible composition. & workflow
2.Reuse.
Composed
3.Functional standardization Services
in lower levels
4.Customization in higher Basic Services
layers
5.Separation of Concerns. Underlying
6.Policies may vary by Layer API
SOA is an evolutionary step

for architecture
Another example
An online travel agency
system
It consists of four existing
web services:
airline reservation,
car rental,
hotel reservation,
and attraction reservation.
SOA Benefits
Ability to build business applications faster and
more easily
Easier maintenance / update
Business agility and extensibility
Lower total cost of ownership
Summary
Distributed architectures
Service Oriented Architecture

You might also like