Some notes that I managed to take whilst at the talk.
www.glassfish.org
Claimed to be the fastest Java EE AS
V2.0 -> reference implementation for Java EE 5
V3.x -> reference implementation for Java EE 6
Java EE standard 10 years old
Metro -> Interop between MS and Java WS.* standards
GlassFish is Open Source under CDDL and GPL 2 license
java.sun.com/javaee
Transparent development
Organic growth into middleware areas
First appearance 2005
V2 in 2007
Current v2.1 in Feb 2009
www.beta.glassfish.java.net:81/maps
6-700 downloads per month, 8 million in the last year / ~28k per day
GlassFish portfolio is a set of related technologies including the AS
- Enterprise server (including support for SNMP)
- Web space server (joined with Life Ray - social networking & portal technologies)
- Web sack (a complete (L)(S)(?)AMP stack)
- GlassFish ESB (SOA platform) for integration, connectors, adaptors
Java EE + Ruby on Rails, PHP and other frameworks
(note - what is SFA?)
Enterprise version adds:
- Performance advisor, performance monitor, SNMP, self management and alert manager
- Update center
Example / reference sites:
- wotif.com - Glassfish & OpenMQ
- www.travelmuse.com GlassFish, message queue and mysql (started by using community edition)
- North american Nationwide Health Information Network - connect (NHIN- Connect)
- OpenESB
- ESB.SOA framework
- Facebook - large mysql based system ~70million users
GlassFish has same levels and structure in terms of support and licensing as MySQL
Web Services: WS.*
- Metro is core in GlassFish AS
- Project Metro Web services stack provides high level WS stack with security, reliability etc -> .NET 3 interoperability (incorporates project tango - MS .NET interop)
REST
- JAX-RS JSR-311 Java API for RESTFul Web Services
- Annotation based server side API
- HTTP Centric
- Server Side only
- Servlet or SE deployment
Jersey project provides implementation for JSR-311
Performance:
Similar / faster than Weblogic and Websphere
GlassFish V3:
- OSGi: Apache Felix as default (origins in JSR-8)
- 1 sec startup
- 21Mb download
- admin and update tool downloaded on demand
Add-ons, modules available from update center:
- EJB 3.1 (preview
- jRuby on Rails (new WAR packaging required)
- Grails (also on GFv2)
- Jersey and Metro (Web services)
- jMaki (AJAX)
Tools:
- NetBeans and Eclipse
- Embedded GlassFish API
MicroKernel approach - modularity - base App server + on demand module loading, extensible and customizable
("Eclipse Con" -> announces GlassFiish bundle available)
Db connection pooling and connection (connector) pooling (JCA)
V3 Prelude
- available from http://glassfish.org -> using modular (microkernel) v3 ideas with existing EE5 technologies -> this version is supported!
- v3 prelude is Java EE Web layer only (i.e. servlets, JSPs etc but no Enterprise beans etc)
Compile / Deploy on Change support, dynamic debug loop (netbeans & eclipse), incremental compile of all Java EE artifacts. Auto-deply of all Java EE and static artifacts
Support for: JRuby, Ruby, Groovy, Grails, Python, jython, django, jmaki, JavaScript phobos
Ruby / jRuby and rails can be run on 2.1 today (by packaging up dependancies), on v3 available as OSGi jRuby container
PHP
- Quercis (Caucho) opensource GPL php 5 implementation in Java
- War Packaging
- Java Bridge
V2 -> ee 5
V3 -> prelude with EE5 support
V3 -> early access is EE6 spec (but not supported)
GF Web Stack:
- Apache HTTPd
- Sun web server 7 (most scalable web server - now open sourced!) optimized for multi-core CMT (chip-based Multithreaded) systems - 2x scaling vs. Apache & Tomcat
- lightpd
- memcached
- mod_jk, perl, ruby, PHP Ruby, Python, Squid, Tomcat
Current GF web stack is 1.4 (Python 2.5.2, Squid 2.6, Tomcat 5.5.27, memcached 1.2.5, mysql 5.0.67)
GF ESB:
- JSR 208 JBI (Java business Integration)
- Plug-able integration into backbone
- "Metacontainer" - add new containers within the container, extend the AS
- BPEL, WS-*, XSLT, FTP, LDAP, HTTP, DB service and binding
- Based on OpnESB -> http://openesb.org / community open-esb.dev.java.net/Components.html
- Maybe engines and connectors to things like Corba etc
What's next -> http://fuji.dev.java.net -> OpenESB V3 - next gen of SOA
(JBI and SCA stated as "complimentary, not conflicting")
GF: Web Space server (project web synergy)
- Portlet spec JSR-268 and more (social networking, communities)
- OpenSSO, identify mechanisms
- Compelling web UIs
GF enterprise manager:
- Performance advisor
- Alerts
- JDBC pool management - automatically tunes JDBC connection pool to optimize performance etc
Sailfin (Ericson contribution) telco, SIP, VOIP, Instant messaging
dtrace etends into Apache and PHP
Revamped PetStore 4 part tutorial - developer.sun.com
OpenSSO -> new concept "express builds" - milestone interim builds from Open Source community in between main supported releases
WhitePapers:
New White-papers on GlassFish portfolio launch:
- Comparison with Tomcat
- Performance optimization
- GF with identify and MySQL
Training available in Camberly, BSG in London etc
www.javapassion.com
Books:
- GlassFish
- Database-driven application development
- Others available (I didn't get time to note them down)
blogs.sun.com/theaquarium -> god launch pad for developer information
blogs.sun.com/stories -> gives examples and real usage info
Migration tools:
migrate2glassfish.dev.java.net/blogs/blogs.html
built in tools to detect and advise on code usage (for EE standards and vendor specific code dependancies)
--
Examples:
JavaFX mobile - answer to J2ME shortcomings
www.javafx.com -> many tutorials and demos
GlassFish profiles - Developer mode (no clustering etc) but fast start up and change deployment
Clustering:
DAS - Domain Administration server looks after a cluster, deploy to the domain administration server and it deploys to the cluster nodes.
Session replication between cluster nodes, zero down time when switching between nodes
install with -cluster switch
Cluster elements run "node-agents" to talk to the DAS
Extra sections in the admin console -> shows cluster nodes
GlassFish performance monitor - enterprise only (TBC)?
V3 Prelude - web tier only (web apps) but fully functional
Presentation has now been published here: http://uk.sun.com/sunnews/events/2009/mar/glassfish/pdf/UK-GlassFish-Portfolio-Launch-mar09.pdf
.