office of the under secretary of defense for intelligence defense intelligence information...

21
OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014 UNCLASSIFIED UNCLASSIFIED

Upload: dayna-henderson

Post on 29-Dec-2015

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

Common Map Widget API

DCGS Teams’ WeekApril, 2014

UNCLASSIFIED

UNCLASSIFIED

Page 2: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

Agenda

• Background

• The API

• Current Status

• Sample of Who’s Using It

• JC2CUI Example

• How to Engage

Page 3: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

Background

• What is it?– Specification for interwidget communication– Enables Map widgets and data widgets from different programs to

interoperate• Where did it come from?

– GCCS-I3, JC2CUI, DCGS-IC widget interoperability problem at CENTCOM– Expanded to many programs since

• How does it evolve?– Bi-weekly TC meeting– 175 member mailing list– Coordination with OWF

• How is it governed– Operating as Open Source project shepherded by DI2E Framework

Common Map Widget API (CMAPI)

Page 4: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

Background: Why Do I Care?

• Cross-vendor interoperability– Widgets from different vendors can interoperate with any

map widget “out of the box”• Specialization

– Only a few vendors specialize on map widgets– Every one else specialize on data widgets

• Competition– Can replace one vendor’s map widget with a different one

from another vendor• Agility

– Widgets built for one use can be quickly incorporated into new workflows “on the fly”

– Compose-able capabilities 4

Page 5: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

The API: Basic Approach

• Identify basic map operations• Abstract operations away from any physical map • Define channels and messages, and associate with

basic map operations (i.e., the API)• Any widget can subscribe to map channels and react

appropriately– not just a map

• Don’t tie API to any particular implementation or map renderer– e.g. Google Earth, OpenLayers

5

Page 6: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

The API: Architecture View

6

GCCS-I3 Map Widget

OpenLayers Library

Map Library-Unique APIs (e.g., OpenLayers, GoogleMaps, Proprietary, etc)

Common Map Widget API – enables widgets from different programs to interoperate with map widgets from different programs

JavaScript Translation Code

Search Widget(from DCGS-IC)

Analysis Widget

(from Army)

SA Widget(from JC2CUI)

JC2CUI Map Widget

Google Earth Library JavaScript Translation Code

Army Map Widget

Google Map Library JavaScript Translation Code

Intel Widget(from GCCS-I3)

All of these widgets can interoperate with any (or all) of the map widgets on the left, due to all implementing a common API (the CMAPI)

Page 7: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

– Overlays• map.overlay.create• map.overlay.remove• map.overlay.hide• map.overlay.show• map.overlay.update

– Features• map.feature.plot• map.feature.plot.url• map.feature.unplot• map.feature.hide• map.feature.show• map.feature.selected• map.feature.update

– Drag And Drop

The API: Summary

7Will expand these in next few slides

– View• map.view.zoom• map.view.center.overlay• map.view.center.feature• map.view.center.location• map.view.center.bounds• map.view.clicked

– Status• map.status.request• map.status.view• map.status.format• map.status.about

– Errors• map.error

Page 8: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

The API: Actual Text

8

Plot URL Purpose: Have the map plot feature data from a Uniform Resource Locator (URL).

Channel: map.feature.plot.url

Payload: {overlayId: (optional), featureId: (required), featureName: (optional), format: (optional), url: (required), zoom: (optional)}

overlayId: The id of the overlay this feature should be loaded into. If overlay with this id already exists, new feature is merged into existing overlay; otherwise, new overlay will be created. If no overlayId is included, default overlay with id equal to sending widget's id is used. If overlay exists, it will retain its status (whether visible or hidden). If overlay is created, it will be made visible.

featureId: Unique identifier for the given feature data. Note that feature ids must be unique within a given overlay. Reusing a feature id will be considered a reload, with the original feature data being removed and replaced by the new feature data.

featureName: Name for the given feature data. Note that feature names do not have to be unique and are intended for display purposes only.

format: Data format of the given feature. If no format is specified, the format defaults to “kml.”

Page 9: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

The API: Actual Text

9

Center on Location Purpose: Center the map on a particular location. The map may also be zoomed as close as

possible to the location or to a given range.

Channel: map.view.center.location

Payload: {location: {lat: (required), lon: (required)} (required), zoom: (optional)}

location: Location to be centered in map.

lat: The latitude value of the point.

lon: The longitude value of the point.

zoom: If “auto,” map will adjust to zoom in to the given location as close as possible in the user's viewable area. If a number, map will zoom to specified range in meters. If no zoom attribute is included, no zoom is performed.

Example: {"location": {"lat": 40.2205, "lon": -74.3579}, "zoom": 70250}

Page 10: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

– Load kml feature data onto map

widgetEventingController.publish('map.feature.plot.url', '{ "featureId": “SAGE_PUBLIC", "url": "https://sageearth.northcom.mil/arcgisserver/public/SAGE_link.kml" }');

– Center Map on Location (pan)

