Top Banner
Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill
28

Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Jan 18, 2016

Download

Documents

Wendy Greer
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Service Oriented Architecture

An Introduction

Copyright © 2013-2015 Curt Hill

Page 2: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Introduction• Service Oriented Architecture is an

evolution in the philosophy of IT design

• This is the result of changes in computers and communication

• We will consider some history to set the stage

Copyright © 2013-2015 Curt Hill

Page 3: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

History I• Originally – the 1950s

– Mainframe computers with master file manipulation using assembly language

– Very little interaction between data from different programs

– Much of the data was on tape

• HLL and disks - 1960s– High level languages, eg. COBOL for

business– The beginning of real time processing

Copyright © 2013-2015 Curt Hill

Page 4: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

History IIa• Minicomputers – late 1960s-1970s

– Prices came down– Physical sizes shrunk– Computing power increased

• Distribution problems– The mainframe still retains the original

data– The mini receives an extraction from

the mainframe– There is now a problem with redundant

and out of date data– Business logic also duplicated

Copyright © 2013-2015 Curt Hill

Page 5: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

History IIb

• Multiple similar applications– Extract the data, possibly filtering or

modifying slightly– Create a new application that is

similar but slightly different than an existing application that runs on another machine

– Run the new application with the extracted data

– “Stovepipe” applications

Copyright © 2013-2015 Curt Hill

Page 6: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

History IIIa• Personal computers – late 1970s –

1980s– Compared to minis and mainframes

these are free, yet powerful enough to be very useful

• Networking – 1980s– Make distribution of data and software

easy

• These two compound the redundant and out of date data problems– The mainframe still contains the

originalsCopyright © 2013-2015 Curt Hill

Page 7: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

History IIIb• Networking and Desktop

computers gave birth to client-server computing– Now we can serve the data– The logic is still around in multiple

different form– Every important change to original

programs should be propagated to the derived ones

Copyright © 2013-2015 Curt Hill

Page 8: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

History IV• Internet and WWW – 1990s to now

– Inexpensive PCs, fiber optic networking and a little government seed money produces the Internet

– The World Wide Web requires a new kind of server and the browser and now everyone wants in

• Security issues start to increase dramatically

Copyright © 2013-2015 Curt Hill

Page 9: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Service• A definition of a service:

an act or performance offered by one party to another. Although the process may be tied to a physical product, the performance is essentially intangible and does not normally result in ownership of any of the factors of production

• Service is independent of the one who uses it

• We are mostly interested in web services

Copyright © 2013-2015 Curt Hill

Page 10: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Notion of a Channel• A channel is the mode by which

business services are used by customers, suppliers and partners

• Most of these are familiar:– Sending a FAX– Calling an agent– Filling in a web form– Speaking to voice recognition software

• These connect people or machines to enterprise services

Copyright © 2013-2015 Curt Hill

Page 11: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Channels Again• The channels give access to the

services that the enterprise provides:– Ordering– Information requests– Warranty services

• In the olden days only a few services were available– Modern consumers and customers

demand alternatives– Enterprises that do not provide them

will send their customers elsewhereCopyright © 2013-2015 Curt Hill

Page 12: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Application Approach• The typical approach was to provide

an application that interfaced with each channel and service

• A call center agent may deal with several applications– Caller was unaware how difficult this

was– Agent had training for each

• Enterprises tried to combine channels onto applications– Eg. FAX handled by the call center

Copyright © 2013-2015 Curt Hill

Page 13: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Application Construction• A typical ordering application had

several pieces to it– Verification of product information– Determine number in stock– Organize shipping– Confirm customer identity– Validate payment information

• We may have a separate application for each channel– Duplication of logical components and

dataCopyright © 2013-2015 Curt Hill

Page 14: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

The Problem• As the channels proliferate, so do

the applications• Maintaining these applications

