Lecture 1-SOA Introduction and Basics
Lecture 1-SOA Introduction and Basics
Presented by:
Dr. Dina Ezzat
1
Outline
• What is a Service?
• What is a Software Architecture?
• What is Service Oriented Architecture?
• What is a Service in Service Oriented Architecture?
• Elements of a Service
• Properties of a Service
• Drivers/Benefits of Services
• Common Misconceptions about Service Definition
2
What is a Service?
• A service is something useful a provider makes for a
consumer.
4
Example
• Suppose you go to a restaurant to have breakfast.
• The restaurant offers a menu that contains all its food and
drink items.
• The figure shows the contract for the breakfast, the interface
(English menu and waitress Jane) and the implementation.
5
Contract
• When entering the restaurant, a waiter explains the breakfast
components and ingredients.
• There are two different ways to communicate the items of the menu.
• To know what items the customer can order, he/she can check the
menu or through asking the waitress Jane. 7
Implementation
• A customer is not interested in the implementation.
• For example:
➢ Is there on time.
➢ Costs no more than written on the menu.
8
Consumer and Provider
• There are two main parties of interest:
1. Customer ordering the breakfast.
2. The restaurant providing the breakfast.
9
Reuse of Breakfast Service
• Many people have breakfast at this restaurant.
• Why reuse
• Benefits of reuse
• An important factor for achieving reuse is that future
customers trust the quality of the service and agree with the
conditions under which it is provided.
• Which are: contract and interface.
11
Software Architecture
• Software architecture refers to the fundamental structures of
a software system and the way of creating such structures and
systems.
12
Software Architecture Example
13
Service Oriented Architecture (SOA)
• Service Oriented Architecture (SOA) is an architectural style
that supports service orientation.
14
Service Oriented Architecture (SOA)
(Cont.)
• A service is a unit of functionality that can be accessed
remotely and executed and updated independently.
15
Examples of Services
• Payment.
• Booking a hotel.
• Shipping service.
16
Examples of SOA
• A website using payment service like PayPal integration.
• What else
17
Service
• A service is a self-contained unit of software that performs a
specific task.
• Examples of services
18
Service Interface
• It is the way consumers can interact with services.
19
Service Contract
• The most basic interaction in SOA is between service providers
and service consumers.
• Before the provider can provide whatever the service offers, the
two parties must come to an agreement, or contract, that
specifies the details of the service the provider is performing.
20
Service Contract (Cont.)
• Contracts should describe functional requirements
➢ The contract should define what functionality the provider
provides and what data it will return.
22
Elements of a Service
• The contract and interface are visible to the outside world.
23
Properties of a Service
• A service has four properties according to one of many
definitions of SOA:
24
Drivers/Benefits of Services
• Flexibility:
➢ Services are small building blocks with a clear set of
capabilities.
➢ Easier to support the changing requirements of the
organization.
• Cost reduction:
➢ Reusing a service is cheaper than building and maintaining
duplicate functionality.
25
Drivers/Benefits of Services (Cont.)
• Shorter time to market:
➢ By reusing services, functionality can be provided faster, thus
reducing the time to market.
• Increase in quality:
➢ Because more consumers use a service, it is better tested.
➢ Since it is better tested, so the service quality increases.
26
Common Misconceptions about
Service Definition
• Every service is a web service.
What is a web service
➢ While a service can be implemented as a web service, it can
also be a SQL procedure or a .NET class containing methods.
➢ The use of web services and web service standards does help
to achieve interoperability.
27
Question
28
References
• SOA Made Simple, by Lonneke Dikmans and Ronald van
Luttikhuizen, 2012.
• https://en.wikipedia.org/wiki/Software_architecture
• https://viniciustavanoferreira.wordpress.com/2019/04/17/softwar
e-engineering-baseline-software-architecture-software-to-
discover-plants-diseases/
• https://en.wikipedia.org/wiki/Service-oriented_architecture
• https://www.oracle.com/technicalresources/articles/javase/soa.ht
ml
• https://doveltech.com/innovation/what-belongs-in-a-service-
contract/
29
Any Questions?
30