widgetEventingController.publish('map.view.center.location', '{"location": {"lat": 40.2205, "lon": -74.3579}

}');

The API: in code

10

Page 11: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

Current Status

• V1.2.0 available (www.cmapi.org)• V1.2.1 in process

– Expect completion mid-Summer– Focusing on user manipulation extensions

• Exploring handing off governance to Open Geospatial Consortium

• Working with GMU for non-OWF widgets (e.g., HTML5)– GMU will be at Plugfest

Page 12: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

– Joint Command and Control Common User Interface (JC2CUI)– Global Command and Control System – Integrated Imagery and Intelligence (GCCS-

I3)– Distributed Common Ground System

• Army (DCGS-A)• Intelligence Community (DCGS-IC)

– Defense Intelligence Information Enterprise (DI2E) Framework– Army Tactical Mission Command – NSA (Red Bridge)– NGA (Integrated Analytic Environment (IAE), Geospatial Visualization Services

(GVS), others)– CIA (Geospatial Tools Program)– Navy C2RPC (PEO-C4I/PMW-150)– AOC-WS– US Coast Guard

12Adopted by OWF GOSS as OWF related project

Sample of Who’s Using It

Page 13: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

JC2 CUI Example

13

Publish map.feature.plot

message

Receive message. Plot tracks on map

Receive message. Plot tracks on map

Receive message. Plot tracks on map

Receive message. Show tracks in grid

Publish map.feature.selected

message

Receive message. Center on selected

track

Receive message. Center on selected

track

Receive message. Center on selected

track

Publish map.feature.selected

message

Receive message. Center on selected

track

Receive message. Center on selected

track

Receive message. Scroll to selected

track

Page 14: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

How To Engage

• Implement the API in your widgets– www.cmapi.org– Where widgets need to display on a map, or if you have a map widget

• Join the group – [email protected]

• Re-use existing products– Map widgets:

• Extensible Mapping Platform (EMP) • JC2CUI • Others

– CMAPI JavaScript library– CMAPI test widgets– Go to https://storefront.di2e.net/marketplace to access

Page 15: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

Backups

Page 16: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

16

• A Common Pattern– Widgets query for or manipulate data– Map widget displays results

• The Vision– Mix and match query widgets and map widgets from different

programs – E.g., plug and play widgets from DCGS-IC, GCCS-I3, JC2CUI at

CENTCOM

• The Problem– Map widgets are tightly coupled to query widgets– Interwidget comms (channels) unique to each program

• The Solution– Common Map Widget API

How It Came About

Page 17: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

Benefits of CMAPI

• Cross-vendor interoperability– Widgets from different vendors can interoperate with any

map widget “out of the box”• Specialization

– Only a few vendors specialize on map widgets– Every one else specialize on data widgets

• Competition– Can replace one vendor’s map widget with a different one

from another vendor• Agility

– Widgets built for one use can be quickly incorporated into new workflows “on the fly”

– Compose-able capabilities 17

Page 18: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

Problem Statement

• Widget-based applications often require a map widget– Interwidget APIs used to “connect” data widgets to map widget are

proprietary– Abstractions for map renderer APIs (e.g., mapstraction) are for use within a

widget, and not across widgets

• Need a vendor-agnostic API to enable interwidget communications – between any vendor’s data widget …– and any other vendor’s map widget

18

Page 19: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

Browser

iFrame

iFrame

iFrame iFrameSearch &

Select sources

Map

MapInfoInter-Graph

ESRI Catalog

WFS WMSCSW

OpenMap

KMLAuto-Desk

KML

Disease distribution

Resource allocations

Doctor Reports

Select water

sources

Analyze and combine

= Not OGC

= CMAPI

= OGC

CMAPI Use Case

19

Page 20: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

Background: OWF

• Widgets: web pages or apps contained in an iframe, often used to provide views of dynamic content

• Ozone: combination layout manager and messaging mechanism for hosting widgets within a Web browser. – Resembles iGoogle, – Uses Shindig - open source Google gadget (widget) container.

• Because browsers don't permit communication between iframes from different domains, Ozone also provides cross-domain-compatible pub-sub mechanism. – Enables development of Web apps composed of multiple

intercommunicating widgets.

• OWF = Ozone Widget Framework: in wide use across DoD/IC programs

20

Page 21: OFFICE OF THE UNDER SECRETARY OF DEFENSE FOR INTELLIGENCE DEFENSE INTELLIGENCE INFORMATION ENTERPRISE Common Map Widget API DCGS Teams’ Week April, 2014

O F F I C E O F T H E U N D E R S E C R E T A R Y O F D E F E N S E F O R I N T E L L I G E N C E

D E F E N S E I N T E L L I G E N C E I N F O R M A T I O N E N T E R P R I S E

Benefits

• Cross-program interoperability– Widgets from different programs can interoperate

with any map widget “out of the box”• Specialization

– Only a few programs build map widgets– Every one else focuses on data widgets

• Competition– Can replace a map widget with a better one