Upload
amberly-pearson
View
221
Download
2
Tags:
Embed Size (px)
Citation preview
Indianapolis GIS Service-Indianapolis GIS Service-Oriented ArchitectureOriented Architecture
Chuck Carufel, City of IndianapolisChuck Carufel, City of IndianapolisJoe LaCombe, Woolpert, Inc.Joe LaCombe, Woolpert, Inc.
33
What Is It ?What Is It ?
““A Service-oriented Architecture is a collection of A Service-oriented Architecture is a collection of services that communicate with each other and services that communicate with each other and with applications. The services are self-contained with applications. The services are self-contained and do not depend on the context or state of the and do not depend on the context or state of the other service. These services work within a other service. These services work within a distributed architecture.”distributed architecture.”
Or…..Or…..
Highly ReusableHighly Reusable Standards-basedStandards-based Makes GIS Invisible To The ConsumerMakes GIS Invisible To The Consumer Cross-platform – Machine to MachineCross-platform – Machine to Machine Adds New Capabilities To Old Adds New Capabilities To Old
Apps/DatabasesApps/Databases
ArcGIS Server BasedArcGIS Server Based No User InterfaceNo User Interface No MapNo Map Developer/Integration ToolkitDeveloper/Integration Toolkit SOAP Standard CompliantSOAP Standard Compliant
Simple Object Access Protocol
Service Oriented Architecture Protocol
An XML-based envelope or wrapper with references to underlying protocols.
Public Function SimpleGeocodePublic Function SimpleGeocode(_ (_ ByVal address As String, _ ByVal address As String, _
ByVal zone As String, _ ByVal zone As String, _ ByVal level As String, _ ByVal level As String, _
ByVal outputProjection As String, _ByVal outputProjection As String, _ByVal minimumCandidateScore As String, _ByVal minimumCandidateScore As String, _
ByVal minimumMatchScore As String _ByVal minimumMatchScore As String _) As Response ) As Response
Public Function FallbackGeocodePublic Function FallbackGeocode (_ (_ ByVal address As String, _ ByVal address As String, _
ByVal zone As String, _ ByVal zone As String, _ ByVal startLevel As String, _ ByVal startLevel As String, _ ByVal endLevel As String, _ByVal endLevel As String, _
ByVal outputProjection As String, _ByVal outputProjection As String, _ByVal minimumCandidateScore As String, _ByVal minimumCandidateScore As String, _
ByVal minimumMatchScore As String _ByVal minimumMatchScore As String _) As Response) As Response
Example Web Methods
Why? From a technical point-of-view… Separate the business logic from what you “see”Separate the business logic from what you “see” Keep all the common, ArcObjects-intense, code on ArcGIS Server Keep all the common, ArcObjects-intense, code on ArcGIS Server
machinemachine• More scalable, centralizedMore scalable, centralized• Keeps you from having multiple sources of select by buffer code…Keeps you from having multiple sources of select by buffer code…
Separate the client from the server Separate the client from the server • deploy web applications on separate web serverdeploy web applications on separate web server• Extremely beneficial if deploying public web sites - eliminates need to Extremely beneficial if deploying public web sites - eliminates need to
deploy ArcGIS Server machine/replicated SDE outside of firewalldeploy ArcGIS Server machine/replicated SDE outside of firewall Remove dependency on ArcGIS Server/Web ADF within your client Remove dependency on ArcGIS Server/Web ADF within your client
applicationapplication
ArcGIS Server
SOAVirtual Earth
Google Earth
Open LayersXML feature data
ArchitectureArchitecture
N-Tiered Architecture - N-Tiered Architecture - • Presentation Presentation Portal Portal
• Business Logic Business Logic Web Services Web Services
• Data Data Configuration & Content Configuration & Content
Highly Reusable Components
Flexible, Scalable, Securable
Each tier focuses on what it does best……..
GIS Web-services
Geocode FindNearest
Point-inPolygon
Find withinRadius
PolygonAnalysis
MapComponent
DataRetrieval
PresentationTier
BusinessLogicTier
DataTier
GIS Map Database
Configuration Database
External Neighborhood Data
Polygon Analysis Find Nearest
Find Within Radius
Point In Polygon
XML request from Portal
XML response to Portal
Data RetrievalWeb Service
Configuration Database
Web Service Request & Response Orchestration
ArcGIS Server Map Server Object
Map Web Service
GIS SOA ExampleGIS SOA Example
1) Citizen Calls Mayor’s Action Center
2) Rep Enters Address
GeoCode Web-service
Point-in-Polygon Web-service
Point-in-Polygon Web-service
GIS DatabaseGIS DatabaseGIS Database
3) Address Is GeoCoded 4) Overlay
Info Retrieved
5) Record Passed To Permits
6) Inspector Info Retrieved
MAC CRM MAC CRM SystemSystem
Tidemark Tidemark Permits Permits SystemSystem
Microsoft .NET Framework 3.5Microsoft .NET Framework 3.5
Windows Presentation Windows Presentation FoundationFoundation
Next generation user experienceNext generation user experience
““CardSpace”CardSpace”Digital identity managementDigital identity management
Windows Workflow Windows Workflow FoundationFoundation
Business process Business process modelingmodeling
Windows Communication Windows Communication FoundationFoundation
Service-oriented Service-oriented developmentdevelopment Version 3.5Version 3.5
Programming model, engine Programming model, engine
and tools for building and tools for building
workflow-enabled workflow-enabled
applications… applications…
Windows FoundationsWindows Foundations
Version 3.5Version 3.5
……unified, interoperable unified, interoperable
communication through communication through
productive service oriented productive service oriented
development development
What is a Workflow?What is a Workflow?
Like a flowchart…. or a state diagram…. or based on rules.
A program declared as set of activitiesA program declared as set of activitiesCoordinates people and softwareCoordinates people and software
Has real-world control flowHas real-world control flow
Runs durably and transparentlyRuns durably and transparently
Tolerates dynamic changeTolerates dynamic change
Workflow is the software Workflow is the software implementation of business implementation of business process or business logicprocess or business logic
Service OrchestrationService Orchestration
GIS Web-services
Geocode FindNearest
Point-inPolygon
Find withinRadius
PolygonAnalysis
MapComponent
DataRetrieval
PresentationTier
BusinessLogicTier
DataTier
GIS Map Database
Configuration Database
External Neighborhood Data
How does GIS SOA fit within the How does GIS SOA fit within the enterprise?enterprise?
GIS becomes a visually smaller, yet more powerful component…
That can tie everything together…
CMMS
PermittingERP
CRM
MOSS 2007Content
Management
Version 3.5Version 3.5
Latest technology…
Automated business process workflows…