weave - while paper

26
An Introduction To Weave

Upload: ganeshkumar-shanmugam

Post on 23-Mar-2016

247 views

Category:

Documents


3 download

DESCRIPTION

This white paper talks about the general notion of Weave and its relevance to the industry

TRANSCRIPT

Page 1: Weave - While Paper

An Introduction To Weave

Page 2: Weave - While Paper

An Introduction ToWeaveVersion 1.3

Published Thu Sep 11 12:04:44 EST 2008Copyright © 2006-2008 Cohga Pty Ltd All Rights Reserved

The Programs (which include both the software and documentation) contain proprietary information; they are provided under alicense agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectualand industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required toobtain interoperability with other independently created software or as specified by law, is prohibited.

The information contained in this document is subject to change without notice. If you find any problems in the documentation,please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in yourlicense agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means,electronic or mechanical, for any purpose.

The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications.It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safeuse of such applications if the Programs are used for such purposes, and we disclaim liability for any damages caused by such useof the Programs.

The Programsmay provide links toWeb sites and access to content, products, and services from third parties. Cohga is not responsiblefor the availability of, or any content provided on, third-party Web sites. You bear all risks associated with the use of such content.If you choose to purchase any products or services from a third party, the relationship is directly between you and the third party.Cohga is not responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreementwith the third party, including delivery of products or services and warranty obligations related to purchased products or services.Cohga is not responsible for any loss or damage of any sort that you may incur from dealing with any third party.

Page 3: Weave - While Paper

Table of Contents

Chapter 1. Introduction ....................................................................... 1Chapter 2. Architecture ....................................................................... 3

2.1. About OSGi ............................................................................................................ 4The Problem ......................................................................................................... 4The Solution ......................................................................................................... 4

2.2. Weave and OSGi .................................................................................................... 72.3. Concepts ................................................................................................................. 8

Mapping Engine ................................................................................................... 8Spatial Engine ....................................................................................................... 9Data Engine ......................................................................................................... 10

Chapter 3. Example Clients ............................................................... 123.1. Typical Client ......................................................................................................... 123.2. Sample Pan Zoom Overview ............................................................................... 143.3. Weave Client With Reporting Enabled ............................................................... 153.4. Sample Configuration With Redlining ............................................................... 163.5. Sample Integration With Pictometry .................................................................. 17

Chapter 4. Summary Of Key Features ............................................... 184.1. Openness ............................................................................................................... 184.2. Integration of Spatial Data .................................................................................. 184.3. Integration of Non-Spatial Data ......................................................................... 184.4. Integration of Map Services ................................................................................ 184.5. Insulation .............................................................................................................. 194.6. Simple Configuration .......................................................................................... 194.7. Centralised ............................................................................................................ 194.8. Web/Browser-based ............................................................................................ 194.9. Customisable/Expandable .................................................................................. 194.10. Minimal footprint ............................................................................................... 194.11. Scalable ................................................................................................................ 194.12. Security ................................................................................................................ 19

About Cohga ...................................................................................... xxSend Us Your Comments ................................................................. xxi

1. Notice of Liability ................................................................................................... xxi2. Trademark Notice .................................................................................................. xxi

iiAn Introduction To Weave

Page 4: Weave - While Paper

List of Figures

1.1. Example Weave Topology .............................................................................................. 22.1. OSGi Architecture .......................................................................................................... 52.2. Weave Component Model ............................................................................................ 82.3. Linked Map and Spatial Engines ................................................................................. 102.4. Unlinked Map and Spatial Engines ............................................................................ 102.5. Data and Spatial Engines .............................................................................................. 113.1. Weave HTML Client – Mozilla Firefox ........................................................................ 133.2. Weave PanZoom Overview .......................................................................................... 143.3. Weave Client With Reporting Enabled ....................................................................... 153.4. Weave Redlining and Markup ..................................................................................... 163.5. Weave-pictometry ........................................................................................................ 17

iiiAn Introduction To Weave

Page 5: Weave - While Paper

List of Tables

2.1. OSGi Alliance Members ................................................................................................ 6

ivAn Introduction To Weave

Page 6: Weave - While Paper

Chapter1IntroductionMore and more, organisations find themselves taking care of multiple systems that areoften from more than one manufacturer. It is now uncommon to find an organisationthat is responsible for only one system. With multiple systems comes the problems ofinteroperating between them and presenting a common, easy to use interface to interactwith.Weave has been developed to address such problems.Weave enables organisationsto rapidly integrate business systems with, or without a spatial capability. The system isnot reliant on Geographic Information System (GIS) functionality to operate and hasbeen designed so that it can also act as a non-spatial data viewing and reporting tool.

