Your SlideShare is downloading. ×
0
GE EnergyEnterprise integration options with SmallworldPeter Batty, Ubisense
Overview   Database           Data            Map  technology       integration    integration  Database types    Database...
Database           Data            Maptechnology       integration    integrationDatabase types    Databases         Impor...
Thou shalt have     only ONE database     management     system!!                                                         ...
5                                                  Presenter and Event                                                    ...
One type                                              of vehicle?Photo by ebatty - http://flic.kr/p/Hju5PPhoto by ebatty -...
OLTP                                     One                                          type of DBMS?  OLAP               Fu...
Database sync good!is      VMDS      Oracle
Database           Data            Maptechnology       integration    integrationDatabase types    Databases         Impor...
Photo by Digitalnative - http://flic.kr/p/7Sp6WgThe integration problem                                              10   ...
Just store        everything in the         same DBMS!!                                                                   ...
12                                                  Presenter and Event                                                   ...
Common DBMS                          …just helps a littlePhoto by micheleart -http://flic.kr/p/769kin          Photo by fr...
Need to use anAPI    Application   Programming     Interface
Web ServicesPhoto by MrWoodnz - http://flic.kr/p/6WB4N1
SOAPSimple Object Access Protocol                                …and WSDL                                  16            ...
<?xml version="1.0" encoding="UTF-8"?>                                               <!-- Concrete Binding Over HTTP --><d...
RESTRepresentationalState Transfer                   Jason Birch                    City of Nanaimo        18             ...
Photo by Digitalnative - http://flic.kr/p/7Sp6WgHow to connect your data silos?                                      19   ...
Photo by digicla - http://flic.kr/p/s39KGTypical solution                          20                         Presenter an...
n * (n-1) interfaces
Photo by Lance Cheung - http://flic.kr/p/6EXos3                                                   22                      ...
BusEAIEnterpriseApplicationIntegration              n interfaces
SOAP Web Services                               (or JMS)EAI Connector       WebSphere MQ
REST       Jason Birch        City of Nanaimo        25              Presenter and Event                        6/29/2012
…/a2e/data/datasources/Pole/90974                                             26                            Presenter and ...
…/a2e/data/datasources/Pole/90974?f=gjson                                                     27                          ...
…/a2e/data/datasources//Pole/search?f=gjson&lat=42.600&lon=-76.1780&d=4                                                   ...
29Presenter and Event          6/29/2012
30Presenter and Event          6/29/2012
31Presenter and Event          6/29/2012
32Presenter and Event          6/29/2012
33Presenter and Event          6/29/2012
REST is                        good!!                                               REST                                  ...
Database           Data            Maptechnology       integration    integrationDatabase types    Databases         Impor...
36                                              Presenter and Event                                                       ...
37Presenter and Event          6/29/2012
Number of data formats supported by FME over time300                                                                      ...
SOM    Spatial Object Manager    DXF, DGN, DWG, Shapefile           MrSID, ECWTIFF, PNG, JPEG, PCX, BMP, WMF              ...
WMS – Web Map Service   V1.0 from 2000, V1.3 from 2004
43                                             Presenter and Event                                                       6...
44                                                Presenter and EventPhoto by tandemracer - http://flic.kr/p/5H4L1        ...
Slippy Maps                                                                45                                             ...
Tiled maps (“slippy maps”)Pre-render maps into image filesApproach used by Google, Microsoft, etcVery high performance and...
http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
Tile exampleGoogle tile               Electric data tilex=37804&s=&y=48358&z=17   http://example.com/tiles/Electric/17_378...
Tile exampleElectric data tile: http://example.com/tiles/Electric/17_37804_48358.pngJavaScriptgetTileUrl: function(ll, z) ...
Smallworld                       OpenStreetMap             Simple to overlay              tiles from many             diff...
Tiles usable in many JavaScript libraries
Imbedded web mapexample
Imbedded web mapexample
It’s amazing what you can do with tiles!    Fast, Scalable, Cacheable, Preserve styles, Portable across clients, and Event...
(more)                         Mashups                                                    56Photo by –Merce               ...
Sparse data                Trucks               Outages                  Jobs              Often don’t need               ...
KML                                                  is child’s<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://ww...
So is<entry>  <title>M 3.2, Mona Passage</title>                                      geoRSS  <link href="http://example.o...
KML viewable in Google Earth or Maps onMarketing application   multiple devices including iPhone etc 60                   ...
You can use KML in lots of places                                           61                                            ...
flic.kr/p/8eZBZk                                 KML                                 The Good Simple Good for sparse and d...
KML                     The Bad                      Hard to match                    Smallworld styles                   ...
Summary   Database           Data            Map  technology       integration    integration  Database types    Databases...
We can learn a                           lot from how the                              web worksPhoto by jurvetson - http:...
about.me/peter.battyThese slides are at slideshare.net/pmbatty               peter.batty@ubisense.netPresentation video at...
Enterprise integration options with Smallworld
Enterprise integration options with Smallworld
Upcoming SlideShare
Loading in...5
×

