Miles to go …

February 28, 2011

JavaOne and Oracle Develop India 2011 – May 10/11, Hyderabad

Filed under: General — arungupta @ 11:12 pm

When ? May 10-11, 2011 (schedule)

Where ? Hyderabad International Convention Center, Hyderabad, India

What ? Keynote, Technical sessions, Exhibitor Halls, OTN Night, Hallway conversations, Biryanis, and much more!

Four tracks will cover the complete Java landscape:

  • Core Java Platform
  • Java EE, Enterprise Computing, and the Cloud
  • Java SE, Client Side Technologies, and Rich User Experiences
  • Java ME (Mobile & Embedded)

Register before Mar 10th to avail the early bird discount. Check out the complete fees structure – discounts if you register in groups and 50% discounts for students and faculty.

What are you waiting for – register now!

Technorati: conf javaone hyderabad india

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

GlassFish 3.1 Now Released: Java EE 6 with Clustering and High Availability + Commercial Support

Filed under: General — arungupta @ 6:05 am

GlassFish 3.1 is now released – download now!

Here are some numbers about the release:

  • First nightly build on Dec 14, 2009
  • First promoted build on May 20, 2010
  • First milestone on May 24th, 2010
  • 43 promoted builds
  • 8 milestones
  • 4 Release Candidates

This is the first major release of GlassFish under Oracle and fourth major in the overall train:

  • GlassFish v1 was about Java EE 5 compliance (the first one to be so!)
  • GlassFish v2 added Clustering and High Availability
  • GlassFish 3 was about Java EE 6 compliance (yet again, the first one!)

The two main themes in GlassFish 3.1 are:

  • Clustering & Centralized Administration – ability to create multiple clusters per domain and multiple instances per cluster from CLI and web-based Admin console
  • High Availability – in-memory state replication

This is the only application server that provides Java EE 6 Web Profile and Full Platform compliance in a clustered environment. And yes, you can buy commercial support from Oracle!

Now you may think GlassFish 3.1 = GlassFish 3 + GlassFish v2. But in reality there are a lot more improvements made exclusively in GlassFish 3.1 such as:

  • Session-based replication for better performance and scalability
  • SSH-based remote management and provisioning allows to invoke lifecycle methods on instances at remote nodes over SSH
  • Application versioning to deploy multiple versions of applications concurrentlyy
  • Application scoped resources to package resource definitions within the archive to enable single-click deployment
  • Admin console based on RESTful API
  • Implementation of various Enterprise OSGi Specs to build OSGi-enabled Java EE applications (only in open source edition)
  • "weblogic.xml" support
  • Technology refresh for several components

GlassFish 3.1 >= GlassFish 2.x + GlassFish 3.0 provides a complete list of items added/improved above & beyond the previous releases.

The commercial version also contain the closed-source value adds in GlassFish Server Control (nee GlassFish Enterprise Manager):

  1. DAS Backup & Recovery – A disaster recovery solution that allows you to back up an existing domain in an archive and recover in case of a disaster.
  2. Performance Tuner (online help only) – Analyse the underlying infrastructure and tunes the GlassFish runtime for optimal throughput & scalabilty.
  3. Monitoring scripting client – Allows to introspect the runtime using JavaScript and create your own dashboard.
  4. Coherence ActiveCache – New feature that enable integration with Oracle Coherence. Allows to replace in-memory session replication with Oracle Coherence and so move the storage of replication to a separate tier. This allows to scale out application tier independent of application tier. Need to license separately from Oracle GlassFish Server and will be available later this year.
  5. Integration with Oracle Access Manager – Delegate authorization & authentication to OAM.
  6. Load Balancer & Plugin Installer -  Reverse proxy engine that runs on Oracle Web Server and provides failover.

The value-adds #1 through #5 are pre-bundled with the commercial version and #6 needs to be downloaded and configured explicitly.

The nightly, promoted, and milestone builds have been available for many months now and this is the final build. Here are some pointers for you to get started:

  • Download (difference explained below)
    • Java EE 6 SDK Update 2
    • Oracle GlassFish Server
    • GlassFish Open Source Edition
  • Provide feedback on Forums or file bugs on JIRA
  • Docs – extensive overlap between the two sets
    • Oracle GlassFish Server (exclusively covers value-added features in GlassFish Server Control)
    • GlassFish Server Open Source Edition all-in-one zip bundle
  • Datasheet
  • Like us on Facebook
  • Follow us @glassfish
  • Watch multiple videos at Youtube channel

Here are some specific screencasts to get you started:

  • screencast #37 shows Java EE 6 tooling with NetBeans
  • screencast #36 shows Java EE 6 tooling with Eclipse
  • screencast #34 shows clustering and high-availability in 10 minutes
  • screencast #33 shows different GlassFish 3.1 capabilities in NetBeans 7
  • screencast #32 shows OSGi-enabled Java EE Applications

