mardi déc. 21, 2010

JavaOne Beijing Keynote screencast JavaEE/GlassFish

This blog has moved to
Follow the link for the most up-to-date version of this blog entry.

While preparing for my demo in Nandini's JavaOne keynote in Beijing last week, I recorded myself delivering the demo ahead of time (there no such thing as too much preparation :). The scenario is short and doesn't get into many of the details but I thought I'd still share it here. I'd be happy to discuss details about how it was built.

The points I'm making in this short demo are :
• simplified JavaEE programing model
• right-sized Java EE Web profile
• full clustering in upcoming GlassFish 3.1
• OSGi dynamic services using CDI (in GlassFish of course)

For those not able to get to YouTube (bandwidth, great firewall, ...), I've posted the offline file here.

dimanche nov. 28, 2010

Screencast - Dynamic OSGi services using CDI and GlassFish 3.1

This blog has moved to
Follow the link for the most up-to-date version of this blog entry.

Siva posted a great entry on the use of type-safe injection of dynamic OSGi services as few days ago which was followed by a blog on TheAquarium. There is now a short (4-min) screencast for this :

This demo requires a recent promoted build of GlassFish 3.1.
Check out this wiki page for all things OSGi in GlassFish :

vendredi sept. 03, 2010

New screencast - GlassFish 3.1 JDBC features

This blog has moved to
Follow the link for the most up-to-date version of this blog entry.

No, GlassFish 3.1 will not be \*only\* about clustering, there's more to it :

The JDBC content of this short screencast is described in this planning document. Also check out Shalini's blog about what was new in GlassFish v3, it has several detailed entries.

Other 3.1 milestone demos are available on the GlassFish Youtube Channel and subscribe to see the next one as they are published..

mardi août 31, 2010

App-scoped resources

With the engineers cranking new milestones releases of GlassFish 3.1, the screencasts try to follow.
The latest one is discussed on TheAquarium. Here's a direct link to the video.

vendredi juil. 30, 2010

GlassFish 3.1 Milestone 3 - Admin console can now speak cluster!

The GlassFish admin console is often cited as one of the strong point for GlassFish. Yes, open source and ease-of-us can live happily together! After delivering clustering and centralized admin features in Milestones 1 (post) and 2 (post) of the ongoing 3.1 work, it was time in Milestone 3 to deliver the first drop of a graphical user interface that is able to interact with these features.

The following is a short screencast (hosted on the relocated "GlassFish Channel" property) walking you through the basic scenario of creating a cluster, populating it with instances, starting the cluster, deploying an application to various targets (cluster or standalone instances) and closing with a short part on monitoring the system - all from the Graphical User Interface :

The GlassFish Open Source Edition 3.1 Promoted Builds are available from and numerous details are offered on the GlassFish Wiki for this milestone and the upcoming work.

Check out for more videos soon.

vendredi juin 04, 2010

A brief survival guide to producing screencasts and podcasts

As part of my job in the GlassFish team, I've been producing a number of screencasts (recent ones for GlassFish 3.1 Milestone 1) as well as podcasts and a number of people have asked me what tools and process I use. This should by no means be considered as professionals created content, but I consider the work as "good enough". Warning - I use a Mac and thus some of the following may not apply.


I clearly split the screencast process into recording and post-processing (the bulk of the work in my case). In my case I bought iShowU HD ($29.95) which I find simple and effective. It produces a number of different formats with compression such as MPEG 4 or H264. It does not produce flv/flash which I think is a bad idea anyway (dead-end format, hard to convert to anything else, let the publishing platform do the heavy lifting, see last section). Another popular choice is ScreenFlow but it's more expensive ($99), has zooming and other effects I find overkill (I stopped using animations in my slides years ago), and I wouldn't use its post-processing features since I simply use iMovie.

A precise script for the scenario is the first thing I work on. I then record the demo with minimal use of the pause/resume feature (and would rather start over when something went wrong). Most of the time I don't record the entire screen. A typical setting is MPEG-4, 25 frames/sec, 768x432 with a fixed mouse mode. The resulting file is about 7.5MB per minute recorded. I don't record the system audio and do a voice-over once I'm happy with the length and pace of the edited video (which often involves cutting down a number of lengthy parts). I usually use iMovie to add small (8-10 sec) intro and outro images with a title, logo and URL.


