56
RSISIPL RSISIPL 1 SERVICE ORIENTED SERVICE ORIENTED ARCHITECTURE ARCHITECTURE (SOA) (SOA) By Pavan By Pavan

RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

Embed Size (px)

Citation preview

Page 1: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 11

SERVICE ORIENTED SERVICE ORIENTED ARCHITECTUREARCHITECTURE

(SOA)(SOA)

By PavanBy Pavan

Page 2: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 22

Scope Scope

What is SOAWhat is SOA Why SOAWhy SOA How SOA useful in GISHow SOA useful in GIS ScenarioScenario BenefitsBenefits

Page 3: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 33

SOASOA

SOA - Service Oriented Architecture

'A set of components which can be invoked, and whose interface descriptions can be published and discovered'. (W3C)

‘Service-oriented architecture is a method of building business applications that utilize common services to support business functions’.

Page 4: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 44

What are “Services”?

In English, service means “work done

for others”

For any others who want to consume

“services”, a prerequisite is to find the

required services.

Page 5: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 55

Service: Service: A service is well defined set of actions. A service is well defined set of actions. It is self contained, stateless, and does not It is self contained, stateless, and does not

depend on the state of other services. depend on the state of other services. A service which uses SOAP protocol is A service which uses SOAP protocol is

termed as web service.termed as web service. SOA is an architectural style for building SOA is an architectural style for building

software applications that use services software applications that use services available in a network such as the Web. available in a network such as the Web.

INTRODUCTION

Page 6: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 66

Evolution of SOA

Page 7: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 77

Page 8: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 88

Case StudyCase Study

Page 9: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 99

Work Flow ManagerWork Flow Manager

Page 10: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 1010

Successful Implementation of SOASuccessful Implementation of SOA

Page 11: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 1111

Basic Operations in SOABasic Operations in SOA

Page 12: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 1212

ComponentsComponents Service ProviderService Provider: Publishes services to a : Publishes services to a

registry and makes it available on the Internet for registry and makes it available on the Internet for the requests of the consumers the requests of the consumers

Service RequesterService Requester: Performs service discovery : Performs service discovery operations on the service registry in order to find operations on the service registry in order to find the needed service, then accesses servicesthe needed service, then accesses services

Service RegistryService Registry: Helps service providers and : Helps service providers and service requesters to find each other by acting as service requesters to find each other by acting as a registry of the services a registry of the services

Page 13: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 1313

Within Service Oriented Architecture (SOA), a service provider can publish the service into a service registry, and a service requester can find the service through the registry and consume the service by using the Simple Object Access Protocol (SOAP) to invoke the service.

Page 14: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 1414

Page 15: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 1515

Web ServiceWeb Service

The implementation of SOA in Web environment The implementation of SOA in Web environment is called Web Services.is called Web Services.

With the help of several Web Services With the help of several Web Services specifications a complete cycle of describing, specifications a complete cycle of describing, publishing, and finding services can be made publishing, and finding services can be made possible.possible.

Web services are XML (eXtensible Markup Web services are XML (eXtensible Markup Language) software systems designed to Language) software systems designed to support interoperable machine-to machine support interoperable machine-to machine interaction over a network.interaction over a network.

Page 16: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 1616

PropertiesProperties

Application to application communicationApplication to application communication Accessed over the webAccessed over the web XML basedXML based

StandardsStandards This interoperability is gained through a set of This interoperability is gained through a set of

XML -based open standards, such as WSDL, XML -based open standards, such as WSDL, SOAP, and UDDI. SOAP, and UDDI.

These standards provide a common approach These standards provide a common approach for defining, locating, publishing and using for defining, locating, publishing and using web services.web services.

Page 17: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 1717

The four-layer model of the Web services stack

Page 18: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 1818

Transport Protocol Transport Protocol is responsible for transporting is responsible for transporting messages between network applications.messages between network applications.

HTTP (Hyper Text Transfer Protocol) is the low-HTTP (Hyper Text Transfer Protocol) is the low-level protocol used by the Internet for the transport level protocol used by the Internet for the transport layer layer

Messaging Protocol Messaging Protocol is responsible for encoding is responsible for encoding messages in a common XML format so that they messages in a common XML format so that they can be understood at either end of a network can be understood at either end of a network connection. connection.

