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

Lecture 1-SOA Introduction and Basics

This document provides an introduction to Service Oriented Architecture (SOA). It defines key SOA concepts like services, interfaces, contracts, and implementations. A service is a self-contained unit of software that performs a specific task. It has three main elements - an interface, a contract, and an implementation. The interface defines how consumers interact with the service, while the contract specifies requirements and policies. The implementation contains the actual code and is hidden from consumers. SOA aims to break down programs into distinct services that can be reused and combined to create applications.

Uploaded by

زينب على
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

Lecture 1-SOA Introduction and Basics

This document provides an introduction to Service Oriented Architecture (SOA). It defines key SOA concepts like services, interfaces, contracts, and implementations. A service is a self-contained unit of software that performs a specific task. It has three main elements - an interface, a contract, and an implementation. The interface defines how consumers interact with the service, while the contract specifies requirements and policies. The implementation contains the actual code and is hidden from consumers. SOA aims to break down programs into distinct services that can be reused and combined to create applications.

Uploaded by

زينب على
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Course: Service Oriented Architecture

Course Code: IS434

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.

• Services are paid for.

• Services can be simple like fixing a chair.

• However, there are more complex services such as fixing a


laptop.

• These complex services are composed of other services.


3
Elements of a Service
• A service has certain elements in order to be well defined and
usable.

• It has three components:


1. Interface
2. Contract
3. Implementation

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.

• The breakfast is available from 7 a.m. to 1 p.m. and it costs 30


LE.

• You can pay by credit card or cash, but only in Egyptian


pounds.

• The waitress informs you that breakfast will be served in five


to ten minutes.

• Quality, price, order time, etc. are examples of important


factors of the breakfast that a consumer cares about. 6
Interface
• The interface is the way you interact with a service.

• To order breakfast you interact with:


➢ Jane (waitress).
➢ The menu that is in English.

• These are two channels of the interface.

• A channel is a route of communication.

• 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.

• The customer does not need to know how the restaurant


prepares his/her meal.

• What a customer cares about is that the breakfast is according


to his/her expectations.

• 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.

• Dealing with lots of service providers:


➢ If you want to have breakfast in an unknown city, you might
search in Yellow Pages to check the list of all breakfast places.

9
Reuse of Breakfast Service
• Many people have breakfast at this restaurant.

• A service is reused if a service has several consumers.

• 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.

• If consumers do not agree with the terms provided, they will


use services from another restaurant/provider.
10
What is SOA?

11
Software Architecture
• Software architecture refers to the fundamental structures of
a software system and the way of creating such structures and
systems.

• Each structure comprises:


➢ Software elements.
➢ Relations among them.
➢ Properties of both elements and relations.

12
Software Architecture Example

13
Service Oriented Architecture (SOA)
• Service Oriented Architecture (SOA) is an architectural style
that supports service orientation.

• Service orientation is a way of thinking in terms of services


and service-based development and the outcomes of services.

14
Service Oriented Architecture (SOA)
(Cont.)
• A service is a unit of functionality that can be accessed
remotely and executed and updated independently.

• For example: retrieving a credit card statement online.

• Services are the basic building blocks in a service oriented


architecture.

15
Examples of Services
• Payment.

• Booking a hotel.

• Shipping service.

16
Examples of SOA
• A website using payment service like PayPal integration.

• An e-commerce website using a service for shipment of


products.

• 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.

• The interface defines how a service provider will perform


requests from a service consumer.

19
Service Contract
• 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.

• 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.

• Contracts must also specify nonfunctional requirements


➢ Not what the service does, but the way in which it goes about
its business.

• Contracts also specify the rules of engagement between


consumers and providers, known as policies, that govern who
can access a provider, what security procedures the
participants must follow, and any other rules that apply to the
exchange.
21
Service Implementation
• The implementation is the actual service code.

• Because the interface of a service is separate from its


implementation, a service provider can execute a request
without the service consumer knowing how it does so; the
service consumer only worries about consuming services.

22
Elements of a Service
• The contract and interface are visible to the outside world.

• The implementation is hidden or a black box to consumers.

• Consumers don’t care about the service implementation.

23
Properties of a Service
• A service has four properties according to one of many
definitions of SOA:

1. It logically represents a repeatable business activity with a


specified outcome.
2. It is self-contained.
3. It is a black box for its consumers, meaning the consumer
does not have to be aware of the service’s inner workings.
4. It may be composed of other services.

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.

• Consumers of services are always IT systems.


➢ Not all services are accessed by a system.
➢ An automated service can have a graphical user interface
accessed by humans such as employees and customers.

27
Question

• Is SOA considered a technology?

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

You might also like