40
Overview of ArcGIS Solutions in Overview of ArcGIS Solutions in Service Service - - Oriented Architectures Oriented Architectures Dave Wrazien Dave Wrazien Michael Young Michael Young

Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Overview of ArcGIS Solutions in Overview of ArcGIS Solutions in ServiceService--Oriented ArchitecturesOriented Architectures

Dave WrazienDave WrazienMichael YoungMichael Young

Page 2: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

OverviewOverview

•• IntroductionsIntroductions•• ArcGIS ArchitectureArcGIS Architecture•• Implementation OptionsImplementation Options•• SOA OverviewSOA Overview•• Web Services OverviewWeb Services Overview•• ArcGIS SOA ComponentsArcGIS SOA Components•• Relevant StandardsRelevant Standards•• Concluding RemarksConcluding Remarks•• QuestionsQuestions

Page 3: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

ArcGIS ArchitectureArcGIS ArchitectureESRI Product FamilyESRI Product Family

Page 4: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

ArcGIS ArchitectureArcGIS ArchitectureSystem ArchitectureSystem Architecture

Page 5: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Implementation OptionsImplementation Options

File File ServerServer

Departmental(Centralized data or applications)

Desktop(Stand Alone,Point to Point)

Organizational(SOA)

EnvironmentalEnvironmental

Business Business ApplicationsApplications

PolicePolice

PlanningPlanning

RoadsRoads

UtilitiesUtilities

Web Services &Web Services &MessagingMessaging

Departmental(Centralized data or applications)

Page 6: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Implementation OptionsImplementation OptionsDesktopDesktop -- Standalone & PointStandalone & Point--toto--PointPoint

Mobile GISMobile GISArcPadArcPad

Desktop GISDesktop GISArcGISArcGIS

Desktop GISDesktop GISArcGISArcGIS

Desktop GISDesktop GISArcGISArcGIS

Embedded GISEmbedded GISArcGIS EngineArcGIS Engine

File File ServerServer

This is how many organizations get started with GIS, but quicklyThis is how many organizations get started with GIS, but quicklyencounter challenges as GIS usage increases and maturesencounter challenges as GIS usage increases and matures

Page 7: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Implementation OptionsImplementation OptionsDepartmentDepartment -- Centralized DataCentralized Data

Server GISServer GISArcSDEArcSDE

Desktop GISDesktop GISArcGISArcGIS

Embedded GISEmbedded GISArcGIS EngineArcGIS Engine Desktop GISDesktop GIS

ArcGISArcGIS

Desktop GISDesktop GISArcMapArcMap

Mobile GISMobile GISArcPadArcPad

Data Data ServerServer

Page 8: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Implementation OptionsImplementation OptionsDepartmentDepartment -- Centralized Data & ApplicationsCentralized Data & Applications

Server GISServer GISArcSDEArcSDE

Desktop GISDesktop GISArcReaderArcReader

BrowserBrowser(Thin)(Thin)

Embedded GISEmbedded GISArcEngineArcEngine

ApplicationApplicationServerServer

Data Data ServerServer

Server GISServer GIS

ArcGIS ServerArcGIS ServerArcIMSArcIMS

Desktop GISDesktop GISArcMapArcMap

Citrix ServerCitrix ServerArcMap DesktopArcMap Desktop

Page 9: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Implementation OptionsImplementation OptionsProviding FlexibilityProviding Flexibility

•• There is NO Architecture There is NO Architecture ““Silver BulletSilver Bullet””

•• Options ProvideOptions Provide–– FlexibilityFlexibility–– IntegrationIntegration–– InteroperabilityInteroperability–– EfficiencyEfficiency–– ConsistencyConsistency

. . . To best serve the work flows of the organization. . . To best serve the work flows of the organization

Page 10: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

SOA OverviewSOA OverviewConfusionConfusion

Question by an IT Pro:Question by an IT Pro:Is your team building an SOA?Is your team building an SOA?

Actual Answer:Actual Answer:““My architect thinks itMy architect thinks it’’s services service--oriented,oriented,