Simple Object Access Protocol (SOAP) is the Simple Object Access Protocol (SOAP) is the specific format for exchanging Web Services data specific format for exchanging Web Services data over HTTP over HTTP

Page 19: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 1919

Description Protocol Description Protocol is used for describing the is used for describing the public interface to a specific web service. public interface to a specific web service.

Web Service Definition Language (WSDL) is used Web Service Definition Language (WSDL) is used to describe what type of message a Web Service to describe what type of message a Web Service accepts and generates. accepts and generates.

Discovery Protocol Discovery Protocol centralizes services into a centralizes services into a common registry. common registry.

Universal Description, Discovery, and Integration Universal Description, Discovery, and Integration (UDDI) specification can be used by the service (UDDI) specification can be used by the service providers to advertise the existence of their providers to advertise the existence of their services and by requesters to search and discover services and by requesters to search and discover already registered services. already registered services.

Page 20: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 2020

Page 21: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 2121

Our main Goal - GIS ServicesOur main Goal - GIS Services

In order to create SOA architecture for the In order to create SOA architecture for the GIS services it is necessary to create Web GIS services it is necessary to create Web Service correspondences of each GIS Service correspondences of each GIS services. services.

GIS services can be grouped into three GIS services can be grouped into three categories categories

Data ServicesData Services Processing ServicesProcessing Services Registry or Catalog ServiceRegistry or Catalog Service

Page 22: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 2222

GIS Web Services ArchitectureGIS Web Services Architecture

Page 23: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 2323

Data ServicesData Services Data Services Data Services are tightly coupled with specific data sets and offer access to are tightly coupled with specific data sets and offer access to

customized portions of that data. customized portions of that data.

Web Feature Service (WFS), Web Feature Service-Transactional (WFS-T), Web Feature Service (WFS), Web Feature Service-Transactional (WFS-T), Web Mapping Service (WMS) and Web Coverage Service (WCS) can be Web Mapping Service (WMS) and Web Coverage Service (WCS) can be considered in this group.considered in this group.

WMS produces maps as two-dimensional visual portrayals of geospatial data.WMS produces maps as two-dimensional visual portrayals of geospatial data.

WCS provides access to un-rendered geospatial information (raster data). WCS provides access to un-rendered geospatial information (raster data).

WFS provides geospatial feature data (vector data) encoded in Geography WFS provides geospatial feature data (vector data) encoded in Geography Markup Language (GML) whereas WFS-T enables editing feature coordinate Markup Language (GML) whereas WFS-T enables editing feature coordinate geometry (i.e position and shape) and related descriptive information (i.e. geometry (i.e position and shape) and related descriptive information (i.e. attribute values), as well attribute values), as well

Page 24: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 2424

Processing ServicesProcessing Services

Processing Services Processing Services provide operations for provide operations for processing or transforming data in a manner processing or transforming data in a manner determined by user-specific parameters. determined by user-specific parameters.

They provide generic processing functions suchThey provide generic processing functions such

as projection and coordinate conversion, as projection and coordinate conversion, rasterization and vectorization. rasterization and vectorization.

Coverage Portrayal Service (CPS), Coordinate Coverage Portrayal Service (CPS), Coordinate Transformation Service (CTS), and even WMS Transformation Service (CTS), and even WMS can be considered in this group.can be considered in this group.

Page 25: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 2525

Registry or Catalog ServiceRegistry or Catalog Service

Registry or Catalog Service Registry or Catalog Service allows users allows users and applications to classify, register, and applications to classify, register, describe, search, maintain, and access describe, search, maintain, and access information about Web Services. information about Web Services.

Web Registry Service (WRS) and Catalog Web Registry Service (WRS) and Catalog Service for the Web (CS-W) are considered Service for the Web (CS-W) are considered in this group in this group

Page 26: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 2626

GIS Web Services ArchitectureGIS Web Services Architecture

Page 27: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 2727

Web Feature ServiceWeb Feature Service

Web Features Service (WFS)Web Features Service (WFS), defines web interfaces for , defines web interfaces for accessing feature-based geospatial data (vector data like accessing feature-based geospatial data (vector data like administrative and political information, streets, cities, etc). administrative and political information, streets, cities, etc).

WFS allows a client to retrieve and update geospatial data WFS allows a client to retrieve and update geospatial data encoded in GML from multiple Web Feature Services. encoded in GML from multiple Web Feature Services.

