06a2-TN Alerts and Messaging v0.02

Texas Nodal Market Redesign
Market Information System Web Portal
Messages, Alerts, and Notifications
Version .02
MIS – Alerts and Messaging
ERCOT Confidential
Document Revisions
Date
Version
Description
Author(s)
10/16/2006
.01
First draft
Ganesh Narayan
10/17/2006
.02
Edits for clarity and re-format
Pat Harris
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
MIS – Alerts and Messaging
__________________________________________________________________________________________________________________________________________
Table of Contents
1. Introduction .................................................................................................................................... 2
2. Definitions........................................................................................................................................ 2
2.1.
Messages ................................................................................................................................... 2
2.2.
Alerts ......................................................................................................................................... 3
2.3.
Notifications .............................................................................................................................. 4
2. Diagrams ........................................................................................................................................... 5
2.1.
Messages ................................................................................................................................... 5
2.2
Alerts ......................................................................................................................................... 6
2.3
Notifications .............................................................................................................................. 7
3. Strategy ........................................................................................................................................... 8
3.1.
Messages ................................................................................................................................... 8
3.2.
Alerts ......................................................................................................................................... 8
3.3.
Notifications .............................................................................................................................. 8
4. Frequently Asked Questions ....................................................................................................... 11
4.1.
Are Alerts and Notifications Point to Point or Publish/Subscribe? ......................................... 11
4.2.
What is the advantage of using the Messaging System? ......................................................... 11
4.3.
How does one interface to the Messaging System? ................................................................ 11
4.4.
Can one go point to point, if the situation demands? .............................................................. 11
4.5.
What happens in case the consumer goes down during the data exchange? ........................... 12
4.6.
Who takes care of the message data validation and transformation? ...................................... 12
4.7.
Are notification messages persisted? ...................................................................................... 12
4.8.
What does Asynchronous messaging mean?........................................................................... 12
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
i
MIS – Alerts and Messaging
___________________________________________________________________________________________________________________________________________
1. Introduction
Throughout the Nodal Protocols are references to moving information from one system to
another, whether it be between source systems, a source system and a Market Participant system,
or source systems and the MIS web portal. Information is moved in many ways depending upon
purpose and data types.
Primary among this movement of data are Messages, Alerts, and Notifications. Generally these
are small informational bits of data whose purpose is to inform of important activities and events.
Their purpose is to attract your attention to critical situation so that you don’t have to search for
them. The Messaging System embedded within the Nodal system will handle the delivery,
validation and routing of these messages between sources, participating systems and the MIS
portal.
2. Definitions
2.1. Messages
A message is a form of data exchange between 2 or more participants within the domain of the
Messaging System. All messages are constructed of 1 or more sections, where each section is
specified as an XML document.
Message
--Required----
Header
---------------------------Optional-----------------------------
Payload 1
Payload 2
Payload n
All messages exchanged between ERCOT and Market Participant systems should be sent over a
secured platform, whether HTTPS protocol over a secure TCP/IP or access to a secured URL.
Header
The first section of the physical message is a header, used to describe metadata about the data
payload being carried. Commands, errors, and time stamp information, environment types, and
data types are examples of header metadata that may be included.
Payload
Subsequent sections contain data payload specific to the message. There can be 0 or more data
payload sections. A minimum message can consist of the header section only, as in the case of an
acknowledgement. The payload data section is driven by an XML Schema Definition, or XSD.
Like a database defined by a schema, the layout of the payload is defined by the XSD.
The XML payload itself will contain the location of this XSD
file.
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
2
MIS – Alerts and Messaging
___________________________________________________________________________________________________________________________________________
2.2. Alerts
When a Nodal source system needs to notify a participating system of an important event a
defined alert event is posted to the Messaging System. ERCOT source systems must send
periodic notifications to the Market Participant systems asynchronously as defined in Nodal
Protocols. Following are some examples of alerts:
 A/S Obligation Alert
 Congestion Alert
 Emergency Condition Alert
 Down-Balancing Energy Percent Requirement Alert
 Resource Plan Invalid Alert
 Market-clearing Price Alert
 Market Schedule Alert
 Schedule Mismatch Alert
 Selected A/S Bids Alert
 Selected Replacement Capacity Service Alert