my developers insist itmy developers insist it’’s objects object--oriented, andoriented, andmy analysts wish it would be more businessmy analysts wish it would be more business--oriented.oriented.

All I can tell you is that it isnAll I can tell you is that it isn’’t what it was before we t what it was before we started building web services.started building web services.””

((ErlErl 2005)2005)

Page 11: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

SOA OverviewSOA OverviewDefinitionDefinition

A method of buildingA method of building business applications that utilize common services business applications that utilize common services to support business functionsto support business functions

Bind / Invoke

ServiceConsumerService

ConsumerServiceProviderServiceProvider

ServiceDirectoryService

Directory

Find / Details Publish

Page 12: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

SOA OverviewSOA OverviewBenefitsBenefits

•• Top 3 Benefits* Top 3 Benefits* 1.1. Expose IT resources in an easily consumable fashion Expose IT resources in an easily consumable fashion

(Architecture Partitioning)(Architecture Partitioning)2.2. Incremental Deployment and MaintenanceIncremental Deployment and Maintenance3.3. Reuse of ServicesReuse of Services

•• Additional LongAdditional Long--Term BenefitsTerm Benefits•• Faster time to marketFaster time to market•• Reduced costReduced cost•• Risk mitigationRisk mitigation•• Continuous businessContinuous business--process improvementprocess improvement

* “Latest SOA Trends”, D. Stang, Gartner, 2005

Page 13: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

SOA OverviewSOA OverviewInfrastructureInfrastructure

• Connects Service Consumers with Service Providers• May be used to communicate with Service Directories• May be implemented using a variety of technologies

Consumers

Producers

Web Services

ServiceProviderServiceProvider

Enterprise GIS

ServiceProviderServiceProvider

Enterprise CRM

SOA Infrastructure

ServiceConsumerService

Consumer

Service

ServiceConsumerService

Consumer

Browser

Page 14: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Web Services OverviewWeb Services OverviewWhat is a Service?What is a Service?

• Business Perspective– IT assets that correspond to

• Real-world business activities• Recognizable business functions• Accessible according to service policies established for the services

• Technical Perspective– Coarse grained, reusable IT assets– Well-defined interfaces (service contracts)

• Clearly separating the services’ externally accessible interface from the services’ technical implementation

• Web Services typically based on SOAP & XML– Note most OGC standard services are not SOAP based yet

Web services standards are implemented in products from all the major software vendors making web services the most prevalent approach to

implementing an SOA

Page 15: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Web Services OverviewWeb Services OverviewCore ComponentsCore Components

WebServices

SOAPWSDL

UDDI

• Service Description– WSDL

• Web Services Description Language• Defines all details about a service

• Service Protocol– SOAP

• How to format XML documents for transmission between applications

• Service Discovery– UDDI

• Universal Description, Discovery, and Integration• Not a requirement• Well proven for single Enterprise systems

These 3 technology standards, coupled with service-oriented design principles, form a basic XML-driven SOA

Enablesdiscovery of

Is accessedusing

DescribesEnables

Communicationbetween

Binds to

WSDL SOAP UDDI

Page 16: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Web Services OverviewWeb Services OverviewWhy Use?Why Use?

•• Different reasons for different people! Different reasons for different people! –– CostCost--centric centric -- largest IT cost is labor largest IT cost is labor –– IntegrationIntegration--centric centric –– BusinessBusiness--driven driven –– ReuseReuse--centric centric –– The answer is always a mixtureThe answer is always a mixture

•• Web Services are not for everything!Web Services are not for everything!– Remote Procedure Calls (RPCs)– Missing Features (Compared to CORBA, COM, J2EE)

• Why?– Handle messages efficiently– Allow mapping to any distributed computing environment

» RPC or asynchronous message-oriented

Page 17: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

What Supports Web Services?What Supports Web Services?

• Four Basic Frameworks Currently Support WS– 2nd Generation Web Services– Enterprise Service Bus software– Application Server Platforms– Application Specific Service Managers

