|
|
|
|
I had forgotten how many frameworks are covered in the NetBeans set of quickstart documents; check out the list:
GlassFish v3 is scheduled to go final at the end of November and the builds are stabilizing quickly. Our test suites are very exhaustive but the only way to be sure that the final artifacts work for you is if you try them in your specific configuration. I was looking through the list and it made me think that FishCAT for GF v3 just completed its first week (See Judy's mail and report) and that team filed more than 20 bugs and more than half have already been fixed. so...
If you use one of the Java Frameworks, or your favorite app or framework, with the latest GF v3 builds and find issues, help us, and the rest of the community, by filing a bug. Thanks!
|
Sujit has published a blog entry showing a nice example of how to easily leverage Spring DM within OpenESB v3 / Project Fuji; both to either expose a service, or to call existing services on the "bus". The "bus" (a.k.a. normalized message router) adds the option of a message based, loosely coupled and asynchronous contract to an OSGi environment such as Felix or GlassFish v3. The simple API mechanism allows the (interface centric) OSGi services to implement and invoke message based services. Fuji then includes a host of advanced constructs, including the ability to route, transform and augment these messages. The sample application bundle as well as instructions on installing the Spring DM bundles is available on the Fuji wiki. |
|
This is a short overview of how GlassFish v3 provides support for OSGi through pointers to the work / posts of Richard, Sahoo, Jerome and many others. The story starts with an OSGi-core that is used in a system that is organized around the notions of a kernel, services and components. A good overview is Jerome's presentation at JavaOne, TS-4923. |
For the basic deployment check
Jerome's
GFv3 Extensions: Managed OSGi bundles
which explains how
asadmin deploy --type=osgi myosgibundle.jar
will deploy an OSGi bundle:
GFv3 installs the bundle in the OSGi framework, starts it and also records the information in domain.xml, so
asadmin list-components
will show that an OSGi bundle has been deployed.
Note you can then
Use the Felix Web Console
to browse through the OSGi bundles.
There are other ways to activate the same deployment machinery
and,
in
Using filesystem operations to manage OSGi bundles in GlassFish,
Sahoo shows how GFv3 leverages Apache Felix's FileInstall to
allow autodeploy via the
autodeploy-bundles/ directory.
Jerome's next two posts describe an extension in GF v3 that allows applications to use @Resource to refer to OSGi services. In the first one, GF v3 Extensions: Spring, Java EE 6 and OSGi, the service is a Spring Bean that is exposed to the OSGi service registry using Spring DM, while in GF v3 Extensions: OSGi Declarative Services he just uses the standard OSGi Declarative Services, which were made part of the standard GF v3 bundle starting with b55
More posts in a future installment...
A couple of recent Red Hat announcements are relevant to the competitive landscape around the GlassFish products:
|
Red Hat announced Open Choice, which notably includes support for the Spring Framework. Also see the Press Release, Rich's note, and reactions from The Register and Rod Johnson; and, for historical/wider context, recall Oracle and Spring. |
|
The second announcement is the eXo and JBoss Partnernship, which seems quite similar to our partnership with Liferay around Sun GlassFish WebSpace Server. See Rick's post, the PR and comments at CMS Watch. |
Additional business context for all these moves include our Partnership with Liferay, the immediate release of Java EE 6 and GlassFish v3, the Oracle announcement, and even the JSR299 and JSR330 exchanges. The next few months will be interesting...
You probably know that the new, modular, GlassFish v3 is built from (OSGi) components that can be updated using IPS. We assemble these pieces into ready-to-go JavaEE 6 Web Profile and full JavaEE 6 bundles but they can also be used to create à la carte distributions, as Alexis shows in his latest posts.
I recommend you to at least try the first example to get a better understanding of how all these technologies work together. The beauty of GFv3 is that everything is very small and fast - I'm writing this entry from a public WiFi site with pretty moderate connectivity and I'm spending more time waiting on BSC than running the example.
|
Part I starts with a IPS toolkit image from IPS Best Practices. The toolkit image is 5MB (most of it is the python 2.4 runtime) and has no GlassFish in it. From there, the next step is to download the GF v3 nucleus (2.41MB), which automatically brings in Felix (564KB), Grizzly (943KB) and HK2 (565KB); the IPS packages include the relevant OSGi modules. The rest of that entry shows how to install the updatecenter IPS pkg (that is the biggest package because of python graphical toolkit) and how to use it to add the management pkg, and then creates and starts a domain. |
Part II in the series shows first how to install the GFv3 Web Container; then it mirrors Jerome's recent entry on GF v3, OSGi and Spring (that portion gets a bit complex and I see that Jerome already published a simpler version). Part III will continue the main theme of creating an a la carte GF v3 that has the components you want and is yet extensible.
|
SpringSource just announced it is Acquiring Hyperic. Although this is not really a big surprise given their previous OEM arrangement (and VC funding?), this is an significant development in the Enterprise Open Source space. Life is going to be more interesting... Obviously, I have no idea how Oracle will react to this, but I would love to know :-). |
Thanks to Matt for the Tip. I will link here to other interesting comments as they appear:
|
Applications using the Spring framework have always been able to run happily in GlassFish, be it v2 or v3. Now with GlassFish v3 approaching a final release, new opportunities are coming along. In a follow-up to last week's entry on managed OSGi bundles, GlassFish architect Jerome Dochez takes it a little further by implementing the GlassFish service using Spring beans and invoking it using a Java EE 6 webapp. All with no OSGi or Spring dependency whatsoever.
This detailed example uses Spring's extender bundle whose role is to target the Spring container for the Spring-based service implementation, and (this is what seems to me like the most interesting part), a simple web application that can simply inject this service with a standard |
In his recent interview on OSGi interview JavaPosse.com, Peter Kriens (OSGi Director of Technology) mentions GlassFish v3 as an example of extending a runtime without using any API specific to that runtime. It's great to hear Peter likes the work done by the GlassFish v3 team!
|
Paul has published a very detailed Enterprise Tip showing how to use Jersey, the JAX-RS implementation used in GlassFish, together with Spring, the framework for building and running enterprise Java applications. The integration relies on Integration Features that are currently available in the stable versions of Jersey. Paul's note explains in full detail how to take a basic Web Application written with Jersey so it leverages Spring. Check it out!. |
A compilation of today's news of interest - Special Release and Acquisitions Edition:
|
SpringSource has announced the acquisition of G2One the Groovy and Grails specialist company. Congrats to both! See the reports from The Register and DZone, including comments from Rod on their New Role in the JCP EC. Maybe SpringSource will be able to finish JSR 241? It has been more than 4 years since the EG formed...
Sun has released
OpenSSO Enterprise 8.0
(previously FAM, previously Access Federated Manager, previously Access Manager)
with full enterprise support.
Check out:
download,
documentation
and
Java.Net site.
Also see Mark's
Short Overview,
and entries tagged
OpenSSO And Danny promises that JavaFX will be finally Released on December 2nd. He also points to a nice JavaFX Overview at InfoQ and to the current RC download. More info as we get closer to the launch. |
There's been so much happening in the OpenSSO community over the past week or two, I haven't kept up with covering it here at The Aquarium. Here's a quick roundup:
|
Sun Super-SE Shesh Kondi describes how to deploy OpenSSO and its Java EE agents onto Weblogic on Mac OS X. This isn't a supported combination, but it's really handy for demos and development. At Sun Developer Network, the latest in the 'From the Trenches at Sun Identity' series, Sidharth Mishra talks to Marina Sum about Security for Web Services. |
One I picked up on Google Alerts - Qingfeng Zhang has integrated OpenSSO with JA-SIG CAS, allowing users to login to CAS and access resources protected by OpenSSO.
If you haven't already given OpenSSO a whirl, go sign up to the project, download the bits and do it now - you may just win some goodies from the CafePress OpenSSO store.
Finally, a great example of an open source community in action - OpenSSO authentication providers for Spring and Seraph. These are integrations in the 'opposite direction' from the CAS one above, allowing users to login to OpenSSO and access resources protected by Spring Security and Atlassian Seraph (the latter used by Jira and Confluence).
To stay current on OpenSSO, subscribe to Planet OpenSSO (feed).
|
Glenn has a follow-up writeup to OpenMQ With Grails and GlassFish where he describes Message Driven POGOs (Plain Old Grails Object) using Spring and OpenMQ.
Check out
Glen's Writeup to see how his
feed/thumbnail fetcher picks and posts requests off the queues.
I exchanged mail with Glen and we will try to post more about his experiences with OpenMQ,
in the meantime, check OpenMQ |
|
Kawazu writes about the experience of taking an App that started as a Web App using the Spring Framework and changing it to Exploit more JavaEE features, specifically EJBs. The goal was not to remove the use of Spring but rather to leverage more effectively the Java EE support (like in the GlassFish Server and the NetBeans IDE). I am beginning to see more positive indicators of warming up to EJBs. The JavaOne session on EJB 3.1 was in one of the big rooms and it was packed; check out Ken's previews from March, and stay tuned for updates in the next weeks. |
BTW, note that you can install the Spring Framework on GlassFish Using the Update Center.
|
The Spring Framework (2.5.4) is now available at the GlassFish v2 Update Center (UC@TA). Installation should be straight-forward: after installing GlassFish v2, run the updatecenter via: $GLASSFISH_ROOT/updatecenter/bin/updatetool There are a couple of post-intallation steps to do; check out the details at Pramod's Note and let us know of your experience, positive or negative. |
Note this is the GF v2 update center. And thanks to Rajeshaw to help pushing the module out.
|
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 :) |
|
Carol McDonald has updated her sample application to the latest versions of GlassFish (v2ur1), Spring (v2.5), and NetBeans (6.0) : • Sample Application using JSF, Spring 2.5, and Java Persistence APIs |