The MultiSpeak specification is currently in use in daily operations of more than 800 electric cooperatives, investor-owned utilities, municipals, and public power districts in at least 21 different countries.
The MultiSpeak Specification is a key industry-wide standard for realizing the potential of enterprise application interoperability. The MultiSpeak Specification is the most widely applied de facto standard in North America pertaining to distribution utilities and all portions of vertically-integrated utilities except generation and power marketing.
The MultiSpeak Initiative is a collaboration of the National Rural Electric Cooperative Association (NRECA), leading software vendors supplying the utility market, and utilities. The Initiative has developed and continues to expand the MultiSpeak Specification for Interoperability, a specification that defines standardized interfaces among enterprise software applications commonly used by electric utilities.
Over 90 vendors are actively contributing to and using the Specification in developing their standard software product offerings. Over 360 vendor, consulting, and utility personnel have been trained in how to use the specification. The current Specification is mature in its coverage of 40 functional endpoints including meter reading, connect/disconnect, meter data management, outage detection, load management, SCADA, demand response, and distribution automation control – many of the critical aspects of smart grid operation.
How Can MultiSpeak Help?
The MultiSpeak specification helps vendors and utilities develop interfaces so that software products from different suppliers can interoperate without requiring the development of extensive custom interfaces.
Originally targeted at small electric utilities and covering a limited number of back-office applications, the effort has expanded to where it now offers significant guidance for a range of applications to utilities of all sizes, primarily those that supply electricity, but increasingly for those that supply water and gas services as well.
The MultiSpeak specification defines what data need to be exchanged between software applications in order to support the business processes commonly applied at utilities. In order to accomplish this, it makes use of three components:
- Definitions of common data semantics. Data semantics are an agreement about a specific item used in a business process, say a customer or a service outage, which might be exchanged in the context of the outage management business process. Data semantics are documented in the form of an extensible markup language (XML) schema.
- Definitions of message structure (syntax). Once an agreement has been reached on what data need to be exchanged, it is necessary to define message structures to support the required data interchanges. In MultiSpeak, the XML-formatted data payload is carried as part of a web services call for real time exchanges and as part of a batch file for off-line transfers. Messages are documented as part of Web Services Description Language (WSDL) contracts.
- Definition of which messages are required to support specific business process steps. Web services method calls are linked together to accomplish each potential step in a utility business process. Such steps can then be strung together to support complete business processes. Single business process steps are documented in modular use cases, which are subsequently combined to define comprehensive business processes, which are documented in composite use cases.
MultiSpeak and Web Services
Real time MultiSpeak interfaces use web services to define and implement the data transport. Each web service consists of one or more methods. MultiSpeak uses Web Services Description Language (WSDL) files to document the methods and define which messages are required to achieve the goals of each method.
Messaging components are defined in a messaging schema (in Version 2.2) or in web services (Versions 3.x, 4.x, 5.0). All transports support request/response, publish/subscribe and asynchronous message exchange patterns.
MultiSpeak was designed from the ground up to be extensible. It is possible to add an unlimited number of additional data objects to the data model and to extend any existing data object by the addition of an unlimited number of XML attributes and/or XML elements, all without affecting interoperation with other applications that may be unfamiliar with the thus-defined extensions.
Furthermore, it is possible to easily add additional web services (to support additional types of applications, such as work management) and to add new methods to existing web services.
All of these extensibility mechanisms make it possible for a specific utility to build on the established, well-proven foundation of the MultiSpeak data model and service definitions to create those extensions necessary to meet their specific needs.