Page 18: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

What Supports Web Services?What Supports Web Services?2nd Generation Web Services2nd Generation Web Services

• Many still being finalized or have competing standards• WS-Security and BPEL are exceptions

– Ultimately incorporated into the other 3 solutions

WebServices

SOAP

UDDI

WSDL

EnablesEnablesdiscovery ofdiscovery of

Is accessedIs accessedusingusing

DescribesDescribesEnablesEnables

CommunicationCommunicationbetweenbetween

Binds toBinds to

BPEL WS-PolicyWS-Transaction

WS-Coordination

WS-ReliableMessaging

Provides aProvides aProtocol forProtocol for

Describes theDescribes theService forService for

Describes theDescribes theService forService for

Provides aProvides aProtocol forProtocol for

Provides aProvides aProtocol forProtocol for

Provides aProvides aProtocol forProtocol for

ManagesManagesContext forContext for

ManagesManagesContext AcrossContext Across

usesuses

ProvidesProvidesEndEnd--toto--endendSecurity forSecurity for

usesuses

usesuses

usesuses

governsgovernsorchestratesorchestrates

EnablesEnablesDistributedDistributed

Transactions forTransactions for

WS-Security

Provides aProvides aProtocol forProtocol for

Provides Provides GuaranteedGuaranteedDelivery forDelivery for

Page 19: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

What Supports Web Services?What Supports Web Services?Enterprise Service Bus (ESB)Enterprise Service Bus (ESB)

• Gartner definition– Standards-based middleware that uses SOA and has

• Messaging• Intelligent routing• Transformation capabilities

– 2nd generation web services type functionality• Currently: Proprietary• Goal: Replace proprietary components with standard

components as they become available

Page 20: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

What Supports Web Services?What Supports Web Services?Application Server PlatformsApplication Server Platforms

• Vendors incorporating ESB functionality

• IBM WebSphere• BEA Weblogic• MS BizTalk

Page 21: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

What Supports Web Services?What Supports Web Services?Application Specific Service ManagersApplication Specific Service Managers

• Service queue management

• System load balancing

• May be bypassed in the future by systems utilizing more advanced management (e.g. ESB).

Page 22: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Enterprise SOA FrameworkEnterprise SOA Framework•• ClientsClients

–– MultiMulti--Channel AccessChannel Access

•• Types of ApplicationsTypes of Applications–– Client AppsClient Apps–– Web ApplicationsWeb Applications–– Web ServicesWeb Services

•• Data Sources (Producers)Data Sources (Producers)

•• Unifying ComponentsUnifying Components–– Web PortalsWeb Portals

•• Common Viewing InterfaceCommon Viewing Interface–– ESBESB

•• Common Messaging FrameworkCommon Messaging Framework–– ObjectsObjects

•• Common System ComponentsCommon System Components–– Communication Path OptionsCommunication Path Options

Producers

Consumers

Web Services

Client Apps

Web Service SupportWeb Applications

Direct Data Links

Page 23: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

How Does ESRI Fit into SOA?How Does ESRI Fit into SOA?GIS

Components

Enterprise Infrastructure (Producers)

Clients (Consumers)

Geodatabase

Metadata

Data Models

Workflow Models

Maps

Web ServicesGeoprocessing

- Line of Sight- Replication- Plume Modeling- Map on Demand

Images (WMS)Features (WFS)Coverages (WCS)Metadata (Cat)Events

Routing (IMS)ReportingTracking (TS)Catalog (GOS)ReplicationGeoCoding

Desktop (heavy) Desktop (light) Mobile Device

Non-GIS ApplicationsExternal Services

ServiceCalling aService

JSP COPGOS2 (ArcWeb Explorer)

Geo-Spatial One StopThe National MapArcWeb Services

Portlets

Search Engines

Google SearchMetadataSQL

Objects

GIS Servers

Client Apps

COTS

CustomArcEngine

Web Browser

Placefinder (AW)WeatherData TranslatorAnalysis3-D GlobeGazetteer