Enterprise integration options with Smallworld

696

Published on

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

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
696
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Many people have a perception that “duplicating” data is bad, but in many situations it makes sense to do well managed replication. We’ll talk more about what you can do with your data in Oracle in the next section.
  • Updates are especially complex when you have multiple software products involved – usually you have to go through those products (or APIs that they provide) in order to enforce rules tha they require.
  • As soon as you use an API
  • Today by far the most common way of implementing distributed APIs is using web services, by which we mean (in general) services that work over HTTP, the main protocol of the web.
  • There are two main kinds of web service. The first uses SOAP and WSDL, sometimes known as “big web services”. This is a mature and robust, but relatively complex approach to web services. Interfaces have to be rigorously defined, which has pluses and minuses.
  • Before we talk more about REST
  • Transcript of "Enterprise integration options with Smallworld"

    1. 1. GE EnergyEnterprise integration options with SmallworldPeter Batty, Ubisense
    2. 2. Overview Database Data Map technology integration integration Database types Databases Import Database sync Web services SOMs EAI OGC / WMS REST Tile Services
    3. 3. Database Data Maptechnology integration integrationDatabase types Databases ImportDatabase sync Web services SOMs EAI OGC / WMS REST Tile Services
    4. 4. Thou shalt have only ONE database management system!! 4 Presenter and Event 6/29/2012Photo by Oracle_Photos_Screenshots - http://flic.kr/p/8DhsjU
    5. 5. 5 Presenter and Event 6/29/2012Photo by Peter Kaminski - http://flic.kr/p/kkhK
    6. 6. One type of vehicle?Photo by ebatty - http://flic.kr/p/Hju5PPhoto by ebatty - http://flic.kr/p/5TCyge Photo by rickie22 - http://flic.kr/p/5phoa1
    7. 7. OLTP One type of DBMS? OLAP Full text Data Warehouse search ApplianceLong Real Timetransactions Event Processing Short NoSQL transactions
    8. 8. Database sync good!is VMDS Oracle
    9. 9. Database Data Maptechnology integration integrationDatabase types Databases ImportDatabase sync Web services SOMs EAI OGC / WMS REST Tile Services
    10. 10. Photo by Digitalnative - http://flic.kr/p/7Sp6WgThe integration problem 10 Presenter and Event 6/29/2012
    11. 11. Just store everything in the same DBMS!! 11 Presenter and Event 6/29/2012Photo by Oracle_Photos_Screenshots - http://flic.kr/p/8DhsjU
    12. 12. 12 Presenter and Event 6/29/2012Photo by Peter Kaminski - http://flic.kr/p/kkhK
    13. 13. Common DBMS …just helps a littlePhoto by micheleart -http://flic.kr/p/769kin Photo by freedryk - http://flic.kr/p/mJy8yReporting UpdatesSimple queries Complex queries
    14. 14. Need to use anAPI Application Programming Interface
    15. 15. Web ServicesPhoto by MrWoodnz - http://flic.kr/p/6WB4N1
    16. 16. SOAPSimple Object Access Protocol …and WSDL 16 Presenter and Event Web Services Description Language 6/29/2012
    17. 17. <?xml version="1.0" encoding="UTF-8"?> <!-- Concrete Binding Over HTTP --><description xmlns="http://www.w3.org/ns/wsdl" <binding name="RESTfulInterfaceHttpBinding" interface="tns:RESTfulInterface" xmlns:tns="http://www.tmsws.com/wsdl20sample" type="http://www.w3.org/ns/wsdl/http"> xmlns:whttp="http://schemas.xmlsoap.org/wsdl/http/" <operation ref="tns:Get" whttp:method="GET"/> xmlns:wsoap="http://schemas.xmlsoap.org/wsdl/soap/" <operation ref="tns:Post" whttp:method="POST" targetNamespace="http://www.tmsws.com/wsdl20sample"> whttp:inputSerialization="application/x-www-form-urlencoded"/> <operation ref="tns:Put" whttp:method="PUT" whttp:inputSerialization="application/x-www-form-urlencoded"/><!-- Abstract type --> <operation ref="tns:Delete" whttp:method="DELETE"/> <types> </binding> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.tmsws.com/wsdl20sample" <!-- Concrete Binding with SOAP--> targetNamespace="http://www.example.com/wsdl20sample"> <binding name="RESTfulInterfaceSoapBinding" interface="tns:RESTfulInterface" type="http://www.w3.org/ns/wsdl/soap" <xs:element name="request"> wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/" <xs:complexType> wsoap:mepDefault="http://www.w3.org/2003/05/soap/mep/request-response"> <xs:sequence> <operation ref="tns:Get" /> <xs:element name="header" maxOccurs="unbounded"> <operation ref="tns:Post" /> <xs:complexType> <operation ref="tns:Put" /> <xs:simpleContent> <operation ref="tns:Delete" /> <xs:extension base="xs:string"> </binding> <xs:attribute name="name" type="xs:string" use="required"/> </xs:extension> </xs:simpleContent> <!-- Web Service offering endpoints for both bindings--> </xs:complexType> <service name="RESTfulService" interface="tns:RESTfulInterface"> </xs:element> <endpoint name="RESTfulServiceHttpEndpoint" <xs:element name="body" type="xs:anyType" minOccurs="0"/> binding="tns:RESTfulInterfaceHttpBinding" </xs:sequence> address="http://www.example.com/rest/"/> <xs:attribute name="method" type="xs:string" use="required"/> <endpoint name="RESTfulServiceSoapEndpoint" <xs:attribute name="uri" type="xs:anyURI" use="required"/> binding="tns:RESTfulInterfaceSoapBinding" </xs:complexType> address="http://www.example.com/soap/"/> </xs:element> </service> </description> <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> Example WSDL code <xs:attribute name="status-code" type="xs:anySimpleType" use="required"/> <xs:attribute name="response-phrase" use="required"/> </xs:complexType> </xs:element> </xs:schema> </types>
    18. 18. RESTRepresentationalState Transfer Jason Birch City of Nanaimo 18 Presenter and Event 6/29/2012
    19. 19. Photo by Digitalnative - http://flic.kr/p/7Sp6WgHow to connect your data silos? 19 Presenter and Event 6/29/2012
    20. 20. Photo by digicla - http://flic.kr/p/s39KGTypical solution 20 Presenter and Event 6/29/2012
    21. 21. n * (n-1) interfaces
    22. 22. Photo by Lance Cheung - http://flic.kr/p/6EXos3 22 Presenter and Event 6/29/2012
    23. 23. BusEAIEnterpriseApplicationIntegration n interfaces
    24. 24. SOAP Web Services (or JMS)EAI Connector WebSphere MQ
    25. 25. REST Jason Birch City of Nanaimo 25 Presenter and Event 6/29/2012
    26. 26. …/a2e/data/datasources/Pole/90974 26 Presenter and Event 6/29/2012
    27. 27. …/a2e/data/datasources/Pole/90974?f=gjson 27 Presenter and Event 6/29/2012
    28. 28. …/a2e/data/datasources//Pole/search?f=gjson&lat=42.600&lon=-76.1780&d=4 28 Presenter and Event 6/29/2012
    29. 29. 29Presenter and Event 6/29/2012
    30. 30. 30Presenter and Event 6/29/2012
    31. 31. 31Presenter and Event 6/29/2012
    32. 32. 32Presenter and Event 6/29/2012
    33. 33. 33Presenter and Event 6/29/2012
    34. 34. REST is good!! REST benefits Simplicity Linkability Jason Birch Searchability Simple update City of Nanaimo (using PUT and POST)Photo by ebatty - http://flic.kr/p/2f3BUQ
    35. 35. Database Data Maptechnology integration integrationDatabase types Databases ImportDatabase sync Web services SOMs EAI OGC / WMS REST Tile Services
    36. 36. 36 Presenter and Event 6/29/2012Photo by Kevin H. - http://flic.kr/p/7hnQQU
    37. 37. 37Presenter and Event 6/29/2012
    38. 38. Number of data formats supported by FME over time300 278 265250 254 238 225200 210 191 162 182150 137 154 123 136 94 112100 99 63 93 4650 67 29 57 33 9 17 0 39 1.4.7 FME 2.0 2.1 2.2 2.3 2.3a 2000 FME 2002 FMEFME 2003 X2 20042004 ICE3 FME 2006 GBFME 20082010 Beta UC Cut2011 201 FME FME FME FME FME FME 2000 SR-1 2002 SR-1 FME 2003 FMEFME FME ICE 2004 FME 2005 2006 FME 2007 FME 2009 FME 2010 FME FME FME FME Slide courtesy of Safe Software Presenter and Event 6/29/2012 9/2/10
    39. 39. SOM Spatial Object Manager DXF, DGN, DWG, Shapefile MrSID, ECWTIFF, PNG, JPEG, PCX, BMP, WMF WMS
    40. 40. WMS – Web Map Service V1.0 from 2000, V1.3 from 2004
    41. 41. 43 Presenter and Event 6/29/2012Photo by "KIUKO" - http://flic.kr/p/6hCxxi
    42. 42. 44 Presenter and EventPhoto by tandemracer - http://flic.kr/p/5H4L1 6/29/2012
    43. 43. Slippy Maps 45 Presenter and Event 6/29/2012Photo by bugmonkey - http://flic.kr/p/4yQVrZ
    44. 44. 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
    45. 45. http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
    46. 46. http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
    47. 47. Tile exampleGoogle tile Electric data tilex=37804&s=&y=48358&z=17 http://example.com/tiles/Electric/17_37804_4835 8.png
    48. 48. Tile exampleElectric data tile: http://example.com/tiles/Electric/17_37804_48358.pngJavaScriptgetTileUrl: function(ll, z) { var X = ll.x % (1 << z); // wrap return "http://example.com/tiles/Electric/" + z + "_" + X + "_" + ll.y + ".png";}
    49. 49. Smallworld OpenStreetMap Simple to overlay tiles from many different sources
    50. 50. Tiles usable in many JavaScript libraries
    51. 51. Imbedded web mapexample
    52. 52. Imbedded web mapexample
    53. 53. It’s amazing what you can do with tiles! Fast, Scalable, Cacheable, Preserve styles, Portable across clients, and Event Presenter 55 6/29/2012 Compatible across servers, Usable in many JavaScript clients
    54. 54. (more) Mashups 56Photo by –Merce Presenter and Event 6/29/2012http://flic.kr/p/ih7Hz
    55. 55. Sparse data Trucks Outages Jobs Often don’t need GIS maps KML and GeoRSS are good formats 57 Presenter and Event 6/29/2012
    56. 56. KML is child’s<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark> play! <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> 58 Presenter and Event 6/29/2012
    57. 57. So is<entry> <title>M 3.2, Mona Passage</title> geoRSS <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> 59 <georss:point>45.256 -71.92</georss:point> Presenter and Event 6/29/2012</entry>
    58. 58. KML viewable in Google Earth or Maps onMarketing application multiple devices including iPhone etc 60 Presenter and Event 6/29/2012
    59. 59. You can use KML in lots of places 61 Presenter and EventKML uploaded to GeoCommons and used for thematic mapping 6/29/2012
    60. 60. flic.kr/p/8eZBZk KML The Good Simple Good for sparse and dynamic data 62 Works with multiple platforms / products Presenter and Event 6/29/2012
    61. 61. KML The Bad Hard to match Smallworld styles Hard to scale to large data volumes 63flic.kr/p/6hwSwn Presenter and Event 6/29/2012
    62. 62. Summary Database Data Map technology integration integration Database types Databases Import Database sync Web services SOMs EAI OGC / WMS REST Tile Services
    63. 63. We can learn a lot from how the web worksPhoto by jurvetson - http://flic.kr/p/6yWE3
    64. 64. about.me/peter.battyThese slides are at slideshare.net/pmbatty peter.batty@ubisense.netPresentation video at vimeo.com/channels/peterbattygeo @pmbatty
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×