Web Infrastructure Blogs

Catching up on Hudson news in the last couple of weeks:

The most important change is that on Jan 27th, during the Strategy Presentations around the completion of Change in Control of the acquisition of Sun, Thomas Kurian indicated that Oracle was going to continue supporting Hudson as an Open Source project, to be integrated into Oracle's offerings (other CiC news in the Summary Post).

As part of the CiC, Kohsuke is now in the Developer Tools group, under Ted Farrell, which provides continuity for the current arrangement: although Kohsuke will no longer report to me, he will work full-time on Hudson with a large number of other committers into the project.

In other news:

ALT DESCR

• Kohsuke has made available a MSI Installer for Hudson on Windows (download).
Tyler has started the new official Hudson Blog.
• Follow Hudson News via Twitter at @hudsonci.
• We will continue to track key Hudson news at TA and @glassfish.

ALT DESCR

The Sun-Oracle Strategy WebCast and subsequent Webcasts and Docs generated multiple comments and discussions threads in the Web from which I want to highlight a few comments in here. Please check the original posts for context, clarification and caveats.

On OSS licensing - "There are no plans to change the open source GlassFish licensing for any of the GlassFish modules that I am aware of as I work directly with the team right now in the integration process" (Mike Lehmann, Director of PM for WebLogic Server and GlassFish).

On clustering - "Clearly GlassFish 2.1 has clustering today and 3.0 currently does not. Customers depend on the GlassFish 2.1 implementation and as I have said on TSS we are committed to continue supporting it per our lifetime support policies" (ML).

More on clustering - "We are very much working with the team to assess how clustering will fit on the 3.x roadmap given it was already on the original 3.x roadmap - the ideal will be at least parity with 2.1 - so judge on the result when we deliver versus ahead of the plan" (ML).

Ultimately, all of these comments will need to be judged by the reality of what Oracle delivers. As I wrote at TSS, "The Proof of the Pudding is in the RoadMap". In that same thread, Mike writes: "You will have to judge us on how we execute over the next few months while we realign roadmaps and delivery schedules but I hope we can surprise folks with some good turns we can do as a combined company."

It is still very early in the process of integrating the GlassFish team into Oracle; remember that the two companies could not work together before CiC. Hopefully we will soon be able to give you more details.

I am moving my PostgreSQL on OpenSolaris realted entries to a new external blog. Since it is not part of my $dayjob anymore. Hope you update your bookmarks too.

Read  "Building latest PostgreSQL CVS Head on OpenSolaris".


As Oracle Technology Network (OTN) welcomes Sun's Partners, developers can find answers to some of their questions on this Developer Community FAQ page.

When I build some source code and that I want to achieve the best performance I use the   Sun Studio compilers, especially on Solaris and SPARC.

Sun Studio offers a unique set of optimization features dedicated to processor instruction set that help me squeeze out the best perf out of C, C++ or Fortran code. Yet these options are so numerous that it can be a bit daunting to look into them.

If you are in a rush, you can use the  -fast option. What it really does is triggering a set of other options for maximum runtime performance. These options can be listed with:

$ CC -fast -dryrun ### command line files and options (expanded): ### -xO5 -xarch=sparc -xcache=8/16/4:3072/64/12 -xchip=ultraT1 ... -dryrun

Yet -fast has its own drawbacks. First, the options triggered might change from one compiler release to another. Also, the values for -xarch -xcache -xchip specify the processor for which to optimize, and -fast decides of these values based on the processor on which the compiler runs, which can deffer from the processor on which the code will eventually be executed. This is why I usually stay away from -fast.

Instead, here is a basic set of rules to easily decide on optimization options.

First, if some binary code already exists, I run a quick sanity check to see which options where used for this binary. On a non-strip executable, library, or object file, I run the following commands:

$ dump -C Bar.o // for C++ code ... <122> .../tmanfe/; /opt/SUNWspro/bin/CC -G -xtarget=native -compat=4 -xO4 Bar.cpp

$ dwarfdump getpagesize //for C code ... DW_AT_SUN_command_line /opt/SUNWspro/bin/cc -c -xarch=sse2 -m32 -xO3 +w getpagesize.c


Make sure the -g option is not present. This option tells the compiler to compile for debug, which in turns disables some optimization. Also verify that  -xOn (with n=[1|2|3|4|5]) is present: this turns on generic optimization. --xO1 and -xO2 are conservative. -xO5 is aggressive and may yield to perf degradation so I don't recommend to use it for a complete application. Limit its usage to some specific portions of code that are known to be heavily used and to benefit from optimization. I usual pick -xO3 as a basic level of optimization.