The specification defines interfaces for data access and The specification defines interfaces for data access and manipulation operations on geographic features, using manipulation operations on geographic features, using HTTP as the distributed computing platform. Via these HTTP as the distributed computing platform. Via these interfaces, a Web user or service can combine, use and interfaces, a Web user or service can combine, use and manage geospatial data -- the feature information behind a manage geospatial data -- the feature information behind a map image -- from different sources.map image -- from different sources.

Page 28: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 2828

Web Map Service (WMS)Web Map Service (WMS)

Web Map Service (WMS) Web Map Service (WMS) produces maps produces maps of spatially referenced data dynamically of spatially referenced data dynamically from geographic information. from geographic information.

This service defines a “map” to be a This service defines a “map” to be a portrayal of geographic information as a portrayal of geographic information as a digital image file suitable for display on a digital image file suitable for display on a computer screen.computer screen.

Page 29: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 2929

Web Coverage Service (WCS)Web Coverage Service (WCS) Web Coverage Service rWeb Coverage Service represents a web epresents a web

interface for supporting electronic retrieval of interface for supporting electronic retrieval of geospatial data as "coverages" (like remotely geospatial data as "coverages" (like remotely sensed imagery, ortho-photos, etc) representing sensed imagery, ortho-photos, etc) representing space-varying phenomena. space-varying phenomena.

A WCS provides access to potentially detailed and A WCS provides access to potentially detailed and rich sets of geospatial information, in forms that rich sets of geospatial information, in forms that are useful for client-side rendering and input into are useful for client-side rendering and input into scientific models and other clients.scientific models and other clients.

Page 30: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 3030

Web Registry Service (WRS)Web Registry Service (WRS)

Web Registry Service (WRS) Web Registry Service (WRS) specifies specifies web interfaces for finding data or services web interfaces for finding data or services from registries.from registries.

Page 31: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 3131

GMLGML

GML is widely accepted as the universal encoding GML is widely accepted as the universal encoding for georeferenced data. GML is an XML grammar for georeferenced data. GML is an XML grammar written in XML Schema for the modeling, transport, written in XML Schema for the modeling, transport, and storage of geographic information. and storage of geographic information.

GML provides a variety kinds of objects for GML provides a variety kinds of objects for describing geography including features, describing geography including features, coordinate reference systems, geometry, topology, coordinate reference systems, geometry, topology, time, units of measure and generalized values.time, units of measure and generalized values.

Page 32: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 3232

GIS Web Services ArchitectureGIS Web Services Architecture

Page 33: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 3333

Page 34: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 3434

Geospatial SOA Component Details

Page 35: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 3535

Geospatial SOA Conceptual View

Page 36: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 3636

Role of UDDIRole of UDDI In the GIS context, the UDDI plays the role of a metadata server of In the GIS context, the UDDI plays the role of a metadata server of

registered Web services. registered Web services. A user can search a UDDI directory and find other distributed service A user can search a UDDI directory and find other distributed service

providers that exist on a network. providers that exist on a network. Web services communicate through an XML based SOAP protocol.Web services communicate through an XML based SOAP protocol. Each Web service "advertises" its SOAP API using WSDL, allowing Each Web service "advertises" its SOAP API using WSDL, allowing

easy discovery of any service's capabilities.easy discovery of any service's capabilities. Web services can be accessed with devices such as browsers, mobile Web services can be accessed with devices such as browsers, mobile

devices such as telephones, desktop clients, and other information devices such as telephones, desktop clients, and other information appliances. appliances.

To discover these services, a broker is provided. The discovery To discover these services, a broker is provided. The discovery protocol is referred to as a Universal Description, Discovery, and protocol is referred to as a Universal Description, Discovery, and Integration.Integration.

Page 37: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 3737

Interoperability in Interoperability in GIS Web ServicesGIS Web Services

According to Open GIS Consortium interoperability According to Open GIS Consortium interoperability is the “capability to communicate, execute is the “capability to communicate, execute programs, or transfer data among various programs, or transfer data among various functional units in a manner that requires the user functional units in a manner that requires the user to have little or no knowledge of the unique to have little or no knowledge of the unique characteristics of those units.” characteristics of those units.”

Page 38: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 3838

Client/Server Lack of Interoperability

Page 39: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 3939

Interoperability in GIS Web Services

Page 40: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 4040

ScenariosScenarios

Page 41: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 4141

DemoDemo

