j.neumann at junes.eu
Mi Jan 8 11:26:59 CET 2014
> "I would hardly recommend that you speak to each other ..."
I wanted to express
"I would urgently recommend that you speak to each other ..."
Thx Matthias for telling me.
Am Mittwoch, den 08.01.2014, 10:52 +0100 schrieb Juergen Neumann:
> Hi Jörg,
> I had talked to Danny about websocket implementation a few days a go. He
> said that Jetty would not fit into apache OSGi framework anyways and
> that for the karaf version he would need to use PAX anyways.
> I would therefor hardly recommend to shift away from Jetty towards PAX
> even though its footprint might be slightly bigger.
> Did you and Danny disscuss this issue in person? If not, I would hardly
> recommend that you speak to each other and clearify the future strategy
> Am Dienstag, den 07.01.2014, 04:40 +0100 schrieb Jörg Richter:
> > Hi,
> > I like to announce my first WebSockets experiences with DM.
> > As a technology demo I created a new plugin (for usage info see the README):
> > https://github.com/jri/dm4-websockets
> > What this plugin does:
> > - Setup a WebSocket server at ws://localhost:8081/ and wait for WebSocket clients
> > - Listen for Topic Update events from the DM Core and push them to all connected WebSocket clients (broadcast)
> > - Write all WebSocket messages (handshake, open, message, frame, control, close) to the DM server log
> > - Provide a WebSocket client at http://localhost:8080/de.deepamehta.websockets/
> > What the WebSocket client does:
> > - Establish a WebSocket connection to ws://localhost:8081/
> > - Send a greeting message to the server once the connection is established
> > - Log all received messages (Topic Update events) to the browser console
> > - Log the connection open and close events to the browser console
> > So, the dm4-websockets plugin demonstrates all technical aspects of WebSockets. It performs no useful task, and it is not yet extensible by 3rd party plugin developers. It's just a tech demo.
> > How the dm4-websockets plugin is realized:
> > - Bundle a Jetty 7 web server and the jetty-websocket extension
> > - Instantiate a Jetty Server on port 8081 and set a WebSocketHandler
> > That means when the dm4-websockets plugin is installed the Jetty binaries are bundled *twice* and 2 Jetty servers are instantiated (each on its own port).
> > What I've learned so far:
> > - DM *can* provide WebSockets without relying on OPS4J Pax Web (an OSGi HTTP Service implementation).
> > - DM can *not* use the Jetty web server that is bundled with Apache Felix HTTP Jetty (the OSGi HTTP Service implementation used by DM) because ...
> > - The OSGi 4.2 HTTP Service specification does not allow for accessing the WebSockets capabilities of the underlying web server. So we must setup a WebSocket server on our own. And for doing that we can *not* use the bundled Jetty because ...
> > - The org.eclipse.jetty.* Java packages of the Apache Felix HTTP Jetty bundle are not exported.
> > That means the dm4-websockets plugin must bundle and instantiate its own WebSocket server anyway. (This must not necessarily be a full-blown web server like Jetty.)
> > Please correct my if I'm wrong. I wish there would be a way to not bundle the Jetty binaries twice, and to not instantiate 2 Jetty servers, and to not open 2 HTTP ports.
> > Next possible step from my side:
> > - Make the dm4-websockets plugin extensible by 3rd party plugin developers. That is abstracting the WebSocket server (and the Jetty API) away and provide the plugin developer a framework for handling client-side and server-side WebSocket messages.
> > Don't hesitate to sketch out your cool DM server push application here.
> > This would be a good help for me when designing the framework.
> > Cheers,
> > Jörg
> > _______________________________________________
> > deepamehta-devel mailing list
> > deepamehta-devel at lists.berlios.de
> > https://lists.berlios.de/mailman/listinfo/deepamehta-devel
> deepamehta-devel mailing list
> deepamehta-devel at lists.berlios.de
Mehr Informationen über die Mailingliste devel