This document provides a basic introduction to the Weave Business IntegrationFramework and its architecture.

Weave is made up of many different components which contribute to the entire system.As can be seen in Figure 1.1, “Example Weave Topology”, Weave provides many ways toconnect and consume data without being relient on vendor specific technology. This isaccomplished by using Open, State of the Art components that allow Weave to adapt toyour internal data requirements. This helps you to avoid vendor lock-in which wouldotherwise make you dependent on a vendor for products and services, and unable to useanother vendor without substantial switching costs.

1An Introduction To Weave

Page 7: Weave - While Paper

Figure 1.1. Example Weave Topology

We invite you to think about the possibilities available to you by usingWeave. No longerare you required to move along a path that is either not necessary, or that you are notready to take.

Your data can come from a variety of sources, be it Open Source or Proprietory. You canpick and chose the best software that meets your needs and be assured that Weave canintegrate with it. You also have the freedom to extend Weave to suit your needs.

With Weave it is now possible to think in other dimensions when looking at ways toexpose data to your users and how to best manage that process.

2An Introduction To Weave

Page 8: Weave - While Paper

Chapter2ArchitectureWeave is a Business Integration Framework with many features and functions that canhelp drive business decisions, and solve problems that may not be possible or be tootime consuming (and costly) to solve. Weave is implemented as a Client/Server systemand may also be described as having a Services Oriented Architecture (SOA).

In order to understand how you can get the most out of Weave it is worthwhile havinga close look at this architecture.

The server side component of Weave is written in the Java programming language. Javaprovides Weave with the flexibility and predictability that is required to run a state ofthe art Business Integration System and which is designed to be independant of vendorspecific technology. Another advantage to using Java, is that it enables Weave to run onmultiple operating systems. This provides the administrator more flexibility whendeploying, customising, and maintaining Weave.

The process of handling requests from a client can bewitten in either JavaScriptor Java. It is also possible to have .Net based applications communicating withWeave using WebServices.

3An Introduction To Weave

Page 9: Weave - While Paper

2.1 About OSGi

TheWeave server utilisesOpen Services Gateway Initiative (OSGi)1 to provide its internalinfrastructure. The specific OSGi framework being used with the default Weaveinstallation is the Eclipse Equinox2 implementation. In this section we attempt to explain"why OSGi?"

The Problem

Software complexity is increasing at an alarming rate. Today, a large part of this complexityis caused by shortened product cycles, requirements for drastically increased functionality,and an increasing number of variations of the same product (e.g. different hardware andoperating systems). These trends have caused software costs to become a larger percentageof almost any manufacturer's development cost.

For an organisation it is now typical for software development to largely consist ofadapting existing functionality to perform in a new environment. In the last 20 years, alarge number of standard building blocks have become available and they are heavilyused in today's products. A prime example is the success of open software. However, theuse of these libraries is not without problems. Integrating many different libraries canbe daunting becausemany libraries have become complex and require their own librariesto function, even if that functionality is never needed for the product.

This trend requires monolithic software products to undergo a heavy testing cycle. Addunsynchronized evolution of the different libraries and it becomes clearer why softwaredevelopment is so costly today.

A key issue is that today's software environments focus on writing new software, insteadof integrating existing software into new systems. In reality, integrating existing codehas become a large part of the work of software developers. Therefore, there is a needfor tools that standardise the integration aspects of software so that reusing existingcomponents becomes reliable, robust and cheap.

The Solution

OSGi technology is the dynamic module system for Java™. The OSGi Service Platformprovides functionality to Java that makes Java the premier environment for softwareintegration and thus for development. In turn, Java provides the portability that is requiredto support products on many different platforms. The OSGi technology provides thestandardised primitives that allow applications to be constructed from small, reusable

1http://www.osgi.org2http://www.eclipse.org/equinox

4An Introduction To Weave

Page 10: Weave - While Paper

and collaborative components. These components can be composed into an applicationand deployed.

Figure 2.1. OSGi Architecture

The OSGi Service Platform provides the functions to change the composition of thesystem dynamically on the device of a variety of networks, without requiring restarts.Tominimise the coupling, as well asmake these couplingsmanaged, theOSGi technologyprovides a service oriented architecture that enables components to dynamically discovereach other for collaboration. TheOSGi Alliance has developedmany standard componentinterfaces for common functions like HTTP servers, configuration, logging, security, useradministration, XML and many more.

5An Introduction To Weave

Page 11: Weave - While Paper

More OSGi?

We have drawn from OSGimaterial for this chapter. Ifyou are interested inlearning more about OSGi,please go to www.osgi.orgfor more detailedinformation. You will besuprised to find the numberof vertical markets in whichOSGi has been deployed.

