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

CS1 Introduction

The document outlines a course on Service Oriented Computing, focusing on Service Oriented Architecture (SOA) and its evolution, benefits, and characteristics. It covers the modular structure of the course, evaluation schemes, and various technologies and tools used in service-oriented applications. The document also discusses the differences between SOA and microservices, the role of an Enterprise Service Bus (ESB), and the importance of SOA in modern application development.

Uploaded by

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

CS1 Introduction

The document outlines a course on Service Oriented Computing, focusing on Service Oriented Architecture (SOA) and its evolution, benefits, and characteristics. It covers the modular structure of the course, evaluation schemes, and various technologies and tools used in service-oriented applications. The document also discusses the differences between SOA and microservices, the role of an Enterprise Service Bus (ESB), and the importance of SOA in modern application development.

Uploaded by

mohit
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Service Oriented Computing

Akshaya Ganesan
Assistant Professor[Off-Campus]
BITS-Pilani
Agenda
Contact Session 1
• Course Introduction
• Modular structure
• Evaluation Scheme
• Module 1
• Monolithic architecture – Limitations
• Service Oriented Architecture (SOA) - Introduction
• Evolution and Benefits
• Characteristics of SOA
• SOA vs Microservices
Course Objectives
What to expect!!
• Understand the need for Service-oriented Architecture and its evolution
• Understand the architecture of applications using service-oriented principles
• Design service-oriented applications.
• Apply specific standards, protocols, and technologies to design and develop web services in a
Service-oriented application.
• Understand the ways to design secure, fault-tolerant services.
Modular Structure

• Module 1: Introduction
• Module 2: SOA Terminology
• Module 3: SOAP based WS
• Module 4: REST based WS
• Module 5: Service-Oriented Design
• Module 6: API Design
• Module 7: Communication between services
• Module 8: Secure Services
• Module 9: Service composition
• Module 10:Transaction Management and Session Management
• Module 11: Fault Tolerant and Monitoring
• Module 12: Deployment
• Module 13: SOA vs. MSA Future
Technologies/Tools

• REST services- NodeJS


• POSTMAN
• Databases- Postgres/Mongodb (Flexible)

• API Gateway - AWS


• gRPC
• GraphQL
• Testing
Evaluation Scheme

Quiz 1 5%

Quiz 2 5%

Assignment 1 (group)[Design] 10%

Assignment 2 (group)[Implementation] 10%


Module 1: Introduction to SOA
Contact Session 1
Service Oriented Architecture

• Service-oriented computing is a computing paradigm that utilizes services as constructs to


support the development of applications.
• Service-Oriented Architecture (SOA) is a style of software design where services are provided to
the other components through a communication protocol over a network
• Services are self-contained modules – deployed over standard middleware platforms.
• Services can be described, published, located, orchestrated, and programmed using
technologies over a network.
Demystifying a service in SOA

• What is the difference between a weather website displaying weather information and a
GetWeather service

• Both give the desired information.


• Are they the same?

Let’s Try to read Behind the Scenes!


• Web site: https://whatismyipaddress.com/
• API : https://api.ipify.org/?format=json
Web Service Architecture
Services are often associated with two roles:
• 1. the service requester, which is the software requesting the service
• 2. the service provider, which fulfills requests

These roles looks similar to client and server roles!!


Evolution of Web
In order to best understand service-oriented architectures (SOA) based on web services, it is
important to understand the origin and evolution of web-based systems.
Client Server Architecture

• Request – Response Model


• Providers of a resource or service, Server
• Service requester/Consumer - Client

Request

Client Server
Response
N tier Architecture

3-tier to N-tier, Static vs Dynamic

Client(Browser)

Database 1

Application
Client(Browser) Web Server
Server

Database 2

Client(Browser)

Client Tier Internet Server Tier Middle Tier Data Tier


Monolithic Application

• The application is deployed as a single monolithic application.

• For example, a Java web application consists of a single WAR file that runs on a web container such
as Tomcat

• Difficulty to scale

• Redeployment of entire application in case of change

• A web-based system can be thought of as a collection of services and service requester/provider


pairings.
Service-oriented architecture

• Service-oriented architecture is an architectural style of web services.


• Any web service logically represents repeatable business activities with a specified outcome.
• Examples
• retrieving a weather report for a particular city,
• accessing stock prices for a given stock,
• updating a record to an inventory service
• SOA is much more than the design and development of a single service
Service Oriented Architecture
Service Oriented Architecture (SOA) is a business-centric IT architectural approach that
supports integrating your business as linked, repeatable business tasks, or services.

• Service-oriented architecture examines how to build, use, and combine services.


• Instead of creating large software suites(Monolith) that do everything
• Service-oriented architecture reaches software goals by building and using(reusing) services
and designing an architecture that supports their use
• SOA exposes business functionalities as services to be consumed by applications .
Why SOA?
Why SOA

• SOA is about exposing ‘functionality’ through web services.


• SOA is about abstraction.
• SOA is about allowing applications to communicate using a form of standard.
• The service interfaces provide loose coupling

• Before SOA , connecting an application to a functionality housed in another system required


complex point-to-point integration
• Exposing those functions through SOA services allowed the developer to simply reuse the existing capability
Benefits
SOA offered significant benefits to the enterprise
• Greater business agility; faster time to market: Reusability is key.
• Ability to leverage legacy functionality in new markets:
• Improved collaboration between business and IT
SOA
An ESB is an essential component of SOA

Image source:oreilly.com/library/view/9781789133608/936cb8b7-b10c-4093-9001-17fddcca0b30.xhtml
ESB and SOA
An ESB is an essential component of SOA
• An ESB, or enterprise service bus, is an architectural pattern whereby a centralized software
component performs integrations between applications.
• It performs
• transformations of data models,
• handles connectivity,
• performs message routing,
• converts communication protocols and
• potentially manages the composition of multiple requests.
• The ESB can make these integrations and transformations available as a service interface for
reuse by new applications.

• Problems With ESB: Bottleneck, Heavy weighted


Discussions
POV: from experts around the world
• “There is no meaningful difference between SOA and “micro”-services in terms of architecture,
benefits, and drawbacks. Basically “microservices” is just SOA rebranded, because SOA largely
failed to gain adoption a decade ago.”

• “microservices to be one form of SOA , perhaps service orientation done right.”

• What microservices movement can learn from the SOA movement?

• Self Reading:
• Learn from SOA: 5 lessons for the microservices era | InfoWorld
Microservices vs SOA

• Microservices Architecture is not an invention.


• MSA is the logical evolution of SOA and supports modern business use cases.

References

1) Book: SOA for Dummies – Limited Edition


2) SOA vs. Microservices: What’s the Difference? - IBM Blog
Thank You!
In our next session:

You might also like