Note: This is not a complete list of the alerts defined in NODAL requirements for MIS, but
provided as example data only.
Alerts are used for alerting a participating system to a critical event and expect a return
acknowledgement from the participating system that the alert was received successfully.
Alerts are posted to the Messaging system from the source system (i.e.:CRR). The Messaging
system identifies the Market Participant system URL and posts the alert to the URL.
ERCOT
Source
Systems
Alert message
M
E
S
S
A
G
I
N
G
Alert message
Market
Participant
Systems
Acknowledgement
Message
S
Y
S
T
E
M
The Acknowledgement does not go back to the source system. The Messaging System
receives the acknowledgement from the Market Participant system. If the
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
3
MIS – Alerts and Messaging
___________________________________________________________________________________________________________________________________________
acknowledgement is not received, then the message is resent from the alert queue. If the
acknowledgement is received, then the message is pushed to archive and deleted from the
alert queue.
2.3. Notifications
Notifications are messages specifically intended for the Market Participant user logged in to the
MIS Web Portal, and do not require an acknowledgement. The Notification is sent from the
source system to the Messaging system and the messaging system in turn notifies the MIS Web
Portal. The portal server receives this notification and presents the notification within the context
of the Web portal. The MIS Web Portal does not send an acknowledgement back to the
Messaging system nor to the source system.
The Messaging system also handles the delivery of the notification message data to the Market
Participant user in an e-mail format by means of the Messaging system’s common services. For
a notification message, the messaging system invokes a web service URL and posts the
notification there.
Source systems may also send e-mail notifications to the Messaging system which handles the
actual delivery to the participant’s inbox.
ERCOT
Source
Systems
Notification
message
M
E
S
S
A
G
I
N
G
Notification
message
Market
Participant
Systems
S
Y
S
T
E
M
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
4
MIS – Alerts and Messaging
___________________________________________________________________________________________________________________________________________
2. Diagrams
2.1.
Messages
MESSAGING
Push
Messaging
System
NODAL ENTERPRISE SYSTEMS
Publish Queue
Source pushes data to the
Messaging System
Ackowledge
Queue
Messaging System
pushes data to the
Market Participation
system invoking web
services
Market Participant Systems
Web
Services
Market Participation system
sends acknowledgement to
messaging system
Request/Reply
NODAL ENTERPRISE SYSTEMS
Messaging system sends the
request message to the
source system
Messaging
System
Request Queue
Reply queue
Source system sends the
reply message back to the
messaging system
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
Market Participation
requests source
systems for data
invoking web services
Market Participant Systems
Web
Services
Messaging System sends
the reply message to the
market participant systems
5
MIS – Alerts and Messaging
___________________________________________________________________________________________________________________________________________
2.2 Alerts
ALERT MESSAGING
(PUSH)
Market Participant Systems
Market Participant
system consumes
the Alert Message
Market Participant
system issues an
Acknowledgement
Message
Web
Services
Alert Message is
delivered to the
participant’s web
services
Web services propagate
Acknowledgement
Message to the
Messaging System
Messaging System
Alert Queue
ACK Queue
TIBCO EMS Queue
TIBCO EMS Queue
Alert Message is
delivered to the
Messaging System to
a queue
Source Systems post
ALERT Message
NODAL ENTERPRISE SYSTEMS
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
6
MIS – Alerts and Messaging
___________________________________________________________________________________________________________________________________________
2.3 Notifications
NOTIFICATION MESSAGING
(PUSH)
MIS Web Portal
MIS Portal Server
MIS Web Portal
consumes the
Notification Message
E-Mail
Web
Services
Notification Message is
delivered to the MIS Web
Portal Web services
Messaging System
TIBCO EMS Queue
Notification
Queue
TIBCO EMS Queue
E-Mail
Queue
Notification Message
is delivered to the
Messaging System to
a queue
Source Systems posts
E-Mail Notification
Message
NODAL ENTERPRISE SYSTEMS
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
7
MIS – Alerts and Messaging
___________________________________________________________________________________________________________________________________________
3. Strategy
3.1. Messages
Request/Reply messaging strategy
 Market participant sends request message to ERCOT via an URL that serves a web
