Tuscany
  1. Tuscany
  2. TUSCANY-3517

<*!*> Asynchronous Servlet integration with SCA callbacks

    Details

      Description

      The goal of this project is to design and implement asynchronous operation for Apache Tuscany's Web support. Tuscany/SCA already has an asynchronous programming API which enables easily creating asynchronous services [1], and the very latest JEE Servlet spec also now supports asynchronous programming [2], so the idea is to use the new Servlet APIs to allow web browser clients to asynchronously receive the results of SCA callbacks.

      If you're a reasonably competent Java coder you should be able acheive something really useful with this project in the GSOC timeframe, and you would gain valuable experience with some of the most important technologies in enterprise computing (eg JEE and SCA), as well as the latest browser client tool kits such as Dojo and JQuery.

      Here's some links to start with:
      [1] http://www.infoq.com/articles/async-sca
      [2] http://www.restfusion.com/blog/2010/01/why-asynchronous-servlets-matter-part-i/

      Feel free to email if you want more information: ant.elder@gmail.com

      1. stock-comet-jquery-0.1.zip
        63 kB
        Florian Moga
      2. stock-comet.zip
        26 kB
        Florian Moga
      3. async-servlet-sca-0.0.4.zip
        50 kB
        Florian Moga
      4. async-servlet-sca-0.0.3.zip
        50 kB
        Florian Moga
      5. servlet-callback-0.0.2.zip
        39 kB
        Florian Moga
      6. servlet-callback-0.0.1.zip
        39 kB
        Florian Moga
      7. async-servlet-sca-0.0.2.zip
        49 kB
        Florian Moga
      8. async-servlet-sca-0.0.1.zip
        47 kB
        Florian Moga

        Activity

        Hide
        Florian Moga added a comment -

        I am interested in this project as student. I will study the provided documents and come back to you with some ideas on email.

        Show
        Florian Moga added a comment - I am interested in this project as student. I will study the provided documents and come back to you with some ideas on email.
        Hide
        Florian Moga added a comment -

        I have submitted my student proposal for GSoC on this project. You can also find it on Tuscany wiki page [1].

        [1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Florian+Moga+-+Asynchronous+Servlet+integration+with+SCA+callbacks

        Show
        Florian Moga added a comment - I have submitted my student proposal for GSoC on this project. You can also find it on Tuscany wiki page [1] . [1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Florian+Moga+-+Asynchronous+Servlet+integration+with+SCA+callbacks
        Hide
        Florian Moga added a comment -

        Attached first draft of a sample using async servlets and sca/tuscany.

        Show
        Florian Moga added a comment - Attached first draft of a sample using async servlets and sca/tuscany.
        Hide
        ant elder added a comment -

        Committed the async servlet sample to the contrib area at: https://svn.apache.org/repos/asf/tuscany/sca-java-2.x/contrib/samples/async-servlet-sca/

        Show
        ant elder added a comment - Committed the async servlet sample to the contrib area at: https://svn.apache.org/repos/asf/tuscany/sca-java-2.x/contrib/samples/async-servlet-sca/
        Hide
        Florian Moga added a comment -

        Attached refined version of the sample.

        Show
        Florian Moga added a comment - Attached refined version of the sample.
        Hide
        Florian Moga added a comment -

        Attached sample that checks if callback between a servlet and a java service is working. Some modifications need to be done on the .composite file.

        Show
        Florian Moga added a comment - Attached sample that checks if callback between a servlet and a java service is working. Some modifications need to be done on the .composite file.
        Hide
        ant elder added a comment -

        async-servlet-sca-0.0.2.zip and async-servlet-sca-0.0.1.zip committed to contrib area

        Show
        ant elder added a comment - async-servlet-sca-0.0.2.zip and async-servlet-sca-0.0.1.zip committed to contrib area
        Hide
        ant elder added a comment -

        The reason the callback servlet sample gets an error is due to a typo in the .composite - it has <java.interface where it should be <interface.java.

        Show
        ant elder added a comment - The reason the callback servlet sample gets an error is due to a typo in the .composite - it has <java.interface where it should be <interface.java.
        Hide
        Florian Moga added a comment -

        Attached working version of servlet-callback sample which demonstrates the Tuscany runtime behavior when <implementation.web/> exposes a callback interface.

        Show
        Florian Moga added a comment - Attached working version of servlet-callback sample which demonstrates the Tuscany runtime behavior when <implementation.web/> exposes a callback interface.
        Hide
        Florian Moga added a comment -

        Added javascript processing of the async responses to the async-servlet-sca sample.

        Show
        Florian Moga added a comment - Added javascript processing of the async responses to the async-servlet-sca sample.
        Hide
        ant elder added a comment -

        Applied the latest zip updates

        Show
        ant elder added a comment - Applied the latest zip updates
        Hide
        Florian Moga added a comment -

        Added ComponentContext service injection and refactored code so that sample can be run concurrently.

        Show
        Florian Moga added a comment - Added ComponentContext service injection and refactored code so that sample can be run concurrently.
        Hide
        ant elder added a comment -

        and applied async-servlet-sca-0.0.4.zip now too

        Show
        ant elder added a comment - and applied async-servlet-sca-0.0.4.zip now too
        Hide
        Florian Moga added a comment -

        Attached sample using Atmosphere Meteor.

        Show
        Florian Moga added a comment - Attached sample using Atmosphere Meteor.
        Hide
        Florian Moga added a comment -

        Added stock sample using Atmosphere, Jersey and jQuery extension which enables choosing transport (http streaming/long pooling/websocket) at runtime.

        Show
        Florian Moga added a comment - Added stock sample using Atmosphere, Jersey and jQuery extension which enables choosing transport (http streaming/long pooling/websocket) at runtime.

          People

          • Assignee:
            Unassigned
            Reporter:
            ant elder
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development