# Presentation: 170229

## ECHOExtended Services

**ECHO****Extended Services**

**Michael Burnett (mburnett@pearsonblueprint.com)**

**ECHO Workshop**
**January 24, 2007**

## Agenda

**Review of Extended Services**
**Policy and Governance**
**ECHO’s Service Domain Model**
**How to...**

## Extended Services Background

**What are “Extended Services”**
- “Services” - functional capabilities offered by the community
- “Extended” – because they are not native to ECHO
- Published to the ECHO Registry
**Functional Summary – What does ECHO do with them?**
- Register – Service Providers register the services
- Activate – ECHO operations review and activate them.
- Find – Users find the services using the UDDI inquiry API or Extended Services Viewer
- Retrieve – Users can get the services to view their details
- Update – Service Providers can update their services
- Delete – Service Providers can remove their services

## Extended Services 8.0 Capabilities

**Full CRUD for Extended Service Entities**
- Create
- Read
- Update
- Delete
**Allow for combined Service Interface/Implementation WSDL**
- Single registration sequence
**Initial brokering of services**
- Invocation Service

## Extended Services 9.0 Additional Capabilities

**Event Management**
- Publication of events for changes in the registry
**Examples:  New Service Interface, Service Deleted, Service Updated, etc.**
- Ability to subscribe to those events
- Notification upon event occurrence
**Event Summary**
- New Dataset
- Updated Dataset
- Deleted Dataset
- New Service
- Updated Service
- Deleted Service
**Based on WS-Eventing & -Notification**

## Policy and Governance

**Policy drives how an organization uses the tools available to them.**
- To protect the organization’s interests
**ECHO is a partnership between NASA and ECHO participants**
**NASA has the responsibility to ensure that what it publicly represents is legitimate and appropriate**
**ECHO policy practices**
- Registered partners may publish
**Form sent to ECHO Operations team**
**NASA approval**
- Two-phased Publication
**Registration & Activation**

## Registration & Activation Pattern

## ECHO’S Service Domain Model

## Extended Services Entity:Web Service Interface

**Defines a web service API**
**Defined in WSDL file**
**Hosted within ECHO system**
- Centrally managed interfaces encourages standardization and reuse within community
**Reusable between provider organizations**
**Example:**
-  Common Subsetting interface
-  Common Access service interface (OPeNDAP)
-  WMS service

## Extended Services Entity:Web Service Implementation

**An executable web service hosted by an ECHO Service Provider**
**Defined in a WSDL file**
- Contains at least one service element
**May implement interfaces registered in ECHO.**
-  By importing interface WSDL from ECHO hosted location.
**Examples:**
- An application-specific service (OPeNDAP Query adaptor)
- A predictive model
- Specific WMS server

## Extended Services Entity:Web Service GUI

**A user interface for a web service.**
**Provides a way for human to interact with a web service.**
**Includes name, description, and access point**
**Associated with implementations and interfaces registered in ECHO.**
**Examples:**
-  ECHO Query Client
-  Domain Specific User Client for subsetting

## Extended Services Entity:Advertisement

**A way to advertise a service that is not a real Web Service.**
**Includes name and description of service and an access point.**
**Example**
-  Service for expert advice on a specific application area
-  Ability to drop sensors in the Chesapeake Bay

## Categorization and Classification

** ****Categorization**
- Process of creating categories or types
**Classification**
- Process of assigning objects within categories

## Taxonomies

**A way of classifying extended service entities in ECHO.**
**Have a tree like structure.**
- Root of the tree is the taxonomy.
- Leaves and nodes on the tree are taxonomy entries
**A taxonomy entry is a name and value pair.**
- Values are unique in a taxonomy.

## Virtual Taxonomies

**This is a type of taxonomy that is populated by ECHO automatically.  **
**They behave and look to the user like a regular static taxonomy.**

## Existing Taxonomies in ECHO

**nasa-ECHO:Dataset **
-  The primary input type dataset taxonomy
-  Should be used to classify services where the dataset is the primary input to the service
-  Is a virtual taxonomy
-  As new datasets are added to ECHO this taxonomy grows
**Contains: **
-  Each Provider
-  Collections for that provider

## Existing Taxonomies in ECHO

**nasa-ECHO:Dataset** Example data

## Existing Taxonomies in ECHO

**nasa-ECHO:ServiceType** – This is a categorization scheme of kinds of services from a functional perspective.  It is comprised of other taxonomies defined by external organizations.
**Currently contains:**
**ISO 19119 (OGC)**
- Specific OGC subgroups
**OPeNDAP**

## Existing Taxonomies in ECHO

**nasa-ECHO:DataFormat **– This is a categorization scheme based on the format of Earth Science data. It is similar to a mime-type classification scheme.
**Currently contains**
**Complex**
**Graphical**