Web Portals

Security

Single-Sign-On- Netegrity (CA)- Active Directory (MS)- LDAP

Firewalls- XML Gateways

Application

OS

Network

RDBMS

Intrusion Detection- HIDS- NIDS

ArcObjects- Custom Control Ext.- Audit Trail

ArcIMS ACL’s

Authentication- E-Auth- Tokens- Certificates

+ Self Hosted CA + Trusted CA

Feature Level- Restrict Row Access

GeoDB Restriction

Data File Encryption

Web Service Support

- Business Process Def. & Exec.- Security- Policies and Metadata

Web Applications

Application Development Frameworks (ADF)

- Java Integration Tool Kit (JITK)- Portal Tool Kit (PTK) – GOS2

1st Generation

2nd Generation(BPEL)(WS-Security)(WS-Policy)

Enterprise Service Bus

- Protocol (SOAP), Directory (UDDI), Description (WSDL)

Non-GIS Web Services- Workorder- Financial Info- Customer Service- Notify Field Personnel

ERP, CRM, DMIS, RMS, EOC

ArcMapNon-ESRI Clients

Mobile DesktopArcReaderArcExplorer

Heavy – ArcPadLight – LBSSmart Client ADF

GOS2

ArcViewArcInfo

ArcEditor

Encryption- SSL- IPSec

Direct Data Links

ODBCJDBCRPC

Objects

RDBMS Interfaces SQL (ODBC/JDBC)

GeoDBArcSDE XML

Doc

Flat FilesImage Server

Internal Data

ArcIMSArcGIS

Non-SOAP Based- XML over HTTP- Current OGC Services- ArcIMS ArcXML

.NET, VB, C++ Java, .NET, VB, C++ HTML, Javascript,CSS, Flash, Ajax,SVG, Applet

Heavy - VBScriptLight - .NET CF, MIDP,CLDC, Native

JSR 168 PortletsMS WebParts

Page 24: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Where are SOA components installed?Where are SOA components installed?Web

Server

Data Sources

GeoDB XMLDoc

Flat Files

ArcSDE Image Server

Tracking Server

FileServer

Page 25: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Where are SOA components installed? Where are SOA components installed? ESRI Web Server ChoicesESRI Web Server Choices

JAVA .NETHTTP Service– Apache– TomCat– ServletExec AS– IBM HTTP Service– Sun Java System

HTTP Service– Microsoft Internet Information Server (IIS)

Page 26: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Where are SOA components installed? Where are SOA components installed? ESRI Web Application ChoicesESRI Web Application Choices

JAVAPortal Frameworks (Based on WebParts)– Microsoft SharePoint Portal Server

Connectors– ArcIMS Servlet Connector

• ServletExec AS• Tomcat

– Active X Connector

Development Frameworks– .NET Application Development

Framework(ADF for ArcGIS Server)

Portal Frameworks (Based on Portlets)– IBM WebSphere Portal– BEA WebLogic Portal– J2EE Reference Implementations

• JBoss Portal, Apache Jetspeed

Connectors– ArcIMS Servlet Connector

• ServletExec AS• Tomcat• Native Servlet Engine

(All except Apache)– Cold Fusion connector– Java connector (Utilize with J2EE)

Development Frameworks– Java Application Development Framework

(ADF for ArcGIS Server)– Java Integration Toolkit

(JITK for ArcIMS)

.NET

Page 27: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Where are SOA components installed? Where are SOA components installed? ESRI Web Service Support ChoicesESRI Web Service Support Choices

Application Server– Microsoft BizTalk– Windows Workflow Foundation (WWF)– Windows Communication Framework (WCF)

ESB Products– Sonic, CAPEClear, IONA, MULE

Adapters– WebSphere Spatial Integration Adapter

(ArcGIS Server)– iWay ArcSDE Adapter

ESRI Service Managers– ArcIMS Application Server (AS)– ArcGIS Server Object Manager (SOM)

Application Server– IBM WebSphere– BEA WebLogic– Macromedia JRun– Sun Java System (Sun One)– The J2EE Reference Implementation