service.
 A Web service is invoked to deliver request data to the messaging system queue.
 Messaging system provides the transport mechanism of the data from the queue and posts
the data to the source system.
 Messaging system parses and validates message format. Validation of message is limited
to the fields, data-types, and semantic-type validation including data range checking.
 If parse and validation are successful, the Messaging system dispatches the message to
the source system which responds with a reply message that is fulfilled by a response
data. The response data is posted to the messaging system reply queue. The messaging
system then picks up the data from the queue and sends it to the requesting participating
system invoking its web services.
 If parse and validation are not successful, the Messaging System notified the source
system with an error message.
Push messaging strategy
 ERCOT Source systems sends message to the Messaging System queue.
 Messaging system parses and validates message format. Validation of message is limited
to the fields, data-types, and semantic-type validation including data range checking.
 If parse and validation are successful, the Messaging System transports the data from its
queue to the participating systems invoking their web services
 Market Participant receives the message data.
 Market Participant sends acknowledgement message to the messaging system.
 If parse and interpretation are not successful, Messaging system sends an error message
to the source system.
3.2. Alerts






ERCOT Source systems will push message to the Messaging System queue.
Messaging system parses and validates message format. Validation of message is limited
to the fields, data-types, and semantic-type validation including data range checking.
If parse and validation are successful, the Messaging System transports the data from its
queue to the Market Participating system invoking their web services.
Market Participant receives the Alert Message data.
Market Participant system sends acknowledgement message to the Messaging System.
The message is delivered to the return message queue specified in the alert message.
If parse and interpretation are not successful, the Messaging System sends an error
message to the ERCOT Source system.
3.3. Notifications

ERCOT Source systems will push message to the Messaging System queue using its web
services.
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
8
MIS – Alerts and Messaging
___________________________________________________________________________________________________________________________________________





