Smallworld Core Spatial Technology 4 Interoperability in an open environment

Similar documents
Module 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur

Introduction to CORBA. 1. Introduction 2. Distributed Systems: Notions 3. Middleware 4. CORBA Architecture

BarTender Integration Methods. Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER

Version Overview. Business value

Overview: Siebel Enterprise Application Integration. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013

OWB Users, Enter The New ODI World

Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models

FileMaker 14. ODBC and JDBC Guide

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

SAS 9.4 Integration Technologies

Enterprise Application Integration

White paper. IBM WebSphere Application Server architecture

What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.

What Is the Java TM 2 Platform, Enterprise Edition?

How To Create A C++ Web Service

FileMaker 11. ODBC and JDBC Guide

ERDAS ADE Enterprise Suite Products Overview and Position

Why developers should use ODBC instead of native proprietary database interfaces

Turning ClearPath MCP Data into Information with Business Information Server. White Paper

How to Configure Informix Connect and ODBC

Client/server is a network architecture that divides functions into client and server

JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS QUARTER 2 NETWORKING AND OPERATING SYSTEMS ESSENTIALS. Module 1 - Office Applications

Advantage Database Server or Microsoft SQL Server which one is right for you?

JBI and OpenESB. Introduction to Technology. Michael Czapski Advanced Solutions Architect, SOA/BI/Java CAPS Sun Microsystems, ANZ

OpenText Output Transformation Server

IBM WebSphere Business Integration for HIPAA

KonyOne Server Prerequisites _ MS SQL Server

Legacy System Integration Technology for Legacy Application Utilization from Distributed Object Environment

WHITE PAPER. Domo Advanced Architecture

Working with the Geodatabase Using SQL

PROGRESS Portal Access Whitepaper

CA IDMS Server r17. Product Overview. Business Value. Delivery Approach

Enterprise Application Integration: Integration and Utilization of SAS Products

SequeLink Server for ODBC Socket

Attunity Integration Suite

SCA-based Enterprise Service Bus WebSphere ESB

Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test.

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Research on the Model of Enterprise Application Integration with Web Services

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

Executive summary. Table of Contents. Benefits of an integration platform. Technical paper Infor Cloverleaf Integration Suite

A Generic Database Web Service

IMS Users Group. The Right Change SQL-Based Middleware. Mike McKee CONNX Solutions.

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

Niagara IT Manager s Guide

SalesLogix. SalesLogix v6 Architecture, Customization and Integration

Microsoft SQL Server versus IBM DB2 Comparison Document (ver 1) A detailed Technical Comparison between Microsoft SQL Server and IBM DB2

DB2 Application Development and Migration Tools

Federated single sign-on (SSO) and identity management. Secure mobile access. Social identity integration. Automated user provisioning.

MD Link Integration MDI Solutions Limited

An Overview of Oracle Forms Server Architecture. An Oracle Technical White Paper April 2000

CA Repository for z/os r7.2

Middleware Lou Somers

Crystal Reports XI Release 2 for Windows Service Pack 3

Latte Rapid Application Development. William Dunlap Product Manager Borland International

The Windows Telephony Application Programming Interface Combining the Power of the Computer With the Functionality of the Telephone.

Making Data Available on the Web

FileMaker 13. ODBC and JDBC Guide

Inmagic Content Server v9 Standard Configuration Technical Guidelines

