Simon Laws wrote:
I've just committed a strawman port to Java of the Feed Aggregator
application into my sandbox so that It now runs on the Java runtime.

http://svn.apache.org/repos/asf/incubator/tuscany/sandbox/slaws/feed-aggregator/

It depends on Sebastien's feed binding so you will need that as well

http://svn.apache.org/repos/asf/incubator/tuscany/sandbox/sebastien/java/sca/modules/binding-feed/

So if you run mvn in feed-aggregator it should build you a war that you can deploy to tomcat and you are set (I get an exception when deploying that I
haven't looked at yet but doesn't stop it running)

I've reused the application look and feel so it should look familiar but a lot of the code is new, for example, it's in Java now as opposed to Python.
Here's a picture

http://svn.apache.org/repos/asf/incubator/tuscany/sandbox/slaws/feed-aggregator/aggregator.png

Basically is an example of using the binding infrastructure to support
different channels. There are three in this case.

1/ A HTTP based feed that can be read from any RSS/Atom feed reader. The
server comes set up to read BBC news and Engadget so you can just point you
feed reader at

http://localhost:8080/sample-feed-aggregator/services/AlertsFeedServiceRSS

And you should get something. This provides the feed using Sebastine's
binding.feed service binding.

2/ A Web 2.0 style where you can manage the feed list. Go to

localhost://8080/samples-feed-aggregator/

This does all its work by talking JSONRPC to the same services used behind
the scenes in 1/

3/  A rest style app supported by a PHP SCA display component. This is a
little more complex to set up. You need this project and you need PHP
installed with the latest version of the PHP SCA_SDO extension.

http://svn.apache.org/repos/asf/incubator/tuscany/sandbox/slaws/httpserver.php/

This app could do with being a little less Web2.0 and more like a standard
PHP app but I already had most of this so I went with what I had for this
exercise. In this case it talks to the same services using web services.

So, there were a couple of issues along the way:

- The JSONRPC biding fails when transforming my SDOs to JSON (Its OK going
JSON->SDO) I had to create my own POJOs and do manual transformations.
- JSON->SDO can't handle properties called "Type"
- We could do with a JSONRPC client.
- The runtime go confused when I tried to create a service with two
interfaces.
- And of course I get that exception when starting Tomcat

There are lots of things we could do

- include the binding.feed for retrieving the RSS/Atom feed data as well as
- Combine AlertFeedService and AlertService
- Remove all the manual SDO stuff
- Generally have a tidy up to make such we are demonstrating good practice. Looks messy with the work rounds in and the error handling needs sorting out
- Make the Web2.0 client more obviously Web2.0 client by cutting down on
server interactions
- Make the PHP rest client less Web2.0 and decide what to do with this
client (would be nice to have a rest rpc binding in Java :-)
- Add back a Python component

Anyhow I would like to get this in HEAD alongside the other demos. So take a
look and see what you think

Simon


This all sounds pretty good to me, I'll take a look at the demo app.

Funny :) I just sent an email asking people to review the feed binding and suggest improvements and saying I wanted to move it to trunk over the weekend... then I press Get mail and it looks like you've done much more than review it and are already using it in the demo :)

--
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to