Messaging system parses and validates message format. Validation of message is limited
to the fields, data-types, and semantic-type validation including data range checking.
If parse and validation are successful, the Messaging system pushes the notification
message from its queue to the MIS Portal invoking a web service that is pre-registered
with the messaging system as a part of discovery process between the MIS web portal
and the Messaging system.
MIS Portal web service validates the message and parses its contents.
Contents are then delivered to the alert pane in the Portal context.
If requirements dictate, notification messages are also pushed to the e-mail queue. The
messaging system uses its common services module to deliver the message from this
queue to the market participant user’s mail inbox.
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
9
MIS – Alerts and Messaging
___________________________________________________________________________________________________________________________________________
Market Participant Systems
MIS Web Portal
Web
Services
Web
Services
Alert
Message
ACK
Message
Messaging System
Notification Queue
Publishes
Notification
Message
E-Mail Notification
Queue
4
Return
Queue
3
Alert Queue
Common
Services
1) Source system pushes an Alert Message to the Messaging
system Alert Queue. The Messaging System will then dispatch
the message from the alert queue to the Market participants
system invoking their web services.
1
2) The market participant system will then acknowledge the
alert message by sending a return acknowledgement to the
messaging system return queue. The messaging system then
dispatches this ACK message to the Messaging system
ERCOT Source Systems
Publishes
Alert Message
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
Publishes EMail
Notification
Message
3) Source system pushes a Notification message to the
Messaging system Notification Queue . The Messaging system
will then dispatch the message from the Notification queue to
the MIS Web Portal invoking the portals web services
4) Source system pushes a E-Mail Notification message to the
Messaging system E-Mail Notification queue invoking its web
services. The Messaging system will then dispatch the message
from the E-Mail Notification queue to its Common Service which
sends the email to the Market Participant user.
10
MIS – Alerts and Messaging
___________________________________________________________________________________________________________________________________________
4. Frequently Asked Questions
4.1. Are Alerts and Notifications Point to Point or Publish/Subscribe?
Alerts and Notifications are published or pushed from the source system to the messaging system.
These events are pushed into defined queues, for ex. an Alert queue and a notification queue.
From the queue, the events are dispatched based on the priority and queue member weight, to the
market participant systems which subscribe to the content. Thus Alerts and Notifications fall
under the Publish/Subscribe messaging category.
4.2. What is the advantage of using the Messaging System?
A Messaging System provides an infrastructure that removes any direct connection between
service consumers and providers. Consumers connect to the messaging system and not the
provider that actually implements the service. This type of connection further decouples the
consumer from the provider. A messaging system also implements further value add capabilities
like message persistence, common services etc.
4.3. How does one interface to the Messaging System?
Protocols such as Web services define a standard way of describing the interface to the
Messaging System.. Web services consume or service data that is wrapped in a standard, predefined XML message format. The XML when received is validated against a schema on the
receiving end to ensure the integrity of the data. The message headers contain metadata
information as to who the expected consumer is, and what type of data is included, and
environment instances and return queue names to hold acknowledgements.
4.4. Can one go point to point, if the situation demands?
A Messaging system abstracts the service provider (the source system) from the consumer
(Market Participant system). Although it is relatively straight forward to build a direct link (a
point-to-point link) between a consumer and provider, these links can lead to an interaction
pattern consisting of multiple point-to-point links that perform specific interactions. This could
turn complex for key performance factors like routing control, logging, monitoring because of the
large number of Market Participants receiving messages from each source system. This
environment is difficult to manage, and would require multiple system changes when a new
message is added or an existing one is changed.
Thus the Messaging System should be used whenever possible. However, time driven notices that
require no or very little latency may require a point-to-point delivery connection. If the protocols
demand performance that is driven by time and this performance cannot be met by the Messaging
system, there should be a tight coupling between the service consumer and provider. In short a
Messaging System is more flexible and easier to manage, but point-to-point may be called for in
specific instances. These will be called out during development of Technical System
Specifications.
Provider A
Consumer A
Provider A
Provider B
Consumer B
Provider B
Provider C
Consumer C
Provider C
Point to Point
Consumer A
Messaging
System
Consumer B
Consumer C
Messaging System
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
11
MIS – Alerts and Messaging
___________________________________________________________________________________________________________________________________________
4.5. What happens in case the consumer system goes down during the data
exchange?
In case of the consumer going down, while message data is being dispatched from the queue, the
messaging system persists the ‘lost’ data in the queue. A message is deemed as transacted only
when there is an acknowledgement back from the consumer or the time set for the expiry of the
data is passed. Until then, the data is persisted on a storage device. When the consumer goes
down during a data exchange, there is no acknowledgement back to the queue manager. Thus the
message data is not considered ‘delivered’ and is persisted. When the consumer comes back
online, the message data is re-delivered by the messaging system. After a set point in time, the
persisted data can either move to an archive location or deleted from the queue. This is also the
functionality of the messaging system.
4.6. Who takes care of the message data validation and transformation?
When a consumer requests the provider for specific data, the provider has the responsibility of
sending the data in the contracted format. There is no intermittent ‘Message Brokering’ occurring
between the consumer and the provider. The message is then validated against a pre-defined
XSD. This is the functionality of the Messaging System. If the source data is incorrect and fails
the validation, the Messaging System sends an error to the source system. The error is logged and
the error data is deleted from the queue to avoid duplication of data. If the validation check is
successful, the messaging system dispatches the data to the consumer.
4.7. Are notification messages persisted?
Notification messages are persisted by the Messaging System in a queue until the time associated
with the message expires. The notification message is basically a method to notify the Market
Participant user of certain events. If the deadlines of these events are passed, the messages are
deleted from the notification queue. The only reason of maintaining notification messages in the
queue is to guarantee delivery to the MIS User. If the notification time is past or if the notification
fails to make any sense at that point in time, there is no need to persistence of data.
4.8. What does Asynchronous messaging mean?
Push or asynchronous messages are used to notify participants of various events or conditions.
Asynchronous messaging is operation independent of any timing mechanism or sequence of events,
such as an ordered sequence of messages. In this specification, the term ‘asynchronous’ is
synonymous with push-style messaging where the message is pushed by ERCOT to the Market
Participant. The Market Participant does not request for any alert messages to be delivered to them.
Instead, ERCOT systems push these messages whenever an event occurs that requires these messages
to be delivered to the Market Participants.
© 2006 Electric Reliability Council of Texas, Inc. All rights reserved.
12