Use the -xarch and -xchip options specific to the targeted runtime processor. -xarch specifies the instruction set to be used while -xchip specifies the scheduling - or the ordering of the instructions.

The best value for -xarch can be found by running CC -xtarget=native -dryrun on the runtime platform. Here is a code snippet that does the work for you:

#!/bin/bash for flag in `CC -xtarget=native -dryrun 2>&1 | grep xchip` do if echo $flag | grep xchip >/dev/null ; then target=`echo $flag | grep xchip` fi done lenght=${#target} echo ${target:7:$lenght}

The right value for -xchip is found the same way:

#!/bin/bash for flag in `CC -xtarget=native -dryrun 2>&1 | grep xchip` do if echo $flag | grep xchip ; then   target=`echo $flag | grep xchip` fi done lenght=${#target} echo ${target:7:$lenght}

The two code snippets above can be use to dynamically set up your compiler flags when generating Makefiles but again, make sure to run them on the processor targeted for runtime.

This type of generic optimization usually brings between 10 to 20% in terms of performance gain and it also sets the base-line for most sophisticated optimizations that will focus on the portions of code that are the more used during execution. These portions of code can be identified by running the Sun Studio Collector and Performance Analyzer on your code: no need to instrument your binary, no need to recompile for profiling. Just run the collect utility on the optimized binary you generated. Simple and easy!

Sailfin logo

Today, February 3rd 2010, at 10 AM Pacific Standard Time, Prasad is talking about SailFin V2 (Sun GlassFish Communications Server 2.0) in the latest edition of Sun Software Webcasts. The webinar will cover new features in SailFin V2 and also explain how to develop SIP applications using SailFin V2.

You can register here for the webinar. For more information, please take a look at Prasad's blog.

ALT DESCR

This running entry collects key announcements related to Oracle's Acquisition of Sun; some from the Jan 27th event, some from companion webcasts, and some later announcements.

The main theme of the acquisition is "We're Changing the Way you Buy, Run and Manage Business Systems".

Main Entry Points:

From the Software Segment of the Strategy Webcast Series:

  • Jeet & Hasan on Java Strategy. Covers JavaFX, JavaSE, Blu-Ray, GlassFish, JavaCard, Developer Sites, JCP, JavaOne Java For Business.
  • Hasan Rizvi on Application Server. GlassFish, WebLogic, protecting investment in existing products, Oracle Application Grid, Grid Architecture, jRockit, Coherence, Tuxedo, OpenMQ, GlassFish WebStack and GF SpaceServer - and Liferay, Sun WebServer, Portal Server, Oracle WebCenter. Check slide 12 (and 6'12") for current level of details on WebLogic/GlassFish alignment.
  • Richard Sarwal and Steve Wilson on Oracle Enterprise Manager and xVM OpsCenter. Combined story covers discovery, provisioning, updating, monitoring - including for virtualized assets. Application-to-disk management.
  • OpenOffice, with Michael Bemmer. Open Source, name changes, Oracle value proposition, Web-Based version, JDeveloper support, Extensions, ODF-support, integration with other Oracle products.
  • Cloud with Richard Sarwal. A pretty good presentation covering IAAS, PAAS, SAAS; Private and Public Clouds; range from Silo > Grid > Private Cloud > Hybrid including Private and Public Cloud; cloud-in-a-box. Discontinuing the Sun public cloud offering but leveraging Sun's technology, including Q-Layer team for Oracle products that provide flexible, self-service, dynamic services.
  • Operating Systems by Edward Screven.

From the Systems Segment of the Strategy Webcast Series:

Other Links and Project Status:

Additional Information - Oracle continues to update their site; see also:

Press, Analysts, Friends, Others:

A general comment is that we need some time to put the roadmap together; remember that the Sun people could not work with Oracle folks before CiC, so, if there had been a detailed roadmap it would have come from Oracle, not a collaboration...

SunSolve is the standard Sun mechanism for distributing "patches" to Sun products, with content ranging from Free Public Releases and Security Patches to For-Free bug-fixing patches (the majority) and is in a multiplicity of formats, from ZIPs to PKG(5).

ALT DESCR

SunSolve has been adding features recently, including some navigational help that I just discovered, so sharing them...

• A twitter account: @SunPatches,
• New, per-product, content pages, including SailFin Patches and GlassFish Patches.
• Better Introduction, Home Page and PatchFinder.

A full-list of categories is here - I'm afraid the GlassFish-related products fall under several places; to help you, we summarize them at GlassFishForBusiness and we report them via Twitter at @GlassFish.

I do not yet know what is the transition story for SunSolve to Oracle, but we will let you know as we find out.

Thank you for attending the Sun Startup Essentials webinar on Security for Web Applications, here is a list of useful links to learn more about and start implementing the different technologies that were covered during the presentation:

By now you certainly heard about the acquisition and about the 5-hour webcast given on the 27th about the Sun-Oracle joint strategy. So I am not going to discuss that. In fact, as an exception to this blog, I am not going to write about IT technologies. As something really unique, I am going to discuss mountain-biking.

This bike is certainly the lightest mountain-bike ever shipped fully equiped, ready to use. Weight being one of the top 3 - if not top 2 - key performance indicators in mtb-racing (with a 3% slope 60% of the biker energy is spent on fighting gravity), this makes this bike extremely competitive.

But what is really interesting is to understand how the engineers who designed the product could get such a result, and the answer is: integration. Nowadays the majority of bike manufacturers design their frame, get them built by a third party, and assemble them with of-the-shelf components. As a result, the way the frame and the components are put together is pretty much standard accross the industry.

Cannondale is one of the few player in the game that has its own set of components, such as the front suspension (yes, again, one of the lightest in the industry), the stem, or the bottom bracket, and they design them to get a straightforward integration that reduces weight. By the way it is still possible to set up their very special front suspension on a non-Cannondale frame.

So, it's because they design all the components that the complete system performs so well. Also, since Cannondale manufactures the frame themselves, they can offer a life-time guaranty on it  - wathever the weight of the pilot. Yes, controlling the technologies your product is made of comes with its own set of advantages.

That said, next time, I'll get back to IT technologies ;)

Today was the Oracle Sun Strategy live webcast hosted by Charles Philips, John Fowler, Thomas Kurian, Edward Screven and others that ended with a Q&A with Larry Ellison. The recording is not yet available but Oracle released a number of other useful webcasts and docs today.

ALT DESCR

The Oracle + Sun Product Strategy Webcast Series has short (15-20') webcasts with more detailed information on most topics - e.g. App Server, Dev Tools, Manager/OpsCenter, Java, Cloud, Virtualization, OS, OpenOffice, etc.

The FAQ on Community Continuity that includes Java.Net, Java.Sun.Com, JavaOne, and more.

There is also a series of events around the world in a Welcome Sun Event Series.

With Sun now officially being part of Oracle, one could once again recite that great technology often outlive the company boundaries. By working with startups, it is quite interesting to see how their technology evolve and some of the startups become part of larger organization. As a matter of fact quite a few startups define their vision as to be acquired by larger companies, while other prefer to become larger enterprises themselves. Regardless of the outcome, technology innovation keeps accelerating new startups creation. One of the startups we've been closely working as part of Sun Startup Essentials, Micello, just went live and we're very excited for them. With their innovation, mobile users can have an easier way to navigate through the malls, convention centers, and hotels. On your iPhone get a free Micello Maps apps and if you're planning your next trip to Santana Row, or even better, Fry's Electronics, on the map you can automatically zoom in and locate desired department. The underlying Sun's technology stack, that empowers Micello application, includes Java EE for the server side, Glassfish app server, MySQL, and x64 Sun servers. With a complete Sun stack, you can successfully bring your startup live. Here are a few resources that you may find valuable when tuning your app before going live:

Optimize GlassFish Performance in Production Environment

MySQL Optimization

MySQL with MemcacheD

ALT DESCR

Oracle's acquisition of Sun has completed. The first indicators appeared yesterday, with Scott's goodbye, the stock delisting and the CBOE Contract Adjustment; the final confirmation was today's Oracle PR.

Press reports from: WSJ and NYTimes. Tune into Today's Webcast.

Expanded from @glassfish.

Mercredi 10 Février, 11h00 (Paris) : Sécurité pour les applications Web. Pour les startups du Web, la protection et la sécurisation de leurs applications, de leurs données, et de celles de leurs clients est un véritable facteur clé de succès.  Ce Webinar couvre les différents challenges liés à la sécurité ainsi que les solutions associées telles que l'encryption, l'authentification, les certificats, la sécurisation du stockage et le stockage à tolérance de panne, les environnements étanches. Les architectes de Sun Startup Essentials présenteront des implémentations économiques basées sur des composents standards et ouverts tel qu'Apache, MySQL et ZFS. Ce webinar fait partie de l'accompagnement du programme Sun Startup Essentials et est réservé à ses membres.

Votre société a moins de 6 ans et moins de  150 employés : Rejoignez Sun Startup Essentials >>


ALT DESCR

JAG is Looking Forward and put together a visual of Duke snorkeling (or rather snorceling?) with Sparky.

Hopefully this Wednesday's Webcast will clear out more details beyond those from the October 27th's Overview (although the Change-in-Control is not likely until later, so it will be interesting to see how we can/cannot answer questions from the webcast).

Jersey 1.1.5

As advertised (and discussed) on the USERS mailing list earlier this month, Jersey 1.1.5 (an update to the JAX-RS 1.1 implementation) has now been released.

This new release works on Goggle App Engine, includes Hudson-inspired tracing and will align with the also now released Atmosphere 0.5 release. Many samples are also included, some of which come from Bill Burke's (JBoss RESTeasy lead) book.

You can get to Jersey 1.1.5 by reading the instructions on Paul's blog, or simply by waiting for GlassFish v3's update center to host it (wait for the notifier to ping you or check the content of the repository).

ALT DESCR

The European Union Commission today unconditionally approved the Oracle acquisition. See reports at WSJ, NYT, GigaOM, ElReg and elsewhere, and tune to the Webcast of Jan 27th.

James has a created an image with Tux and Duke for the ocasion, check out So Long, Old Friend, and consider leaving a comment, if you are so inclined... and get a mug.

ALT DESCR

We have released an updated version of the JavaEE 5 SDK. Update 8 includes Sun GlassFish Enterprise Server v2.1.1 and Java SE 6 Update 18 (download, release notes and instructions).

Note this is the GlassFish v2 / JavaEE 5-based release; we keep it going in parallel with the new GlassFish v3 / JavaEE 6-based release as it includes features like clustering and HA support (see Comparing v2 and v3).

Expanded from @glassfish.

Sun previously had published record numbers with PeopleSoft NA Payroll  240K benchmark using Sun F5100 Flash Storage Array .  However Giri just announced a follow-on benchmark which beats even that number using twice the number of streams using the Sun Enterprise M4000 server and Sun F5100 Flash Storage Array.

Read more on Giri Mandalika's blog.

 

 

ALT DESCR

Larry Ellison will host a live webcast on "Oracle + Sun Strategy Update" next Wednesday, Jan 27th, 9:00 a.m. – 2:00 p.m. PT. See: Press Release, Event Link and Registration Page.

You need to register with Oracle to attend the event; I just did that and it worked, although it took a while.

Added - The EU Commission has approved the merger.

Expanded from @glassfish.

ALT DESCR

While GlassFish v3 offers a lot of new features (Java EE 6 and OSGi-based modularity being the most obvious ones), we take compatibility very seriously and want your existing applications currently running in GlassFish v2.1.x or GlassFish v3-Prelude to run unmodified in our latest release.

To that effect GlassFish can detect earlier versions of 'domain.xml' (the all-in-one config file for GlassFish) and upgrade it for you (when you start GlassFish v3 as one option). Please read Bobby's recent post for more on this.

The official documentation can be found in the upgrade guide. That document also covers the 'asupgrade' graphical tool (which ships with the appserver but which wasn't there in Prelude). If you want more technical details on the changes and why they were required, please read this piece. Remember that it was not supported to edit domain.xml by hand back then. It's still not supported today, but who would want to do that when you have 'asadmin', the web console, and now the RESTful API?

As a reminder, when we released GlassFish v3 on December 10th 2009 (together with Java EE 6), we had a blog storm with many many interesting posts about everything-GlassFish v3 which are summarized in previous entries: Part I and Part II.

Expanded from @glassfish.

ALT DESCR

Adding to the earlier series of JavaEE 6 / GlassFish v3 interviews, the latest episode of the GlassFish Podcast is an interview on EJB 3.1 with Ken Saks, the specification lead and tech lead of the GlassFish EJB implementation.

This is a two-part interview with part 1 focusing on the new features of the specification - packaging in WARs, the no interface view, EJB lite, Calendar-based timers, async calls, and more. The second part discusses more generally the role of EJB's as part of the larger Java EE platform and how it relates to the new CDI specification for instance. It also covers options for EJB clients, the role left for tools among other topics. Subscribing to the podcast is the best way to not miss part 2.

RIP

One of the authority certificates in the Glassfish truststore expired on Jan 7, 2010. This is generating a (verbose and somewhat scary) error message on startup. You can just ignore the message, wait - the expired root was removed in update 18 of Java SE 6 and will be removed in later patches of GlassFish Server - or...

..you can eliminate the error message now by removing the expired certificate from the keystore. Kalpana has a concise recipe on how to do this while Ron goes into more details. Original thread is here; the bug report is 6852796.

Expanded from @glassfish.

Hacker Dojo logo

Hacker Dojo hosted today The Hacker Fair which was full of developers and entrepreneurs. An event drew developers, designers, requiters, project and product managers, and other related fields professionals. Technologies of choice were JavaScript, Python, and Ruby On Rails with word de jour being JavaScript. MySQL was used by most of the demo'ed apps, some apps were deployed on GAE with BigTable replacing backend database. jQuery is definitely used by most if not all demo'ed JavaScript apps. Sun's VirtualBox was on a few desktop to let developers switch between different projects they demo'ed. A couple interesting applications that I previewed included:

  • An open source toolkit that converts the .NET code to JavaScript. The idea for the this was driven by the Google Web Toolkit (GWT) which lets Java developers translate their apps into JavaScript. Demo was deployed on Mono and the tool converted a .Net app built in C# into JavaScript. An app then could be deployed on any of the environments that can run JavaScript, not requiring .NET platform or any of its components.
  • An ERP web application that generated business intelligence report, from Bloom Business Metrics. The application built in RoR with MySQL back end and is aimed for SMB market. It consolidates multitude of business critical data in a single view which is hard to get with other similar ERP apps.

GlassFish has company! TmaxSoft's JEUS 7 AppServer passed the Java EE 6 compatibility at the end of December and is now compatible. JEUS 7 is currently available only as a Technology Preview, with the final release planned for the end of 2010.

I expect a fairly rapid adoption of JavaEE 6. JBoss and Caucho have indicated their intent to release Web Profile (post, overview, spec) App Servers "soon". Geronimo 3 will implement the full profile by the end of 2010 and so will the final JBoss 6.

And, of course, the modular GlassFish v3 already supports Web and full Profile.

Expanded from @glassfish.

Happy New Year. Its a new year and I have started a new role in Applications Integration Engineering which is part of the Sun Storage 7000 - Unified Storage Systems group. AIE's main charter is to integrate ISV products with Sun Storage 7000 family. I hope to continue working with databases and other applications and specially how it interacts and integrates with the FISHworks based products. Years ago, interestingly, I don't think I would have recommended NFS to be used with any database application. But looks like it is now way more stabilized in its current form. Then there is also iSCSI. But there is yet another way to connect to these systems soon which I think is more attractive to me and maybe even other database folks at large. More about that when time is right.

 Anyway with the new role, I thought it was time to update my existing OpenSolaris (b128a) to the latest OpenSolaris build 130. I must admit this has been the first OpenSolaris upgrade which was not as smooth as expected. First things first I got hit with bug with the naming of /dev repository. I first heard about the bug from George Drapeau but even though I worked around it I could still not upgrade to the latest build.  Then I heard from Mandy about the problem that if I had ever installed from /contrib repository I could still not upgrade to the latest build with the changed /dev name. I uninstalled all the software from /contrib and crossing my fingers the pkg image-update command still failed. Of course I then realized I probably had couple of packages from the /pending repository and even the Sun /extra repository. Uninstalling all the extra software was not fun but still the darn thing did not upgrade. Finally gave up and read about this forced upgrade using -f  as follows

# pkg image-update -f

and it worked. It started downloading the updates and finally created a new boot environment with the new build.

However the reboot to the new environment just stuck at the graphical boot with the orange bar going from left to right. After 5 minutes I killed the power and rebooted and this time used "e" on the grub menu and deleted the splashfile, foreground and background lines and changed the kernel boot line from console=graphics to console=text and pressed "b" to boot using the modified grub entry. I figured out that the X server refused to start. Cutting a long story short (it actually took me almost a day) to figure a simple solution, re-move my custom /etc/X11/xorg.conf (which I was forced to create few upgrades (b111a)  ago) so the X server can use its new defaults to start without any problems.

Of course that worked till I got the login and when I entered my login information, I ended with a white screen. Arrg yet another bug. Reading the mailing list got the following solution

$ pfexec /usr/sbin/unlink /usr/lib/xorg/modules/extensions/GL
$ pfexec ln -s ../../../../../var/run/opengl/server /usr/lib/xorg/modules/extensions/GL

With the above changes, finally rebooting the desktop into fresh working build 130 of OpenSolaris and I was ready to try out the new Thunderbird 3.0 and Firefox 3.5. Of course AWN (the mac like dock) worked for most part but the dock preferences refused to start. I did file a bug and it seems that it will be fixed in b131 but the quick fix is to edit

/usr/bin/awn-manager and replace the first line

#!/usr/bin/python

to

#!/usr/bin/python2.6

and that should allow you to see your AWN dock preferences once again.

If you ask me was it worth all the pain to upgrade to this new version. My simple answer is yes

Few thing fixed for me:

  • The new login screen is much nicer (in last few builds I could hardly read what I was typing in the login name text field on a widescreen monitor.
  • On build 128a I saw that the screen saver unlock screen was taking a long time to respond which seems to have gone away with this build.
  • I like the full text search capabilities of Thunderbird 3.0

Of course your reasons may be different then mine to upgrade and who knows build 131 might be out soon in next week or two then it probably might be a smoother upgrade if you can wait for it. (I can't.)

Recently, our ISV Engineering team in India did performance testing with Zinnia Systems' Zarada Revenue Management Systems on Sun systems, Solaris 10, and GlassFish.  These tests demonstrated excellence price performance and throughput.  See more information here.
When I meet startups, I often see great leaders with innovative ideas. But what are the key characteristics of a leader? Sun has recently posted a great video “On Leadership” by Ivan Sutherland. A few take away's from his leadership wisdom.
  • If your heart is in the work, you have a chance of becoming a leader. As a leader, you have to do things right by setting an example for others follow. Be always on time, work hard, have good work ethics.

  • Key characteristics of a project – deliver your project on time, on budget, and feature full – in the respective order of importance. In other word, if a project cannot be delivered fully for whatever reasons, it is still important that it is delivered on time even though with fewer features.

  • Leadership and Management are two different things. Management refers to making sure projects are delivered as expected and there are no surprises. Leadership is the ability to get people to follow you and influence people. The enthusiasm and energy that you bring to your team reflect its productivity and morale. Just like a conductor, who's picking first violin and arranges people in an orchestra, a leader chooses the key people and chooses the right things to do. To lead people you need to know the people that you lead very well.

  • Listen for yourself from this video http://research.sun.com/ On Leadership Ivan Sutherland, also on YouTube

GlassFish ESB v2.2 is now available.  What's new in this release is:

  • Introducing the Healthcare Pack
  • Worklist Manager
  • REST Binding Component
  • Business Process Monitoring
  • POJO Service Engine
  • COBOL Copybook Encoder

You can download it at:

https://open-esb.dev.java.net/Downloads.html

Updated collateral can be found at:

http://www.sun.com/software/javaenterprisesystem/javacaps/glassfish_esb.jsp

Sang Shin, the tireless creator of javapassion.com teamed up with Antonio Goncalves (author of the first Java EE 6 book) and others to provide you with a free, week-long Java EE 6 Online Codecamp.

ALT DESCR

The idea is simple - tour the Java EE 6 features via slides, code sample, and detailed lab instructions at your own pace. The lab starts tomorrow (Tuesday 12th, January 2010) and lasts for a week. Check out this FAQ entry for details on what it's like to take an online course like this one. Registration is as simple as joining the javaee6-codecamp Google group. You'll also notice on the codecamp homepage that there's a great panel of advisors (spec lead, tech leads, ...) ready to answer technical questions you may have.

This code camp is a nice follow-up to the "Java EE 6 and GlassFish v3" Virtual Conference, and obviously leverages both GlassFish v3 and NetBeans 6.8 which have now been final for a month.

Content for the first two topics have already been posted : "Java EE 6 Overview & Getting Java EE 6 sample codes" as well as "Servlet 3.0". Others labs include CDI (Context and Dependency Injection), JPA 2.0, EJB 3.1, JSF 2.0, Java EE 6 End to End, GlassFish v3 OSGi, and Embeddable GlassFish v3.