GlassFish For Business talks about the umpteen update and patch releases done in between the major releases and also explain the difference between open source and commercial versions. Based upon the standard Oracle middleware support policy, the premier support for GlassFish 3.1 will end on 3/2016 and extended support will end on 3/2019.

OK, so you heard all about it, ready to download, and try it out. Here is a little graphic to assist you in deciding which bundle to download:

Download Java EE 6 SDK, Oracle GlassFish Server, or GlassFish Server Open Source Edition based upon your needs. And if you don’t know your needs (that’s possible!) then start with the Java EE 6 SDK as that is a comprehensive bundle including JDK and/or NetBeans (the complete IDE for your Java EE 6 and GlassFish 3.1 needs), docs, tutorials, and samples.

What is holding you back from using GlassFish 3.1 as your primary Java EE 6 deployment platform ? :-)

Technorati: glassfish javaee6 clustering administration highavailability

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

February 27, 2011

“Miles To Go” thanks GlassFish Community!

Filed under: General — arungupta @ 5:19 pm

GlassFish 3.1 is just about a few hours away … the bow has been placed!

This release is the countless hours of work put by the developers, testers, project/people management, docs, partners, and last but not the least, and the most important the active community users who gave us constant feedback. I certainly feel privileged to be with the team when we delivered the very first version of "Reference Implementation" back in 1999. And also enjoy the floor with most of the GlassFish team and the ability to have hallway/whiteboard discussions with them other than participating in the daily jokes ;-) I’m merely a spokesperson of all these brilliant folks and just blow the horn all around the world. With GlassFish 3.1 out the door, this is going to get much more exciting!

On the eve of GlassFish 3.1 launch, I thought of sharing how this blog has traveled around the world promoting Java EE and GlassFish.

This blog has visited the following cities so far …

Amsterdam, Atlanta, Bengaluru, Beijing, Berlin, Brasilia, Budapest, Chennai, Chicago, Dallas, Delhi, Fortaleza, Hyderabad, Kansas City, Las Vegas, London, Malmo, Milan, Minneapolis, Montreal, Mountain View, New York City, Orlando, Portland, Porto Alegre, Pune, Reston, Rome, San Francisco, San Jose, Santa Clara, Sao Paolo, Seattle, Singapore, Sofia, St Louis, Stockholm, Toronto, Turku, Salt Lake City, Vejle, Vitoria, Wisconsin, Zurich, …


View Cities Visited by “Miles To Go…” in a larger map

Spoken at the following Java User Groups …

  1. Berlin-Brandenburg JUG (Aug 2008)
  2. Brasilia DFJUG (Sep 2008)
  3. CEJUG, Fortaleza (2010)
  4. Dallas JUG (Nov 2008)
  5. ES JUG, Espirito Santo (Sep 2008)
  6. Javagruppen (2011)
  7. London Java Community (2010)
  8. Oakland Java SIG (Oct 2010)
  9. RS JUG, Brazil (2009)
  10. San Francisco JUG (Aug 2010, May 2009)
  11. Silicon Valley JUG (Aug 2008)
  12. SouJava, Brazil (2009)
  13. Taguatinga DFJUG (Sep 2008)
  14. Utah JUG (Jul 2008)