OSGi technology enables improved time-to-marketand reduced development costs because OSGitechnology provides for the integration of pre-builtand pre-tested component subsystems. Thetechnology also reduces maintenance costs andenables unique new aftermarket opportunitiesbecause components can be dynamically deliveredto devices in the field.

The OSGi specifications are so widely applicablebecause the platform is a small layer that allowsmultiple Java™ based components to efficientlycooperate in a single Java Virtual Machine (JVM).The technology provides an extensive securitymodelso that components can run in a shielded environment. However, with the properpermissions, components can reuse and cooperate, unlike other Java applicationenvironments. The OSGi Framework provides an extensive array of mechanisms tomakethis cooperation possible and secure.

The presence of OSGi technology-basedmiddleware inmany different industries createsa large software market for OSGi software components. The rigid definition of the OSGiService Platform enables components that can run on a variety of devices, from verysmall to very big. Adoption of the OSGi specifications can reduce software developmentcosts as well as provide new business opportunities to expand Weave in places neverpreviously thought.

The OSGi has many members which contribute to the specification and contribute indesign and documentation. The members come from many different backgrounds anddrive the specification in many different ways. See the table below for a list of some ofthe members of the OSGi Alliance.

Table 2.1. OSGi Alliance Members

BEA Systems, Inc.Aplix Corporation

Electricitié de France (EDF)Deutsche Telekom

Harman/Becker Automotive SystemsGmbHEricsson Mobile Platforms AB

IBM CorporationHitachi, Ltd.

IONA TechnologiesIndustrial Technology Research Institute

MakewaveJayway AB

Motorola, Inc.Mitsubishi Electric Corporation

6An Introduction To Weave

Page 12: Weave - While Paper

Nokia CorporationNEC Corporation

Oracle CorporationNTT

Red HatProSyst Software GmbH

SAP AGSamsung Electronics Co., Ltd.

SpringSourceSiemens AG

Sun Microsystems, Inc.Sprint

Telefónica I+DTelcordia Technologies, Inc.

2.2 Weave and OSGi

Weave is built using the Eclipse Framework. The Eclipse Framework is an implementationof the specification set out by the OSGi alliance. Eclipse moved to the OSGi at version3.0 to help consolidate their plugin architecture and help future proof the underlyingsystem. In doing so, a sub project called Equinox was created which deals only withimplementing the OSGi specification.

The Equinox Framework also provides utilities and helper classes that enable Weave toeasily embed other frameworks and systems on top of it. An example of this is BusinessIntelligence Reporting Tool (BIRT). Using a plugin approach enables Weave to be a trulymodular applicationmade up of smaller parts that contribute to make the entire system.

From now on the terms plugin and bundle are interchangeable. The OSGispecification uses the term bundle and Eclipse uses the term pluginwhichwasused before Eclipse adopted OSGi.

As you can see in the following figure, all bundles are extended from the OSGi systembundle. Each other bundle can provide services that other bundles can listen to or canpublish to. The key point to the component model below is that the system is infinitelyextendable with maintenance advantages and system longevity.

7An Introduction To Weave

Page 13: Weave - While Paper

Figure 2.2. Weave Component Model

2.3 Concepts

Weave is designed to be as flexible as possible. Key to this flexibility is the notion ofseparating out the various components into their own features. The three concepts thatneed to be understood before moving on are:

• Mapping Engine;

• Spatial Engine;

• Data Engine.

Mapping Engine

The Mapping Engine is used to communicate with the underlying mapping interfacessupported by the organisationsMapping Software. Its job is to ask theMapping Softwareto generate a map of a particular size (in pixels), at a particular location (in metres, feet,degrees, etc) and with a given set of map layers turned on.

8An Introduction To Weave

Page 14: Weave - While Paper

The layer may not be visible at the scale selected due to Scale DependantRenderers that may have been applied to the map service.

We did not mention the concept of user selections or acetate informationbeing rendered on the map. The process of rendering selections is taken careof by Weave when the map is requested. Weave generates a second imagewith just the selections and acetates on them and combines or fuses the twoimages together to form one and then pass it back to the client.

For EView users, this is important to note as EView requires that if a layer isto be a Selection Layer, it has to be included in the ArcIMS service.WithWeavethis is not required as Weave handles the selection rendering itself. How isthis an advantage? This enables sites to produce a cartographically correctstatic image of the area of interest and serve that to a particular set of usersfor viewing whilst still enabling the user to select any Entity defined.

Spatial Engine