requires more and more time• As the maintenance time (and

cost) increases the time to develop new applications decreases– The loss of flexibility diminishes the

enterprise’s ability to react to changes in the business environment

Copyright © 2013-2015 Curt Hill

Page 15: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Service Approach• Recall the previous list:

• Verification of product information• Determine number in stock• Organize shipping• …

• Make each of these a web service– Instead of many applications having a

product information component we now have a product information service

– All of the interfaces that need this communicate with this service

Copyright © 2013-2015 Curt Hill

Page 16: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Application Approach

Copyright © 2013-2015 Curt Hill

Channel Process Application

Call center

Order

Sales

Support

Product Verification

Stock in DB

Generate shipping

Customer lookup

PaymentValidation

Product Verification

Stock in DB

Customer lookup

Page 17: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Service Approach

Copyright © 2013-2015 Curt Hill

Channel Process Service

Web interface

Voice recognition

Call center

Order

Sales

Support

Product Verification

Stock in DB

Generate shipping

Customer lookup

PaymentValidation

Page 18: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Commentary

Copyright © 2013-2015 Curt Hill

• In the first approach we use similar code in two applications– The agent functions as the interface– The OO approach should be used– There is still considerable maintenance

overhead

• In the second approach we will use a web service– There is only one product maintenance

program– It communicates via SOAP or similar– One service may talk to another

Page 19: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Web Services• Reusable components available to

any web-accessible application– This could include applications that

drive a call center: CRM

• Any application (or service) may use

• What is required:– Know the service exists– Know the interface required

Copyright © 2013-2015 Curt Hill

Page 20: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Advantages

Copyright © 2013-2015 Curt Hill

• Service provider may be inside or outside the organization– As long as publicly available

• Service is not used until needed– Charges only accrue for use

• Services may be provided that mostly join together existing services

• Reduces size of application– Very nice for mobile

Page 21: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

More Advantages

Copyright © 2013-2015 Curt Hill

• The web services are loosely coupled– Ideal for reuse

• Platform and language independent

• The ability to use other’s services speeds up the development– It may be replicated in-house if

needed

Page 22: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Issues

Copyright © 2013-2015 Curt Hill

• The service approach has not always been an option

• Even in the day of the Internet the response time might not have been sufficient

• Generally it is now suitable• Some of these will need local

database access• Others may be services at other sites

– Our site or another site

Page 23: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Exposure• Not every component needs to be

fully exposed• These services may only be

available to a front end application• This minimizes some types of

security issues– But not all

Copyright © 2013-2015 Curt Hill

Page 24: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

SOA and OO• Object oriented has been the way

to go since the 1980s• Service oriented has a

fundamentally different appoach – A distributed approach that is

function, rather than object oriented

• Requires a different engineering approach

Copyright © 2013-2015 Curt Hill

Page 25: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Out with the Old?• There is a tremendous amount of

legacy code in existance– Social Security Commission alone has

60 million lines of COBOL code

• Are we to dump all of this?• Generally the costs are prohibitive• Two choices:

– Interface the legacy code, so that it functions in a more service-like way

– Piecewise replace componentsCopyright © 2013-2015 Curt Hill

Page 26: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

SaaS• Software as a Service• Same approach as shown before• The service is on the cloud• The front end interface is typically a

browser with JavaScript• A charge mechanism may be

required• This becomes an attractive option

for startups that do not have the established code base

Copyright © 2013-2015 Curt Hill

Page 27: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Standards• Mostly covered in an additional

presentation• These include:

– SOAP for messaging– WSDL describes service– UDDI is a directory of services– WS-BPEL shows process

• In addition to the normal web standards, such as HTTP

Copyright © 2013-2015 Curt Hill

Page 28: Service Oriented Architecture An Introduction Copyright © 2013-2015 Curt Hill.

Finally• This is the future in an Internet

dominated business environment• This is just scratching the surface• More to come

Copyright © 2013-2015 Curt Hill