Each map server implements a common interface Each map server implements a common interface for accepting requests and returning responses. for accepting requests and returning responses.

Now client has Web access to potentially all Now client has Web access to potentially all available map servers and multiple data sources, available map servers and multiple data sources, in which each map server is accessed by the in which each map server is accessed by the same Web client through the common interface.same Web client through the common interface.

The result is one composite map instead of three.The result is one composite map instead of three. This approach allows, among other things, the This approach allows, among other things, the

user to run a single Web client that accesses all user to run a single Web client that accesses all the capabilities of each.the capabilities of each.

Page 42: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 4242

Scenario 1

Page 43: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 4343

Scenario 1 Display of Composite Map

Page 44: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 4444

Scenario 2Scenario 2

Web services technologyprovides the path for sharing of

GIS methods and tools

Page 45: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 4545

Scenario 2 Sharing of GIS methodsScenario 2 Sharing of GIS methods

Page 46: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 4646

Scenario 3 ESRI Components Incorporate into SOAScenario 3 ESRI Components Incorporate into SOA

Page 47: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 4747

Scenario 4 Opening Map and Querying Scenario 4 Opening Map and Querying

Page 48: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 4848

Scenario 4 Retrieving Foot PrintsScenario 4 Retrieving Foot Prints

Page 49: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 4949

Scenario 4 Presentation with Footprints and Data and PreviewScenario 4 Presentation with Footprints and Data and Preview

Page 50: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 5050

Benefits of SOA

Page 51: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 5151

Benefits of SOABenefits of SOA

Reduced Development Costs through Reduced Development Costs through Software Re-useSoftware Re-use

Web services, if designed to the right “size Web services, if designed to the right “size and scope” can be shared among many and scope” can be shared among many applications, reducing development, testing applications, reducing development, testing and integration costs.and integration costs.

Page 52: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 5252

Benefits of SOABenefits of SOA

Increased Developer ProductivityIncreased Developer Productivity

With developers able to re-use web services, With developers able to re-use web services, software projects go faster and the same software projects go faster and the same resources can work on more projects.resources can work on more projects.

Page 53: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 5353

Benefits of SOABenefits of SOA

Increased AgilityIncreased Agility

Systems that are made up of a series of Systems that are made up of a series of isolated components become easier to isolated components become easier to modify. modify.

Specific components can be modified without Specific components can be modified without the need to tear apart and rebuild the entire the need to tear apart and rebuild the entire system.system.

Page 54: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 5454

Benefits of SOABenefits of SOA

Improved Alignment between IT and Improved Alignment between IT and BusinessBusiness

SOA calls for IT to take a business-oriented SOA calls for IT to take a business-oriented approach to building applications. In fact, approach to building applications. In fact, the long-term vision of SOA is to enable the long-term vision of SOA is to enable non-technical resources that understand non-technical resources that understand business processes to modify and assemble business processes to modify and assemble different services together.different services together.

Page 55: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 5555

Benefits of SOABenefits of SOA

Reduced Development Costs through Software Re-useReduced Development Costs through Software Re-use Web services, if designed to the right “size and scope” can be shared among many applications, Web services, if designed to the right “size and scope” can be shared among many applications,

reducing development, testing and integration costs.reducing development, testing and integration costs.

Increased Developer ProductivityIncreased Developer Productivity With developers able to re-use web services, software projects go faster and the same resources can With developers able to re-use web services, software projects go faster and the same resources can

work on more projects.work on more projects.

Increased AgilityIncreased Agility Systems that are made up of a series of isolated components become easier to modify. Specific Systems that are made up of a series of isolated components become easier to modify. Specific

components can be modified without the need to tear apart and rebuild the entire system.components can be modified without the need to tear apart and rebuild the entire system.

Improved Alignment between IT and BusinessImproved Alignment between IT and Business

SOA calls for IT to take a business-oriented approach to building applications. The approach is less SOA calls for IT to take a business-oriented approach to building applications. The approach is less about building complex applications and more about understanding business processes and about building complex applications and more about understanding business processes and assembling pre-existing web services together. In fact, the long-term vision of SOA is to enable non-assembling pre-existing web services together. In fact, the long-term vision of SOA is to enable non-technical resources that understand business processes to modify and assemble different services technical resources that understand business processes to modify and assemble different services together.together.

Page 56: RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan

RSISIPLRSISIPL 5656