enterprise integration options with smallworld
DESCRIPTION
This was a presentation I did at the GE Smallworld conference in Vilamoura, Portugal, May 2012.TRANSCRIPT
![Page 1: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/1.jpg)
GE Energy
Enterprise integration options with SmallworldPeter Batty, Ubisense
![Page 2: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/2.jpg)
Overview
Database technology
Data integration
Map integratio
n
Database typesDatabase sync
DatabasesWeb services
EAIREST
ImportSOMs
OGC / WMSTile Services
![Page 3: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/3.jpg)
Database technolog
y
Data integratio
n
Map integratio
n
Database types
Database sync
DatabasesWeb services
EAIREST
ImportSOMs
OGC / WMSTile Services
![Page 4: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/4.jpg)
4 Presenter and Event
04/11/2023Photo by Oracle_Photos_Screenshots - http://flic.kr/p/8DhsjU
Thou shalt have only ONE database management system!!
![Page 5: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/5.jpg)
5 Presenter and Event
04/11/2023Photo by Peter Kaminski - http://flic.kr/p/kkhK
![Page 6: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/6.jpg)
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
![Page 7: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/7.jpg)
One OLTP
OLAP
Longtransactions
Shorttransactions
Data Warehouse
ApplianceReal Time Event Processing
NoSQL
Full text search
type of DBMS?
![Page 8: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/8.jpg)
Database sync is
VMDS Oracle
good!
![Page 9: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/9.jpg)
Database technolog
y
Data integratio
n
Map integratio
n
Database types
Database sync
DatabasesWeb services
EAIREST
ImportSOMs
OGC / WMSTile Services
![Page 10: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/10.jpg)
10 Presenter and Event
04/11/2023The integration problem
Photo by Digitalnative - http://flic.kr/p/7Sp6Wg
![Page 11: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/11.jpg)
11 Presenter and Event
04/11/2023Photo by Oracle_Photos_Screenshots - http://flic.kr/p/8DhsjU
Just store everything in the
same DBMS!!
![Page 12: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/12.jpg)
12 Presenter and Event
04/11/2023Photo by Peter Kaminski - http://flic.kr/p/kkhK
![Page 13: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/13.jpg)
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
![Page 14: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/14.jpg)
APINeed to use an
Application Programming
Interface
![Page 15: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/15.jpg)
Web Services
Photo by MrWoodnz - http://flic.kr/p/6WB4N1
![Page 16: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/16.jpg)
16 Presenter and Event
04/11/2023
SOAP …and WSDLWeb Services Description LanguageSimple Object Access Protocol
![Page 17: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/17.jpg)
<?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
![Page 18: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/18.jpg)
18 Presenter and Event
04/11/2023
REST
Jason BirchCity of Nanaimo
RepresentationalState Transfer
![Page 19: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/19.jpg)
19 Presenter and Event
04/11/2023How to connect your data silos?
Photo by Digitalnative - http://flic.kr/p/7Sp6Wg
![Page 20: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/20.jpg)
20 Presenter and Event
04/11/2023Typical solution
Photo by digicla - http://flic.kr/p/s39KG
![Page 21: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/21.jpg)
n * (n-1) interfaces
![Page 22: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/22.jpg)
22 Presenter and Event
04/11/2023
Photo by Lance Cheung - http://flic.kr/p/6EXos3
![Page 23: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/23.jpg)
n interfaces
Bus
EAIEnterpriseApplicationIntegration
![Page 24: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/24.jpg)
WebSphere MQ
SOAP Web Services(or JMS)
EAI Connector
![Page 25: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/25.jpg)
25 Presenter and Event
04/11/2023
REST
Jason BirchCity of Nanaimo
![Page 26: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/26.jpg)
26 Presenter and Event
04/11/2023
…/a2e/data/datasources/Pole/90974
![Page 27: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/27.jpg)
27 Presenter and Event
04/11/2023
…/a2e/data/datasources/Pole/90974?f=gjson
![Page 28: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/28.jpg)
28 Presenter and Event
04/11/2023
…/a2e/data/datasources//Pole/search?f=gjson&lat=42.600&lon=-76.1780&d=4
![Page 29: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/29.jpg)
29 Presenter and Event
04/11/2023
![Page 30: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/30.jpg)
30 Presenter and Event
04/11/2023
![Page 31: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/31.jpg)
31 Presenter and Event
04/11/2023
![Page 32: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/32.jpg)
32 Presenter and Event
04/11/2023
![Page 33: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/33.jpg)
33 Presenter and Event
04/11/2023
![Page 34: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/34.jpg)
Jason BirchCity of
Nanaimo
REST is good!!
RESTbenefits
SimplicityLinkability
SearchabilitySimple update (using PUT and
POST)
Photo by ebatty - http://flic.kr/p/2f3BUQ
![Page 35: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/35.jpg)
Database technolog
y
Data integratio
n
Map integratio
n
Database types
Database sync
DatabasesWeb services
EAIREST
ImportSOMs
OGC / WMSTile Services
![Page 36: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/36.jpg)
36 Presenter and Event
04/11/2023Photo by Kevin H. - http://flic.kr/p/7hnQQU
![Page 37: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/37.jpg)
37 Presenter and Event
04/11/2023
![Page 38: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/38.jpg)
![Page 39: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/39.jpg)
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
![Page 40: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/40.jpg)
Spatial Object ManagerSOM
DXF, DGN, DWG, Shapefile MrSID, ECW
TIFF, PNG, JPEG, PCX, BMP, WMFWMS
![Page 41: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/41.jpg)
![Page 42: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/42.jpg)
WMS – Web Map ServiceV1.0 from 2000, V1.3 from 2004
![Page 43: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/43.jpg)
43 Presenter and Event
04/11/2023Photo by "KIUKO" - http://flic.kr/p/6hCxxi
![Page 44: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/44.jpg)
44 Presenter and Event
04/11/2023Photo by tandemracer - http://flic.kr/p/5H4L1
![Page 45: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/45.jpg)
45 Presenter and Event
04/11/2023
Slippy Maps
Photo by bugmonkey - http://flic.kr/p/4yQVrZ
![Page 46: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/46.jpg)
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
![Page 47: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/47.jpg)
http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
![Page 48: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/48.jpg)
http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
![Page 49: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/49.jpg)
Google tilex=37804&s=&y=48358&z=17
Electric data tilehttp://example.com/tiles/Electric/17_37804_48358.png
Tile example
![Page 50: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/50.jpg)
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";}
![Page 51: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/51.jpg)
Simple to overlay tiles from many different sources
OpenStreetMapSmallworld
![Page 52: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/52.jpg)
Tiles usable in many JavaScript
libraries
![Page 53: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/53.jpg)
Imbedded web map example
![Page 54: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/54.jpg)
Imbedded web map example
![Page 55: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/55.jpg)
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
![Page 56: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/56.jpg)
56 Presenter and Event
04/11/2023
Mashups
Photo by –Mercehttp://flic.kr/p/ih7Hz
(more)
![Page 57: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/57.jpg)
57 Presenter and Event
04/11/2023
TrucksOutages
JobsOften don’t
need GIS maps
KML and GeoRSS are
good formats
Sparse data
![Page 58: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/58.jpg)
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!
![Page 59: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/59.jpg)
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
![Page 60: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/60.jpg)
60 Presenter and Event
04/11/2023
Marketing application
KML viewable in Google Earth or Maps on multiple devices including iPhone etc
![Page 61: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/61.jpg)
61 Presenter and Event
04/11/2023
You can use KML in lots of placesKML uploaded to GeoCommons and used for thematic mapping
![Page 62: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/62.jpg)
62 Presenter and Event
04/11/2023
SimpleGood for sparse and dynamic dataWorks with multiple platforms / products
KML The Good
flic.kr/p/8eZBZk
![Page 63: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/63.jpg)
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
![Page 64: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/64.jpg)
Summary
Database technolog
y
Data integratio
n
Map integratio
n
Database types
Database sync
DatabasesWeb services
EAIREST
ImportSOMs
OGC / WMSTile Services
![Page 65: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/65.jpg)
Photo by jurvetson - http://flic.kr/p/6yWE3
We can learn a lot from how
the web works
![Page 66: Enterprise integration options with Smallworld](https://reader038.vdocuments.us/reader038/viewer/2022102805/554df022b4c905f7578b519f/html5/thumbnails/66.jpg)
These slides are at slideshare.net/pmbattyPresentation video at vimeo.com/channels/peterbattygeo
[email protected]@pmbatty
about.me/peter.batty