• JBoss Application Server• Apache Geronimo

ESB Products– Sonic, CAPEClear, IONA, MULE

Adapters– WebSphere Spatial Integration Adapter

(ArcGIS Server)– iWay ArcSDE Adapter– JBOSS SOAP Adapters (ArcIMS)

ESRI Service Managers– ArcIMS Application Server (AS)– ArcGIS Server Object Manager (SOM)

JAVA .NET

Page 28: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Where are SOA components installed? Where are SOA components installed? ESRI GIS Web Services ChoicesESRI GIS Web Services Choices

– ArcGIS Server Object Containers (SOC)– ArcIMS Spatial Server (SS)– Tracking Server– Portal Toolkit (PTK)

• Catalog Service (CS-W, Z39.50, OAI)• Publish (FGDC & ISO Metadata)• Harvest (CS-W, Z39.50, WAF,/XML, OAI-PMH)

– ArcGIS Server Object Containers (SOC)– ArcIMS Spatial Server (SS)– Tracking Server– Portal Toolkit (PTK)

• Catalog Service (CS-W, Z39.50, OAI)• Publish (FGDC & ISO Metadata)• Harvest (CS-W, Z39.50, WAF,/XML, OAI-PMH)

JAVA .NET

ArcObjects

ArcIMSSpatial Server

(SS)

ArcGISServer Objects

(SOC)

PortalToolkit(PTK)

ArcMap Server

ESRI components both platform and programming language independeESRI components both platform and programming language independentnt

Page 29: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Where are SOA components installed? Where are SOA components installed? ESRI Data Storage ChoicesESRI Data Storage Choices

GeoDataBase• ArcSDE• MS SQL• Oracle• IBM DB2• IBM Informix

– File Servers– Tracking Server– ESRI Image Server

GeoDatabase• ArcSDE• MS SQL• Oracle• IBM DB2• IBM Informix

– File Servers– Tracking Server– ESRI Image Server

JAVA .NET

GeoDB XMLDoc

Flat Files

ArcSDE Image Server

Tracking Server

FileServer

ESRI follows SOA model by ESRI follows SOA model by avoiding single vendor lock inavoiding single vendor lock in

Page 30: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Where are SOA components installed?Where are SOA components installed?WebSphereWebSphere & ESRI Architecture& ESRI Architecture

WebSphere Application Server

WebSphere Portal

J2EE ADFJITK

ArcObjectsProxy

Custom Map Viewers

WebSphere Servlet Engine

Web Service SupportESRI Service Managers

WebSphere ESB

WebSphere ArcGIS Adapter

ArcIMSApp Server

(AS)

ArcGISObject Manager

(SOM)

IBM HTTP Server

Page 31: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Relevant StandardsRelevant StandardsWhy do I care?Why do I care?

•• Standards are still evolving quicklyStandards are still evolving quickly

•• Not all standards have a clear winner Not all standards have a clear winner -- yetyet–– WSWS--ReliableMessagingReliableMessaging vs. WSvs. WS--ReliabilityReliability

•• Plan a more educated migration towards SOAPlan a more educated migration towards SOA

Page 32: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Relevant StandardsRelevant StandardsThree CategoriesThree Categories

•• Information Technology StandardsInformation Technology Standards–– DBMSDBMS

•• ODBC & SQLODBC & SQL–– Web ServicesWeb Services

•• J2EE, .NET, XML/SOAPJ2EE, .NET, XML/SOAP–– Computing PlatformsComputing Platforms

•• Windows, Unix, LinuxWindows, Unix, Linux–– Development LanguagesDevelopment Languages

•• C++, Java, .NETC++, Java, .NET

•• Domain StandardsDomain Standards–– Industry, ISO, Military, OGC standards, FEAIndustry, ISO, Military, OGC standards, FEA–– Data and Metadata formatsData and Metadata formats–– Web Service APIsWeb Service APIs

