|
|
|
|
MarkMail has one of my favorite interfaces for navigating archived mail, so I am very happy to pass on Marla's Announcement that Java.Net projects are now browseable through MarkLogic.
|
MarkMail exploits the underlying MarkLogic Server to provide powerful navigational and browsing feature. A simple, but useful, example is shown in the graphs at the left:
• Shown at the left:
GlassFish Server,
Grizzly,
OpenESB
and Hudson.
|
Do note that today is the 17th, so you roughly have to double the last column. It is going to be a very good month for most GlassFish projects!
|
Comet uses either Streaming or Long Polling to Push Events from the server to the client through a protocol like Bayeux. Carol's A Comet Slideshow Example... shows, through instructions, screenshots and samples, how to do this using dojo on the client (JavaScript) and Grizzly on the Server on the GlassFish Server. Check it out! |
|
Some people know they want a full JavaEE 5 AppServer - and for those, the GlassFish Server is a better choice than Apache Tomcat, but, even if you only want a subset of these APIs, check out Alexis' Tomcat Today, GlassFish Tomorrow. Also check out Wang Yu's Blocking and Non-Blocking IO article that, like Scott's More on the simple vs. the complex, shows the benefits of NIO as workload increases. |
|
You may or may not know that Comet, Reverse Ajax, and Ajax Push are all synonyms and define a way to notify clients from a server. Jean-François has written many fine Comet blog entries, but this GlassFish v3 documentation on Comet is a very well written intro to the Comet paradigm and how to use it inside GlassFish v3 based on the Hidden example. You may also hear from Jean-François on Comet in a recent interview from this past JavaOne as well as read Ted Goddard's slide deck on IceFaces and Grizzly Comet from last week's GlassFish Day at Jazoon. |
The documentation also discusses the pros and cons of HTTP Streaming vs. Long Polling and explains how to code both.
|
I was going to wait until late next week, but I see that JFA's interview at InfoQ is out and the website is visible so no reason to wait. JFA's "free time" left by Alexey's lead role on Grizzly 2.0 is going to be reinvested into a Atmosphere a new project in the GlassFish Community that will focus on Comet. The project is just starting; the InfoQ article seems roughly accurate although some goal fine-tuning is still happening. I expect JFA will provide a more detailed description in a future blog entry. |
|
Alexey has taken over the lead development role for Grizzly 2.0 - with JFA's guideance - and he has started working on Grizzly 2.0. This arrangement will increase our investment in Grizzly while leaving some extra time for JFA to start a new related project (stay tuned). Grizzly 2.0 will build on 1.x and is planned for the end of CY08 - to be included in a GF v3 release. Check out the Roadmap, Draft, Discussion and Alexey's Announcement. |
I need to learn more about Russian nicknames, names, patronymics, etc (see Alexis)... although I should not complain, did you know that Paco, Pancho or Pepe? :-)
|
|
Grizzly 1.8.0 is out and this one has a lot of new material, including GWT support, better OSGi Compliance, improved Comet Support, improved performance, SPI cleanup and many more (see JFA's note). Grizzly 1.8.0 has already been pushed into the latest GFv3 builds. Also see the Release Thread and the complete ChangeLog. Congrats to JFA, Oleksiy, and the rest of the team and community. |
|
Another OSGi sighting: JFA points out that Grizzly is available as an OSGi bundle. It sounds like the bundles have not yet been tested exhaustively, so check them out and provide feedback. Also, if you are interested in Grizzly you may want to check the Canada Tour at Toronto (May 27), Montreal (May 29) and Vancouver (June 3). Lastly, JFA has started writing at CometDaily, check his contributions to this article on Comet Adoption Stories. |
|
Shin Wai Chan has a nice set of blog entries ([1], [2]) on Comet (aka AJAX Push). He goes on to describe the code on both the client and the server and provides a link to a ready-to-use archive. The second part refines the introduction by describing the use of HTTP streaming.
Although they are documented with an earlier version of GlassFish v3, they apply equally to the latest TP2 promoted build provided you start GlassFish with this |
Comet is not Ajax, it's not polling, and it's not traditional servlet either. This set of short articles is a good way to grasp the Comet paradigm.
Update: Jim has a refined version of Shin's example.
|
|
JFA has done some quick Performance Tests on GFv3 using Faban and they look very good; Static HTTP is faster than v2 and almost up to raw grizzly! This with a pre-Technology Preview 2 release; performance will improve. |
I think GFv3 will have a big impact with its modularity, OSGi Support, small footprint, Performance, Startup-Time (stay tuned) and Scripting and JavaEE 6 Support.
We will provide more details on GFv3 during the GF track header at CommunityOne on Monday (May 5th) and then the rest of the week at JavaOne; Register Now, it's free.
|
Another good writeup from Scott (time trip: [1], [2], [3, [4]) this time on using NIO vs IO, partly as followup to JD Campbell's Top Java 5 EE Servers Compared. Scott compares simple and complex cases: in a simple request/response case the overhead of the select() call implied by NIO is noticeable, but in the more complex case where you need to scale, NIO is the clear winner. |
Check out Scott's note and you may also enjoy browsing other entries in his blog.
|
Bondolo just announced that the GlassFish Grizzly HTTP Engine will replace the Jetty HTTP engine in the JXTA SE Binding. Bondolo expects "considerable reduction in the resources used by peers which accept incoming HTTP connections and probably a modest throughput improvement". |
JXTA defines and implements a set of open protocols for peer-to-peer communication, GlassFish uses it in its Shoal Clustering Framework. Grizzly is the Java NIO framework used in the GlassFish AppServer and elsewhere.
Thanks to Bernard for the tip.
SailFin (and GlassFish v2.1) is making good progress towards the features and schedule described in the Current Plan - also see these older TA Entries. The core driver for SailFin is SIP-support; on the infrastructure side, some good recent writeups cover the Load Balancer and the Grizzly-based Stack.
|
On Tools and Apps - key for the adoption of SIP, see the recent ECharts announcement on Sailfin Support and Klein Peter's 3-part series on SIP Apps with Sailfin: [1], [2] and [3]. Also note that the the GlassFish Awards Program includes the Sailfin projects, so I'd encourage your submissions for that $175K pot! |
Added: Also see The Sailfin Blog and the list of NB Tools (thanks to Vince for that tip).
|
JAX-RS co-spec lead and Jersey implementation lead Paul Sandoz has a post on integration between Spring and Jersey 0.6. The approach adapts the basic implementation of Giving the deployment choices offered by Jersey (Grizzly, GlassFish, Java SE 6), you don't have to be using Tomcat :) |
|
Paul is announcing the availability of JAX-RS v0.5. As with previous releases, this one is synchronized with Jersey v0.5, its Reference Implementation. Traditional delivery vehicles such a the GlassFish Update Center and NetBeans will soon follow (Maven should be already there). Among new things, Jersey has an improved deployment and configuration process (courtesy of Grizzly and asm) and a rewritten URI dispatching architecture. Paul has more details in his blog entry. |
Both the JSR and the reference implementation are developed in a very collaborative way. Schedule leading up to version 1.0 is here.