ITC4205 Lecture 2
ITC4205 Lecture 2
Cloud Computing
Time: Thursdays (10am to 12pm)
Course Lecturer: Umar Shafiu Haruna
Today’s Lecture (Note)
Why Service-Oriented Architecture (SOA)?
What is SOA?
SOA Building Blocks
• Service Provider
• Service Client
• Service Registry
Advantages of SOA
Services and their Properties
Web Services and Web Service Protocol Stack
Why SOA?
• Today’s world is all about Innovation. It is a process of making
changes in order to do something new.
• SOA greatly supports innovation through making changes easier.
• Traditionally building IT requires rigidly assembling hardware,
software and networking. Implementing change is tedious.
• With SOA, IT is build with easy to assemble and easily reconfigurable
components. These components are services like: checking inventory
and checking shipping status.
• You can assemble these services in any way you want.
• To make changes, simply rearrange them, add or remove others.
Saves time and money.
• This helps your business grow efficiently
• Also, flexibility to change makes your business innovate
Why SOA?
• Traditional engineering systems are homogeneous, bounded,
monolithic and relatively static. It is very hard to change large and
monolithic programs, hence makes it very difficult to change business
processes to meet new requirements or take advantages of new
business opportunities.
• This kind of systems can not read or exchange information with each
other, hence integrating these applications is cost ineffective. SOA can
save integration costs.
• Summarily, These kind of systems have the following issues
Monolithic
Extremely complex
Very tightly coupled
Difficult to identify perfect integration points
Rigid architecture makes even small changes challenging, complex and costly
Why SOA?
• Most of the today’s business systems are complex engineering ones
that can be characterized as distributed, heterogeneous, dynamic,
unbounded.
• Modelling and Designing these systems requires an alternative
paradigm that deals with the following features:
Focus on services rather than components
Interoperability and cross platform to deal with high level of diversity
between components
Loose coupling and distributed
Abstraction against complexity
• This is the idea behind SOA.
An Example from IT
Development of transportation network application
Some of the requirements:
• Map for navigation
• Payment
• Login and authentication
• Etc.
Approaches to solving this problem:
1. Develop all the requirements as subsystems and finally integrate them.
Inefficient and cost ineffective
2. Use SOA. For example, use google map for the map, paypal as payment
gateway, etc. These are all services that can be integrated to achieve this.
Is SOA good enough???
What is SOA?
• Style of software design where services are provided to other
components through a communication protocol over a network
independent of vendors, products and technologies
• An IT architecture composed of software that has been exposed as
Services, that is, invoked on demand using a standard communication
protocol
• The goal is just-in-time integration of applications by discovering and
orchestrating network-available service.
• With this, applications will no longer be a big chunk of software that
runs on a computer but a combination of web services.
publish-find-bind paradigm
SOA is based on publish-find-bind paradigm
SOA Building Blocks
• Service Provider
Provides service implementation
Supplies service descriptions
Provides related technical and business support
• Service Client
Discovers and uses a service
• Service Registry
Directory where service descriptions can be published and found
Advantages of SOA
• Reuse of services
• Business services across platforms
• Location independence
• Search and connectivity is dynamic
• No need for a particular network system
• Ability to more quickly meet customers demand
• Reduced reliance on custom development
• Allow businesses to be ready for the future
• Easier to integrate
Disadvantages of SOA
Reading Assignment
What is a service?
• Unit of work done by a service provider to achieved desired results
for clients (service consumers).
• It can also be defined as a logical manifestation of some resource
combined with some business logic.
• Service Providers provides the implementation and maintenance of
services
• Services are reusable
• Examples: Fund withdrawal or funds deposit service
Service Client and Service Provider Views
Properties of Services
• Self contained
• Represents business activities with specified outcome
• Black box for consumers (clients)
• It may consists of other underlying service