The Spatial Engine is used to communicate with the underlying Spatial Database (thisdoes not have to be a physical RDBMS, it could be a file based Spatial System likeshapefiles) to request geometry and undertake spatial operations, e.g. buffer, intersect,etc. The spatial engine does not do any rendering of maps. It is a datastore that providesthe information needed to create maps and execute spatial functions. Different types ofSpatial Engines suit different requirements. File based systems are good for smallorganisations where data is only edited infrequently and by no more than one or twopeople. If however you have multiple people editing the underlying spatial data and itis changed on a regular basis, then a enterprise system that supports concurrent editing,versioning and role based access would be required.

Most of the time, a link between the Spatial and Mapping Engines is setup by theorganisation. The Weave Map Engine requires this link in order to render the featureson the map when requested.

9An Introduction To Weave

Page 15: Weave - While Paper

Figure 2.3. Linked Map and Spatial Engines

There can be circumstances where there is no link between the Mapping and SpatialEngines. For example, if you were serving static images or have a mapping engine thatserves static images ( e.g. Image Web Server) then there is no need for such a link to bedefined. If the Entities are setup correctly in the Weave configuration, then a user canselect features on the map, either spatially or a-spatially and have Weave render themon top of the image that is then sent back to the client.

Figure 2.4. Unlinked Map and Spatial Engines

Data Engine

Along similar lines to Spatial and Map Engines, a Data Engine is an independantcomponent within the Weave framework. The Data Engine allows Weave to use SQL toquery the database for information. In the diagram below, the Spatial and Data Enginesare separated logically even though physically, they are one and the same. eg. ArcSDE

10An Introduction To Weave

Page 16: Weave - While Paper

stores it's spatial information inside a RDBMS like Oracle or SQL Server. For any purea-spatial database, it is easy to get attribute information from it using the SQL standard.However to get attribute information from a spatial database, two methods can be used.

• Native Spatial Connection

• SQL

Figure 2.5. Data and Spatial Engines

