SQL Database Design For Developers at php[tek] 2024
SC GIS Conference 2008 - mapAsheville - A Service Oriented Architecture.
1. mapAsheville
a Service Oriented Architecture (SOA) approach to enterprise
GIS
City of Asheville
Information Technology Services
2. Actual Development Time
Trend Development Time
Neighborhood
viewer
Flood Viewer
Crime Mapper
Administration
Crime Mapper
Sanitation
lookup
Bell Chere
Viewer
Hydrant
Mapper
Tree Editor
Accident
Viewer
Development
Mapper
Administration
Development
Mapper
Simple
Searches
Standard GIS
Tim e
Development Time
Major Projects or
Releases
Pr oj ect
City of Asheville
Information Technology Services
3. What is SOA
SOA is an architectural style that guides all aspects of creating and
using business processes, packaged as services, throughout their
lifecycle, as well as defining and provisioning the IT infrastructure
that allows different applications to exchange data and participate
in business processes loosely coupled from the operating systems
and programming languages underlying those applications.
* Newcomer, Eric; Lomow, Greg (2005). Understanding SOA with Web Services. Addison Wesley.
City of Asheville
Information Technology Services
5. SOA Principles
SOA guiding principles define the ground rules for development,
maintenance, and usage of the SOA .
Reuse, granularity, modularity, composability,
componentization, and interoperability
Compliance to standards (both common and industryspecific)
* Yvonne Balzer Improve your SOA project plans, IBM, 16 July 2004
City of Asheville
Information Technology Services
6. Why SOA with GIS
We can offer standards based services that supply location
We can supply the ability to interact with this information as a set
of loosely coupled functionality/services
We can reuse these functionality/services with other functional
groups
Its standards based
Its Modular
Its reusable
All of which are Principles of SOA
City of Asheville
Information Technology Services
7. mapAsheville Summary
mapAsheville was created…
as our first attempt at applying SOA principles at
the City of Asheville GIS
to decrease our reliance and cost of maintaining
desktop software.
to provide a way to rapidly deploy highly focused
GIS based applications.
to provide a rich set of common data analytical and
data discovery tools.
to provide these rich common tools at a low per user
cost.
to provide a common set of code that all applications
can consume.
City of Asheville
Information Technology Services
8. We are mapAsheville
mapAsheville (officially trademarked) is the brand name
for the City of Asheville's web GIS offerings.
City of Asheville
Information Technology Services
11. mapAsheville Applications
Current offerings
Standard GIS
Simple Searches
Development Mapper and Administration Tool
Accident Viewer
Tree Editor
Hydrant Mapper
Flood Viewer
Neighborhood Viewer
Sanitation lookup
Crime Mapper and Administration Tool
Coming soon
Priority Places
City of Asheville
Information Technology Services
12. Simple Searches
Focused searching of common data - AJAX enabled
Links to Standard GIS
City of Asheville
Information Technology Services
13. Standard GIS
Provides the ability to do:
Advanced searching:
Attribute, Point, Line, Rectangle,
Polygon, and Buffers.
Searching results can be used to:
create new, add new, remove
from, or select from the current
selection.
Measure:
Area and linear distances
Create Mailing Labels:
Owners and Residents (address)
Create PDF maps of various sizes
and resolutions
Letter, Legal, Tabloid, C, D, and E
High and Low Resolutions
Geocode
City of Asheville
Information Technology Services
14. Development Mapper
Award Wining!
2006 Marvin Collins award for
Innovation in Planning Services,
Education and Public Involvement.
Provides access to information
concerning large-scale
development activities within the
City of Asheville.
Users can:
Search for development
activity by:
Region, Neighborhood, Pin,
Owner, address, or street
Print a report with a map.
View Staff Reports
View Elevations
View Developers' Plans
View Up Coming Meeting
Dates and Times.
City of Asheville
Information Technology Services
15. Sanitation Lookup
Provides access to Sanitation
Division Information
Users can search for:
Can Number(s), Trash &
Recycle Pickup, Truck
Number, Brush Truck
Number, Sweep District, and
Recycling Week
And search by:
a parcel, an address, or can
number.
Search tables are created nightly
by Geo-processing Job.
City of Asheville
Information Technology Services
16. Crime Mapper
Provides access to Crime
information with in The City of
Asheville
Crime includes: Homicide, Rape,
Robbery, Aggravated Assault,
Burglary, Larceny, Motor Vehicle
Theft, Vandalism, and Drug
Arrests.
Users can search for Crime
activity within a distance of:
A Neighborhood, a parcel, an
address, a point, a line, a
rectangle, a polygon.
Print a report with a map.
View Summary Crime Statistics
View Detailed Crime Statistics
View Selected Crime information
– “Blotter”
View Crime Hot Spots
Get Spread Sheet Statistics
City of Asheville
Information Technology Services
17. Accident Mapper
Provides access to Accident
information with in The City of
Asheville
Users can search for Accidents a
distance of:
An intersection, a parcel, an
address, a point, a line, a
rectangle, a polygon.
Print a report with a map.
View Detailed accident Statistics
Get Spreadsheet of details
City of Asheville
Information Technology Services
18. Tree Editor
Provides access and
administration for the City of
Asheville’s Tree inventory.
Users can search for Trees by
zooming to:
a parcel, an address, a street,
or an intersection.
Edit a tree:
Location and Attributes
Add a tree:
Location and Attributes
City of Asheville
Information Technology Services
19. Request / Hit s
Nov-07
Sep-07
Jul-07
May-07
Mar-07
Jan-07
Nov-06
Sep-06
Jul-06
May-06
Mar-06
Jan-06
Nov-05
Sep-05
Jul-05
May-05
Mar-05
Jan-05
Nov-04
Sep-04
Jul-04
May-04
Mar-04
Jan-04
Nov-03
Sep-03
Jul-03
May-03
Web Usage - All
Actual Requests/Hits
Trend of Requests/Hits
Tim e
City of Asheville
Information Technology Services
20. Request/Hits
Actual Requests/Hits
Trend of Requests/Hits
Time
City of Asheville
Information Technology Services
Jan- 08
Nov- 07
Sep- 07
Jul- 07
May- 07
Mar - 07
Jan- 07
Nov- 06
Sep- 06
Jul- 06
May- 06
Mar - 06
Jan- 06
Nov- 05
Sep- 05
Jul- 05
May- 05
Mar - 05
Jan- 05
Nov- 04
Sep- 04
Jul- 04
May- 04
Mar - 04
Jan- 04
Nov- 03
Sep- 03
Jul- 03
May- 03
Web Usage - Internal
21. What did we learn
Large expenditure in the start-up and origination of the
architecture.
Increase in web usage (initial page request) did not
lead to a decrease in desktop usage (number of times
opened weekly)
( However a sampling of two quarters indicated total hourly desktop usage
was down about 52% )
Decrease in development time with each new functional
application.
Custom framework has allowed to us to be very nimble
and offer functionality to users that might not otherwise
be available by integrating different systems.
City of Asheville
Information Technology Services
22. What did we learn
We are not necessarily tied to vendor based software.
We are free to include any standard we want or not.
Customized framework is proven costly (time) to
maintain.
Customized framework limits our ability to include
functionality developed by user communities – there is
none.
Thus - we need to apply more standards to our
approach.
Lack of Standards is making difficult to use in systems
City of
integration…. Asheville
Information Technology Services
23. What did we learn
SOA is not easy, SOA is a principle/style rather than a
discrete set of software packages.
Current focus has been on functionality - we need to
invest in data assets!
City of Asheville
Information Technology Services
24. Actual Development Time
Trend Development Time
Neighborhood
viewer
Flood Viewer
Crime Mapper
Administration
Crime Mapper
Sanitation
lookup
Bell Chere
Viewer
Hydrant
Mapper
Tree Editor
Accident
Viewer
Development
Mapper
Administration
Development
Mapper
Simple
Searches
Standard GIS
Tim e
Development Time
Major Projects or
Releases
Pr oj ect
City of Asheville
Information Technology Services
25. Desktop - Web Usage
Web Page Requests
User Count
Requests Count
Web User Count
Time
Tim e
Desktop Open
Open Count
User Count
Desk Top User Count
Tim e
Tim e
City of Asheville
Information Technology Services
26. Where do we go from here
To investigate alternatives and enhancements to the
GIS offerings made by the City of Asheville.
To enhance our ability to be flexible, and offer
numerous GIS solutions for users.
The use of industry standards (OGC), so we can better
support systems integration.
To be in the position to support users deciding what
their business needs are for GIS.
City of Asheville
Information Technology Services
27. Research
Research Alternate Data Storage (SDE/PostGIS).
Research new methods to provide service delivery
(WMS/WFS/WPS).
Research new methods to provide functionality via
application development frameworks
City of Asheville
Information Technology Services
28. Report Results
Results will include metrics
Objective
Subjective
Develop pros and cons for each method
Make recommendations for the future
Develop presentation and paper of results
City of Asheville
Information Technology Services
29. mapAsheville the future?
More of the same but with a focus:
on providing a richer more complete set of standards
based functionality/services.
on development of better and more Data
City of Asheville
Information Technology Services
30. mapAsheville the future?
ArcIMS
ArcIMS/WMS/WFS/WPS
SQL Databases
SDE
SQL Databases/PostGre
SDE/PostGIS
Custom XML server
Custom AJAX clients
Custom XML server/ESRI web ADF/carbon
tools/sharpMap/Custom AJAX clients
City of Asheville
Information Technology Services
This is a story - of this graphic. How we increased GIS capabilities and functionality/services while Significantly Decreasing or development Time
Emphasis on arch style BP – creates the service and loosely coupled – mash them up
Emphasis on arch style BP – creates the service and loosely coupled – mash them up
Emphasis on first two mapAsheville context and this is what we fell are important
Aricms wms map service
In the past we looked for Pizza, Places to Drink Beer - in the yellow pages or by talking with friends.
Today we Google it. Google organizes the data spatially (Google maps).
Google maps shows us Places we can get Pizza good beer and organizes it by location.
We can also read reviews and experiences of each location by others in our community.
I can even create my own pizza and beer web application using the service provided by google.
Software as a service is soa…
mapAsheville is not meant to be soa but to use some of the principles of SOA
We are mapAsheville.
And the branding has worked with great success
at start of the project there was no ESRI .Net web ADF and not a lot of open source ADF’s to choose from.
Custom xml server really made up of multiple servers which provide specific / grouped / packaged functionality services
Simplified look at mapAsheville Sys Arc
User arrives at web page interacts with functionality/service
Sends request via the Ajax client library to XML server (framework)
Frame work sends requests to appropriate area ArcIms/Database
Response sent to framework
Library formats and displays results for client browser
Generic
Focused and Tailored
User can use non-map interface to stream line the search process.
Ajax enabled gives users results as they enter search criteria
User can then zoom link to the Standard GIS based the search criteria.
Designed to look and function Similar To ArcMap Lite. (ArcMap our organizations' Desktop Solution)
2006 Marvin Collins award for Innovation in Planning Services, Education and Public Involvement.
mapAsheville in yellow shade
mapAsheville in yellow shade
Standards will allow us to package functionality so other users can consume it in things like GM and VE! Then we can control the accuracy and repeatability of the results – crime data - development. Better to be consistently wrong than inconsistently – credibility. We can’t be perfect but we can be perfectly wrong.
With adfs and standards based web engines we need to get a handle on what these options will and will not provide us with….
Gather objective and subjective measures
Be in position to better support a wide variety of business processes.