Hi Jan,
I've tried your demo and had a brief look at your code. The overall
feedback is positive, nice work.
This said, I have a couple of questions regarding the implementation
(I'm sorry should I forget about some specification details, haven't
been refreshing my memories on it since quite some time):

* I'm not sure I really grasp the full notification mechanism you
implemented; iow, the NotificatorService basically ends up creating
EventNotificationTasks, which are expected to send out event
notifications. Now, in order for doing that, the interface for the event
sink seems to be used, the code goes through the interface methods and
selects the first one matching the event parameter. Did I get it right?
So basically the server needs to be aware of the interface for the
notification endpoint that the client specified. How is that going to
happen in the real world? Is there / are you relying on a convention on
method names, etc? Or, look at this from another perspective, let's
assume the server decides the contract for notification endpoint
methods, given it knows the schema for the event, how is the client
supposed to know that? This leads to the next question...

* Did you implement the WS-Eventing Metadata support (section 9 of the
spec)? Asking as that would allow using WS-EventDescription [1] to
advertise event information, by properly mentioning the event schema in
the event source wsdl (using EventDescriptions into the EventSource
policy assertion, I would avoid requiring/supporting WS-MetadataExchange
for this).

Besides from the topic above, I have few minor feedback comments, should
you be interested in them:
* I see many warnings regarding junit Assert when building the
rt/ws/eventing module
* I also see multiple exceptions being logged running the testsuite for
the rt/ws/eventing module, are those expected?
* in the demo, the published wsdl contracts for the event source and
subscription manager have wsdl:import whose location cannot be resolved.

Hope this is of any use to you.
Cheers
Alessio

[1] http://www.w3.org/TR/ws-event-descriptions/


On 03/04/2013 10:04 AM, Jan Martiška wrote:
> Hi guys,
> as you might have noticed earlier, I am working on implementing WS-Eventing 
> specification for CXF as my master's thesis. WS-Eventing introduces a 
> publish-subscribe pattern for web services, eg. a client can subscribe on a 
> server in order to receive notifications about certain events which occur in 
> some information system. It could be used for weather reports, watching stock 
> exchange prices, security systems (eg. with motion detectors), or just any 
> system which needs to send notifications.
> 
> Actually, the implementation is like 90% complete, I'd guess. At least from 
> the specification point of view. What I would like to is to have someone have 
> a brief look at it, to do some kind of review, so I can receive some feedback 
> and do the necessary changes before we merge the code into upstream. And if 
> no one was willing to dive into the functionality, at least briefly check if 
> it complies with CXF coding patterns. Or you can just try and play with it, 
> get familiar with a new technology. There is an example webapp to show you 
> the basic principles. I know most of you are really busy.. But let's give it 
> a try!
> 
> - The specification (for reference): 
> http://www.w3.org/TR/2011/REC-ws-eventing-20111213/
> - The code (the branch is jmartisk-devel): 
> https://github.com/jmartisk/cxf/tree/jmartisk-devel/rt/ws/eventing 
> - Step-by-step documentation [this is the recommended starting point!!!]: 
> https://dl.dropbox.com/u/6677495/CXF_HTML_DOC/index.html
> - An example web application is included: 
> https://github.com/jmartisk/cxf/tree/jmartisk-devel/distribution/src/main/release/samples/ws_eventing
> The (JSP) web application is meant to be simply deployed to a tomcat instance 
> (I use it with tomcat 7), then you navigate to it with your browser.. And it 
> will allow you to try out some basic features of WS-Eventing. 
> 
> I would be really grateful for any feedback in this, cause I would like to 
> have it merged into upstream soon. After that I can finally write the main 
> part of the thesis and perhaps receive that master's degree in June ;)
> 
> Huge thanks to anyone who would offer help of any kind :) Also feel free to 
> contact me.
> 
> Cheers,
> Jan (from Red Hat)


-- 
Alessio Soldano
Web Service Lead, JBoss

Reply via email to