Weave treats Map, Spatial and Database features as separate concepts in the generationand reporting of data. This allows organisations to mix and match how they want toimplement the underlying stucture of the three key concepts. i.e. not being locked intoa vendor specific implementation and having the freedom to move and change whenthey need to, rather than when a vendor thinks that it is in their (the vendor's) bestinterest.

11An Introduction To Weave

Page 17: Weave - While Paper

Chapter3Example Clients3.1 Typical Client

Here is a typical looking Weave client. What you see here is a screenshot of a user whohas a preference for Mozilla Firefox instead of Safari or Internet Explorer (IE) and Opera.Weave can be used for both external as well as internal users so being able to supportthe browsers now available on the internet and intranet is standard withWeave, withoutthe need to install plugins and without requiring popups enabled on browsers.

12An Introduction To Weave

Page 18: Weave - While Paper

Figure 3.1. Weave HTML Client – Mozilla Firefox

The displayed screenshot shows the look and feel of one style of configuration withtabbed pages on the left for map options, searching, reporting etc. There is also a mainview that is tabbed on the right for maps and displays with some of the toolbars spreadaround the views, and a datagrid of selected objects popping up from the bottom.

13An Introduction To Weave

Page 19: Weave - While Paper

3.2 Sample Pan Zoom Overview

Figure 3.2. Weave PanZoom Overview

Here is a map view of the world that shows the integration of vector spatial data andimage type data. The main view can transition between images or vector and image etcby using the image transparency slide bar. You will also note here the overview windowthat pops in and out as required and that can also be used to navigate around the mainwindow. The cartography in the overview window can be sourced from the same mapsource as the main window or have its own stylized cartographic source.

14An Introduction To Weave

Page 20: Weave - While Paper

3.3 Weave Client With Reporting Enabled

Figure 3.3. Weave Client With Reporting Enabled

Included with Weave is the Business Intelligence Reporting Tool known as BIRT. It is avery comprehensive reporting system and is fully integrated with Weave. In the abovefigure you see some simple charting capability based on parcels of land selected in aWeave view and a report run with BIRT. These reports can then be exported to desktopsystems for printing or further use. An output typically used for example is pdf. TheWeave system includes the ability to pass cartographic or map output from Weave andinclude it in BIRT reports.

In the shown configuration you can see that the report is returned as a ‘tab’ in the browser.The other tabs you can see there hold the Weave map view along with a different reportthat has been run earlier.

15An Introduction To Weave

Page 21: Weave - While Paper

3.4 Sample ConfigurationWith Redlining

Figure 3.4. Weave Redlining and Markup

Weave has a redlining or markup capability and in the above figure you see the toolsetthat has been popped that a user would typically use. Objects can be drawn, moved,deleted, edited, and their styles for outline, fill, colour, font, and transparency and so oncan be changed on the fly.

16An Introduction To Weave

Page 22: Weave - While Paper

3.5 Sample IntegrationWith Pictometry

Figure 3.5. Weave-pictometry

In this figure you will see two prominent views configured in the Weave client. The oneon the left is a planimetric view of a part of Melbourne with a blue shaded polygonoverlaid on it. The right hand view is a zoomed in, oblique photograph. The actualfootprint of the entire oblique is what is represented by the blue polygon on the left handview.

What this screenshot shows is some of the integration of Weave with Pictometry. Theuser clicks the Pictometry button on the ‘Weave view’, and then clicks on the screen ata point of interest. The corresponding oblique photograph is then displayed fromPictometry. The user can look East North South orWest using the usual Pictometry toolsand also use measuring tools in the Pictometry view. As the oblique changes, so doesthe footprint on the ‘Weave view’. The point of interest is shown on the ‘Pictometry view’as a small red cross.

This illustrates the initial integration with Pictometry and we expect this integration toexpand over time.

17An Introduction To Weave

Page 23: Weave - While Paper

Chapter4Summary Of KeyFeatures4.1 Openness

Use of open, non-proprietary APIs and SDKs and support for multiple database andspatial engines.

4.2 Integration of Spatial Data

Powerful data integration from multiple spatial data sources such as Oracle Spatial,ArcSDE, Shapefiles, PostGIS, WFS, GML and others.

4.3 Integration of Non-Spatial Data

Powerful data integration from multiple JDBC and ODBC non-spatial data sources.

4.4 Integration of Map Services

Simultaneously work with many map services such as WMS, ArcIMS, ArcGIS Server,MapXtreme, Image Web Server, MapServer and others.

18An Introduction To Weave

Page 24: Weave - While Paper

4.5 Insulation

The data complexity is hidden from the end users.

4.6 Simple Configuration

Minimise/consolidate configuration information.

4.7 Centralised

The configuration is controlled by the site administrator from a single location.

4.8 Web/Browser-based

Weave has browser-based clients using JavaScript and HTML. No browser plugins arerequired.

4.9 Customisable/Expandable

Weave can be customised and expanded by third parties. Weave has been built with itsown open software development kit which is supplied with the product.

4.10 Minimal footprint

Minimal requirements to integrate data sources (i.e. no selection tables, no forcedschemas).

4.11 Scalable

A true multi-tier architecture is supported.

4.12 Security

Role based access control to interfaces, data, and reports.

19An Introduction To Weave

Page 25: Weave - While Paper

About CohgaCohga Pty Ltd is a privately owned Australian company with a focus on the developmentof IT products, and the supply of associated professional services.

Cohga's philosophy is to use Open, State of the Art, and non vendor-specific technologyto create products and solutions that meet client expectations. By not being tied to anyspecific software vendor or product, the Cohga team can advise you as to which solutionwill enhance and promote your business.

With offices in Melbourne, Adelaide and New Zealand, Cohga staff are ready for yournext project. The people who work for the company, control the company. Cohga hasdesigned, developed and supports the Weave business integration framework.

For further information please contact us at:

• Cohga Pty Ltd

• PO Box 569, Blackburn Vic 3130

• Australia

• Phone: +61 (0)3 90164175

• Mobile: +61 (0)4 08784210

For all email enquiries please email [email protected] or visit our website athttp://www.cohga.com

xxAn Introduction To Weave

Page 26: Weave - While Paper

Send Us Your CommentsCohga welcomes your comments and suggestions on the quality and usefulness of thispublication. Your input is an important part of the information used for revision.

• Did you find any errors?

• Is the information clearly presented?

• Do you need more information? If so, where?

• Are the examples correct or do you need more examples?

• What features did you like most about this manual?

If you find any errors or have any other suggestions for improvement, please indicatethe title and part number of the documentation along with the chapter, section, andpage number (if available). You can send comments to us in the following ways:

email: [email protected]

If you have problems with the software, please contact your local Cohga Support at

email: [email protected]

1 Notice of LiabilityThe Cohga Teamhavemade every effort to ensure the accuracy of the information herein.However, the information contained in this document is provided without warranty,either express or implied. Cohga Pty Ltd, and its dealers or distributors will not be heldliable for any damages thatmay be caused either directly or indirectly by the instructionscontained in this document, or by the software or hardware products described herein.

2 Trademark NoticeRather than indicating every occurrence of a trademarked name as such, this book usesthe names only in an editorial fashion and to the benefit of the trademark owner withno intention of infringement of the trademark.

xxiAn Introduction To Weave