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

Lect_18_SOA

Uploaded by

hira bukhari
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Lect_18_SOA

Uploaded by

hira bukhari
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15

What is Service Oriented Architecture

(SOA)?
SOA is an architecture pattern for developing distributed systems
where the system functionality is developed, deployed and utilised as
stand-alone software services.
Service
Three building blocks of SOA Publishe
- Service Provider r
- Service Requester Subscribe Publish
Softwa
- Service Publisher re
Service
Typical Examples s
- Weather Reporting Service Service Service
- Currency Conversion Service Requeste Provider
- Language Translation Service r
Bind
- Video Streaming Service
Service Oriented Architecture (SOA)

Service consumer expresses “intent”

Service providers define “offers”


Service
Publishe
Sometimes a mediator will: r
▪ Find the best offer matching an intent Softwa Publish
re
Service
s
Service Service
Requeste Provider
r
Bind
SOA – alternative terminologies

Rental Agency Service


registry

Apartment(size, lookup publish


immediate, cheap) Property
Details Service Service
requestor bind provider

Tenant Property Owner


Rental Agreement
Software Services
A Software Service can be defined as:
a loosely-coupled, reusable software component that encapsulates
functionality which may be distributed and programmatically
accessed.

a set of related software functionalities that can be reused for


different purposes, together with the policies that should control its usage.

A Web Service can be defined as:


as a service that is published and accessed using standard Internet and XML-based
protocols.

Mainframe Client World


Server SOA
Wide Web
Key Aspects of Software Services
Services can be discovered
Services can be composed to form larger services
Services adhere to a service contract
Services are loosely coupled
Services are stateless
Services hide their logic
Services are reusable
Services use open standards
Services facilitate interoperability
Object vs Service (Object-Orientation vs Service
Orientation)

Service User Login User Registration


Provider Interface
- ID uses
UserLogin - isRegistered
- Name

- getID()
- RegStatus()
- getName()
- LoginStatus()

Requester Interface
Object Classes
Service-Orientation in Real World
Our society has become what it is today through the
forces of
Specialisation
Standardisation
Scalability

It is now almost exclusively “service” oriented


Transportation
Telecommunication
Retail
Healthcare
Financial services
Service-Orientation: the Restaurant
Analogy

▪Restaurant provides food: a service

▪After the order is taken, food is produced, served, …: service


may consist of other services

▪The menu indicates the service provided: a service description

▪The order is written down, or yelled at, the cook: services


communicate through messages
SOA based on Web Services

SOA is a means of developing distributed systems where the


components are stand-alone services.

Services may execute on different computers from different


service providers.
Web Server

Document for Translation Translation Services


Service-Oriented Software service Engineering
Process

Service Service
candidate Service design implementation
identification and deployment

Service Service interface Validated and


requirements specification deployed service
Models in Software Engineering
▪ Model-driven engineering (MDE) is a software engineering methodology
which focuses on creating and exploiting domain models, which are
conceptual models of all the topics related to a specific problem.
[Wikipedia]

▪ Model Driven Engineering, MDE for short, aims to raise the level of
abstraction in program specification and increase automation in
program development.
What Exactly is a Model?
A model is an abstract representation of a product,
service or system that allows us to investigate, verify
and document its properties before production
Model-driven Engineering vs Model-driven Development
▪ Engineering vs Development?

Requirement Implementat
Design Evaluation
s ion

Models

▪ Model Driven Development aims to exploits the models to implement a


software system
▪ Model Driven Engineering aims to exploits the models to represents the
system requirements and design for system implementation and its
evaluation
Types of Models

Abstraction

Implementation
Tools and Technologies for MDSD

Eclipse Modeling Framework (EMF) is an


Eclipse-based modeling framework and code
generation facility for building tools and other
applications based on a structured data model.

You might also like