enterprise integration options with smallworld
Post on 09-May-2015
653 Views
Preview:
DESCRIPTION
TRANSCRIPT
GE Energy
Enterprise integration options with SmallworldPeter Batty, Ubisense
Overview
Database technology
Data integration
Map integratio
n
Database typesDatabase sync
DatabasesWeb services
EAIREST
ImportSOMs
OGC / WMSTile Services
Database technolog
y
Data integratio
n
Map integratio
n
Database types
Database sync
DatabasesWeb services
EAIREST
ImportSOMs
OGC / WMSTile Services
4 Presenter and Event
04/11/2023Photo by Oracle_Photos_Screenshots - http://flic.kr/p/8DhsjU
Thou shalt have only ONE database management system!!
5 Presenter and Event
04/11/2023Photo by Peter Kaminski - http://flic.kr/p/kkhK
Photo by rickie22 - http://flic.kr/p/5phoa1Photo by ebatty - http://flic.kr/p/5TCyge
One type of vehicle?
Photo by ebatty - http://flic.kr/p/Hju5P
One OLTP
OLAP
Longtransactions
Shorttransactions
Data Warehouse
ApplianceReal Time Event Processing
NoSQL
Full text search
type of DBMS?
Database sync is
VMDS Oracle
good!
Database technolog
y
Data integratio
n
Map integratio
n
Database types
Database sync
DatabasesWeb services
EAIREST
ImportSOMs
OGC / WMSTile Services
10 Presenter and Event
04/11/2023The integration problem
Photo by Digitalnative - http://flic.kr/p/7Sp6Wg
11 Presenter and Event
04/11/2023Photo by Oracle_Photos_Screenshots - http://flic.kr/p/8DhsjU
Just store everything in the
same DBMS!!
12 Presenter and Event
04/11/2023Photo by Peter Kaminski - http://flic.kr/p/kkhK
Common DBMS…just helps a little
ReportingSimple queries
Photo by micheleart - http://flic.kr/p/769kin Updates
Complex queries
Photo by freedryk - http://flic.kr/p/mJy8y
APINeed to use an
Application Programming
Interface
Web Services
Photo by MrWoodnz - http://flic.kr/p/6WB4N1
16 Presenter and Event
04/11/2023
SOAP …and WSDLWeb Services Description LanguageSimple Object Access Protocol
<?xml version="1.0" encoding="UTF-8"?><description xmlns="http://www.w3.org/ns/wsdl" xmlns:tns="http://www.tmsws.com/wsdl20sample" xmlns:whttp="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsoap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://www.tmsws.com/wsdl20sample"> <!-- Abstract type --> <types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.tmsws.com/wsdl20sample" targetNamespace="http://www.example.com/wsdl20sample"> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="header" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="body" type="xs:anyType" minOccurs="0"/> </xs:sequence> <xs:attribute name="method" type="xs:string" use="required"/> <xs:attribute name="uri" type="xs:anyURI" use="required"/> </xs:complexType> </xs:element> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="header" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="body" type="xs:anyType" minOccurs="0"/> </xs:sequence> <xs:attribute name="status-code" type="xs:anySimpleType" use="required"/> <xs:attribute name="response-phrase" use="required"/> </xs:complexType> </xs:element> </xs:schema> </types>
<!-- Concrete Binding Over HTTP --> <binding name="RESTfulInterfaceHttpBinding" interface="tns:RESTfulInterface" type="http://www.w3.org/ns/wsdl/http"> <operation ref="tns:Get" whttp:method="GET"/> <operation ref="tns:Post" whttp:method="POST" whttp:inputSerialization="application/x-www-form-urlencoded"/> <operation ref="tns:Put" whttp:method="PUT" whttp:inputSerialization="application/x-www-form-urlencoded"/> <operation ref="tns:Delete" whttp:method="DELETE"/> </binding> <!-- Concrete Binding with SOAP--> <binding name="RESTfulInterfaceSoapBinding" interface="tns:RESTfulInterface" type="http://www.w3.org/ns/wsdl/soap" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/" wsoap:mepDefault="http://www.w3.org/2003/05/soap/mep/request-response"> <operation ref="tns:Get" /> <operation ref="tns:Post" /> <operation ref="tns:Put" /> <operation ref="tns:Delete" /> </binding> <!-- Web Service offering endpoints for both bindings--> <service name="RESTfulService" interface="tns:RESTfulInterface"> <endpoint name="RESTfulServiceHttpEndpoint" binding="tns:RESTfulInterfaceHttpBinding" address="http://www.example.com/rest/"/> <endpoint name="RESTfulServiceSoapEndpoint" binding="tns:RESTfulInterfaceSoapBinding" address="http://www.example.com/soap/"/> </service></description>
Example WSDL code
18 Presenter and Event
04/11/2023
REST
Jason BirchCity of Nanaimo
RepresentationalState Transfer
19 Presenter and Event
04/11/2023How to connect your data silos?
Photo by Digitalnative - http://flic.kr/p/7Sp6Wg
20 Presenter and Event
04/11/2023Typical solution
Photo by digicla - http://flic.kr/p/s39KG
n * (n-1) interfaces
22 Presenter and Event
04/11/2023
Photo by Lance Cheung - http://flic.kr/p/6EXos3
n interfaces
Bus
EAIEnterpriseApplicationIntegration
WebSphere MQ
SOAP Web Services(or JMS)
EAI Connector
25 Presenter and Event
04/11/2023
REST
Jason BirchCity of Nanaimo
26 Presenter and Event
04/11/2023
…/a2e/data/datasources/Pole/90974
27 Presenter and Event
04/11/2023
…/a2e/data/datasources/Pole/90974?f=gjson
28 Presenter and Event
04/11/2023
…/a2e/data/datasources//Pole/search?f=gjson&lat=42.600&lon=-76.1780&d=4
29 Presenter and Event
04/11/2023
30 Presenter and Event
04/11/2023
31 Presenter and Event
04/11/2023
32 Presenter and Event
04/11/2023
33 Presenter and Event
04/11/2023
Jason BirchCity of
Nanaimo
REST is good!!
RESTbenefits
SimplicityLinkability
SearchabilitySimple update (using PUT and
POST)
Photo by ebatty - http://flic.kr/p/2f3BUQ
Database technolog
y
Data integratio
n
Map integratio
n
Database types
Database sync
DatabasesWeb services
EAIREST
ImportSOMs
OGC / WMSTile Services
36 Presenter and Event
04/11/2023Photo by Kevin H. - http://flic.kr/p/7hnQQU
37 Presenter and Event
04/11/2023
39 Presenter and Event
04/11/2023
Number of data formats supported by FME over time
9/2/10
1.4.7 FME 2.0
FME 2.1
FME 2.2
FME 2.3
FME 2.3a
FME 2000
FME 2000 SR-1
FME 2002
FME 2002 SR-1
FME 2003
FME 2003
X2
FME 2004
FME 2004 ICE
FME 2004 ICE3
FME 2005
FME 2006
FME 2006 GB
FME 2007
FME 2008
FME 2009
FME 2010 Beta UC Cut
FME 2010
FME 2011
FME 2012
0
50
100
150
200
250
300
9 17
29
33
4657
63
67
94
9399
112
123136
137154
162 182191
210225
238254
265278
Slide courtesy of Safe Software
Spatial Object ManagerSOM
DXF, DGN, DWG, Shapefile MrSID, ECW
TIFF, PNG, JPEG, PCX, BMP, WMFWMS
WMS – Web Map ServiceV1.0 from 2000, V1.3 from 2004
43 Presenter and Event
04/11/2023Photo by "KIUKO" - http://flic.kr/p/6hCxxi
44 Presenter and Event
04/11/2023Photo by tandemracer - http://flic.kr/p/5H4L1
45 Presenter and Event
04/11/2023
Slippy Maps
Photo by bugmonkey - http://flic.kr/p/4yQVrZ
Tiled maps (“slippy maps”)
Pre-render maps into image filesApproach used by Google, Microsoft, etcVery high performance and scalabilityMatches Smallworld styles and visibility exactlyEasy to integrate with modern web mapping APIs
http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
Google tilex=37804&s=&y=48358&z=17
Electric data tilehttp://example.com/tiles/Electric/17_37804_48358.png
Tile example
Tile example
Electric data tile: http://example.com/tiles/Electric/17_37804_48358.png
JavaScriptgetTileUrl: function(ll, z) {
var X = ll.x % (1 << z); // wrapreturn "http://example.com/tiles/Electric/" + z + "_" + X + "_" +
ll.y + ".png";}
Simple to overlay tiles from many different sources
OpenStreetMapSmallworld
Tiles usable in many JavaScript
libraries
Imbedded web map example
Imbedded web map example
55 Presenter and Event
04/11/2023
It’s amazing what you can do with tiles!Fast, Scalable, Cacheable, Preserve styles, Portable across clients,
Compatible across servers, Usable in many JavaScript clients
56 Presenter and Event
04/11/2023
Mashups
Photo by –Mercehttp://flic.kr/p/ih7Hz
(more)
57 Presenter and Event
04/11/2023
TrucksOutages
JobsOften don’t
need GIS maps
KML and GeoRSS are
good formats
Sparse data
58 Presenter and Event
04/11/2023
<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark> <name>Simple placemark</name> <description>Attached to the ground. Intelligently places itself at the height of the underlying terrain.</description> <Point> <coordinates>-122.0822035425683,37.42228990140251,0</coordinates> </Point> </Placemark></kml>
KML is child’s
play!
59 Presenter and Event
04/11/2023
So is
<entry> <title>M 3.2, Mona Passage</title> <link href="http://example.org/2005/09/09/atom01"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2005-08-17T07:02:32Z</updated> <summary>We just had a big one.</summary> <georss:point>45.256 -71.92</georss:point> </entry>
geoRSS
60 Presenter and Event
04/11/2023
Marketing application
KML viewable in Google Earth or Maps on multiple devices including iPhone etc
61 Presenter and Event
04/11/2023
You can use KML in lots of placesKML uploaded to GeoCommons and used for thematic mapping
62 Presenter and Event
04/11/2023
SimpleGood for sparse and dynamic dataWorks with multiple platforms / products
KML The Good
flic.kr/p/8eZBZk
63 Presenter and Event
04/11/2023
Hard to match Smallworld styles
Hard to scale to large data
volumes
KML The Bad
flic.kr/p/6hwSwn
Summary
Database technolog
y
Data integratio
n
Map integratio
n
Database types
Database sync
DatabasesWeb services
EAIREST
ImportSOMs
OGC / WMSTile Services
Photo by jurvetson - http://flic.kr/p/6yWE3
We can learn a lot from how
the web works
These slides are at slideshare.net/pmbattyPresentation video at vimeo.com/channels/peterbattygeo
peter.batty@ubisense.net@pmbatty
about.me/peter.batty
top related