Spoken, Attended, Engaged with community at the following conferences

  1. acts_as_conference (Feb 2008)
  2. Ajax World (2008)
  3. Bay Area JUG Roundup (2010)
  4. Cloud Computing Expo (2010)
  5. DevIgnition (2010)
  6. DevNexus (2010)
  7. Eclipse Demo Camp (2009)
  8. EclipseCon (2009)
  9. FISL (2010, 2009)
  10. FOSS.IN (Dec 2007)
  11. Google Developer Day (May 2007)
  12. IndicThreads (2010, 2009)
  13. Java2Days (2010)
  14. Java EE / GlassFish Workshops
    1. 2 day in Budapest – Jan 2011
    2. 7 hrs at San Francsico JUG – Aug 2010
    3. 3 hrs at Dallas Tech Fest
    4. 8 hrs at Milwaukee – Mar 2009
    5. Day long at Santa Clara – Mar 2009
    6. 4 hrs at JavaMUG – Feb 2010
    7. 4 hrs at Delhi University – Dec 2007
    8. 3 hrs in Seattle/Toronto/Montreal – Nov 2007
    9. 4 hrs in Chicago – Oct 2007
    10. 4 hrs in Minneapols – Oct 2007
  15. Javagruppen (2011)
  16. Javali (2009)
  17. JavaOne (2010, 2009, 2008, 2007, 2006, 2005)
  18. JFall (2009)
  19. JavaOne Brazil (2010)
  20. JFokus (2011)
  21. Mashup Camp (Jul 2007)
  22. Oracle User
    Group Leaders Summit (2011)
  23. Microsoft Web Services Interoperathon (Nov 2005, Mar 2006)
  24. MySQL Users Conference (2009)
  25. Oracle Open World (2010, 2009)
  26. Oredev (2010)
  27. Rails Conf (2009, 2007)
  28. Rails Conf Europe (2008, 2007)
  29. Rich Web Experience (2010, 2007)
  30. RightScale User Meetup (2009)
  31. Ruby Conf India (2010)
  32. Silicon Valley Code Camp (2010, 2009, 2008, 2007)
  33. Sun Tech Days
    1. Hyderabad 2010
    2. Singapore 2009
    3. Sao Paolo 2008
    4. Hyderabad 2008
    5. Beijing 2007
    6. Rome 2007
    7. Milan 2007
    8. Atlanta Jan 2007
  34. UberConf (2010)
  35. Spark IT (2010)
  36. Jazoon (2010)
  37. Dallas Tech Fest (2010)
  38. JAX London (2010)
  39. OTN Developer Day (New York City 2010)
  40. Silicon Valley Rails Meetup (2009)
  41. Super Happy Dev House 30 (Feb 2009)
  42. The Server Side Java Symposium (2008, 2007)
  43. SD West (Mar 2008)
  44. South Bay Ruby Meetup (Jan 2008)
  45. Web 2.0 Conference & Expo (Jan 2008)
  46. Vaadin Meetup (2011)
  47. WS-I Plenary (Summer 2005)

And in order to stay healthy, did outdoor running in the following cities (while attending a conference) …

  1. Spree River, Berlin
  2. Singapore River, Singapore
  3. River Danube, Budapest
  4. Las Vegas, USA
  5. Bussum, Netherlands
  6. Rome, Italy
  7. Mercuripe beach, Fortaleza
  8. Ft Lauderdale Beach, USA
  9. Denver, USA
  10. Üetliberg, Zurich
  11. Stockholm, Sweden
  12. Porto Alegre, Brazil

And here are some statistics on page visits/views for this blog …

Over a 1,000,000 page visits by audience from 30,658 cities cities from 215 countries/territories …

Thank you GlassFish!

Thank you for reading the content on this blog and please keep those suggestions coming! I’m here to serve your needs :-)

There are still a tons of cities to visit…
Plenty of JUGs to spread the fever …
Loads of conferences to speak …
And miles to go before I sleep.

Technorati: milestogo glassfish javaee blogs googleanalytics stats

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

February 24, 2011

TOTD #156: JDK 7 Developer Preview Now Available!

Filed under: General — arungupta @ 12:52 pm

JDK 7 developer preview build is now available.

java -version
java version "1.7.0-ea"
Java(TM) SE Runtime Environment (build 1.7.0-ea-b130)
Java HotSpot(TM) Client VM (build 21.0-b02, mixed mode, sharing)

This is milestone 12 (all milestones), build #130 and has 456 bugs fixed since feature complete about a month ago. Download it today and try your applications and provide us feedback via forums and/or file a bug/rfe.

For sanity, I could easily download/install it on Windows 7, run NetBeans 7.0 Beta 2 and GlassFish 3.1 b41, create a simple Java EE 6 Web application and run it on GlassFish. And also encountered bug 195254 which is totally unrelated to JDK7 though ;-)

And if you are interested, screencast #35 showed how to use Project Coin features in NetBeans 7. The video is available below again for your reference:

Today NetBeans has the most comprehensive support for JDK 7 but its also coming in IntelliJ 10.5 and Eclipse.

JDK 7 will be released on the supported set of platforms (Windows, Solaris SPARC, Solaris x86, and Linux) first and then will be released on OSX later. You can also find some more details on community-led JDK 7 builds on Mac OSX.

Technorati: totd jdk7 javase

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

February 23, 2011

FREE OTN Developer Day Boston – Java EE 6, GlassFish, WebLogic, Java 7 and 8, Java FX, and much more

Filed under: General — arungupta @ 11:16 pm

The Boston Marathon is 52 days away but you can attend a Java Marathon on March 3rd in Boston. And all developers are pre-qualified for this one and no registration fees as well :-)

Do you live in the Boston area and like to learn everything about Java from the stewards of Java ?

OTN is arranging another FREE Developer Day in the US covering entire spectrum of the Java platform from Server, Desktop, and Java SE to Embedded. You’ll hear from distinguished speakers in each of these areas and will have sufficient time to engage in casual conversations. I’ll talk in detail about simplicity and ease-of-use in Java EE 6, light-weight GlassFish Application Server, and even conduct hands-on labs. And of course will be there in the hall ways and coffee/lunch breaks.

