enterprise integration options with smallworld

66
GE Energy Enterprise integration options with Smallworld Peter Batty, Ubisense

Upload: peter-batty

Post on 09-May-2015

653 views

Category:

Technology


7 download

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

GE Energy

Enterprise integration options with SmallworldPeter Batty, Ubisense

Page 2: Enterprise integration options with Smallworld

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

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

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

5 Presenter and Event

04/11/2023Photo by Peter Kaminski - http://flic.kr/p/kkhK

Page 6: Enterprise integration options with Smallworld

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

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

Database sync is

VMDS Oracle

good!

Page 9: Enterprise integration options with Smallworld

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

10 Presenter and Event

04/11/2023The integration problem

Photo by Digitalnative - http://flic.kr/p/7Sp6Wg

Page 11: Enterprise integration options with Smallworld

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

12 Presenter and Event

04/11/2023Photo by Peter Kaminski - http://flic.kr/p/kkhK

Page 13: Enterprise integration options with Smallworld

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

APINeed to use an

Application Programming

Interface

Page 15: Enterprise integration options with Smallworld

Web Services

Photo by MrWoodnz - http://flic.kr/p/6WB4N1

Page 16: Enterprise integration options with Smallworld

16 Presenter and Event

04/11/2023

SOAP …and WSDLWeb Services Description LanguageSimple Object Access Protocol

Page 17: Enterprise integration options with Smallworld

<?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

18 Presenter and Event

04/11/2023

REST

Jason BirchCity of Nanaimo

RepresentationalState Transfer

Page 19: Enterprise integration options with Smallworld

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

20 Presenter and Event

04/11/2023Typical solution

Photo by digicla - http://flic.kr/p/s39KG

Page 21: Enterprise integration options with Smallworld

n * (n-1) interfaces

Page 22: Enterprise integration options with Smallworld

22 Presenter and Event

04/11/2023

Photo by Lance Cheung - http://flic.kr/p/6EXos3

Page 23: Enterprise integration options with Smallworld

n interfaces

Bus

EAIEnterpriseApplicationIntegration

Page 24: Enterprise integration options with Smallworld

WebSphere MQ

SOAP Web Services(or JMS)

EAI Connector

Page 25: Enterprise integration options with Smallworld

25 Presenter and Event

04/11/2023

REST

Jason BirchCity of Nanaimo

Page 26: Enterprise integration options with Smallworld

26 Presenter and Event

04/11/2023

…/a2e/data/datasources/Pole/90974

Page 27: Enterprise integration options with Smallworld

27 Presenter and Event

04/11/2023

…/a2e/data/datasources/Pole/90974?f=gjson

Page 28: Enterprise integration options with Smallworld

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

29 Presenter and Event

04/11/2023

Page 30: Enterprise integration options with Smallworld

30 Presenter and Event

04/11/2023

Page 31: Enterprise integration options with Smallworld

31 Presenter and Event

04/11/2023

Page 32: Enterprise integration options with Smallworld

32 Presenter and Event

04/11/2023

Page 33: Enterprise integration options with Smallworld

33 Presenter and Event

04/11/2023

Page 34: Enterprise integration options with Smallworld

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

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

36 Presenter and Event

04/11/2023Photo by Kevin H. - http://flic.kr/p/7hnQQU

Page 37: Enterprise integration options with Smallworld

37 Presenter and Event

04/11/2023

Page 38: Enterprise integration options with Smallworld
Page 39: Enterprise integration options with Smallworld

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

Spatial Object ManagerSOM

DXF, DGN, DWG, Shapefile MrSID, ECW

TIFF, PNG, JPEG, PCX, BMP, WMFWMS

Page 41: Enterprise integration options with Smallworld
Page 42: Enterprise integration options with Smallworld

WMS – Web Map ServiceV1.0 from 2000, V1.3 from 2004

Page 43: Enterprise integration options with Smallworld

43 Presenter and Event

04/11/2023Photo by "KIUKO" - http://flic.kr/p/6hCxxi

Page 44: Enterprise integration options with Smallworld

44 Presenter and Event

04/11/2023Photo by tandemracer - http://flic.kr/p/5H4L1

Page 45: Enterprise integration options with Smallworld

45 Presenter and Event

04/11/2023

Slippy Maps

Photo by bugmonkey - http://flic.kr/p/4yQVrZ

Page 46: Enterprise integration options with Smallworld

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 49: Enterprise integration options with Smallworld

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

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

Simple to overlay tiles from many different sources

OpenStreetMapSmallworld

Page 52: Enterprise integration options with Smallworld

Tiles usable in many JavaScript

libraries

Page 53: Enterprise integration options with Smallworld

Imbedded web map example

Page 54: Enterprise integration options with Smallworld

Imbedded web map example

Page 55: Enterprise integration options with Smallworld

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

56 Presenter and Event

04/11/2023

Mashups

Photo by –Mercehttp://flic.kr/p/ih7Hz

(more)

Page 57: Enterprise integration options with Smallworld

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

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

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

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

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

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

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

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

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

These slides are at slideshare.net/pmbattyPresentation video at vimeo.com/channels/peterbattygeo

[email protected]@pmbatty

about.me/peter.batty