Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Abstract
Although these standard proposals provide general
This paper proposes a conceptual model for modeling frameworks for managing web service based event
static and dynamic event sources by reusing the subscriptions, we found in practice that there are some
information in WSDL. A set-theoretic semantics for event important issues that need to be resolved in order for the
subscription is introduced, based on which two metrics, standards to be successfully applied to asynchronous web
recall and precision, are proposed to measure the services:
accuracy of event subscriptions. We discuss the accuracy 1. When and why should we use WS-Eventing or
of several event subscription strategies under the WS-Notification instead of other simpler
framework of current web service event subscription methods, such as WS-Addressing, to manage
standard proposals (WS-Eventing and WS-Notification). asynchronous messages?
Four major types of event broker design patterns are 2. If WS-Eventing or WS-Notification does apply,
discussed based on two visibility/reachability factors: if how does a service represent and publish the
sink knows the source and if source can deliver events event source model to facilitate event
directly to the sink. The implication on the broker state subscription and management?
and message routing is studied in this analysis. A 3. With a chosen event source model, what are the
prototype implementation indicated that these design possible subscription strategies a service can
patterns are feasible. provide? What are the advantages and limitations
of each strategy?
1. Introduction 4. How do we quantitatively measure the
effectiveness of an event service by the
Web service technologies have eliminated the dependency subscription results?
on computing platforms, programming languages and 5. If we move beyond point-to-point interactions,
models by using XML technologies and standard what are the possible event proxy and broker
protocols. These technologies have been applied to architectures? What functions do they provide
telecommunication services [1][2][7] where dynamic under what constraints?
resource and asynchronous events management are critical
to the usability and performance of the services. Two web To address these questions, we propose a conceptual
service event management standardization approaches, model that considers both static and dynamic event
WS-Eventing [4] and WS-Notification suite [5] are sources based on WSDL standards. We define a protocol
proposed to address the asynchronous publish/subscribe independent formal semantics for event subscription so
message patterns at web service level. These two proposals that quantitative measurements on the effectiveness of
are based on the following key concepts: event model and subscriptions can be defined and
comparative analyses on various subscription strategies
• Event Source: a web service that generates
can be provided. Based on two service visibility
events and accepts subscriptions.
parameters, we analyzed four event proxy/broker design
• Event Sink: a web service that receives event
patterns and introduced techniques to support dynamic
notification messages.
message routing while minimizing state information.
• Subscriber: a web service that subscribe to event
sources on behalf of event sink; they are usually
The rest of this paper is organized as follows: Section 2
identical.
provides brief overview on some related work; Section 3
• Subscription Manager: a web service that
clarifies some confusions about asynchronous messages
manages the subscriptions, such as renewal and
with some formal definitions. Section 4 discusses the
termination, on behalf of the Event Source; it can
conceptual event model based on WSDL. Section 5
be the same web service as Event Source.
WS-BaseNotification [5] publishes its static and dynamic Responses to a request can be synchronous or
event sources in WSDL as topics of WS-Topic [5]. WS- asynchronous. Responses of a request are synchronous if
Topic allows definition of hierarchical topic trees that can the responses immediately follow the request. In other
be grown dynamically. While WS-Topic serves its purpose words, after a request was sent by the sender, the sender
to model event bubbling and decouples event publishers will wait until the responses are received by the receiver.
and subscribers, it has the following constraints: 1) WS- Otherwise, the responses are asynchronous and the sender
Topic does not separate topic types and instances; and 2) will not block for responses. In asynchronous situation, the
WS-Topic does not associate the topics with event sender can send other requests, and some other messages
operations in WSDL, but defines its own event patterns for may arrive at the receiver before the responses.
each topic;
Reactive events appear to be identical to asynchronous
WS-BrokeredNotification [5] describes an event broker response in terms of temporal relationship, but their logical
service to support indirect event subscription, publication, relations to the request are different: a request is the
and delivery. Barros et al [6] describes several routing sufficient condition for its responses but a request is the
patterns in business process management where an necessary condition for its reactive events. More formally,
intermediary party is involved in message exchanges from the service consumer perspective, the causal relations
among other parties, such as Request with referral, between request, responses and events can be defined as
Delayed request, and Dynamic routing. Intermediary follows, where send(M,t) and receive(M,t) are two
messaging patterns, including Wire Tap, Detour and primitive actions of sending and receiving a message at a
Message Broker, are extensively discussed in EAI particular time over a transport connection respectively,
(Enterprise Application Integration) [10]. and situation(t) indicates the occurrence of a situation at
some time:
Luckham et al [11] introduces several causal relationships
between events in distributed system, including temporal, M j ∈ response( M i )
computational and probabilistic for the purpose of event (∃ti ) send ( M i , ti ) → (∃t j )t j > ti ∧ receive( M j , t j )
aggregation and viewing.
M j ∈ reactive( M i ) (∃t j ) receive( M j , t j ) →
3. Analysis of Asynchronous Message
(∃ti )(∃t k )t i < t j ∧ send ( M i , t i ) ∧ situation(t k )
Asynchronous messages can be either events or responses
to some request. Events and asynchronous responses M j ∈ proactive
sometimes appear to be identical and cause confusions in
web service development. In this section, we attempt to (∃t j )receive( M j , t j ) → (∃ti )ti < t j ∧ situation(ti )
clarify the issue with some analyses and formal definitions.
The semantic difference between asynchronous responses
In general, web service events fall into two main and proactive events leads to different mechanisms to
categories: represent the message destination. Asynchronous
4. Web Service Event Source Modeling Static model is the minimal requirement for WSDL based
web services. The dynamic model can be explicitly
To facilitate subscription, an event service should publish represented based on WSDL, WS-Resource Framework
an event source model that clearly defines possible sources and XML Link, or implicitly assumed between web
for subscription. This model should include both the static service agents.
and dynamic event sources, and it should reuse
information in WSDL to increase interoperability and Event Source Web Service
avoid duplication.
static
The static model of an event source web service consists sources P1
of event types and interfaces as this information is
constant during the interactions. Events are modeled as P3
outbound operations, which are grouped into PortType P2
(WSDL 1.1) or Interface (WSDL 2.0) based on their
logical or functional relations. A common practice in
WSDL authoring is to assign event operations with event types
indicative names to separate them from non-event
operations. For instance, all event operation and message
names end with “Event.” There are three ways to organize E1 E2 E3 E4 E5
event operations: 1) a PortType/Interface mixes event with
non-event operations (for example ECMA-348); 2) a
PortType/Interface contains only events; and 3) a dynamic
PortType/Interface extends another PortType/Interface sources D1
with only events (extension is only possible in WSDL 2.0).
Our event source model, considering both static and 5. Subscription Semantics
dynamic event sources, is illustrated in Figure 1. Each Pi
denotes a PortType or Interface. Each Di denotes a type of An event subscriber expresses its interest in certain events
dynamic source. The service can create many instances from the event source by subscribing to the event source in
(not shown in the figure) for each Di during interactions. the way prescribed by the event service. In this section, we
A solid arrow points from a source to its event types Ei. describe a protocol independent set-theoretic definition for
subscription so that we can define some metrics to
measure the accuracy of subscription, as well as analyze
There are three subscription strategies within our event In our event source model, if a sink subscribes to a
source model and subscription semantics: dynamic source type, it receives all events published to
• Filtering Only: This strategy allows expression that type by its instances. More formally, we have:
of subscription interest only by the Filter; the Event ( Di , t0 , TS ) = d ∈D Event (d ij , t 0 , TS )
ij i
recall and precision depend on the expressive
where dij is a dynamic source instance of type Di and t0 and
power of the filtering function.
TS are defined as in Definition 1.
• Targeting Only: This strategy allows expression
of interest only by Source. It indicates additional
A subscriber can also subscribe to a particular dynamic
source information as part of the WS-Addressing
instance. For example, if Interest(Subscription)={event
EPR. This strategy is most effective when we are
from source instance d3 of type D3 except events of type
interested in all events from a particular source.
E3 from D3} in Figure 1, we can express d3 as part of the
This method guarantees the recall in these
Source using Targeting Only:
situations. However, since no filtering is used, the
Subscription = (Service/d3, −E3[D3], Sink, Expiry).
precision may suffer in general.
• Targeting+Filtering: This strategy allows both
Alternatively, we can express d3 as part of the Filter using
Targeting and Filtering to take advantages of
Filtering Only:
both strategies;
Subscription = (Service, Any[d3]−E3[D3], Sink, Expiry).
Each strategy has impact on subscription accuracy,
Both subscriptions guarantee that recall=1 and
usability, and service implementation, which will be
precision=1.
discussed in more detail in the following subsections.
Figure 5: Case +k+d message sequences with message Figure 7: Case +k-d message sequences with message
translation translations
The message flow of this case is shown in Figure 6. to:t, n:x to:z, n:x
subscribe subscribe
sink x broker y source z
11. References
sink x broker y source z
[1] W. Chou, et al., “Web Service Enablement of
to:t, n:x Communications Services”, Proc. of ICWS’05, page
subscribe
393-400, 2005
[2] L. Li et al., “Two-way Web Service Interaction from
to:x
Interface Design to Interface Verification”, Proc. of
to:t
notification notification ICWS’05, page 525-532, 2005
[3] Web Service Addressing (WS-Addressing 1.0 Core),
17 August, 2005, http://www.w3.org/TR/2005/CR-
Figure 10: Case –k-d with subscription management ws-addr-core-20050817/
[4] Web Service Eventing (WS-Eventing), August, 2004,
8. Implementation http://msdn.microsoft.com/webservices/default.aspx?p
ull=/library/en-us/dnglobspec/html/ws-eventing.asp
[5] Web Service Notification (WS-Notification), OASIS
A prototype of SOAP event broker has been implemented TC member public review, December 2005,
that supports dynamic event model and the design patterns http://www.oasisopen.org/committees/tc_home.php?
discussed with WS-Addressing and WS-Eventing with wg_abbrev=wsn.
both “push” and “pull” event delivery modes. The main [6] A. Barros et al., “Service Interaction Patterns:
technique used in the prototype is a Chain of Towards a Reference Framework for Service-Based
Responsibility design pattern consisting of Event Business Process Interconnection”, Proceedings of
Producer, Message Translator, Subscription Manager and BPM 2005, September 2005
Event Subscriber components that can be configured to [7] ECMA-348: Web Services Description Language
perform various message routing discussed in this paper. (WSDL) for CSTA Phase III, 2nd edition (June 2004).
The initial tests show that the performance of the http://www.ecma-
prototype on two-hop SOAP routing is satisfactory. international.org/publications/standards/Ecma-348.htm
[8] SIP: Session Initiation Protocol,
9. Summary http://www.ietf.org/rfc/rfc3261.txt?number=3261
[9] G. Salton. The SMART retrieval system. Prentice-Hall,
In this paper, we addressed some important issues in Englewood Cliffs, NJ, 1971
manage event subscription and notification for web [10] G. Hohpe and B. Woolf. Enterprise Integration
services. We proposed a conceptual event model that can Patterns: Designing, Building, and Deploying
represent dynamic resources and reuse information in the Messaging Solutions. Addison-Wesley, 2003
WSDL file. In addition, a set-theoretic subscription model [11] David C. Luckham and Brian Frasca. “Complex
was introduced. It is used to characterize and compare Event Processing in Distributed System”, Stanford
various web service event subscription models and to University Technical Report CSL-TR-98-754, March
define the accuracy of event subscriptions. We analyzed 1998
various broker architectures for web service event
processing following the web service interaction
specifications of WS-Addressing, WS-Eventing and WS-
Notification. We show that various broker architectures