So what are the coordinates ?

Date: Mar 3rd
Time: 8am – 5pm
Venue: The Westin Copley Place, Boston
Cost: FREE, register now!

Agenda is given below:

I’ll be there, will you ?

Register now!

And this is Boston, so gotta run! Let me know if you are interested in running in the hotel’s neighborhood :-)

Technorati: conf oracletechnet otn devdays boston javaee6 glassfish weblogic

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

February 22, 2011

QA#8: Java EE 6: Definite excuse to avoid Spring forever – by Bert Ertman

Filed under: General — arungupta @ 11:31 pm

This Q&A session is part of the community feedback on Java EE 6. So far the highlighted benefits are:

  • QA#1 – Standards compliance, vendor independence, milliseconds and kilobyte deployment.
  • QA#2 – Higher integrated specifications, simple and annotation driven, single-classloader WARs. Next level of industry standard
  • QA#3 – Jigsaw puzzle, Modular, standard, less xml, easy, easy, have I said easy?
  • QA#4 – Developers can concentrate on business logic, JavaEE6 is providing a standard for the infrastructure.
  • QA#5 – Faster development, less frameworks, less complexity, more great code shipped.
  • QA#6: Not your fat grandfather’s enterprise Java anymore, enterprise Java renaissance
  • QA#7: Scripting framework like productivity based on standards
This entry comes from Bert Ertman who is a Technology Manager for Info Support BV in the Netherlands. Bert started working with Java since the very first public release in 1995 and has done so ever since. In 2008 Bert was honored by receving the coveted recognition of ‘Java Champion’.

He is well known within the Dutch Java community, not only for his role as a co-lead of NLJUG , but also because he is still doing talks and workshops advocating new technologies. As JUG leader, Bert helped the NLJUG in scaling their events (J-Spring / J-Fall) from 150 attendees up to over 1,000 attendees at the most recent events.

Here is a short summary of Java EE 6 from him:

Your definite excuse to avoid Spring forever. Finally! ;-)

Keep reading for the fun stuff …

1. How are you using Java EE 6 today ? What limits your adoption ?

As a self proclaimed technology evangelist and as a Java Champion I’m using Java EE 6 technology for presentations, lectures and training both for in-house training of colleagues, customers, university students and Java User Group members.

Unfortunately, up until recently, lack of commercially available mainstream application servers limits adoption at many customers that demand only proven technology. With the currently available implementations and upcoming releases this will hopefully be history soon. IDE support can be better as well and is sometimes an (valid) argument that keeps developers from adopting great technology.

2. What Java EE 6 technologies are you using and why ?

EJB, JAX-RS, CDI, and JSF are amongst my favorite Java EE 6 technologies. They are especially powerful when used together. In collaboration with my colleague Paul Bakker we recently developed a Call for Papers and Reviewing application for NLJUG on top of Google App Engine using a nice a la carte combination of Java EE 6 technology in conjunction with some other stuff.

3. What is your development and deployment environment ?

When coding I’m mostly using Eclipse with a lot of (custom) plugins. This is part of the Software Development Factory – Endeavour – that we use in our company. Our target environment is a variety of application servers that are being used by our customers: JBoss, WebSphere, and WebLogic. Over the past one and a half year that we have been doing lectures and courses we have been mostly relying on GlassFish.

4. What previous versions of Java EE / J2EE have you used ? How has the migration to Java EE 6 benefited ?

I have been with each and every version of enterprise Java since 1999. While Java EE 5 was a great leap forward for productivity and ease of use, the true power of modern Java EE was unleashed with the advent of CDI and updates of powerful frameworks as EJB 3.1 and JPA 2.0. Getting rid of XML and deployment descriptors in exchange for annotations has been part of the big leap forward. Another factor that should not be ruled out is that since J2EE 1.4 expert groups have finally been listening to the voices of real developers instead of crafting up academic specs in ivory towers.

5. Describe the benefits of Java EE 6 to you in 120 characters.

Your definite excuse to avoid Spring forever. Finally! ;-)

6. Advice for anybody who is looking at Java EE 6 for their next project ?

Don’t be fooled by enterprise Java critics from back in the 2004 days. Enterprise Java has come a long way ever since and should be your standard option when considering large scale enterprise Java development when dealing with serious functional and non-functional requirements. Although the latest versions of Java EE are all about ease-of-use and ease-of-development this doesn’t mean that you have to be ignorant or unaware of the complexity that is involved under the hood. Enterprise development is a profession and for those that are skilled Java EE (6) is a joy to work with.

7. What new features you’d like to see in Java EE 7 ?