•• User Community/Organizational StandardsUser Community/Organizational Standards–– IT System and Architectural Design GuidelinesIT System and Architectural Design Guidelines

Page 33: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Relevant StandardsRelevant StandardsWho is making SOA happen?Who is making SOA happen?

•• World Wide Web Consortium (W3C)World Wide Web Consortium (W3C)–– SOAPSOAP–– WSDLWSDL–– HTMLHTML–– XMLXML

•• Web Service Interoperability Organization (WSWeb Service Interoperability Organization (WS--I)I)–– Basic ProfileBasic Profile–– Basic Security ProfileBasic Security Profile

•• Organized for the Advancement of Structured Information Organized for the Advancement of Structured Information Standards (OASIS)Standards (OASIS)

–– UDDIUDDI–– WSWS--BPELBPEL–– SAML, XACML, WSSAML, XACML, WS--SecuritySecurity–– RMRM--SOASOA

•• Vendor AlliancesVendor Alliances–– WSWS--ReliableMessagingReliableMessaging

Page 34: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Relevant StandardsRelevant StandardsNew SOA Conformance GuidelinesNew SOA Conformance Guidelines

Full Conformance GuidelinesFull Conformance Guidelines

•• Have entities that can be identified as Have entities that can be identified as services as defined by this Reference services as defined by this Reference ModelModel

•• Be able to identify how visibility is Be able to identify how visibility is established between service providers and established between service providers and consumersconsumers

•• Be able to identify how interaction is Be able to identify how interaction is mediatedmediated

•• Be able to identify how the effect of using Be able to identify how the effect of using services is understoodservices is understood

•• Have descriptions associated with servicesHave descriptions associated with services

•• Be able to identify the execution context Be able to identify the execution context required to support interactionrequired to support interaction

•• It will be possible to identify how policies are It will be possible to identify how policies are handled and how contracts may be handled and how contracts may be modeled and enforcedmodeled and enforced

SimpleSimple TranslationTranslation

Loose couplingLoose coupling

UDDI/UDDI/ebRIMebRIM/CAT/CSW/CAT/CSW

Java=ESB, MS=WCFJava=ESB, MS=WCF

Service ResultService Result

WSDLWSDL

Parameters/ New WSParameters/ New WS--CoordinationCoordination

Java=ESB, MS=BizTalk, new WSJava=ESB, MS=BizTalk, new WS--PolicyPolicy

Page 35: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Relevant StandardsRelevant StandardsCurrent ESRI OGC Compliance StatusCurrent ESRI OGC Compliance Status

Specification Provider ConsumerWeb Mapping Service 1.1 (WMS)Style Layer Descriptor 1.0 (SLD)

ArcIMS WMS Connector - 9.0 SP2ArcGIS Server – 9.1ArcIMS WMS Connector 9.1 (SLD)

ArcGIS WMS Client - 9.0 SP2ArcGIS WMS Client – 9.1

Web Feature Service 1.0 (WFS) ArcIMS ConnectorNext update - 9.1ArcGIS Server – 9.2

Data Interop ExtensionArcGIS– 9.1

Web Coverage Service 1.0 (WCS) ArcEngine Implementation for 9.0ArcGIS Server – future

ArcGIS Desktop Client

Catalog Services 2.0 (Cat) ArcIMS Metadata Server – 9.1Portal Toolkit 2.0

ArcIMS Metadata Server – 9.1Portal Toolkit 2.0

Page 36: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Concluding RemarksConcluding RemarksQualifying the SOA PromiseQualifying the SOA Promise

•• Vendor & Analyst Idealized AssumptionsVendor & Analyst Idealized Assumptions–– Immediate EnterpriseImmediate Enterprise--wide SOA buywide SOA buy--inin–– ServicesServices

•• Reflect ideal business processesReflect ideal business processes•• Reusable across business without revisionReusable across business without revision•• Perfectly balance granularity, loosePerfectly balance granularity, loose--coupling, and reusecoupling, and reuse

