Oracle Utilities Smart Grid Gateway Adapter for Itron OpenWay

Configuration Guide

Release 2.1.0 Service Pack 2

E41195-02

April 2014

Oracle Utilities Smart Grid Gateway Adapter for Itron OpenWay Configuration Guide

E41195-02

Copyright © 2012, 2014 Oracle and/or its affiliates. All rights reserved.

Primary Author: TUGBU Documentation

Contributing Author: TUGBU Documentation

Contributor: TUGBU Documentation

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Overview

This chapter provides an overview of this configuration guide and an introduction to the Oracle Utilities Smart Grid Gateway adapter for Itron OpenWay, including the following:

•

What Is This Book?

•

Other Documentation

•

Oracle Utilities Application Framework Configuration Tools

What Is This Book?

This guide describes how to configure the Oracle Utilities Smart Grid Gateway adapter for Itron OpenWay. It is intended for implementers and system administrators responsible for configuration and initial setup of the application.

The Oracle Utilities Smart Grid Gateway adapter for Itron OpenWay is based on the Oracle Utilities Application Framework (OUAF). For information about using and configuring basic Framework functions, see the Oracle Utilities Application Framework documentation. This guide only covers configuration of functions specific to the Oracle Utilities Smart Grid Gateway adapter for Itron OpenWay.

The body of this guide presents conceptual information to help you understand how the system works as well as how the various configuration options affect system functionality. Once you have an understanding of the system's capabilities, you can plan your data setup and design any customizations you want to implement.

When you are ready to implement your design, use Chapter 2 : General Configuration to guide you through the setup process of admin data. This section lists each object that can be configured, defines any prerequisites for configuration.

This guide includes the following chapters:

•

Chapter 1 : Overview (this chapter) provides an overview of the Oracle Utilities Smart Grid Gateway adapter for Itron OpenWay architecture and of the configuration tools and process used in implementing the product.

•

Chapter 2 : General Configuration provides an overview of some general configuration options used by the Oracle Utilities Smart Grid Gateway adapter for Itron OpenWay.

Other Documentation

This section describes other documentation provided with the Oracle Utilities Smart Grid Gateway adapter for Itron OpenWay.

Installation Documentation

Installation documentation describes the steps involved in the installation and initial set up of the system, and includes the following documents:

•

Oracle Utilities Smart Grid Gateway Quick Install Guide

•

Oracle Utilities Smart Grid Gateway DBA Guide

•

Oracle Utilities Smart Grid Gateway Installation Guide

User Documentation

User documentation provides conceptual information and procedures related to working with the various objects used in the system, and includes the following documents:

•

Oracle Utilities Application Framework Business Process Guide

•

Oracle Utilities Application Framework Administration Guide

•

Oracle Utilities Service and Measurement Data Foundation User’s Guide

Supplemental Documentation

Supplemental documentation provides technical information related to system administration tasks and include the following documents:

•

Oracle Utilities Smart Grid Gateway Server Administration Guide

•

Oracle Utilities Smart Grid Gateway Batch Server Administration Guide

•

Oracle Utilities Smart Grid Gateway Configuration Guide