Aiming for the obvious here: Java EE 7 should be about enabling enterprise Java for cloud based stacks. There can also be much benefit from new features in Java SE 7 and 8. A lot of the convenience stuff that is in frameworks like Seam and Arquillian should make it into the specs as well.

Thank you Bert for taking time to prepare the answers!

Are you developing, deploying, consulting, training, authoring books, etc in Java EE 6 and would like to express your opinion in a similar format ? Drop acomment on this blog and I’ll line you up for the Q&A session :-)

The Java EE 6 hub is your key resource to learn all about the technology.

And you can always try all Java EE 6 features in GlassFish and refer to an extensive set of Java EE 6 & GlassFish demos.

Also check out our youtube channel and follow us on @glassfish.

Technorati: javaee6 community feedback bertertman glassfish v3

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

February 21, 2011

GlassFish is Hiring – Java EE/GlassFish Evangelist in India

Filed under: General — arungupta @ 8:29 pm

GlassFish team is hiring! This latest one is a new position for a technology evangelist based out of India and the details follow …

Job Description

The Java Platform and Technologies are set to accelerate in new and exciting directions over the next decade under the Oracle stewardship. This job is your chance to prove that the best way to predict the future is to invent it! You will play a critical role in building and driving a strong Java language and Platform developer community in India.

Key Skills

  • Strong background in computer science is required. Coding (Java) skills are key but so are architectural principles (Web, 3-tier, web services, asynchronous) and development best practices (TDD, continuous integration, etc) as used by companies of all sizes and markets.
  • Ability to listen to developers and customers is equally important. While technology is what motivates you every day, you realize that it is not a means to an end but rather an enabler for companies to be more efficient and use them as a competitive advantage. You also understand that no technology is perfect and that constructive feedback is as valuable as acquiring new customers. Building technical relationships in various local and online communities (JUGs, forums, mailing lists, but also within the company) is what will build trust, reputation and in turn enable you to use you influence and to generate this invaluable feedback.
  • Lead by example and share what you learn. A career in technical IT is all about perpetual learning. Sharing and popularizing technologies is both hard and exciting. Your job will require to grasp a large number of technologies by interacting with subject matter experts to produce articles, demonstrations, screencasts and other assets.

Education and Experience

  • Bachelors/Masters in CS/ EE/ECE
  • Should possess 4-8 years of experience in product development.
  • Experience in delivering technical talks in forums, and writing blogs will be a plus.

So if you are one with a strong passion for technology evangelism, enjoy sharing your knowledge, continuous learning and travel, then please send your bio to .

I’ve been doing this for about five years now, and believe me, its lot of fun! So what are you waiting for, send your resume today :-)

Technorati: glassfish hiring evangelist jobs

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

February 18, 2011

QA#7: Java EE 6: Scripting framework like productivity based on standards – by Paul Bakker

Filed under: General — arungupta @ 2:00 am

This Q&A session is part of the community feedback on Java EE 6. So far the highlighted benefits are:

  • QA#1 – Standards compliance, vendor independence, milliseconds and kilobyte deployment.
  • QA#2 – Higher integrated specifications, simple and annotation driven, single-classloader WARs. Next level of industry standard
  • QA#3 – Jigsaw puzzle, Modular, standard, less xml, easy, easy, have I said easy?
  • QA#4 – Developers can concentrate on business logic, JavaEE6 is providing a standard for the infrastructure.
  • QA#5 – Faster development, less frameworks, less complexity, more great code shipped.
  • QA#6: Not your fat grandfather’s enterprise Java anymore, enterprise Java renaissance
This entry comes from Paul Bakker who is is a is a trainer at Info Support in the Netherlands. He teaches about a wide range of Java related topics including Java EE, Seam, Spring and Groovy & Grails. He’s a regular speaker for the NLJUG and a Java Magazine author.

Here is a short summary of Java EE 6 from him:

Scripting framework like productivity while still keeping all enterprise characteristics and based on standards.

Keep reading for the fun stuff …

1. How are you using Java EE 6 today ? What limits your adoption ?

I’m a trainer at Info Support which means most of my days I’m training developers and architects in using certain technology and frameworks. Our Java EE 6 course is getting very popular in the last few months now that the application server support is getting better. Application server support is also the reason that adoption is still slow. Of course the support in both Glassfish v3 and JBoss AS 6 is excellent, but most of our customers in the Netherlands are using either WebSphere or WebLogic. The problem is not only the fact that WebSphere and WebLogic only have partial Java EE 6 support, but also that most (large) customers don’t upgrade to new versions easily. This is more of a licensing problem than a technical problem in most cases. It’s too bad this holds back adoption but there’s not much we can do about it from a specification perspective.

