enterprise integration options with smallworld

Post on 09-May-2015

653 Views

Category:

Technology

7 Downloads

Preview:

Click to see full reader

DESCRIPTION

This was a presentation I did at the GE Smallworld conference in Vilamoura, Portugal, May 2012.

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

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