•• Reality CheckReality Check–– Strong positive results after years of hard work Strong positive results after years of hard work –– Simple SOAP pointSimple SOAP point--toto--point systemspoint systems

•• ProsPros–– Tactical cost savingsTactical cost savings–– Quick implementationQuick implementation

•• ConsCons–– Limited scalabilityLimited scalability–– Do not deliver the ultimate value of SOADo not deliver the ultimate value of SOA

•• Is There Hope?Is There Hope?–– Strategic benefits easier to achieve todayStrategic benefits easier to achieve today

•• We get to learn from the pioneers mistakesWe get to learn from the pioneers mistakes

Page 37: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Concluding RemarksConcluding RemarksWhat next?What next?

Technical Ownership

ExecutiveBusinessOwnership

Funding

SOADesign and

DevelopmentSkills

Repository

Proof of Concepts Simple Web

Services

SelectSOA tools

TechnologyEnablers

Governance Business Architecture

• Principles• Patterns• Architecture• Skills

• Measurement• Management• Rewards

A successful SOA requires balance of Top down and Bottom up apprA successful SOA requires balance of Top down and Bottom up approachesoaches

Top Dow

nTop D

own

Bot

tom

up

Bot

tom

up

SDKSDK

EDNEDN

SDS SDS

ArcGIS ArcGIS ServerServer

Out of Box Out of Box Extensible AppsExtensible Apps

J2EE &J2EE &.NET.NET

AdaptersAdaptersiWayiWay, IBM, IBM

Professional Professional ServicesServices

Professional Professional ServicesServices

Page 38: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Concluding RemarksConcluding RemarksWhat next as a Developer?What next as a Developer?

•• ArcWeb Services is a great blueprint for ArcWeb Services is a great blueprint for starting an SOAstarting an SOA–– Requires minimal to none, GISRequires minimal to none, GIS--specific trainingspecific training–– Rich APIs for web application and web service Rich APIs for web application and web service

developmentdevelopment•• SOAP/XML, REST, SOAP/XML, REST, OpenLSOpenLS, J2ME, etc, J2ME, etc

–– Check out the servicesCheck out the services•• Utilize Utilize WSDLWSDL’’ss availableavailable

Page 39: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

Session Evaluations ReminderSession Evaluations Reminder

Session Attendees:Session Attendees:Please turn in your session evaluations.Please turn in your session evaluations.

. . . Thank you. . . Thank you

Page 40: Overview of ArcGIS Solutions in Service-Oriented Architectures€¦ · – Remote Procedure Calls ... • Data Sources (Producers) • Unifying Components ... Client Apps Web Applications

ReferencesReferences

•• SOA Reference ModelSOA Reference Modelhttp://xml.coverpages.org/SOAhttp://xml.coverpages.org/SOA--RMRM--ReferenceModel200602ReferenceModel200602--CD.pdfCD.pdf

•• Basic Profile Version 1.1Basic Profile Version 1.1http://www.wshttp://www.ws--i.org/Profiles/BasicProfilei.org/Profiles/BasicProfile--1.11.1--20042004--0808--24.html24.html

•• ErlErl, Thomas. (2005). , Thomas. (2005). ““ServiceService--Oriented Architecture Oriented Architecture –– Concepts, Concepts, Technology, and DesignTechnology, and Design””. Prentice Hall.. Prentice Hall.

•• KrafzigKrafzig, D., , D., BankeBanke, K., , K., SlamaSlama, D. (2005). , D. (2005). ““Enterprise SOA Enterprise SOA ServiceService--Oriented Architecture Best PracticesOriented Architecture Best Practices””. Prentice Hall.. Prentice Hall.

•• Manes, A.T. (2003) Manes, A.T. (2003) ““Web Services Web Services –– A ManagerA Manager’’s Guides Guide””. . Pearson Education, Inc.Pearson Education, Inc.

•• Newcomer, E., Newcomer, E., LomowLomow, G. (2005). , G. (2005). ““Understanding SOA with Web Understanding SOA with Web ServicesServices””. Addison. Addison--Wesley.Wesley.