The Oracle Utilities Smart Grid Gateway adapter for Itron OpenWay uses Oracle Service Bus (OSB) and Oracle Business Process Execution Language (BPEL) as middleware components. These tools are part of the Oracle SOA Suite. See the Oracle SOA Suite Documentation library (http://www.oracle.com/technetwork/middleware/soasuite/documentation/index.html ) for more information about using these tools.

Embedded Help

Oracle Utilities Smart Grid Gateway, like all Oracle Utilities Application Framework applications, provides extensive internal documentation. For example, detailed descriptions of system objects are included in the objects' maintenance portals. The lifecycle of each business object is described on the Lifecycle tab and depicted in flow diagrams on the Summary tab. This information is extremely useful for implementers and system administrators.

Embedded help is provided for all non-obvious fields in most portals and zones. If a field has associated help text, a ? icon appears next to the field when the zone is displayed.

Online Help

Oracle Utilities Smart Grid Gateway also includes context-sensitive help for all the user interface screens users will typically work with as they use the system. Online help contains conceptual information and procedures related to working with the various objects used in the system.

The online help is divided into the following three sections:

•

Oracle Utilities Application Framework: Describes the features and functions of the application framework (F1)

•

Oracle Utilities Service and Measurement Data Foundation: Describes the features and functions provided in the service and measurement data foundation (D1)

•

Oracle Utilities Smart Grid Gateway: Describes the features and functions provided in the meter data management application (D2)

Oracle Utilities Application Framework Configuration Tools

Please refer to the general configuration guide for information on the Oracle Utilities Application Framework (OUAF) configuration tools that can be used to create and customize system entities, such as business objects, portals, zones, and UI maps. Refer to the Oracle Utilities Application Framework configuration tools documentation for instructions on using tools such as:

•

Configuration Process Overview

•

Data Areas

•

Algorithms

•

Entity Naming Conventions

This configuration guide does not duplicate the concepts and procedures presented in the Oracle Utilities Application Framework configuration tools documentation; rather, it will identify the specific objects used by the Oracle Utilities Smart Grid Gateway adapter for Itron OpenWay that can be configured and customized using the configuration tools, as well as application parameters and objects that can be managed within the application components themselves.

This guide assumes that all individuals responsible for system configuration and implementation will be familiar with the Oracle Utilities Application Framework and will have completed training on the Oracle Utilities Application Framework Configuration Tools.

General Configuration

This chapter provides details on the components and configurations required for the Smart Grid Gateway adapter for Itron OpenWay including the following:

•

Understanding the Adapter

•

Understanding the Adapter Processing

•

Configuring an Itron OpenWay Head-End System

•

Configuring Itron OpenWay Extendable Lookups

•

Extending the Adapter for Itron OpenWay

•

The Test Harness

Understanding the Adapter

The Oracle Utilities Smart Grid Gateway Adapter for Itron OpenWay supports communication with the Itron OpenWay application, including measurement data and device event loading, and command messaging in support of commissioning, connect, disconnect, decommissioning, status check, and on-demand read commands.The following table describes the attributes of the adapter:

Attribute

Details

Currently Supported Version

3.7, 3.9

Protocol

Proprietary

Market(s)

Worldwide

Architecture

RF Mesh

The adapter uses Oracle Service Bus (OSB) and Oracle Business Process Execution Language (BPEL) to facilitate communication between Oracle Utilities Smart Grid Gateway and the Itron OpenWay application. For additional information about Oracle Utilities Smart Grid Gateway adapters, see Chapter 11: Smart Grid Gateway Adapters in the Oracle Utilities Smart Grid Gateway Configuration Guide.

The following functionality is included:

Measurement Data and Device Event Loading - data parsing and transformation via Oracle Service Bus from Itron OpenWay format into the Oracle Utilities Service and Measurement Data Foundation unified format for measurement data and device events.

Schedule Read Commands - Measurement data and device events are not automatically sent to Oracle Utilities Smart Grid Gateway, and must be requested from the Itron head-end system via Scheduled Read commands. Upon receipt of a Scheduled Read command, the Itron OpenWay application deposits a usage and/or device event payload so that Oracle Service Bus can pick up and process the file. See About Scheduled Read Commands on page 13 and Initiating Scheduled Read Commands on page 19 in the Oracle Utilities Smart Grid Gateway Adapter for Itron OpenWay User’s Guide for more information about Scheduled Read commands.

Measurement Data and Device Event Processing - configurable mapping for Itron OpenWay status codes and device event names to Oracle Utilities Service and Measurement Data Foundation standard values.

Smart Meter Command Processing - sending/receiving messages to/from the Itron OpenWay application to initiate smart meter commands from Oracle Utilities Smart Grid Gateway. The Itron OpenWay adapter supports the following types of commands and communications:

•

Meter Commissioning - business objects and BPEL processes to support issuing meter commissioning commands.

•

Remote Connect - business objects and BPEL processes to support issuing remote connect commands.

•

Remote Disconnect - business objects and BPEL processes to support issuing remote disconnect commands

•

Meter Decommissioning - business objects and BPEL processes to support issuing meter decommissioning commands.

•

On-Demand Read - business objects and BPEL processes to support issuing on-demand read commands.

•

Device Status Check - business objects and BPEL processes to support issuing device status check commands for both single and multiple devices.

Understanding the Adapter Processing

This section provides details concerning the OSB processing, BPEL processes, and OUAF objects supplied as part of the base package for the adapter for Itron OpenWay. This information illustrates how the base package objects were designed, and can serve as the basis for any customizations you create as part of your implementation. For additional information about Oracle Utilities Smart Grid Gateway adapter processing, see Chapter 11: Smart Grid Gateway Adapters in the Oracle Utilities Smart Grid Gateway Configuration Guide.

This section includes:

•

Loading Initial Measurement Data and Device Events

•

Device Communication

Loading Initial Measurement Data and Device Events

Initial measurement data and device event loading and processing use OSB to poll for, parse, and transform the head-payloads into the Oracle Utilities Smart Grid Gateway service format. Payloads contain measurements and meter events in some head-end specific format OSB then places each service call into a JMS queue within the Oracle Utilities applications. The JMS client consumes the entries and invokes the respective services in parallel then a service creates initial measurements with data in a common format with head-end-specific processing as needed. A second service creates device events with data in a common format.

As noted above, measurement and device event data must be requested from the Itron OpenWay head-end system via Scheduled Read commands. See About Scheduled Read Commands on page 13 and Initiating Scheduled Read Commands on page 19 in the Oracle Utilities Smart Grid Gateway Adapter for Itron OpenWay User’s Guide for more information about Scheduled Read commands.

Initial Measurement

The usage data received from the AMI head-end system as a file in Itron OpenWay XML format is loaded into Oracle Utilities as initial measurement data. The following OSB projects, delivered in the base product, help manage the usage processing:

1.

SGG-D8-ITRONXML-BASE contains components responsible for "actual" processing of incoming data. It should not be modified during configuration. This project can be upgraded without affecting the customization and environment settings added to SGG-D8-ITRONXML-CM.

2.

SGG-D8-ITRONXML-CM allows for customization and simplifies future upgrades.

The runtime configuration settings for the SGG-D8-ITRONXML-CM project are stored in the xquery file EnvironmentSettings.xq. You can use this file to adjust initial measurement data processing. For example, if you want to load raw data you would specify "true" for the content of the populateRawIMD element.

The following table describes the elements included in the EnvironmentSettings.xq file:

Element

Description

populateRaw

Determines if the initial measurement data is populated as raw data. Valid values are:

•

true

•

false

callPreProcessing

Determines if the preprocessing proxy service is called. Valid values are:

•

true

•

false

callPostProcessing

Determines if the postprocessing proxy service is called. Valid values are:

•

true

•

false

destinationRootElementInterval

Holds the name of XAI inbound service for the interval IMD seeder.

destinationRootElementScalar

Holds the name of XAI inbound service for the scalar IMD seeder. In most cases it is the same as destinationRootElementInterval.

destinationRootElementEvent

Holds the name of XAI inbound service for the Device Event seeder.

Processing Large Input Files

In some environments, the OSB project may begin processing a large input file before it has been completely copied to the input directory. To prevent this, configure the MinimumAge property in the "InboundProxyService" proxy service for the SGG-D8-ITRONXML-CM project. The MinimumAge property specifies the minimum age of files to be retrieved, based on the last modified time stamp. This enables large files to be completely copied to the input directory before they are retrieved for processing.

See Working with Adapter OSB Projects in the Oracle Utilities Smart Grid Gateway Configuration Guide for more information about setting the MinimumAge property.

Device Events

Itron OpenWay can send real-time events such as meter outage alarms to Oracle Utilities Smart Grid Gateway. These events are referred to as exceptions in the Itron architecture, and are sent to the BPEL ExceptionSubscriberService service by Itron OpenWay without requiring an explicit request from Oracle Utilities Smart Grid Gateway. Exceptions are loaded as device events data and provided to the edge applications.

The required functionality is delivered in the base product as two OSB projects:

1.

SGG-D8-EXCEPTION-BASE containing components responsible for "actual" processing of incoming data. It should not be modified during configuration. This project can be upgraded without affecting the customization and environment settings added to the SGG-D8-EXCEPTION-CM project.

2.

SGG-D8-EXCEPTION-CM allows the customization and simplifies the future upgrades.

Base Package Business Objects

The Itron OpenWay adapter base package includes the following initial measurement and device event business objects:

Business Object Name

Description

D8-AppGroupLookup

Itron - Application Group Lookup

This extendable lookup table is used to store the application group used by Itron OpenWay.

D8-InterrogateByGroup

Itron - Interrogate By Group

Performs a Schedule Read for a group of devices (either Application or Configuration) in the Itron OpenWay API.

D8-InterrogateByGroupResult

Itron - Interrogate by Group Result

This BO is the inbound asynchronous response to an Interrogate By Group (Schedule Read) outbound communication.

D8-InitialLoadIMDInterval

Itron - Initial Load IMD - Interval

Used when loading Itron OpenWay interval measurements into the system for the first time.

D8-InitialLoadIMDScalar

Itron - Initial Load IMD - Scalar

Used when loading Itron OpenWay scalar measurements into the system for the first time.

D8-DeviceEventMappingLookup

Itron - Device Event Mapping

D8-HeadendUOMLookup

Itron - UOM Code to Standard UOM Mapping

D8-IntStsCodeToCondMapLookup

Itron - Interval Status Mapping

This is a child BO of Interval Status Code to Condition Mapping

D8-ScheduleRead

Itron - Schedule Read

Requests IMD and Event data from the Itron OpenWay Network. This data will later be returned and placed in files to be uploaded.

Itron OpenWay Device Event Mapping BO

The Itron OpenWay head-end system is capable of sending a large selection of device events. The adapter maps these events into standard Oracle Utilities Smart Grid Gateway event names and categories. To meet this end, a Itron OpenWay-specific extendable lookup business object, D8-DeviceEventMappingLookup, holds device event names specific to Itron OpenWay.

Device Communication

The basic communication for all business processing is essentially the same. A communication request is sent from the Oracle Utilities application to Itron OpenWay. This request would be for a connect/disconnect, commission/decommission, measurement data, device status check, or an on-demand read. The designated BPEL process transforms the request from Oracle Utilities format to Itron OpenWay format and invokes the related Itron OpenWay web service. Itron OpenWay then returns a reply, and the BPEL process transforms the reply message back to the appropriate format so that Oracle Utilities can receive the response.

The following sections describe the key components in this processing, including:

•

Base Package Business Objects

•

External System

•

Outbound Message Types

•

XAI Configuration

•

BPEL Processes

Base Package Business Objects

The Itron OpenWay Adapter base package includes the following communication business objects:

Business Object Name

Description

D8-AddMeterDefinitions

Itron - Add Meter Definition (Commission)

D8-DeregisterMeter

Itron - Deregister Meter (Decommission)

D8-DetectLoadSideVoltageByMtr

Itron - Detect Load Side Voltage

D8-DetLoadSideVoltageMtrRslt

Itron - Detect Load Side Voltage Result

D8-DisconnectMeter

Itron - Disconnect Meter (Remote Disconnect)

D8-DisconnectMeterResult

Itron - Disconnect Meter Result

D8-PingByEndpoints

Itron - Ping By Endpoints (Device Status Check)

D8-PingByEndpointsMDResponse

Itron - Multi-Device Ping Response

D8-PingByEndpointsMultiDevice

Itron - Ping By Endpoints Multi-Device

D8-PingByEndpointsResponse

Itron - Ping By Endpoints Response

D8-ReadDisconStateByMtr

Itron - Read Disconnect State

D8-ReadDisconStateMtrRslt

Itron - Read Disconnect State Result

D8-ReadInterval

Itron - Contingency Read (Interval)

D8-ReadResult

Itron - Contingency Read Result

D8-ReadScalar

Itron - Contingency Read (Scalar)

D8-ReconnectMeter

Itron - Reconnect Meter (Remote Connect)

D8-ReconnectMeterResult

Itron - Reconnect Meter Result

D8-ScheduleRead

Itron - Schedule Read

Itron OpenWay Event Data Mapping

The Itron OpenWay event file format maps as follows into the business object, D1-DeviceEventMappingLookup:

Itron OpenWay Flat File Field

Device Event Seeder BO Element

Comments

Transaction ID (from Header record)

External Source Identifier

This is the file name.

Device Identifier

External Device Identifier

Event Name

External Event Name

Event Creation Date/Time

Event Date/Time

Device Type

External Device Type

This element has no real bearing on the device type within MDM/SGG. Its valid values include (although the element itself is free-form):

Meter

Collector

Router

Service Location ID

External Service Location ID

Communication Module Serial Number

External Communication Module Identifier

Event Category ID

External Event Category

Event Severity

External Event Severity

Valid values include (although the element itself is free-form):

Alert

Information

Status Value

External Status Value

This represents additional information that relates to the event itself.

Status Date/Time

External Status Date/Time

The date & time at which the additional information referenced above had occurred.

External System

You must create an External System for each external system to which Oracle Utilities Smart Grid Gateway will send messages. Each external system defines a set of outbound message types that will be sent to that system. Each external system outbound message type also specifies the following:

•

The processing method used to send the message (Batch, XAI, or Real-time)

•

The corresponding XAI senders

•

Batch Control (if Processing Method is set to Batch)

•

Message XSL, W3C Schema, and Response XSL (as applicable)

Outbound Message Types

Acknowledgement and response messages are sent and received validating that commands have been transmitted.

XAI Configuration

The XML Application Integration (XAI) utility allows you to configure your system to receive information from and to send information to external applications using XML. The Itron OpenWay adapter for Smart Grid Gateway uses one XAI inbound service to map device events. This is the same XAI inbound service used by the D1 application.

XAI Inbound Services

XAI inbound systems define the details of how messages are received from an external system, including the inbound communication business object (or business service or service script) to be invoked when the response message is received. As in the case of inbound communication business objects, the set of XAI inbound services you need to create is based on the types of messages the system is designed to send.

The Oracle Utilities Smart Grid Gateway adapter for Itron OpenWay includes the following XAI inbound services:

XAI Inbound Service

Description

D1-BulkRequestHeader

Bulk Request Header

Schema Name: D1-BulkRequestHeader

D1-BulkRequestUpdate

Bulk Request Update

Schema Name: D1-BULKUPD

D1-BulkResponse

Bulk Response

Schema Name: D1-BulkResponse

D1-DeviceEventSeeder

Used for upload of device events.

Schema Name: D1-DeviceEventSeeder.

The Device Event Seeder business object serves as a means of adding device events both from outside the application and from online. Its pre-processing algorithms determine the device event type - which in turn defines the device event BO that should be used to create the device event.

If a device event type can't be determined, the device event is created using this BO. Such a device event can then be re-processed - and if successful, a new device event is created.

D1-DeviceStatusCheck

Device Status Check

Schema Name: D1-DeviceStatusCheck

This service is invoked by the integration layer to instantiate a Device Status Check command.

D1-InitialLoadIMD

Used by OSB to instantiate an IMD

Schema Name: D1-IMDSeeder.

The IMDSeeder business object is used to determine the type of initial measurement business object to instantiate when receiving usage readings from a head-end system.

D1-RemoteConnect

Remote Connect

Schema Name: D1-RemoteConnect

This service is invoked by the integration layer to instantiate a Remote Connect command.

D1-RemoteDisconnect

Remote Disconnect

Schema Name: D1-RemoteDisconnect

This service is invoked by the integration layer to instantiate a Remote Disconnect command.

D8-DetLoadSideVoltageMtrRslt

Itron - Detect Load Side Voltage by Meter Result

Schema Name: D8-DetLoadSideVoltageMtrRslt

D8-DisconnectMeterResult

Itron - Disconnect Meter Result Service

Schema Name: D8-DisconnectMeterResult

D8-InterrogateByGroupResult

Itron - Interrogate By Group Result XIA

Schema Name: D8-InterrogateByGroupResult

D8-PingByEndpointsMDResponse

Itron - Ping By Endpoints Multi-Device Response XAI Inbound

Schema Name: D8-PingByEndpointsMDResponse

D8-PingByEndpointsResponse

Itron - Ping By End Response XAI Inbound Service

Schema Name: D8-PingByEndpointsResponse

D8-ReadDisconStateMtrRslt

Itron - Read Disconnect State by Meter Result Service

Schema Name: D8-ReadDisconStateMtrRslt

D8-ReadResult

Itron - Contingency Read Result

Schema Name: D8-ReadResult

D8-ReconnectMeterResult

Itron - Reconnect Meter Result Service

Schema Name: D8-ReconnectMeterResult

XAI Senders

XAI senders define the details of how messages are sent to an external system. As in the case of outbound communication business objects and outbound message types, the set of XAI senders you need to create is based on the types of messages the system is designed to accept.

BPEL Processes

These processes are responsible for performing the conversion from Oracle Utilities format to Itron OpenWay format, invoking process callouts and invoking the remote endpoint to trigger the device events. BPEL modules are divided into "Composites," or collections of business logic.

OnDemandRead Composite Process

The OnDemandRead composite invokes a sequence of web methods that call the head-end system to retrieve meter reading data and send it back to the OUAF layer. In the case of Itron OpenWay, this is accomplished using the ContingencyReadByEndpoints/GetContingencyReadByEndpointsResult services defined in the Data service WSDL.

ConnectDisconnect Composite Process

This composite is responsible for triggering the Connect and Disconnect events on the head-end system. A second, asynchronous reply sends the results back into the OUAF layer when the head-end system signals a change in the status of the device. The Itron OpenWay Adapter uses the ReconnectMeter/GetReconnectMeterResult web service pair to connect, and the DisconnectMeter/GetDisconnectMeterResult web service pair to disconnect. Each of these services is defined in the Control service WSDL.

CommissionDecommission Composite Process

Commissioning and Decommissioning of devices, sometimes referred to as "Provisioning," is handled by the CommissionDecommission composite. Commissioning invokes the AddMeterDefinitions web service and Decommissioning uses the DeregisterMeters web service. Both are defined in the Provisioning service.

DeviceStatusCheck Composite

This composite uses the PingByEndpoints and GetPingByEndpointsResult web services to check the health of a device. These Itron OpenWay services are defined in the Control.Diagnostic service.

Common Composite

The Common composite contains three main classes of operations: Proxies, ProcessCallouts, and utility functions. Proxies are usually simple mediators that forward a web service call to a preset endpoint. In this Adapter they have two additional roles. First, they interrogate a composite property and determine whether the supported version of head-end software is 3.70 or 3.90. Some of the proxies will also append the callback URL for the StatusChanged service. Proxies are convenient because they allow head-end URLs and security to be set in a single composite. In this case, they also offer a common location to make these checks. ProcessCallouts are points of customization which allow users to modify data and/or initiate some external business process. Utility functions serve as a central location for business logic needed by multiple composites.

Web Services

The following web services are all defined in the Itron OpenWay head-end system:

•

CommissionDecommissionService

•

BPEL Process: CommissionDecommission

•

Operation: AddMeterDefinitions

•

Enpoint URL: http://<EM_SERVER>:<EM_SERVER_PORT>/soa-infra/services/<EM_PARTITION>/CommissionDecommission/CommissionDecommissionService

•

CommissionDecommissionService

•

BPEL Process: CommissionDecommission

•

Operation: DeregisterMeters

•

Enpoint URL: http://<EM_SERVER>:<EM_SERVER_PORT>/soa-infra/services/<EM_PARTITION>/CommissionDecommission/CommissionDecommissionService

•

ConnectDisconnectService

•

BPEL Process: ConnectDisconnect

•

Operation: ReconnectMeter

•

Enpoint URL: http://<EM_SERVER>:<EM_SERVER_PORT>/soa-infra/services/<EM_PARTITION>/ConnectDisconnect/ConnectDisconnectService

•

ConnectDisconnectService

•

BPEL Process: ConnectDisconnect

•

Operation: DisconnectMeter

•

Enpoint URL: http://<EM_SERVER>:<EM_SERVER_PORT>/soa-infra/services/<EM_PARTITION>/ConnectDisconnect/ConnectDisconnectService

•

DeviceStatusCheckService

•

BPEL Process: DeviceStatusCheck

•

Operation: DeviceStatusCheck

•

Enpoint URL: http://<EM_SERVER>:<EM_SERVER_PORT>/soa-infra/services/<EM_PARTITION>/DeviceStatusCheck/DeviceStatusCheckService

•

OnDemandReadService

•

BPEL Process: OnDemandRead

•

Operation: ContingencyReadByEndpoints

•

Enpoint URL: http://<EM_SERVER>:<EM_SERVER_PORT>/soa-infra/services/<EM_PARTITION>/OnDemandRead/OnDemandReadService

Itron OpenWay Web Services

The following table describes Itron OpenWay web services and operations used for the Oracle Utilities Smart Grid Gateway command messaging:

Smart Grid Gateway Command

AMI Adapter Business Objects

Itron OpenWay Web Services

Itron OpenWay Operations

Device Commissioning

D8-AddMeterDefinitions

ProvisioningService

AddMeterDefinitions

Device Decommissioning

D8-DeregisterMeter

ProvisioningService

DeregisterMeters

Remote Connect

D8-ReconnectMeter

D8-DetectLoadSideVoltageByMtr

D8-ReadDisconStateByMtr

ControlService

DiagnosticService

ReconnectMeter

DetectLoadSideVoltageByMeter

ReadDisconnectStateByMeters

Remote Disconnect

D8-DisconnectMeter

ControlService

DisconnectMeter

Device Status Check

D8-PingByEndpoints

ControlService

PingByEndpoints

GetPingByEndpointsResult

On-Demand Read

D8-ReadInterval

D8-ReadScalar

D1-InitialLoadIMD

D1-DeviceEventSeeder

DataService

ContingencyReadByEndpoints

GetContingencyReadByEndpointsResult

InterrogateByGroup

GetInterrogateByGroupResult

DataSubscriberService (Async Response)

DataArrived

Event Loading

D1-DeviceEventSeeder

ExceptionSubscriberService

ExceptionsArrived

Configuring an Itron OpenWay Head-End System

This section outlines the configuration required for the Oracle Utilities Smart Grid Gateway Adapter for Itron OpenWay to communicate with the Itron OpenWay application. This includes:

•

Master Configuration

•

XAI Inbound Services

•

XAI Senders

•

Outbound Message Types

•

External System

•

Service Provider

•

Processing Methods for Service Provider

Master Configuration

Master Configurations are sources of global parameter records used by a system implementation. This section describes the master configuration that is specific to Oracle Utilities Smart Grid Gateway Adapter for Itron OpenWay. For more information about other master configurations used by Oracle Utilities Smart Grid Gateway, see the Oracle Utilities Smart Grid Gateway Configuration Guide.

Itron Version Master Configuration

This master configuration specifies the version of the Itron head-end system with which the system is communicating. The configuration options are Itron OpenWay Version 3.70 and Itron OpenWay Version 3.90. Only one version can be specified at a time.

XAI Inbound Services

XAI inbound services define the details of how messages are received from an external system. This includes incoming usage and device events, as well as messages sent from the Itron OpenWay application in response to a command request.

The following XAI Inbound Services must be configured in your system. If these are not present in your configuration, add them. Refer to the Oracle Utilities Application Framework documentation for more information about creating XAI inbound services.

XAI Inbound Service Name

Description

Schema Type

Schema Name

D1-BulkRequestHeader

Bulk Request Header

Business Object

D1-BulkRequestHeader

D1-BulkRequestUpdate

Bulk Request Update

Business Object

D1-BULKUPD

D1-BulkResponse

Bulk Response

Business Object

D1-BulkResponse

D1-DeviceEventSeeder

Device Event Seeder

Business Object

D1-DeviceEventSeeder

D1-DeviceStatusCheck

Device Status Check

Business Object

D1-DeviceStatusCheck

D1-InitialLoadIMD

Used by OSB to instantiate an IMD

Business Object

D1-IMDSeeder

D1-PayloadErrorNotif

Payload Error Notification

Business Object

D1-PayloadErrorNotif

D1-PayloadStatistics

Payload Statistics

Business Object

D1-PayloadStatistics

D1-PayloadSummary

Payload Summary

Business Object

D1-PayloadSummary

D8-DetLoadSideVoltageMtrRslt

Itron - Detect Load Side Voltage by Meter Result

Business Object

D8-DetLoadSideVoltageMtrRslt

D8-DisconnectMeterResult

Disconnect Meter Result Service

Business Object

D8-DisconnectMeterResult

D8-InterrogateByGroupResult

Itron - Interrogate By Group Result XIA

Business Object

D8-InterrogateByGroupResul

D8-PingByEndpointsMDResponse

Itron - Ping By Endpoints Multi-Device Response XAI Inbound

Business Object

D8-PingByEndpointsMDResponse

D8-PingByEndpointsResponse

Itron - Ping By Endpoints Response XAI Inbound Service

Business Object

D8-PingByEndpointsResponse

D8-ReadDisconStateMtrRslt

Itron - Read Disconnect State by Meter Result Service

Business Object

D8-ReadDisconStateMtrRslt

D8-ReadResult

Itron - Contingency Read Result

Business Object

D8-ReadResult

D8-ReconnectMeterResult

Itron - Reconnect Meter Result Service

Business Object

D8-ReconnectMeterResult

XAI Senders

XAI senders define the details of how messages are sent to an external system, such as messages containing device command requests. An XAI sender should be configured for each command.

The following XAI Senders must be configured in your system. If these are not present in your configuration, add them. Refer to the Oracle Utilities Application Framework documentation for more information about creating XAI senders.

XAI Sender

Description

Operation

Service

D8-ITRON_IBG

Itron Interrogate By Group

InterrogateByGroup

ScheduledReadService

D8-COMM

Itron Commission

AddMeterDefinitions

CommissionDecommissionService

D8-DCOMM

Itron Decommission

DeregisterMeters

CommissionDecommissionService

D8-DLSV

Itron Detect Load Side Voltage

DetectLoadSideVoltageByMeter

DetectLoadSideVoltageByMeterService

D8-IPBE

Itron Ping By Endpoints

DeviceStatusCheck

DeviceStatusCheckService

D8-RCONN

Itron Remote Connect

ReconnectMeter

ConnectDisconnectService

D8-RDCONN

Itron Remote Disconnect

DisconnectMeter

ConnectDisconnectService

D8-RDSS

Itron Read Disconnect State

ReadDisconnectStateByMeters

ReadDisconnectStateByMetersService

Note: The following apply to all of the above XAI senders:

Main Tab:

•

Invocation Type : Real-time

•

XAI Class : RTHTTPSNDR (Sender routes message via HTTP real-time)

•

MSG Encoding : UTF-8 message encoding

Context Tab:

•

HTTP Header : SOAPAction:http://xmlns.oracle.com/ouaf/Itron/<OPERATION>

•

HTTP Login User : <USER_ID>

•

HTTP Login Password : <PASSWORD>

•

HTTP Method : POST

•

HTTP URL 1 : http://<EM_SERVER>:<EM_SERVER_PORT>/soa-infra/services/Itron/<SERVICE> where:

•

<OPERATION> : the operation performed by the XAI Sender (see Operation column in the table above)

•

<USER_ID> : the user ID used to log into WebLogic Enterprise Manager

•

<PASSWORD> : the password used to log into WebLogic Enterprise Manager

•

<EM_SERVER_IP> : the machine name or IP address of server where the WebLogic Enterprise Manager is installed

•

<EM_SERVER_PORT> : the port where the WebLogic Enterprise Manager is installed

•

<SERVICE> : the service invoked by the XAI Sender (see Service column in the table above)

How to Use Enterprise Manager to Locate the URL for the XAI Sender

Follow this procedure to find the correct URL for the command associated with an XAI sender:

1.

Open Enterprise Manager and use the navigation pane to open the dashboard of the service used by the XAI sender:

2.

The top bar of the dashboard contains several buttons and icons. One of these is a "world" icon with a puzzle piece over it. Click this icon to display a list of the WSDLs and endpoint URIs for the service:

3.

Click the service’s WSDL URL link to see the WSDL in the browser, or right click and save it to your machine

Outbound Message Types

Outbound message types define specific types of messages sent to an external system, such as messages containing device command requests.

The following outbound message types must be configured in your system. If these are not present in your configuration, add them. Refer to the Oracle Utilities Application Framework documentation for more information about creating outbound message types.

Outbound Message Type

Description

D8-CONREAD

Itron Contingency Read By Endpoints

D8-INTRGRP

Itron Interrogate By Group

D8-COMM

Itron Commission

D8-DCOMM

Itron Decommission

D8-DSC

Itron Device Status Check

D8-DSCMD

Itron Device Status Check Multi Device

D8-DLSV

Itron Detect Load Side Voltage

D8-RCONN

Itron Remote Connect

D8-RDCONN

Itron Remote Disconnect

D8-RDSS

Itron Read Disconnect State

Note: The following apply to all of the above outbound message types:

•

Business Object : D1-OutboundMessage (Outbound Message)

•

Priority : Priority 50

External System

External systems represent external applications with which the Smart Grid Gateway will exchange messages or data. In the case of the Smart Grid Gateway adapters, external systems represent the head-end systems with which the adapters communicate.

An external system that represents the Itron OpenWay head end must be present in your system. If this is not present in your configuration, add it, along with the following Outbound Message Types. Refer to the Oracle Utilities Application Framework documentation for more information about creating external systems.

External System - Itron OpenWay :

•

External System : Itron OpenWay

•

Description : Itron OpenWay

•

Outbound Message Types :

Outbound Message Type

XAI Sender

D8-INTRGRP

XAI sender associated with the Interrogate By Group Outbound Message Type

D8-COMM

XAI sender associated with the Commission Outbound Message Type

D8-DCOMM

XAI sender associated with the Decommission Outbound Message Type

D8-DSC

XAI sender associated with the Device Status Check Outbound Message Type

D8-DSCMD

XAI sender associated with the Device Status Check Multi Device Outbound Message Type

D8-DLSV

XAI sender associated with the Detect Load Side Voltage Outbound Message Type

D8-RCONN

XAI sender associated with the Remote Connect Outbound Message Type

D8-RDCONN

XAI sender associated with the Remote Disconnect Outbound Message Type

D8-RDSS

XAI sender associated with the Read Disconnect State Outbound Message Type

Note: The following apply to all of the above outbound message types:

•

Processing Method : Real-time

•

Message XSL : D8-Request xsl

•

Response XSL : D8-Response.xsl

Service Provider

Service providers represent external entities that serve various roles relative to the application, including head-end systems, billing systems to which the application sends bill determinant data, market participants in a deregulated environment, outage management systems that receive meter event data from the application, or other parties that require or provide information to the system. The head-end systems that collect and send measurement data and meter events to the application are defined as service providers.

A service provider that represents the Itron OpenWay head end must be present in your system. If this are not present in your configuration, add it. Refer to the Oracle Utilities Service and Measurement Data Foundation documentation for more information about creating service providers.

Service Provider - Itron OpenWay :

•

Service Provider : Itron OpenWay

•

Description : Itron OpenWay

•

External Reference ID : Itron OpenWay

•

External System : Itron OpenWay

•

Our Name/ID in Their System :

•

AMI Device ID Type : Internal Meter Number

•

Pre-Commissioning Device ID Type:

•

AMI Measuring Component ID Type : Channel ID

Processing Methods for Service Provider

Processing methods define the format or means by which a service provider receives and/or sends data from and/or to the application, including bill determinants, usage data, or device events. Processing methods are also used to define how to create information internal to the application such as initial measurement data and device events. Processing methods can also be used to define how command requests are sent to Itron OpenWay.

The following types of processing methods must be configured for the Itron OpenWay service provider. Refer to the Oracle Utilities Service and Measurement Data Foundation documentation for more information about configuring processing methods.

Initial Measurement Creation

Initial measurement creation processing methods define the business objects used to create initial measurements. The IMD Seeder XAI Inbound Service uses this processing method to determine which type of initial measurement business object to instantiate when receiving usage from the Itron OpenWay application.

Processing Method - Initial Measurement Creation

•

Service Provider : Itron OpenWay

•

Processing Role : Initial Measurement Creation

•

Description : Itron OpenWay Initial Measurement Creation

•

Status : Active

•

Default Processing Method :

•

Business Object : D8-InitialLoadIMDInterval (Itron OpenWay Initial Load IMD - Interval)

•

Override Processing Method :

•

Measuring Component Type : Electric Residential kWh Scalar

•

Business Object : D8-InitialLoadIMDScalar (Itron OpenWay Initial Load IMD - Scalar)

Device Event Mapping

Device event mapping processing methods define how head-end-specific device events are mapped to standard device event names. The Device Event Seeder XAI Inbound Service uses this processing method to determine which type of device event business object to instantiate when receiving device events from the Itron OpenWay application.

Processing Method - Device Event Mapping

•

Service Provider : Itron OpenWay

•

Processing Role : Device Event Mapping

•

Description : Itron OpenWay Device Event Mapping

•

Status : Active

•

Default Processing Method :

•

Business Object : D8-DeviceEventMappingLookup (Itron OpenWay Device Event Mapping)

•

Override Processing Method : based on implementation-specific requirements

Commands

Command processing methods define how command requests are sent to a head-end system. More specifically, they define the type of outbound communication business object to create for each type of command, and the outbound message type to send to the head-end system.

The following types of command processing methods can be configured for the Itron OpenWay service provider, based on the requirements of each implementation.

Device Commission

•

Service Provider : Itron OpenWay

•

Processing Role : Device Commission

•

Description : Itron OpenWay Device Commission

•

Status : Active

•

Processing Method :

•

Default Business Object : D8-AddMeterDefinitions (Itron - Add Meter Definition (Commission))

•

Default Outbound Message Type : Itron Commissioning Outbound Messsage Type

Device Decommission

•

Service Provider : Itron OpenWay

•

Processing Role : Device Decommission

•

Description : Itron OpenWay Device Decommission

•

Status : Active

•

Processing Method :

•

Default Business Object : D8-DeregisterMeter (Itron Deregister Meter (Decommission))

•

Default Outbound Message Type : Itron Decommissioning Outbound Message Type

Device Status Check

•

Service Provider : Itron OpenWay

•

Processing Role : Device Status Check

•

Description : Device Status Check

•

Status : Active

•

Processing Method :

•

Default Business Object : D8-PingByEndpoints (Itron Ping By Endpoints (Device Status Check))

•

Default Outbound Message Type : Itron Device Status check Outbound Message Type

Load Check

The load check processing method can be used to ensure that it is safe to connect a meter. The load check processing method is executed during the Connection Ready state of the Remote Connect activity and can be configured to detect the possibility of a load side voltage at the meter, or to check the disconnect meter switch on the meter.

If the Read Disconnect State business object is used as the processing method, you should configure the disconnect switch state values that indicate the state of the switch. These values are defined on the D8-DisconnectSwitchStateLookup extendable lookup, and are then added in the Disconnect Switch State Error Values section of the Itron - Read Disconnect State Result Inbound communication type. See Itron OpenWay Disconnect Switch State Lookup for more information.

•

Service Provider : Itron OpenWay

•

Processing Role : Load Check

•

Description : One of the following:

•

Detect Loadside Voltage

•

Read Disconnect State By Meter

•

Status : Active

•

Processing Method :

•

Default Business Object : One of the following:

•

D8-DetectLoadSideVoltageByMtr (Itron - Detect Load Side Voltage)

•

D8-ReadDisconStateByMtr (Itron - Read Disconnect State)

•

Default Outbound Message Type : One of the following:

•

Itron Load Side Voltage By Meter Outbound Message Type

•

Itron Read Disconnect State By Meter Outbound Message Type

Multi Device Status Check

•

Service Provider : Itron OpenWay

•

Processing Role : Multi-Device Status Check

•

Description : Multi-Device Status Check

•

Status : Active

•

Processing Method :

•

Default Business Object : D8-PingByEndpointsMultiDevice (Ping By Endpoints Multi-Device)

•

Default Outbound Message Type : Itron Device Status Check Multi-Device Outbound Message Type

On-Demand Read

•

Service Provider : Itron OpenWay

•

Processing Role : On-Demand Read (Interval)

•

Description : On Demand Read Interval

•

Status : Active

•

Processing Method :

•

Default Business Object : D8-ReadInterval (Itron - Contingency Read (Interval))

•

Default Outbound Message Type : Itron Contingency Read By Endpoints Outbound Message Type

Remote Connect

•

Service Provider : Itron OpenWay

•

Processing Role : Remote Connect

•

Description : Remote Connect

•

Status : Active

•

Processing Method :

•

Default Business Object : D8-ReconnectMeter (Itron - Reconnect Meter (Remote Connect))

•

Default Outbound Message Type : Itron Remote Connect Outbound Message Type

Remote Disconnect

•

Service Provider : Itron OpenWay

•

Processing Role : Remote Disconnect

•

Description : Remote Disconnect

•

Status : Active

•

Processing Method :

•

Default Business Object : D8-DisconnectMeter (Itron - Disconnect Meter (Remote Disconnect))

•

Default Outbound Message Type : Itron Remote Disconnect Outbound Message Type

Configuring Itron OpenWay Extendable Lookups

This section outlines some of the extendable lookups that must be configured for use with the Itron OpenWay adapter. These include:

•

Itron OpenWay Application Group Lookup

•

Itron OpenWay Device Event Mapping

•

Itron OpenWay Disconnect Switch State Lookup

•

Itron OpenWay UOM Code to Standard UOM Mapping

•

Itron OpenWay Interval Status Code to Condition Mapping

Refer to the Oracle Utilities Application Framework documentation for more information about working with extendable lookups.

Itron OpenWay Application Group Lookup

The Itron OpenWay head-end system allows users to define addressable groups of meters based on criteria such as a geographic identifier or zip code. These application groups can be represented in Oracle Utilities Smart Grid Gateway by using the Itron OpenWay Application Group Lookup. The groups defined for this lookup are used with Scheduled Read commands.

Each value defined for the Itron OpenWay Application Group extendable lookup should include the following:

•

Application Group: The application group name as defined in the Itron OpenWay head-end system.

•

Description: A description of the application group.

Example : The Itron OpenWay "Substation 1" application group could be defined as the "Substation 1" application group lookup as follows:

•

Application Group: Substation 1

•

Description: Itron OpenWay application group for meters connected to Substation 1.

Itron OpenWay Device Event Mapping

The Itron OpenWay Device Event Mapping extendable lookup is used to determine which type of device event business object to instantiate when receiving device events from the Itron OpenWay application.

Each value defined for the Itron OpenWay Device Event Mapping extendable lookup should include the following:

•

Head-End System Event Name : The event name used by the Itron OpenWay application

•

Description : A description of the device event

•

Status : The status of the lookup value (can be Active or Inactive)

•

Standard Event Name : The standard event name for device events of this type, from the "Standard Event Name" extendable lookup.

Example : The Itron OpenWay "Tampering" device event name could be mapped to the "Device Tampering" standard device event name as follows:

•

Head-End System Event Name : Tampering

•

Description : Tampering Detected

•

Status : Active

•

Standard Event Name : Device Tampering

Itron OpenWay Disconnect Switch State Lookup

Some utilities may require verification of the load on a meter to ensure that it is safe to connect the meter. One method of doing this is to check the disconnect switch on the meter to see if it is connected or armed. To use this method, the Itron Openway Disconnect Switch State extendable lookup should be configured to list the possible states of the meter disconnect switch.

Each value defined for the Itron OpenWay Interval Disconnect Switch State extendable lookup should include the following:

•

Switch State : The Itron OpenWay disconnect switch state code

•

Description : A description of the disconnect switch state code.

Example : The Itron OpenWay "Armed" switch state code could be mapped to the "Armed" condition code as follows:

•

Switch State : Armed

•

Description : Armed

For more information about using the Disconnect Switch State Lookup for load check processing, see Load Check .

Itron OpenWay UOM Code to Standard UOM Mapping

Usage received from Itron OpenWay may use utility-specific unit of measures (UOMs). These custom UOMs must be mapped to standard UOM codes. The Itron OpenWay UOM Code to Standard UOM Mapping extendable lookup is used to determine how to map Itron OpenWay UOM codes to standard UOM codes when receiving usage from the Itron OpenWay application.

Each value defined for the Itron OpenWay UOM Code to Standard UOM Mapping extendable lookup should include the following:

•

Head-End Unit of Measure : The unit of measure code used by the Itron OpenWay application

•

Description : A description of the unit of measure code.

•

Status : The status of the lookup value (can be Active or Inactive)

•

Unit of Measure : The unit of measure defined in the system. See Defining Units of Measure in the Oracle Utilities Service and Measurement Data Foundation User’s Guide for more information about creating UOM codes for use with Oracle Utilities Smart Grid Gateway.

Example : The Itron OpenWay "KWH" unit of measure code could be mapped to the "Kilowatt Hours" standard UOM code as follows:

•

Unit of Measure : Kilowatt Hours

•

Head-end UOM : kWh

•

Description : Itron OpenWay Kilowatt Hours

Itron OpenWay Interval Status Code to Condition Mapping

Interval usage received from the Itron OpenWay application can include Itron OpenWay interval status codes that indicate the status or condition of the interval value. These interval status codes must be mapped to standard condition codes in the system. The Itron OpenWay Interval Status Code to Condition Mapping extendable lookup is used to determine how to map Itron OpenWay interval status codes to standard status codes when receiving usage from the Itron OpenWay application.

Each value defined for the Itron OpenWay Interval Status Code to Condition Mapping extendable lookup should include the following:

•

Interval Status : The Itron OpenWay interval status code

•

Description : A description of the interval status code.

•

Status : The status of the lookup value (can be Active or Inactive)

•

Condition : The condition code to which the interval status code is to be mapped, from the Measurement Condition extendable lookup.

Example : The Itron OpenWay "Missing" interval status code could be mapped to the "Missing" condition code as follows:

•

Interval Status : Missing

•

Condition : Missing

•

Description : Itron OpenWay Missing

Extending the Adapter for Itron OpenWay

The Oracle Utilities Smart Grid Gateway Adapter for Itron OpenWay supports a number of commands, including:

•

Commission Device

•

Decommission Device

•

Device Status Check Multi-Device

•

On-Demand Read

•

Remote Connect

•

Remote Disconnect

The Adapter for Itron OpenWay can be extended to support additional commands provided by the Itron OpenWay application. See Creating Custom Commands on page 9-26 of the Oracle Utilities Smart Grid Gateway Configuration Guide for more information about adding commands to the Itron OpenWay adapter.

The Test Harness

Oracle Utilities Smart Grid Gateway Adapter for Itron OpenWay includes a test harness that can be configured to simulate a general head-end system for testing the two-way commands. The test harness includes a BPEL composite, web services for standard meter functions, and an XML file that can be used to contain information for one or more meters. This chapter describes the test harness and it’s components, including:

•

Test Harness Design

•

Locating the WSDL for the Test Harness

•

Web Services

Test Harness Design

The Itron Harness is divided into two main layers. The "front end" set of services implements the Itron-specified interfaces. They receive requests corresponding to the following:

•

www.itron.com.ami.2008.10.control

•

ReconnectMeter

•

GetReconnectMeterResult

•

DisconnectMeter

•

GetDisconnectMeterResult

•

www.itron.com.ami.2008.10.data

•

ContingencyReadByEndpoint

•

GetContingencyReadByEndpointResult

•

InterrogateByGroup

•

GetInterrogateByGroupResult

•

www.itron.com.ami.2008.10.control

•

PingByEndpoints

•

ReconnectMeter

•

GetReconnectMeterResult

•

DisconnectMeter

•

GetDisconnectMeterResult

•

www.itron.com.ami.2012.03.control.diagnostic

•

PingByEndpoints

•

GetPingByEndpointsResult

•

www.itron.com.ami.2009.08.provisioning

•

AddMeterDefinitions

•

DeregisterMeters

Each of these services calls into the "back end" layer, which defines meters and sets their attributes. These meters are stored in a file within the test harness called meterdb.xml. This file can be modified pre-deployment. Post-deployment changes to the file are not supported. However, the Test Harness retains an in-memory "database" of the meters in the file. The in-memory representation can be modified using the Utility web services. Note that any changes to the in-memory structure will be lost when the server is restarted or the Test Harness composite is redeployed.

Locating the WSDL for the Test Harness

Follow these procedures to locate the test harness WSDL:

How to Use Enterprise Manager to Locate the WSDL

1.

Open Enterprise Manager and use the navigation pane to open the dashboard of the test harness composite:

2.

The top bar of the dashboard contains several buttons and icons. One of these is a "world" icon with a puzzle piece over it. Click this icon to display a list of the WSDLs and endpoint URIs for the composite:

3.

Click the UtilService WSDL URL link to see the WSDL in the browser, or right click and save it to your machine

Depending on your requirements, it may be necessary to download the associated schema found in the wsdl:types section. The URL can be pasted into a browser tab and downloaded in the same manner as the WSDL. The main schema has imported schemas that may also be required.

How to Use a Direct URL to locate the WSDL

The WSDL can be accessed without Enterprise Manager by understanding the paths used on the SOA server. In general, they have the following form:

http://{server name}:{port number}/soa-infra/services/{partition}/{Composite}/{Web Service}?WSDL

So by default, the test harness WSDL can be found at

http://{server name}:{port number}/soa-infra/services/Itron_Test/ItronTestHarness/UtilService?WSDL

Web Services

This section describes the web services included in the test harness BPEL composite, including:

•

General Services

•

Locate Meter Services

•

Meter Administration Services

•

Meter Attribute Administration Services

General Services

This section describes the general services of the test harness composite, including:

•

LoadMeterIndex

•

ViewAuditTrail

LoadMeterIndex

This web service loads the data store from the internal file. By default, if the store is already in memory, it will NOT reload. This behavior can be overridden with the forceReload parameter.

Input

LoadMeterIndexInput

Part: payload

Element: LoadMeterIndexRequest

Parameter

Description

forceReload

A switch telling the system whether to reload the meter index from the configuration file. Default is false.

Output

LoadMeterIndexOutput

Part: payload

Element: LoadMeterIndexResult

Parameter

Description

loaded

A boolean value for whether or not the index was reloaded from the configuration file

Fault

UtilityFault

Fault with similar mapping to SGG/OUAF faults:

Typically, the faultCode, faultString, faultActor, and detail/text elements will be populated.

ViewAuditTrail

This web service returns the audit log for the entire session.

Input

ViewAuditTrailInput

Part: payload

Element: ViewAuditTrailRequest

Output

ViewAuditTrailOutput

Part: payload

Element: ViewAuditTrailResult

An Entry consisting of a timestamp and an Operation. Each entry may have an associated meter object showing the latest update.

Fault

See UtilityFault .

Locate Meter Services

This section describes the locate meter web services of the test harness composite, including:

•

FindMeters

•

IsMeterDefined

•

GetMeter

•

GetGroupMeters

FindMeters

This web service queries the data store for one or more meters. The difference between GetMeter and FindMeters is GetMeter can return at most one meter and it must match the provided ID exactly. GetMeter will throw an error if the ID is not found. FindMeters can return more than one meter (when using the regex) and will not throw an error when the ID does not match any of the meters in the index.

Input

FindMetersInput

Part: payload

Element: FindMetersRequest

Parameter

Description

id

The meter ID for which to search

isRegex

The provided id can be a regex value when this parameter is true. Hint: to search for all meters in the system, use ".*" for the ID.

Output

FindMetersOutput

Part: payload

Element: FindMetersResult

Zero or more meter objects can be returned from the search

Fault

See UtilityFault . Unlike other methods, FindMeters does not throw an exception if the meter is not found. As such, it can be used to test for the existence of a Meter prior to querying for it.

IsMeterDefined

This web service queries whether a particular meter is defined in the data store.

Input

IsMeterDefinedInput

Part: payload

Element: IsMeterDefinedRequest

Parameter

Description

id

The meter ID for which to search

Output

IsMeterDefinedOutput

Part: payload

Element: IsMeterDefinedResult

Whether or not the provided ID is part of the index.

Fault

See UtilityFault . Thrown when meter id is not found.

GetMeter

This web service returns all the attributes of a single meter from the in-memory data store. The difference between GetMeter and FindMeters is GetMeter can return at most one meter and it must match the provided ID exactly. GetMeter will throw an error if the ID is not found. FindMeters can return more than one meter (when using the regex) and will not throw an error when the ID does not match any of the meters in the index.

Input

GetMeterInput

Part: payload

Element: GetMeterRequest

Parameter

Description

id

The meter ID for which to search

Output

GetMeterOutput

Part: payload

Element: GetMeterResult

The meter object requested by the ID.

Fault

See UtilityFault . Thrown when meter id is not found.

GetGroupMeters

This web service retrieves the set of meters with the specified group name

Input

GetGroupMetersInput

Part: payload

Element: GetGroupMetersRequest

Parameter

Description

id

The group name common to the meters to retrieved

Output

GetGroupMetersOutput

Part: payload

Element: GetGroupMetersResult

The set of meters with the provided group name.

Fault

See UtilityFault . Thrown only in unusual circumstances.

Meter Administration Services

This section describes the meter administration services of the test harness composite, including:

•

AddMeters

•

RemoveMeter

•

AddMeterChannel

•

RemoveMeterChannel

•

ReadScalarMeter

AddMeters

This web service adds a set of meters to the in-memory data store. This will not permanently add it to the control file.

Input

AddMetersInput

Part: payload

Element: AddMetersRequest

Parameter

Description

id

The identification code for the meter.

utility

An informational string.

serviceType

One of the valid ServiceType values (see schema). "Electric" is the only option at this time.

isCommissioned

Whether or not the meter is in a commissioned state.

loadActionCode

One of the possible LoadActionCode values used in Connect and Disconnect (see schema).

outageEventType

One of the possible OutageEventType values used in Device Status Check (see schema).

executionStatus

One of the possible ExecutionStates (see schema). These values control how the meter will respond to commands.

groupName

The name linking multiple meters together into a set.

updateIfExisting

Whether or not to update the meter with the provided values if it already exists in the index.

Comment

An informational string describing the purpose of the meter.

Channels

A listing of unit of measures supported by this meter.

uomCode

A code describing the unit of measure for the channel.

uomName

A short string containing the name of the unit of measure.

decimals

The number of digits to the right of the decimal that should be generated when reading the meter.

description

A longer description of the unit of measure.

Output

AddMetersOutput

Part: payload

Element: AddMetersResult

Whether or not each meter was added to the index.

Fault

See UtilityFault

RemoveMeter

This web service removes a meter from the in-memory data store. This will not permanently remove it from the control file.

Input

RemoveMeterInput

Part: payload

Element: RemoveMeterRequest

Parameter

Description

id

The ID for the meter to be removed

Output

RemoveMeterOutput

Part: payload

SElement: RemoveMeterResult

Whether or not the meter was removed from the index.

Fault

See UtilityFault . Thrown when meter id is not found.

AddMeterChannel

This web service adds a new channel to a single meter.

Input

AddMeterChannelInput

Part: payload

Element: AddMeterChannelRequest

Parameter

Description

id

The identification code for the meter.

uomCode

A code describing the unit of measure for the channel.

uomName

A short string containing the name of the unit of measure.

decimals

The number of digits to the right of the decimal that should be generated when reading the meter.

description

A longer description of the unit of measure.

Output

AddMeterChannelOutput

Part: payload

Element: AddMeterChannelResult

Whether or not the channel was added to the index.

Fault

See UtilityFault . Thrown when meter id is not found.

RemoveMeterChannel

This web service removes a Channel from a meter.

Input

RemoveMeterChannelInput

Part: payload

SElement: RemoveMeterChannelRequest

Parameter

Description

id

The ID for the meter to be removed.

uomCode

A code describing the unit of measure for the channel.

uomName

A short string containing the name of the unit of measure.

These three parameters are combined to locate a unique channel

Output

RemoveMeterChannelOutput

Part: payload

Element: RemoveMeterChannelResult

Whether or not the channel was removed from the meter.

Fault

See UtilityFault . Thrown when meter id is not found.

ReadScalarMeter

This web service generates a scalar reading for each channel of a given meter.

Input

ReadScalarMeterInput

Part: payload

Element: ReadScalarMeterRequest

Parameter

Description

id

The ID for the meter to be read

Output

ReadScalarMeterOutput

Part: payload

Element: ReadScalarMeterResult

Zero or more scalar readings for the given meter.

Parameter

Description

uomCode

A code describing the unit of measure for the channel.

uomName

A short string containing the name of the unit of measure.

decimals

The number of digits to the right of the decimal that should be generated when reading the meter.

description

A longer description of the unit of measure.

value

A random number representing the scalar reading.

Meter Attribute Administration Services

This section describes the meter administration services of the test harness composite, including:

•

GetDeviceStatus

•

SetDeviceStatus

•

GetConnectionStatus

•

SetConnectionStatus

•

IsCommissioned

•

SetCommissioned

•

GetExecutionStatus

•

SetExecutionStatus

GetDeviceStatus

This web service queries the device status of a meter. The OutageEventType is used by DeviceStatusCheck. The possible values of a deviceStatusType are:

•

Instantaneous - The meter responds immediately to the status check

•

SlowResponse - An EndpointFailure with a FailureReason of "ErrorResponse" will be returned from the Test Harness

•

NoResponse - An EndpointFailure with a FailureReason of "NoResponse" will be returned from the Test Harness

•

Unknown - An EndpointFailure with a FailureReason of "Unspecified" will be returned from the Test Harness

Input

GetDeviceStatusInput

Part: payload

Element: GetDeviceStatusRequest

Parameter

Description

id

The ID for the meter for which the status should be retrieved

Output

GetDeviceStatusOutput

Part: payload

Element: GetDeviceStatusResult

The value of the device status for the requested meter.

Fault

See UtilityFault . Thrown when meter id is not found.

SetDeviceStatus

This web service updates the device status for a given meter. The possible values of a deviceStatusType are:

•

Instantaneous - The meter responds immediately to the status check.

•

SlowResponse - An EndpointFailure with a FailureReason of "ErrorResponse" will be returned from the Test Harness.

•

NoResponse - An EndpointFailure with a FailureReason of "NoResponse" will be returned from the Test Harness.

•

Unknown - An EndpointFailure with a FailureReason of "Unspecified" will be returned from the Test Harness.

Input

SetDeviceStatusInput

Part: payload

Element: SetDeviceStatusRequest

Parameter

Description

id

The ID for the meter for which the device status should be set

value

the new device status to set on the meter

Output

SetDeviceStatusOutput

Part: payload

Element: SetDeviceStatusResult

The boolean response indicates the success or failure of the update (not the current field status).

Fault

See UtilityFault . Thrown when meter id is not found.

GetConnectionStatus

This web service queries whether the given meter is connected or disconnected. This method is used by the Connect/Disconnect service. The values for connectionStatusType are:

•

Connected

•

Disconnected

•

Unknown

Input

GetConnectionStatusInput

Part: payload

Element: GetConnectionStatusRequest

Parameter

Description

id

The ID for the meter for which the connection status should be retrieved

Output

GetConnectionStatusOutput

Part: payload

Element: GetConnectionStatusResult

SThe connection status of the requested meter.

Fault

See UtilityFault . Thrown when meter id is not found.

SetConnectionStatus

This web service updates the load action code for a given meter. This method is used by the Connect/Disconnect service. The values for connectionStatusType are:

•

Connected

•

Disconnected

•

Unknown

Input

SetConnectionStatusInput

Part: payload

Element: SetConnectionStatusRequest

Parameter

Description

id

The ID for the meter for which the connection status should be set.

value

The new value of LoadActionCode to set on the meter.

Output

SetConnectionStatusOutput

Part: payload

Element: SetConnectionStatusResult

The boolean response indicates the success or failure of the update (not the current field status).

Fault

See UtilityFault . Thrown when meter id is not found.

IsCommissioned

This web service queries the commissioning status for a given meter. This service is used by the Commission/Decommission process. The commissioning attribute can be true or false.

Input

IsCommissionedInput

Part: payload

Element: IsCommissionedRequest

Parameter

Description

id

The ID for the meter for which the Commissioned status should be retrieved

Output

IsCommissionedOutput

Part: payload

Element: IsCommissionedResult

The value of the Commissioned status attribute for the requested meter.

Fault

See UtilityFault . Thrown when meter id is not found.

SetCommissioned

This web service updates the commissioning status for a given meter. This service is used by the Commission/Decommission process. The commissioning attribute can be true or false.

Input

SetCommissionedInput

Part: payload

Element: SetCommissionedRequest

Parameter

Description

id

The ID for the meter for which the Commissioned status should be set

value

The new value of Commissioned status to set on the meter

Output

SetCommissionedOutput

Part: payload

Element: SetCommissionedResult

The boolean response indicates the success or failure of the update (not the current field status).

Fault

See UtilityFault . Thrown when meter id is not found.

GetExecutionStatus

This web service queries the status of the property controlling the overall execution of the command. The possible values of execution status are:

•

Success - The command should complete successfully

•

ResponseTimeout - The asynchronous response will never arrive

•

SyncOperationFail - A simulated fault will occur in the during the initial request

•

AsyncOperationFailure - A simulated fault will occur in the asynchronous response

Input

GetExecutionStatusInput

Part: payload

Element: GetExecutionStatusRequest

Parameter

Description

id

The ID for the meter for which the ExecutionStatus should be retrieved

Output

GetExecutionStatusOutput

Part: payload

Element: GetExecutionStatusResult

The value of the ExecutionStatus attribute for the requested meter.

Fault

See UtilityFault . Thrown when meter id is not found.

SetExecutionStatus

This web service updates the property controlling the overall completion of the command. The possible values of execution status are:

•

Success - The command should complete successfully

•

ResponseTimeout - The asynchronous response will never arrive

•

SyncOperationFail - A simulated fault will occur in the during the initial request

•

AsyncOperationFailure - A simulated fault will occur in the asynchronous response

Input

SetExecutionStatusInput

Part: payload

Element: SetExecutionStatusRequest

Parameter

Description

id

The ID for the meter for which the ExecutionStatus should be set

value

The new value of ExecutionStatus to set on the meter

Output

SetExecutionStatusOutput

Part: payload

Element: SetExecutionStatusResult

The boolean response indicates the success or failure of the update (not the current field status).

Fault

See UtilityFault . Thrown when meter id is not found.

Glossary

This glossary provides definitions of commonly used terms.

Command Effective Date/Time

The date and time when a device command becomes effective.

Command Expiration Date/Time

The date and time when a device command expires.

Commissioning

A command issued to establish communication between a device and the head-end system. The goal is to ensure connectivity has been established with the device, that any information needed to communicate with the meter has been defined in both Oracle Utilities Smart Grid Gateway and the head end system, and the meter will begin capturing usage and events.

Decommissioning

A command issued to inform the head-end system when a meter needs to be removed from a service point, so that no further reads or events will arrive from the meter. Decommissioning is invoked when a meter must be removed or deactivated. The goal is to stop any communication between the device and the head-end system.

Head-End System

A system that collects measurement data and meter events for eventual submission to the application. Many devices can communicate to the application through a single head-end system. A utility may have numerous head-end systems through which they communicate with devices.

On-Demand Read

A request for the most up-to-date reading from a particular meter. It is not guaranteed to return immediately; it could require a person to manually read the meter. The purposes are to check the meter’s operational status and/or obtain a more recent reading than is currently available.

Payload

An upload component which contains measurements and meter events in a format specific to the head-end. Payloads are part of the initial upload of measurement data.

Remote Connect

A command issued when a meter needs to be connected at a service point.