Oracle Database. Products Available on the Oracle Database Examples Media. Oracle Database Examples. Examples Installation Guide 11g Release 2 (11.

Suite. How to Use GrandMaster Suite. Exporting with ODBC

Enable BI, Reporting, and ETL Integration with Your App

FileMaker 12. ODBC and JDBC Guide

White Paper April 2006

IBM Rational Web Developer for WebSphere Software Version 6.0

Classic Grid Architecture

Content Management Implementation Guide 5.3 SP1

Service Oriented Architecture

Siena Web Services. A Solution To Personal Computing With Established Desktop Programs Exploiting Web Technologies

Jitterbit Technical Overview : Salesforce

ETPL Extract, Transform, Predict and Load

Elements of Advanced Java Programming

Methods and tools for data and software integration Enterprise Service Bus

Crystal Reports XI Release 2 - Service Pack 6

Advantage Database Server

Jitterbit Technical Overview : Microsoft Dynamics AX

RED HAT JBOSS A-MQ COMPARED WITH IBM WEBSPHERE MQ 7.5

Implementing Java Distributed Objects with JDBC

Inmagic Content Server Standard and Enterprise Configurations Technical Guidelines

Efficiency of Web Based SAX XML Distributed Processing

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

The webmethods ESB. The Foundation of your SOA. Jean-Michel Ghyoot, Principal Solution Architect, March 28, 2013

How To Build A Financial Messaging And Enterprise Service Bus (Esb)

Better Customer Service & Support Through Monitoring and EAI

Inmagic Content Server Workgroup Configuration Technical Guidelines

Oracle9i Application Server: Options for Running Active Server Pages. An Oracle White Paper July 2001

Oracle Database. New Feature in Oracle Database 11g Release 2 ( ) Products Available on the Oracle Database Examples Media

What is ODBC? Database Connectivity ODBC, JDBC and SQLJ. ODBC Architecture. More on ODBC. JDBC vs ODBC. What is JDBC?

Connecting to SQL server

Oracle Business Activity Monitoring 11g New Features

Installation and Release Bulletin Replication Server Messaging Edition for Linux, Microsoft Windows, and UNIX

Data Warehouse Center Administration Guide

PIE. Internal Structure

Getting Started Guide

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

WEB DATABASE PUBLISHING

SOAP - A SECURE AND RELIABLE CLIENT-SERVER COMMUNICATION FRAMEWORK. Marin Lungu, Dan Ovidiu Andrei, Lucian - Florentin Barbulescu

How To Use A Sas Server On A Java Computer Or A Java.Net Computer (Sas) On A Microsoft Microsoft Server (Sasa) On An Ipo (Sauge) Or A Microsas (Sask

Pentaho Reporting Overview

Transcription:

Smallworld Core Spatial Technology 4 Interoperability in an open environment 2004 General Electric Company. All Rights Reserved GER-4227 (10/04)

Abstract From its origins in engineering departments, Geospatial Information Systems (GIS) has emerged to adopt a more important responsibility within the enterprise. This expanded role has resulted in a greater demand for interoperability between existing systems and standards. Many conventional GIS architectures were designed to support specialized engineering tasks and, as a result have proved to be less flexible to adapting to the new challenges of enterprise-wide applications. Smallworld architects, from GE Energy, have embraced open standards and developed a set of novel base technologies that can form the building blocks of some of the most ambitious integration projects. Introduction Integration of many disparate systems is becoming increasingly important in the enterprise. The complexity of many of the systems, the lengthy deployment periods and high replacement costs often mean that systems continue to operate well beyond their intended life span. However, in reality, many of these systems do not require replacement (the cost of replacement does not justify the benefits). These systems often support business critical operations in the organization and act as a repository for large amounts of valuable data. From the business point of view, this arrangement is often the result of a realistic cost/benefit analysis, but to the Information Technology team, the integration of these systems often represents a major technical challenge. As a result, a wide range of technologies have emerged to help with this kind of complex integration. At one level, integration technologies such as CORBA Object Management Group, Inc. EAI and COM allow legacy systems to interact seamlessly with state of the art systems and also with widely used desktop applications. Standards such ODBC, JDBC, OLE DB and SQL allow data in a wide variety of systems to be easily shared and exploited in new ways. The ubiquitous XML standard allows data to be presented in a format that supports the widest possible distribution. Using one of these technologies, however, is rarely a complete solution to the integration challenges faced by today s enterprise. More often than not a number of these technologies are employed to piece together various systems. This is very much a case of choosing the best tools for the job. Unlike GIS architectures that limit integration to one or two possibilities, the advanced Smallworld architecture supports a wide range of integration strategies giving the customer the ability to choose the most appropriate technology given the inevitable constraints of cost, time and existing technology. The following sections give a brief overview of these integration technologies and give an indication of the wide range of integration possibilities provided by the Smallworld platform. CORBA The Common Object Request Broker Architecture (CORBA) is an architecture and a specification for creating, distributing and managing distributed program objects in a network. It allows programs at different locations and developed by different vendors to communicate in a network through an interface broker. The essential concept in CORBA is the Object Request Broker (ORB). Support for an ORB in a network of computers means that a client program can request services from a server program without having to understand where the server is or what the interface to the server program looks like. The Smallworld CORBA API allows Smallworld classes to be published to the CORBA universe and 1

also to link instances with suitable CORBA objects published by other applications. A standard Interface Description Language (IDL) is used to define named interfaces within one or more modules. An interface might have attributes and methods, possibly with one or more arguments, and return a result. In addition, an interface may raise an exception with appropriate attributes. The Smallworld CORBA API provides the behavior necessary to represent standard Smallworld classes and conditions using IDL interfaces and exceptions. Other applications can access the Smallworld classes through these IDL interfaces. Supported ORBS are: Borland s VisiBroker and IONA S Orbix. EAI Enterprise Application Integration (EAI) is a key technology allowing the integration and consolidation of a number of systems within an enterprise allowing the investment in existing technology to be reused and rejuvenated by new applications. EAI achieves this integration using a loosely coupled approach based on messaging and bus technologies. The Smallworld EAI API provides classes to connect to a suitable messaging system and then to send and to receive messages within that system. In the Smallworld EAI implementation, a message is a simple structure that has a body, a header and some properties. The body contains the message data and might be XML text or any structure constructed from base types supported by the underlying messaging system such as strings, integers and lists. The header itself contains metadata: for example, the time the message was sent and the details of the sender. Each property can contain a qualifier about the message itself 1. 1 JMS only. Examples of messaging systems that are supported by Smallworld EAI include IBM s WebSphere MQ, Sun 's Java Message Service (JMS) and TIB/Rendezvous (TIBCO ). Connection classes are also provided for connecting to SonicMQ from Sonic Software Corporation, Oracle AQ, Vitria from Vitria Technology, Inc. and for point to point messaging. COM The Component Object Model (COM) is Microsoft 's framework for developing and supporting program component objects. It is aimed at providing similar capabilities to those defined in the Common Object Request Broker Architecture (CORBA) with the exception that all the objects involved reside on the same physical machine. Smallworld s COM support provides two integration possibilities: It allows Smallworld applications to invoke functionality exposed via COM in an external application (such as Microsoft Word or Microsoft Excel). It allows external development languages such as Microsoft Visual Basic or Microsoft Visual C++ to invoke native Smallworld functionality. From a Smallworld development perspective, external COM objects manifest themselves within the Smallworld development environment as native classes. Broadly speaking, this means that methods and properties implemented on the external COM object appear as methods and properties on the equivalent Smallworld native class. By attempting to faithfully replicate the published COM API, this allows Smallworld applications to easily integrate with popular desktop applications such as Microsoft Word or Microsoft Excel without the need to learn a new API. For example, a Smallworld application could feed the results of a complex network analysis into the fields of a mail shot program. 2

From an external development perspective, Smallworld s COM support allows native classes to be published as COM objects that can then be referenced in a language such as Microsoft Visual Basic. This allows external applications to exploit Smallworld s rich spatial functionality and specialized queries using a familiar API. For example, a simple Visual Basic for Applications script could be used to get specific data from a Smallworld application that could then be referenced from a spreadsheet. OLE DB OLE DB is part of Microsoft Data Access Components (MDAC) and provides a set of interfaces that expose data from a variety of relational and non-relational sources by using the Component Object Model (COM). OLE DB interfaces provide applications with uniform access to data stored in diverse information sources. These interfaces support the amount of DBMS functionality appropriate to the data store, enabling the data store to share its data. OLE DB components consist of data providers that contain and expose data; data consumers that use data and service components that process and transport data (such as query processors and cursor engines). In addition, OLE DB includes a bridge to ODBC to enable continued support for the broad range of ODBC relational database drivers. The Smallworld OLE DB provider offers a way to send read only record data from a Smallworld database to an external OLE DB enabled application. Many OLE DB enabled applications exist (for example, Microsoft Office) and many languages such as Microsoft Visual Basic allow OLE DB enabled ActiveX controls and com classes to be embedded into applications providing, for example, easy to use table browsers. SQL server and ODBC SQL is a standard interactive and programming language for getting information from a database and also for updating it. Queries take the form of a command language that makes it possible to select, insert, update data, and so on. There is also a programming interface. The Smallworld SQL Server provides remote read and write access to the Smallworld database from Windows -based client applications. Using the Smallworld SQL Server and a suitable Microsoft ODBC enabled application, it is possible to quickly and easily interrogate any attribute data within a Smallworld database from a remote Windows - based PC. A great many ODBC enabled applications exist. For example, Microsoft Word, Microsoft Excel, Crystal Solutions are all ODBC enabled allowing Smallworld data to be easily exchanged with these applications. ODBC is also a software development kit allowing custom applications to be written in other development languages such as Microsoft Visual Basic, Microsoft Visual C#, and Borland Delphi to also access Smallworld data. The SQL Server supports a subset of the ANSI SQL- 92 (or SQL2) standard. JDBC Java Database Connectivity (JDBC ) is the Java version of ODBC. The JDBC interface is a Java programming interface that allows a Java client application to access a wide range of data sources. The Smallworld JDBC implementation provides a set of classes that use the JDBC interface to enable connections from Smallworld clients to a number of external database systems, including Oracle. 3

XML XML (extensible Mark-up Language) is a flexible way to create common information formats and share both the format and the data on the world wide web, intranets and between applications. The Smallworld platform provides an extensive implementation of the XML document object model based on Xerces, a Document Object Model (DOM) implementation provided by the Apache Software Foundation that supports Level 1 of the W3CDOM. The DOM allows random access to parts of the document, provides editing capabilities such as cut, copy and paste as well as the ability to create new XML documents from scratch. A rich API is provided that allows a Smallworld application both to read XML data (stored for example in file) and to write data in the XML format using the Simple API for XML. Support is also provided for very fast XML output of Smallworld table data, for example spatial data presented using the Geography Mark-up Language (GML). The Smallworld XML API includes a Uniform Resource Name (URN) generator that allows URNS to be manufactured for all relevant object types (for example, individual records in the Smallworld database). TCP/IP The Smallworld platform supports TCP/IP communication to other systems and from other systems to itself using a sockets API. TCP/IP allows data to be transmitted between Smallworld and an external remote system that might be located in the same room or on another continent. This API allows developers to build server-type applications that can be connected to by multiple clients. Clients can connect to a server application by specifying the network name (or IP address) of the physical machine running the Smallworld system and the port number that is used to handle data traffic. Once connected, client applications can then exchange data with the server. TCP/IP is the basis of many internet-based protocols (for example http). As such, the sockets API provides the low level mechanisms needed by many performance critical applications to communicate with a Smallworld application. However, TCP/IP is itself not a server application per se: it simply provides the base technology required to implement many serverlike solutions. Some common examples of the use of the sockets API include: monitoring of remote sensors and interfacing to proprietary data providers. ACP The Smallworld ACP API allows applications to take advantage of functionality in a third party library such as DLLS or Java JAR libraries. To protect GIS data from rogue code or defects in a third party library, the Smallworld ACP API cleverly manages the third party s library from within a separate process. This approach prevents the third party library from corrupting data which, for most enterprises, is one of their most valuable assets. Parameters to the external API and data returned are streamed between the external process and the host process. Some common examples of the use of the ACP API include: specialized power industry analysis software and high performance image compression tools. Data marshalling Data marshalling is a generic Smallworld API that supports the high speed bulk transfer of regularly shaped data (for example, records). The API allows this technology to be attached to existing streams enabling the very rapid exchange of data when using either the ACP or sockets APIS. 4

Data marshalling provides a low level template API that allows various data structures to be described. Larger number of instances of these structures can then be streamed between a server and a client in groups of a configurable size (for example, a hundred records). This ability to stream data in chunks supports user interface niceties such as progress bars and allows the operation to be interrupted by the user. Data marshalling is also the foundation that supports many other Smallworld technologies such as OLE DB and JDBC providing extremely fast transfer of data. Conclusion The Smallworld architecture provides a rich and powerful array of integration technologies that support interoperability with a wide range of disparate systems. Open standards such as com, ODBC, JDBC, OLEDB and so on allow the Smallworld platform to interact with systems that range from desktop applications to corporate data warehouses. CORBA and EAI are powerful integration technologies that allow enterprise systems to be interconnected to deliver maximum business benefit to the customer. Extensive XML support allows Smallworld applications to communicate in what is rapidly becoming the lingua franca of the internet. This broad support for open standards, together with additional technologies such as TCP/IP, ACP and data marshalling that allow highly optimized integration solutions, gives the Smallworld technology the flexibility to meet the demands of today s enterprise integration challenges. CORBA is claimed as a registered trademark by Object Management Group, Inc., which is not affiliated with GE. VisiBroker is claimed as a registered trademark by Visigenic Software, Inc., which is not affiliated with GE. Orbix is claimed as a registered trademark by Iona Technologies pic, which is not affiliated with GE. IBM and WebSphere are claimed as registered trademarks by International Business Machines Corporation, which is not affiliated with GE. Sun and JDBC are claimed as registered trademarks and Java is claimed as a trademark by Sun Microsystems, Inc., which is not affiliated with GE. Rendezvous and TIBCO are claimed as registered trademarks by TIBCO Software, Inc., which is not affiliated with GE. SonicMQ is claimed as a registered trademark by Sonic Software Corporation, which is not affiliated with GE. Oracle is claimed as a registered trademark by Oracle Corporation, which is not affiliated with GE. Vitria is claimed as a registered trademark by Vitria Technology, Inc, which is not affiliated with GE. Microsoft, Word, Windows, ActiveX, Visual Basic and Visual C++ are claimed as registered trademarks by Microsoft Corporation, which is not affiliated with GE. Borland and Delphi are claimed as registered trademarks by BORLAND INTERNATIONAL, INC., which is not affiliated with GE. ANSI is claimed as registered trademarks by American National Standards Institute Incorporated, which is not affiliated with General Electric. 5