Most of the podcasts I publish on the GlassFish channel are interviews that I spend a little bit of time preparing. I usually go by a variation of the list of questions that I have written down (and sometimes shared with the interviewee). The ideal interview setup is when each person can record its own channel. When I'm remote this is possible if everyone has a descent recording tool (audacity for instance) and microphone (I use the buit-in one on the mac book pro) but it's often nice to be in the same room for a better conversation-like result. Podcast editing can be a challenge when people talk at the same time on the same channel. I also do a number of interviews over skype with this call recorder ($19.95). In this case I can later split the channels which is great for post processing (and I don't need to wait for people to send me their audio file...). The downside is that the quality is only as good as the skype conversation itself and that the splitting is done into two channels: me and the "other ones" (when talking with multiple people, they need to have the same level and shouldn't speak at the same time).

It takes me about 2x to 3x the recording time to do a full editing (leveling, intro+outro, removing hum's, making it more dynamic when possible, ...) and this is all done with Audacity (open source). I usually place each channel left and right (+/-40% iirc). I then export the audio as MP3 (and remove the rather large files produced by the tool once published). The painful part for me is the metadata: file name, podcast name, show notes, picture, etc... I do this with iTunes but that requires still too many clicks IMO.


I try to create portable formats accepted by many other tools and services for publishing and conversion if necessary. For audio, mp3 is a no-brainer and for video, it's pretty much anything except flash (once published both screencasts and podcasts are often made available using flash players anyway).

My screencasts now usually go out to YouTube. The distribution is large, embedding a player is trivial, the publisher tools are simple, and the reporting tools descent (# viewers, geography, ...). I usually also make the larger original file available for offline viewing (and sometimes reuse it for time-constrained demos).

Podcasts are a little bit trickier to publish since I have the GlassFish Podcast available on the iTunes store and a more general syndication feed. I use feedburner which has a nice podcast feature to identify the enclosure (mp3) and make it podcatcher-friendly. It also has tools to help you troubleshoot a number of issues you'll probably face when starting out. I publish the podcasts on which is powered by Apache Roller with direct link to the mp3 and a flash player for in-place listening. The Feedburner tracking features are nice and a bit more detailed than the Sun mediacast facility where I upload the mp3 file.

Just Slides

If you're trying to push out a presentation content, you probably should look at slideshare which has an updated player, a download option, and a slidecast feature that's quite easy to use (record on the fly or upload mp3 and chapter manually). Of course if you're a JUG or if you're looking for an even better user experience, there's also parleys.

vendredi mai 28, 2010

GlassFish 3.1 - Milestone 1 is out (with 2 screencasts)

This blog has moved to
Follow the link for the most up-to-date version of this blog entry.

GlassFish Open Source Edition (see roadmap) 3.1 has now produced Milestone 1.
Get it here: (glassfish-3.1-b02.\* )

The following are two short screencasts demonstrating :
a/ the basic clustering infrastructure already available
b/ a new application versioning feature (external contribution)

Details for this clustering demo can be found here.

Check this document for more details about this versioning feature.

You'll find more information about Milestone 1 and the future developments of 3.1 on the GlassFish Wiki.
The next milestone is currently scheduled for in about a month from now.

vendredi juin 19, 2009

GlassFish v3 a la carte screencast - Part 3 - Jersey and EJBs

This blog has moved to
Follow the link for the most up-to-date version of this blog entry.

In the first screencast, I installed a minimal GlassFish v3 from a small bootstrap (IPS toolkit), created a domain and started the server. The second entry did something actually useful with GlassFish and two containers: Java Web and Spring. In this screencast, I layer a custom distribution on top of a GlassFish kernel. Enough to deploy a JAXR-RS / EJB 3.1 (lite) application.

For the sake of brevity this screencast is mostly command-line. It starts with the 5MB ips bootstrap and installs a pre-defined custom distribution which is enough to deploy the jersey-ejb sample application. The custom distribution is essentially an IPS package with no artifact, only a set of dependencies on other packages. For the curious out there, here is the step-by-step for the screencast :

bin/pkg set-publisher -P --enable -O
bin/pkg set-publisher --enable -O http://localhost:10001 localRepo
bin/pkg install sample-distro
bin/asadmin create-domain --instanceport 8080 --adminport 4848 mydomain
bin/asadmin start-domain
bin/asadmin deploy ~/jersey/jersey/samples/jersey-ejb/target/jersey-ejb.war
open http://localhost:8080/jersey-ejb/

I hope this series of screencasts demystifies the IPS/packaging side of GlassFish and shows the interesting possibilities it offers to end-users.

vendredi juin 12, 2009

GlassFish v3 a la carte screencast - Part 2

This blog has moved to
Follow the link for the most up-to-date version of this blog entry.

In the first screencast, I installed a minimal GlassFish v3 from a small bootstrap (IPS toolkit), created a domain and started the server. This entry will actually do something useful with GlassFish and two containers: Java Web and Spring.

The Spring DM (OSGi) part of the demo is described in Jerome's GlassFish V3 Extensions, part 3 : Spring, Java EE 6 and OSGi blog entry. In the screencast, the manual install of the Spring bits is replaced by adding a new repository definition (a local one) and installing a single package from there. For the rest, the demo demonstrates how to extend GlassFish without using any GlassFish API and how to invoke an OSGi bundle service without using any OSGi API - the servlet injects the service by name using a standard @Resource annotation. Note that Jerome's most recent blog entry covers OSGi Declarative Services for a somewhat simpler approach.

The screencast was done using the dev/ repository, so your experience may vary as the boundaries of the IPS packages and their dependencies are still being worked. Also, instead of the default Felix console briefly shown, you could use the web console described by Sahoo.

The full-size (and offline) video is available here (15MB, video/x-m4v).
The next screencast will show how one can seamlessly add more GlassFish v3 features to obtain a "full" Java EE application server and still benefit from the modular architecture in terms of pay-as-you-grow (startup time, load-on-demand, memory consumption, ...).

mercredi juin 10, 2009

GlassFish v3 a la carte screencast - Part 1

This blog has moved to
Follow the link for the most up-to-date version of this blog entry.

Given the modular approach taken in GlassFish v3 (170+ OSGi bundles in v3 Preview) and the IPS/pkg(5) tooling provided, I created a first screencast showing the following :
• install the IPS toolkit image (download), a 5MB bootstrap
• define the repository to get to the GlassFish v3 bits ( in this case)
• install the minimum set of packages required to create and start a domain (using the pkg command-line and the graphical updatetool)

The full-size (and offline) video is available here (15MB, video/x-m4v).
Further screencasts will show how one can add selected features (containers) to deploy specific applications.

Of course you don't have to be fiddling around with the various GlassFish v3 packages and could also be downloading one of two GlassFish v3 Preview distributions: web profile and full Java EE 6. Even then you'll only pay for what you use.

jeudi nov. 06, 2008

Screencast - From Zero to Grails in 5 minutes with GlassFish v3 Prelude

Documentation is here:
GlassFish v3 Prelude is here:

mercredi oct. 29, 2008

GlassFish ESB - screencast

Pour compléter mon billet sur GlassFish ESB (la distribution supportée par Sun de OpenESB), voici une série de petites vidéos pour illustrer de quoi il s'agit et en particulier ses outils de développements :

A vous de tester le Milestone 2. Sortie finale en fin d'année.

mardi juin 17, 2008

OpenDS screencasts

I posted a couple of very short OpenDS screencasts to YouTube:
Install OpenDS in 60 seconds
Run an LDAP-enabled web app in GlassFish. Uses JSF LDAP data providers and NetBeans

OpenDS v1.0 is scheduled to hit the streets in July.

If anyone's interested, this is done using Snapz Pro X and iMovie. Sounds like a nice combo at this point.

lundi oct. 01, 2007

Screencasts GlassFish en français

Maintenant que Julien a choisi le couple GlassFish/IntelliJ, les premiers screencasts sont disponibles:
•  Screencast : installer Glassfish
•  Screencast : ajouter Glassfish à IntelliJ IDEA
•  Screencast : EJB3 remote stateless + invocation distante

La suite bientôt j'imagine...


This blog has moved

Alexis Moussine-Pouchkine's Weblog

GlassFish - Stay Connected


« août 2016

No bookmarks in folder


No bookmarks in folder