Something that I noticed is that application server vendors are adding Java EE 6 support spec by spec. For example WebLogic supports JPA 2 and JSF 2, but no CDI and EJB 3.1 yet. To me this raises the question if an umbrella Java EE spec is still useful. Isn’t it enough to have specifications for all different APIs and technologies we use? Different specs evolve at different speeds, and it would be great if application server vendors would make it easier to upgrade to newer versions of independent specs.

2. What Java EE 6 technologies are you using and why ?

Currently in both my training and projects I’m using: CDI, JPA 2.0, EJB 3.1, JSF 2.0 and JAX-RS. All specs are useful on their own, but only when used together it dramatically simplifies the programming model. In my opinion CDI is the main reason for the greatly enhanced programming model. The other specs have some very useful new features, but none of them are game changing. CDI completely changes the programming model however. Even more important is the fact that CDI makes it possible to extend the platform in a very transparent way. The JBoss folks did an excellent job at the Weld implementation and are now extending the platform in the Seam 3 project. The beauty of Seam 3 is that it adds important features to the platform, while still keeping the same programming model. If features invented in Seam 3 will be standardized in the future it will be much easier to migrate applications to using the standards again.

The other specs are great additions too however. It’s more realistic now to build applications with just Java EE 6, without using any other frameworks. Take EJB 3.1 improved timers as an example; in the past you would need a framework such as Quartz to do scheduling because EJB timers where too limited. With EJB 3.1 you probably won’t need Quartz any more. It’s not that I’m against frameworks in general. The problem with using many frameworks is that it gets harder for new developers on your team to understand what’s going on. Standardization is key to maximize reuse of knowledge, that’s why specs are important. The same is true for web frameworks. There are so many great frameworks out there all having their strengths, but it’s hard to know them all. I’m happy to see that JSF 2.0, combined with CDI, has evolved to one of the most productive web frameworks. It’s flexible enough to support multiple styles of web development (stateful vs stateless).

3. What is your development and deployment environment ?

Because I work with many different customers I work with different deployment environments too. From full blown WebSphere / WebLogic / JBoss stacks to lightweight environments such as Tomcat and Google AppEngine. This persists to be an issue for Java EE 6 adoption. Most developers are easily convinced to use Java EE 6, but are not able to do so because the application servers are not upgraded yet.

My IDE of choice is Intellij. The most important reason for this is the excellent Java EE 6 support. Luckily the IDE support for Maven has been improved a lot in the past year so it get’s very easy to switch IDEs on a project. Eclipse still doesn’t have CDI support which breaks JSF expression language support too which makes the Java EE 6 support very weak.

4. What previous versions of Java EE / J2EE have you used ? How has the migration to Java EE 6 benefited ?

I started using J2EE in the EJB 2.x era. There were two problems with this technology which are well known; the huge amount of boilerplate code and configuration, and the fact that a bunch of other frameworks were required to do any form of decent development. Java EE 5 improved the programming model a lot but was still incomplete. Incomplete because there where holes in the specs (JSF 1.2 most notably) so you would still need additional frameworks. Even more important was the lack of a real dependency injection solution. We had the @EJB and @Resource annotations but those are limited to EJBs which is too limited. Because of those limitations I never really felt very productive when using the J2EE or Java EE 5 stack compared to frameworks such as Spring. Not to even mention Grails…

With Java EE 6 however I notice that productivity has improved to levels where only scripting frameworks such as Grails could reach before. At this moment I would even prefer to use a full Java EE 6 Web Profile stack over Spring/Grails just looking at development experience. And with that, we are still based on standardized technology without any vendor lock-in. The only problem, once again, is that the latest Spring version can be used on any Servlet container, while our Java EE 6 apps only runs on a handful of servers at this moment which.

5. Describe the benefits of Java EE 6 to you in 120 characters.

Scripting framework like productivity while still keepi
ng all enterprise characteristics and based on standards.

6. Advice for anybody who is looking at Java EE 6 for their next project ?

Start by looking at CDI. For some reason CDI is not mentioned in a few of the important Java EE 6 related books and blog posts. This is a shame because CDI is the most game changing spec in Java EE 6. Besides that, take a look at the Arquillian testing framework. This gives the ability to run in-container automated integration tests fast and easily for your Java EE 6 code. This was one of the very hard to do things in the Java EE world before.

7. What new features you’d like to see in Java EE 7 ?

Most importantly I hope to be able to evolve the Java EE world more rapidly. Releasing separate specs whenever they are ready would give this possibility. If application server vendors pick up those releases and implement them in fix packs we won’t have the problem of slow adoption after the next release. For features I’m hoping on the following:

Pretty much everything in Seam 3

* Lots of JSF improvements
* A better security framework (JAAS is too low level). We need something like Spring Security in the standards.
* Easier internationalization in all parts of an application
* Easier JMS usage