## Classification within ECHO

**Service Partners classify their service offerings**
- Upon Publication
- Updates as needed
**Classification is not required**
- But very useful
**Multiplicity**
- Classify to zero or more Taxonomies
- Classify to zero or more nodes within a Taxonomy

## How To...

**What is available to use ECHO Extended Services**
- APIs
- Documentation
- Tools
**Extended Services Scenarios**
- Register as a Service Provider
- Publish a Web Service Interface
- Publish a Web Service Implementation
- Publish a Web Service GUI
- Publish an Advertisement
- Classify an offering
- Update an offering
- Delete an offering

## Using Extended Services

**API’s available for all capabilities**
- Operational System
**http://www.echo.nasa.gov/reference/reference.shtml**
- Currently available in ECHO Testbed
**http://testbed.echo.nasa.gov/echo/apis.html **
**http://testbed.echo.nasa.gov/echo-wsdl/v9/ExtendedServicesService.wsdl **
**Extended Services Client tool**
- GUI for all management functions (CRUD)
- Currently available in ECHO Testbed
**Extended Services Viewer**
- Navigation tool to discover services
- Operational System
**http://api.echo.nasa.gov/echo-esviewer/ **
- Currently available in ECHO Testbed
**http://testbed.echo.nasa.gov/echo-esviewer/**

## ECHO Tools – Extended Services Client

**Tool for Service Partners**
**Registration**
**Publishing Services**
- Any type
- Classification
**Manage Organizational****contacts**
**Full CRUD**

**ECHO ES Client**

## ECHO Tools – Extended Services Viewer

**Discovery and Navigation Tool for Services Registry**
**Each Categorization ****Scheme represented ****by a tree**
**Details of selected ****node presented in ****the right-hand panel**

## Register as a Service Provider

**Register as a Service Provider**

**Goal**
- As an organization, offer your capabilities to the broader EO community
**Prerequisites**
- Register as a User
- Login as User

**ECHO ES Client**

## Publish a Web Service Interface

**Goal**
- Offer a standard interface which can be used by multiple organizations.
**Prerequisites**
- Be a registered User
- Your organization is a Registered Service Provider
- Login, with your provider context set to a Registered Service Provider
- Have the Web Service Interface defined in a .wsdl file

**ECHO ES Client**

## Publish a Web Service Implementation(using a Web Service Interface)

**Goal**
- Offer a Service for access by the community
**Prerequisites**
- Be a registered User
- Your organization is a Registered Service Provider
- Login, with your provider context set to a Registered Service Provider
- Have the Web Service Implementation defined in a .wsdl file
- Reference a published Web Service Interface

**ECHO ES Client**

## Publish a Web Service Implementation(single .wsdl, combined with a Web Service Interface)

**Goal**
- Offer a Service for access by the community
**Prerequisites**
- Be a registered User
- Your organization is a Registered Service Provider
- Login, with your provider context set to a Registered Service Provider
- Have a .wsdl file which defines the interface and binding information

**ECHO ES Client**

## Publish a Web Service GUI

**Goal**
- Offer a GUI which provides a human interface to a published Web Service, for access by the community
**Prerequisites**
- Be a registered User
- Your organization is a Registered Service Provider
- Login, with your provider context set to a Registered Service Provider
- Reference a published Web Service Interface or specific Web Service Implementation

**ECHO ES Client**

## Publish an Advertisement

**Goal**
- Offer a capability which is not a Web Service, to the EO community
**Prerequisites**
- Be a registered User
- Your organization is a Registered Service Provider
- Login, with your provider context set to a Registered Service Provider

**ECHO ES Client**

## Classify an offering

**Goal**
- Enable better discovery by classifying your offering in one or more taxonomies
- Can be done in registration, or by updating
**Prerequisites**
- Be a registered User
- Your organization is a Registered Service Provider
- Login, with your provider context set to a Registered Service Provider
- A registered service offering has been (or is being) published

**ECHO ES Client**

## Update an offering

**Goal**
- Change the information representing a published service offering
**Prerequisites**
- Be a registered User
- Your organization is a Registered Service Provider
- Login, with your provider context set to a Registered Service Provider
- A registered service offering has been (or is being) published
- Have the GUID of the service to be updated

**ECHO ES Client**

## Delete an offering

**Goal**
- Remove a published service offering
**Prerequisites**
- Be a registered User
- Your organization is a Registered Service Provider
- Login, with your provider context set to a Registered Service Provider
- A registered service offering has been (or is being) published
**NOTE:**
- ECHO will “take ownership” of an interface which has dependent implementations and/or GUIs.

**ECHO ES Client**