Está en la página 1de 8

Semantic Modeling and Design Patterns for Asynchronous

Events in Web Service Interaction


Li Li, Wu Chou, Feng Liu, Dan Zhuo
Avaya Labs Research, Avaya Inc.
{lli5,wuchou,fliu1,dzhuo}@avaya.com

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.

IEEE International Conference on Web Services (ICWS'06)


0-7695-2669-1/06 $20.00 © 2006
introduces a set-theoretic model of event subscription, and
two metrics, recall and precision. Section 6 analyzes the • Proactive: these events are generated as a result
strength and weakness of different event subscription of state change caused by environment. For
strategies. Section 7 is dedicated to discuss various example, after a person signs on a travel assistant
proxy/broker design patterns. We conclude the work of service, it may receive weather alert events when
this paper in the summary after a brief introduction to the severe storm occurs. In CSTA [7], the service
implementation techniques. provider may generate events when system status
changes.
2. Related Work • Reactive: these events are generated as a result of
state changes caused indirectly by service
WS-Eventing publishes static event sources by annotating invocations. For example in CSTA: after a call is
WSDL PortType with a special attribute. It does not made to a device, a positive response will be sent
publish dynamic event sources in service WSDL but back if the call request is valid. After that, a
allows such sources be referenced by WS-Addressing in a DeliveredEvent will occur if the call is received
subscription message. WS-Eventing has no concept of by the called party; otherwise a FailedEvent will
event broker that publishes its own service interface. occur.

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

IEEE International Conference on Web Services (ICWS'06)


0-7695-2669-1/06 $20.00 © 2006
responses are ascribed to a particular request. They can be In the static model, a line with open arrow indicates
handled by WS-Addressing on a per-request basis. On the inheritance relationship between interfaces. For example,
other hand, proactive and reactive events should be since P2 inherits from P1, P2 contains event type E3.
handled by subscribe/publish patterns as they are not
ascribed to any particular request. In the dynamic model, the lines with open arrow indicate
event propagation relationships. Any event from a source
It seems feasible sometimes to use WS-Addressing, or will fire from that source. An event can also bubble up or
other ad-hoc call-back mechanism, to subscribe to reactive drip down the path. For example, if bubble is permitted at
events in the initial request message. However, this D4, any event from D4 will be propagated to D3 and D1.
approach loses flexible control on event subscription, such On the other hand, any event from D1 may be propagated
as lifecycle management, event filtering, and dynamic to all its children if drip down is enabled at D1. Instances
change of delivery mode and destination. of a source type Di are treated as the publishers of Di.

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).

During service interaction, a web service may create and D2 D3


destroy resources that generate events specified in the
static model. For example, a conference web service may D4
create and destroy conference and participant resources,
which can be regarded as event sources as well. A CSTA
web service may create and destroy call, connection and Figure 1: Web service Event Source Model
monitor resources, which are all event sources [7].

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

IEEE International Conference on Web Services (ICWS'06)


0-7695-2669-1/06 $20.00 © 2006
various subscription strategies within our event source respond with an actual expiry time that is different from
model. expected Expiry. The subscription can be terminated by
the subscriber through unsubscribe message or by the
For any subscription, we denote its intention as a set of source prematurely. The subscriber can also renew any
interested events: Interest(Subscription). Such intention subscription by resetting the Expiry property. Under this
has to be realized by concrete protocol messages of WS- scenario, a subscription can be modeled as a search
Eventing and WS-Notification. The subscription message against a two-dimensional event space defined by the
of both WS-Eventing and WS-Notification consists of the event model and source lifetime illustrated in Figure 2.
following key properties:
Subscription = (Source, Filter, Sink, Expiry) More formally, a subscription with a lifespan from time t0
where to TS defines a set of events as follows:
• Source is an EPR representing the event source.
Definition 1
• Filter is an optional element for event filtering; it
can be based on X-Path, XSLT, XML Query, or Event ( Subscripti on, t 0 , TS ) =
any other XML dialect; it can be modeled as a {e | (∃Source )(∃Sink )(∃E ∈ Model ( Source))
function that maps any event to a Boolean value;
e ∈ E ∧ e ∈ Event ( Source, t 0 , TS ) ∧ Filter (C (e))}
• Sink is an EPR representing the event sink;
• Expiry is an optional element indicating the where
expiry time of the subscription; it can be regarded • Model(Source) is the static model (WSDL) of the
as a point of time in general. source service.
• e is an event instance of type E and C(e) is a
The success of this message entails the following event context for e that contains information
conditions hold: relevant to e;
• Event(Source,t0,TS) is the set of events generated
1. Web service endpoint referenced by Source must by Source before time TS. The t0 parameter
exist and be reachable. allows Source to ignore events before the
2. Web service endpoint referenced by Sink must subscription;
exist and be reachable. • TS=min(TE, TU), where TE is the subscription
3. Filter is valid; this is an implementation expiry time and TU is the subscription
dependent test. termination time.
4. Expiry is semantically valid; for example, it
cannot be a time in the past. The accuracy of a subscription Si can be measured by
recall and precision [9]:

Event types source event | Interest(S i ) ∩ Event(S i ,t0 , TS ) |


space recall ( Si ) =
| Interest(S i ) |
| Interest(S i ) ∩ Event(S i ,t 0 , TS ) |
precision ( Si ) =
subscription | Event(S i ,t0 , TS ) |

For example, if Interest(S)=E1 ∪ E2 and Event(S,t,T)=


E1 ∪ E2 ∪ E3, then recall(S)=1 but precision(S)<1 since
Time E3 falls out of our interest.
t0 TS
If recall is less than 1, it means some events interested by
event sink are not delivered to the sink. If the missing
Figure 2: Subscription as query against source event events are critical, they may derail the system. On the other
space hand, if precision is less than 1, it means some events
The conditions 1 and 2 above ensure that the transport delivered to the sink are unsolicited. Such unwanted
connectivity between the source and sink is valid at the events, if occurs in high volume, may flood the network
time of subscription. These tests cannot be delayed and system and impact the performance of the overall
because there is no provision in WS-Eventing or WS- service. The goal of service design is to achieve
Notification to send faults to the subscriber after the Interest(S)=Event(S,t,T), so that precision and recall of
positive response has been issued. The source may each subscription is 1.

IEEE International Conference on Web Services (ICWS'06)


0-7695-2669-1/06 $20.00 © 2006
targets: dynamic source types and dynamic source
6. Subscription Strategies instances.

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.

6.1. Static Model 6.3. Targeting vs. Filtering

Previous sections show that an event source can be


Static model provide three levels of subscription targets:
expressed as part of either targeted source or filter. It turns
service, interfaces, and event types.
out that different subscriptions may produce exactly same
event set (Definition 1) under an event source model. The
For example, if Interest(Subscription)={Event of type E1
main difference is that targeting subscription not only
or E2 but not E3} in Figure 1, we can use Filtering Only
insists that the source exists but also associates the
strategy by filtering on the events:
subscription lifecycle with that of the source (Definition 1)
Subscription = (Service, E1 ∪ E2 ∪ −E3, Sink, Expiry)
whereas filtering does not enforce these constraints. For
or more concisely by filtering on the Interface P2:
example, if we subscribe to dynamic source d3 by
Subscription = (Service, P2, Sink, Expiry).
targeting, resource d3 must exist for the subscription to
succeed and the subscription will be terminated as soon as
Alternatively, this interest can be expressed by Targeting
d3 is removed. On the contrary, putting d3 in the filter
Only by adding interface P2 to the Source EPR:
does not cause the subscription to fail or terminate when
Subscription = (Service/P2, Any, Sink, Expiry).
d3 is removed, since d3 may come to existence later on.
All these subscriptions guarantee that recall=1 and
precision=1.
Modeling a source by targeting in a SOAP message allows
the web service endpoint to dereference the source without
However, if Interest(Subscription)={event of type E1 or
looking at the SOAP message body. It is useful in case that
E3 but not E2} in Figure 1, the best we can do with
the web service does not provide any filtering mechanism
Targeting Only is:
(Filter is optional in both WS-Eventing and WS-
Subscription = (Service/P1, Any, Sink, Expiry).
Notification). On the other hand, filtering is useful for
It is obvious that recall=1 but precision<1 since E2 is a
complex and fine-grained subscriptions so that one
fallout event.
subscription message can target multiple sources.

6.2. Dynamic Model 7. Event Broker Architectures


In enterprise environment, an event sink may not interact
In addition to the information provided by the static
with the event sources directly. Instead, some SOAP
model, dynamic model provides two additional levels of

IEEE International Conference on Web Services (ICWS'06)


0-7695-2669-1/06 $20.00 © 2006
intermediary nodes may act as proxy or broker to bridge It is clearly in this case the broker node can be completely
the sinks and sources. stateless as it performs content-based message routing.
The response to subscription can alternatively bypass
The design of event proxy/broker depends on two broker y (the dotted line) if sink x indicates so by r:x.
visibility/reachability factors: if the subscribers know the Broker y is not involved in the notification path. The
identity of the source, and if the event notification from constraint on this design is that the sinks and the sources
the source to the sink is direct or not. These four are directly aware of each other but sink cannot reach the
combinations are illustrated as a decision tree in Figure 3. source directly. This is useful in the situation where source
Link known means Subscriber knows the identity (EPR) of is inside a HTTP firewall where inbound connections are
the Source when subscribing. Link direct means the restricted but outbound ones are permitted.
notification messages can be delivered directly from
source to sink. To ensure broker stay in the subscription path, broker y
can modify the r:x property if necessary by inserting y’s
subscriber EPR before x’s EPR (Figure 5). In case of multiple
known unknown brokers y1, y2,…,yn, each broker yi can insert its EPR and
creates a stack of EPR when the message arrives at x:
r:yn/…y2/y1/x. The response message can be formulated
source source
by popping the stack at each node. It is tempting to
represent this stack as multiple r:yi elements except WS-
direct indirect direct indirect
Addressing does not permit this. A workaround is to store
this stack in wsa:ReferenceParameters of the reply EPR
sink sink sink sink of the subscribe message. The stack will be bound to the
response message according to WS-Addressing. The same
technique is employed by SIP [8] and Smart Proxy [10].
+k+d +k-d -k+d -k-d This way, the brokers can be stateless as the return path is
recorded in the response message. We will henceforth call
Figure 3: Combinations of source sink relations with this approach Theseusian technique after Greek mythology
proxy/broker intermediary that Theseus escaped from the Labyrinth following a
A key question in proxy/broker design is what state the thread he played out in the maze on his adventure to slay
SOAP intermediary has to keep. Ideally, we hope to keep Minotaur.
as little state information as possible. We will analyze each
case in more detail in the following subsections. To If y wishes to conceal the identity of x from z, it can
shorten the notation, we use to:z to indicate the encrypt x’s EPR, for example with Symmetric Key
destination EPR of a message, r:y to indicate the reply Encryption algorithms, and decrypt it before routing.
destination EPR of WS-Addressing, and n:x to indicates Alternatively, y can encode x’s EPR and decode it for
the sink EPR of WS-Eventing and WS-Notification. routing, for example with UUID. The encode/decode
scheme can be very secure but requires y to maintain a
dynamic codebook.
7.1. Known & Direct (+k+d)
If wsa:ReplyTo is not supplied in the original message, the
The message flow of this case is illustrated in Figure 4.
response has to be sent back in the same transport
connection. In this case, broker y needs to maintain
sink x broker y source z transaction state at the transport level. For example, y has
to hold the HTTP connection from x until it receives the
to:z, n:x to:z, n:x response from z.
subscribe subscribe
In this case, we assume source z is preconfigured to send
all notification messages to broker y. Broker y can be
to:x stateless in subscribe phase, because it can perform
notification
content-based message routing. Broker y is involved in
both subscription path and notification path since sink x is
Figure 4: Case +k+d message sequences with no totally transparent to source z.
message translation

IEEE International Conference on Web Services (ICWS'06)


0-7695-2669-1/06 $20.00 © 2006
sink x broker y source z sink x broker y source z

to:z, r:x, to:z, r:y/x to:z, r:x, to:z, r:y/x,


n:x n:x n:x n:y/x
subscribe subscribe subscribe subscribe

to:x to:x to:y/x


notification notification notification

Figure 5: Case +k+d message sequences with message Figure 7: Case +k-d message sequences with message
translation translations

7.2. Known & Indirect (+k-d) sink x broker y source z

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

to:z, n:x to:z, n:x to:x


notification
subscribe subscribe

Figure 8: Case –k+d with no message translation


to:x to:x
notification notification
7.4. Unknown & Indirect (–k-d)
Figure 6: Case +k-d message sequences with no
message translation. The message flow is depicted in Figure 9. In this setup,
sink x and source z are transparent to each other. The
However, this setup does not allow the notification virtual source t is bound to z (or multiple sources) by
messages to be redirected to a different broker broker at runtime. Broker y can perform sophisticated
dynamically. One way to address this issue is to modify event management tasks, such as subscription forking and
the subscribe message so that the event notifications are event aggregation [6].
sent to broker y first. This is achieved with the Theseusian
technique in section 7.1. The EPR stack is now stored in Source z can be statically preconfigured to send messages
the sink EPR of subscribe message and bound to the to broker y, or dynamically send messages to a different
notification messages. As a result, broker y in the broker using the Theseusian technique discussed before
notification phase can be stateless since route information (section 7.1) to make the broker stateless.
is recorded in the notification messages (Figure 7).
Another variation of this case is that broker y manages
7.3. Unknown & Direct (-k+d) subscriptions on behalf of source z, who acts as a
publisher that sends notifications to broker y. This design
The message flow is described in Figure 8. In this case, the pattern is the focus of Brokered Notification architecture
sink x does not know the identity of source y, only a of WS-Notification (Figure 10).
virtual source t, which is dynamically bound to z (or
multiple sources) by y at runtime. This dynamic binding The main differences between these two designs are 1) the
can be realized by a routing table, a web service registry first architecture does not maintain any subscription
such as UDDI, or other mechanisms, such as Quality of whereas the second one does; 2) the first architecture
Service (QoS) and failover policies. Again we can ensure allows y to subscribe to z without z registering on y first
broker stays in the subscription phase using the whereas the second design requires such registration.
Theseusian technique in section 7.1.

IEEE International Conference on Web Services (ICWS'06)


0-7695-2669-1/06 $20.00 © 2006
can be stateless (except transaction state) with message
sink x broker y source z translations using Theseusian technique. We also show
that these proposed architectures are feasible in a research
to:t, n:x to:z, n:x prototype implementation. Future work is on going to
subscribe subscribe further develop the web service interaction conceptual
modeling framework and refine our broker
implementation.
to:x to:x
notification notification 10. Acknowledgement

The authors would like to thank anonymous reviewers for


Figure 9: Case –k-d with no message translation their valuable comments and suggestions.

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

IEEE International Conference on Web Services (ICWS'06)


0-7695-2669-1/06 $20.00 © 2006

También podría gustarte