An API for non-relational databases
Specially when deploying in the cloud non-relational databases get more and more important. JPA isn’t a great fit for using those databases, so we should either create a new specification for this or adapt the JPA spec for it.

AMPQ support
AMPQ seems to become an attractive alternative to JMS because it’s less Java centric. Standardized support would be most useful if AMPQ becomes more popular.

Standardized caching
Most specially in cloud environments caching is very important. The EJB spec could for example be improved by adding a method level @Cachable annotation that allows the container to cache the data returned by a method.

Clean up the programming model
Due to history and politics there are some really strange things in the Java EE 6 programming model. The fact that JSF 2.0 has it’s own @ManagedBean annotation for example is just plainly confusing to people who get started with Java EE 6. The @EJB annotation is more or less obsolete too when using CDI’s @Inject. The same is true for the overlap between Servlet 3.0 and JAX-RS. We should get rid of those duplicate solutions and go for a more straight forward programming model.

Improve the Web Profile specification
There seems to be some missing things in the Web Profile specification that each vendor now adds anyway. Most notably are JAX-RS, EJB 3.1 timers and JMS support. I don’t really see any reason why those are not in the Web Profile, but they all make sense for moderns web/enterprise applications. To my opinion the Web Profile should contain everything to do modern application development without the burden of backwards compatibility.

A RESTful web service client framework
JAX-RS is now only about implementing the server side of services, but what about the consumer side? There is some nice support in RESTEasy already, and there should be something like that in the standard. I believe the JAX-RS guys are already working on this :-)

Flawless Maven support
Although Maven has it’s flaws it should be the standard way of building applications to get automated builds and multi-IDE support. It’s far from trivial to get a Java EE 6 Maven build working however, specially when using unit and integration tests. This is the way people build applications, so there shouldn’t be any difficulties in this area.

Integration testing
In container integration testing should be a standard feature but is now hard to do (in the best case). Something like Arquillian should be standard available, with a standardized API to create partial deployments and running tests. While Arquillian is now based on a per-container solution to run tests this could become a lot easier if containers are required to support this.

WebSocket support
Each application server should support HTML 5 WebSockets in a standardized way.

Lambda based Criteria API
The Criteria API in JPA 2.0 is nice, but very verbose too. When looking at .NET there’s LINQ, which is basically language support for a Criteria API. That would simplify things a lot, but we’ll at least need Java 8 for this.

Thank you Paul for taking time to prepare the answers!

Are you developing, deploying, consulting, training, authoring books, etc in Java EE 6 and would like to express your opinion in a similar format ? Drop acomment on this blog and I’ll line you up for the Q&A session :-)

The Java EE 6 hub is your key resource to learn all about the technology.

And you can always try all Java EE 6 features in GlassFish and refer to an extensive set of Java EE 6 & GlassFish demos.

Also check out our youtube channel and follow us on @glassfish.

Technorati: javaee6 community feedback paulbakker glassfish v3

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

February 16, 2011

JFokus 2011 Day 3 Trip Report – JDuchess, Future Java Developer, Java EE/Cloud, Icebar

Filed under: General — arungupta @ 2:00 am

JFokus 2011 ended after spending 2600 man hours educating 1100+ developers. (Day 2 and 1 reports)

I gave a talk on "Running your Java EE 6 applications in the Cloud". The talk explained the key benefits of Java EE 6 and then explained how this application can be deployed on Amazon, Joyent, Rightscale, and Azure. The talk also explained how Java EE 7 is going to evolve to become a cloud-enabled platform. The slides are now available:

JFokus 2011 – Running your Java EE 6 apps in the Cloud

The minimal presence of women in Java conferences is intriguing. JDuchess are trying to solve that problem by bringing more women in Java and connecting them.

I met three of them earlier today and here are top three ways you can help them:
  • Raise awareness about the program by sharing this with others.
  • Help other women get into Java technology by educating them.
  • Participate/speak at conferences and connect with other women.

Are you a woman reading this blog and work in the Java technology ? Sign up today and help spread the effort and make your voice heard!

I also attended Bruno and Sven’s talk on the "The Future Java Developer". They both touched some of the key points on embracing open source, remote working, freedom from hardware/software (ability to deploy in cloud), programming for multiple devices, revised costing model for SaaS/PaaS/IaaS, working in global teams, agile development, speech-to-code, and many others. The specific suggestions were:

  • Deploy applications in the cloud
  • Work with distributed teams from different cultures
  • Create architectures looking for simplicity
  • Think of services
  • Become a polyglot programmer

Their complete slides are available here.

One of my colleagues (Tomas Nilsson) here is getting ready for a marathon. He was kind enough to take me out on a run in sub-zero Stockholm downtown (yes, it was some 16F). I’ve always felt that running gives a unique perspective to view a city and I was not disappointed today at all, especially Tomas did a great job explaining the key vista points. Now our GPS watches could not find the satellite for the first 20 mins but here is our running map:


Good luck Tomas, you’ll do well, happy running!

The evening was enjoyable as well in the world’s first permanent ice bar, appropriately called as Icebar Stockholm. No matter what the temperature is outside, the inside temperature is always maintained at -5C year around. The entire interior including the glasses are made from clear ice from a local river. You have to wear a cape to protect yourself from the cold temperature and also to protect the interiors. You’ve to make a reservation as the attendance is restricted but this is a must stop if you are visiting Stockholm.

Here are some pictures from Day 3:

And the complete album is now available at:

Thank you Mattias for running a wonderful show and providing an opportunity to participate in my very first JFokus and now looking forward to participate in JFokus 2012!

And after being out for 8 days … so ready to go home now :-)

Technorati: conf jfokus javaee6 glassfish cloud sweden stockholm

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot

February 15, 2011

JFokus 2011 Day 2 Trip Report – Pics with JMan & JWoman

Filed under: General — arungupta @ 4:00 am

JFokus 2011 Day 2 started by Mattias explaining "Information, Inspiration, Innovation" mantra. The idea is to get information from the speakers, inspiration from each other, and do the innovation for all so that the entire Java community is benefited. With over 1100 attendees, 60 speakers, and 30 partners there were ample opportunities to network and embrace the mantra.

The two newly nominated Java Champions were announced by Bruno Souza on the stage … (drum roll please) … Rickard Öberg and Jonas Boner!

Many congratulations to them!

Jonas made a very powerful statement "No platform is as comparable to Java for deploying your applications" and "Java has a bright future, the beast is not dead". This was quite evident in the energy level of all the Java enthusiasts attending the conference.

Day 2 for me was mostly about socializing at the exhibitor floor, going around the city (first time here), and then giving my talk on Java EE 6 Toolshow. I spent good time with a few vendors trying to understand what and how they are using Java EE. Diversify, for example, is trying to run Java in the Azure environment. And they’ve even deployed GlassFish in Azure … deja vu :-) I shared my Java wishlist for Azure and they’ll be sharing that feedback with Microsoft. Actually the Microsoft guys were at the next booth and we had a great conversation about the missing pieces. There are some basic differences between how Microsoft sees Java developers should build their applications and how they are actually being built. So I think there is some learning required on that front, IMHO. It was good to talk to JBoss guys about co-opeting to ensure Java EE standards stay relevant and we talked some stuff about future Java EE  as well. And some other opportunities were discussed which will hopefully turn into actual deliverables and you’ll the results on this blog.

The Java EE 6 Toolshow (about 450 attendance per the crew) was a slides-free talk that explained how to build a Java EE 6 application using the new and updated APIs in the platform. Juggy, the mascot of JUGs, was asking some very intelligent questions like "What about other vendors going Java EE 6 compliant", "Why WebLogic and GlassFish from Oracle" and I think I explained them well. But just to highlight these two answers:

Q. When are other vendors going Java EE 6 compliant ?
A. There are two vendors that are Java EE 6 certified – TmaxSoft is full Java EE 6 certified and JBoss 6 community edition is Java EE 6 Web-Profile compliant. Other than that WebLogic has announced plans to be Java EE 6 compliant, and similarly Websphere, Geronimo, and Caucho Resin have announced similar dates as well.

Q. Why WebLogic and GlassFish from Oracle ?
A. Use GlassFish if you want Java EE 6 today, if open-source is a requirement for you, or if you want the latest cutting edge innovation from Oracle. If you want Fusion Middleware, tighter integration with other upstack components like Coherence, RAC, and Database then WebLogic is your required solution.

Thank you Juggy for making the session interactive and adding the fun factor as some attendees stopped by in the evening reception and seem to like it :-)

The screencast #37 shows all the different tooling options for Java EE 6 using NetBeans and screencast #36 shows the same using Eclipse. The application built during the talk can be downloaded here.

Here are couple of tweets from the talk providing instance feedback:

@jduchess: #JFokus JEE6 toolshow: Arun gave us a nice demo of how easy and fast it is to deploy webapps with Netbeans and Glassfish.
@helenaferry: Arun Gupta presenterar Java-verktyg tillsammans med en fågel. Kul kille. :-) #jfokus http://t.co/D0bHJC

The band (Soulfood) in the evening reception played some good music and you can enjoy some for yourself:

Here are some pictures from Day 2:

And check out th
e pics with JWoman (newly launched this JFokus) and JMan:

And here is the evolving photo album so far:

Last and final day starts in a few more hours …

Technorati: conf jfokus javaee6 netbeans glassfish sweden stockholm

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot
Older Posts »

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
Powered by WordPress