|
|
|
|
|
The latest SDN Enterprise Tech Tips instalment covers jMaki and more specifically its events sub-system. The Publish/Subscribe Mechanism provides the glue required to have visual and non-visual components share data when events are triggered. Both declarative and programmatic events are available. |
The Tech Tip comes with a detailed discussion and full source code.
|
Jean Francois (Mr Grizzly) has been working on Comet for quite a while, and it is good to see his perseverance rewarded. GlassFish v2 has Comet support and, although the API will not be standarized until Servlet 3.0, you can use it today. JFA's Latest Writeup explains how to enable Comet, and provides pointers to several sample applications including a jMaki example, a chat program, ICEfaces and DWR examples. BTW, I don't remember if I metioned that we started an Engineering Services. Comet seems a good match for that, so if you are interested, drop an email to JFA. And stay tuned for more articles. |
|
Jean-François "Grizzly" Arcand has posted two slide decks he used last month during his European tour : • Grizzly (covers basics, use in GlassFish V3, and the recent 1.7 release) • Comet, aka Ajax Push (if you ask Jean-François, it's the best thing since slided bread, and who knows, he may be right :) |
|
Last year we had described how to use DWR (Direct Web Remoting) with GlassFish (check the relevant entries); now JFA shows how to do Reverse AJAX using DWR and GlassFish, via Grizzly. It is as simple as: |
Download GlassFish and install it. See instruction here. Download dwr.war % cd ${glassfish.home}/bin % ./asadmin set server.http-service.http-listener.http-listener-1.property.cometSupport=true % Start (or restart) GlassFish % ./asadmin deploy /path/to/dwr.war
Details at JFA's entry. Added: Also check the corresponding entry at Comet Daily.
|
Since this previous post showing early work on integrating ICEFaces and GlassFish v2, version 1.6.1 of ICEFaces 1.6.1 was released with support for GlassFish v2 (see ICEfaces Deployment Instructions for SUN Glassfish V2). This time, Ted blogs about preliminary integration between ICEFaces' AJAX Bridge and Grizzly Comet, leveraging its asynchronous request processing (ARP) implementation to provide better scalability with many connected clients. |
This requires pre-releases of both ICEFaces (1.7DR2) and GlassFish (v2.1ur1). Jean-François' related post explains how to integrate the more recent Grizzly 1.0.18 into GlassFish v2 in you do not wish to use a v2.1 UR1 promoted build.
|
Deepak at JackBe reports that Presto Edge the server side of JackBe's Mashup Server runs fine on GlassFish. Check out the details at Deepak's blog |
Presto comes out of the box with Apache Tomcat; I hope one day this type of apps will come with a version of GlassFish (v3)...
|
Breaking News: NEWS.
• jMaki 1.0 is out - check out the announcements from
Ludo |
|
Latest jMaki NEWS.
• From Greg:
jMaki 1.0 is Fast Approaching |
|
News tip from
Arun:
jMaki + JavaFX @ The Rich Web Experience 2007 |
|
There are lots of options for tracing web applications. But suppose you need a holistic view, such as a combined trace of the server-side Java and client-side JavaScript in an Ajax app. You might expect your options to drop to zero. Well, they don't. DTrace can handle it. The Mozilla DTrace Project provides DTrace probes for Firefox's JavaScript engine, and recent versions of the JVM have built-in probes. Amit's latest article shows how to put these together to trace an Ajax application. It produces a true end-to-end picture, with traces flowing across the client/server boundary. |
|
Want to spice up your webapp with some AJAX widgets? Maybe a sortable table? An expandable tree? Or a controllable progress bar? Then check out Project Woodstock. It provides JSF components which implement all of these widgets and more. Plus, it just got faster. Previously, Woodstock components were sending a lot of large JavaScript files to clients. The team realized this was a problem--pushing up load times and memory consumption. Their solution? Use smaller files, and less of them. So they now compress the JavaScript, avoid using separate template files, and make just one call for each widget's JavaScript (where previously there were too). See Venky's writeup for details. |
|
At least four GlassFish-related Hands-On-Labs from JavaOne 2007 have been made available online recently as screencasts - • LAB-5410 : Securing Identity Web Services • LAB-3315 : Java EE 5 Hands-on and Clustering using Open Source GlassFish Application Server • LAB-4440 : Building Web2.0 application using Sun Web Developer Pack (SWDP) |
Hands-On Labs (HOL) are fully documented from setup to step-by-step didactic tutorials. Each is split into several exercises for a total of 60 or 90 minutes. The complete list (all 27 of them) is here. Specifically, I'd recommend "LAB-3360: Taste Special Features of GlassFish". Access is free to all SDN members. SDN membership is free as well.
|
Bit by bit, the GlassFish adoption is translating into more support from products, projects and companies. Ted (Mr. ICEfaces, one of the early AJAX companies) has a brief blog showing how to use ICEfaces on GlassFish v2 using JSF 1.2. The current instructions require an SVN checkout, but he promises that this will become ICEfaces 1.6. Check it out! |
|
Project jMaki has just completed a successful .9.3 release (as summarized in Carla's blog). One of the headline items in the release is support for a new "jMaki Extensions" mechanism. Greg has posted a detailed writeup of Extensions, where he describes them as "behavior / functionality that are shared across widgets." |
Examples of Extensions, Greg says, could include enhanced debugging support, sound, or application-specific controllers. But for his own sample, he's looking to even fresher ground: Google Gears (which enables off-line webapps by providing a browser add-on with APIs for things like local storage). Seeing how easily Greg creates a jMaki Extension for Google Gears might just inspire you to create some Extensions of your own.
Fortunately, GlassFish provides a solution (with the help of its default network engine--Grizzly). Jean-Francois shows how you can use Grizzly's Resource Consumption Management extension to keep Ajax requests humming along with their own request queue and dedicated handler threads.
Of course, Ajax requests are just one example of traffic which you might want to prioritize with this technique. For more information on this and other advanced functionality in GlassFish, see the " Taste Special Features of Glassfish" lab from this year's JavaOne conference.