Thursday Apr 19, 2012

Java EE Brings Power to the POJO

Enterprise Java Beans (EJBs) have come a long way in since J2EE 1.4.  Beginning with Java EE 5, building transactional, secure, message-oriented, and persistence-aware business components has become significantly simpler. EJBs have become annotated Java objects, where  annotations enhance the features of the POJO thanks to integrated JSRs like EJB 3.1, Bean Validation, Interceptors, Contexts and Dependency Injection, Expression Language, JAX-RS Java Persistence Architecture, and more.  Let's not forget convention over configuration!

Thanks to some "house cleaning", Container Managed Persistence (CMP) and Bean Managed Persistence (BMP) have been deprecated.  While still supported in Java EE 6, vendors have the option of not supporting BMP/CMP in the future Java EE 7 release.  If your applications use BMP/CMP, it is time to investigate the much simpler Java EE 6 programming model! Along these lines, here are some resources to help you out.

Cheng Fang has a post on remote EJB invocation using GlassFish, where one EJB can invoke another EJB across JVMs. This is a recommended read if you are building distributed applications or integrating multiple business systems.

Learning about EJBs is as easy as picking up the Java EE 6 Tutorial, the EJB 3.1 Cookbook, or Enterprise JavaBeans 3.1.  More generically, check out Adam Bien's books on Java EE, which cover EJBs as well.

Tuesday Mar 23, 2010

More EJB 3.1 Features: Application-Specific Portable JNDI Names


Ken has been writing a nice series of posts explaining new features in the EJB 3.1 specification. A few weeks ago he first explained the new Singleton Components and then showed how to use them for Application Startup / Shutdown Callbacks. His latest entry shows another aspect of the specification: Application-Specified Portable JNDI Names.

EJB 3.1 is an example of the improvements in Java EE 6 and was covered (by Ken) during our Virtual Conference last December. Alexis is in the process of making those recordings available at the GlassFishPodcast (available as MP3 and via the Apple iTunes store); Ken's presentation is Episode #47.

Friday Jun 26, 2009

New EJB 3.1 Overview Article


Ken and the Expert Group have done a great job in making EJB 3.1 easier to use and Ken has been also easing learning it through a number of short notes: [1], [2], [3], [4], [5], [6], [7]. Ken's latest addition is an Overview with Samples where he covers all the highlights.

So, if you are curious about EJB 3.1, check Ken's Overview and try it on GlassFish v3 Preview.

Thanks to Ed for the tip, and, for related entries, check the EJB3 and javaee6 tags.

Monday Jun 08, 2009

NetBeans 6.7 RC2 Now Available - And Writting Servlet 3.0 and EJB 3.1 Applications


The second release candidate for NetBeans 6.7 is now available - check RC2 Download Page and James' Writeup. The next RC should be the final.

Note that NB 6.7 still includes the old "GFv3 Prelude" release and you need to manually install GFv3 Preview (the J1 release). For example, check Arun's writeup for has a detailed explanation on how to use NB 6.7 to write Servlet 3.0 and EJB 3.1 Applications

Friday Mar 13, 2009

EJB 3.1 Proposed Final Draft


The EJB 3.1 Expert Group has released the Proposed Final Draft. Changes in this draft include Improved portable Local Session Bean lookups, Timezone support for calendar-based timers and Spec-defined stateful session bean timeouts

EJB3.1 (and .lite) are key pieces of Java EE 6 and this announcement is an important step towards that release. Check out Ken's writeup and provide feedback to the Expert Group.

Saturday Nov 08, 2008

EJB 3.1 - More Features Available to Try


EJB 3.1 continues to make forward progress. Ken gave an overview of EJB 3.1 as part of last Thursday's GlassFish Day (slides, recording), and Mahesh pointed out the implementation Supports Singleton as part of the GFv3 Prelude Launch Blogfest.

Actually, as Noted by Ken, the following are one Update Center click away from you: WAR packaging, Singleton, No Interface View and Portable global JNDI names.

So, check it out and let Ken and Mahesh know how it works for you.

Sunday Nov 02, 2008

Adam's latest article : From legacy technology to secret weapon

JavaWorld logo

GlassFish users probably take EJB 3, JPA, and dependency injection for granted but with others application servers reaching Java EE 5 compliance, Adam Bien's article on EJB 3 at JavaWorld is very timely. The article discusses how EJB 3 streamlines enterprise development and make them an appropriate technology for large but also small and midrange applications.

Adam states that "(EJB's) are in fact the only vendor-neutral and portable solution for enterprise server-side applications" and goes on to contrast EJB 3 with previous versions from a developer perspective. The article describes how lookups and factories are replaced with dependency injection, the POJO + annotation approach, but also covers the use of ejb-jar.xml as well as interceptors (described here as lightweight AOP).

The article concludes with EJB 3.1 upcoming enhancements such as easier packaging (WAR), no-interface views, singletons, etc... Make sure you try the EJB 3.1 preview available from the update center of GlassFish v3 "Prelude".

Thursday Oct 23, 2008

... Seam and Terracotta with GlassFish, JBoss new Portal, EJB Timers, NB 6.5 Builds, Android as FOSS

A compilation of today's news of interest:

Radio Receiver Icon

More frameworks come with GlassFish support out-of-the-box. Seam 2.1.0 GA is out and GF support is now explicitly mentioned ([1], [2]), and Terracotta 2.7 is out, also with GlassFish support ([2]).

JBoss announces a new relationship with Magnolia (website). The tip landed in my inbox as a "new JBoss portal strategy" and there seems to be some angle there as is switching from the JBoss portal to Magnolia Enterprise, but I think of Magnolia as mostly a CMS product rather than a portal, so will keep an eye on more details. See Announcement.

NetBeans continues to get closer to NB 6.5. The community builds with the multiple localizations are now available for review and feedback - check out Masaki-san's writeup.

GlassFish v3 Prelude includes support for the EJB 3.1 draft through the new update center, and Marina has modified instructions on how to Use the EJB Timer (small modification from previous instructions).

And, as Android becomes more real, Google has Open Sourced it.

Saturday Oct 04, 2008

Seam in Action... with GlassFish Server


Dan Allen, the author of Manning's Seam In Action just posted a note explaining how to Deploy a seam-gen Project to GlassFish. The note is based on a more Detailed Description in the Seam in Action Wiki.

The instructions currently only cover WAR projects, but Dan says he will expand as soon as he has a moment. We are also trying to find a date where he can present on this topic and on JBoss Seam in general in the GlassFish Online Webinar.

Wednesday Oct 01, 2008

EJB 3.1 Public Draft Now Available

Webinar Reminder - Ken will present on this topic today (Thursday) at 11:15 am Pacific Time in the GlassFish Online Webinar.


The JSR-318 EG has released the Public Draft of EJB 3.1 (Download). Ken (the EG lead) is soliciting feedback by email or directly in his blog.

Ken will continue to providing highlights of the new features through his blog, a practice he started after the first Early Draft ([1], [2], [3], [4]). His latest entry is Guide to the EJB 3.1 Public Draft.

Maybe Mr. EJB, like Mark Twain, will be able to say: "The report of my death was an exaggeration"

Saturday Sep 27, 2008

Webinars this Week - EJB 3.1, GlassFish Partners


We have two Webinars this week:

• On Monday, Sept 29th, 9am PT, a Special Webinar for GlassFish Partners, to cover GlassFish v3 Prelude and the rest of the GlassFish roadmap.

• On Thursday, Oct 2nd, 11:15am PT, a Technical Overview of EJB 3.1, by Ken Saks (Note the new start time). Ken says the EG has a new draft almost ready, hopefully he will be able to cover it.

Thursday Sep 25, 2008

... Hudson for Windows, SpringSource Support, More Brazil, Saving on Storage, SocialSite

A compilation of today's news of interest:

Radio Receiver Icon

Kohsuke is back from Brazil and has released Hudson 1.253 (will they ever get to Hudson 2?), now with improved support for Windows in Distributed Builds and also support for Parametrized Builds.

More on the new SpringSource Enterprise Support. Ryan (a long-term user of the GlassFish Server) was considering purchasing enterprise support for SpringSource and writes about his experience and quoted price tag.

Sun and Greenplum are setting up a very large data warehouse for Fox Interactive Media on top of Solaris, ZFS and a bunch of Thumpers. Check out Jonathan's Writeup and the joint Press Release

Arun is still in Brazil for the rest of this week and next week. Today he was at DF JUG in Taguatinga. And, if you want to listen to Kohsuke presentation to CeJUG, check out the bottom of the page on the Aniversário do CEJUG - nice audience!

The SocialSite team is encouraging external participation: SocialSite Wants You! Check out the List of Proposals for ideas.

Saturday Aug 30, 2008

... Metro and JAXB, Sahoo, NetBeans 6.5, SpringSource, OpenDS, and Wonderland and Blender

A compilation of today's news of interest:

Radio Receiver Icon

From Jitu, a description of how to use JAXBContext in Metro.

From the SDN Team, it is Sahoo's turn to have his 15 Minutes of Fame; check out Janice's Interview where they cover many topics, from working from India, to OSGi.

Davis has a short note showing how to get started with a Servlet App using GFv3 Prelude in NetBeans 6.5.

The ever-observant Adam asks whether SpringSource is Working on EJB 3.1. Not sure if he is reading a bit too much into the tealeaves, or whether somebody had an oops...

From OpenDS community, Terry reports on his OpenDS Access Log Analyzer WebApp, intended for a future putback into OpenDS. And, a very complimentary testimonial about the ease of installation of OpenDS from KR in his OpenDS in 5 Minutes.

And, from Wonderland they have started creating a new, high quality, public world (see WonderBlog and Angad). A nice part is that they are going to be using Blender for the graphics. Blender is an open source tool that seems to be gaining adoption, the results are very good - see for instance the trailer for The Big Buck Bunny. Blender is also a Sun offering at Network.Com/Apps/Blender (thanks to Kevin for the tip).

Sunday Aug 24, 2008

... Saving Money with JavaCAPS, From NB to GF, Mural Tutorial, EJB Performance

A compilation of today's news of interest:

Radio Receiver Icon

From Kevin and Mark - The recent Price Increate on Oracle Fusion has lead to a new conversion offer for Java CAPS (our SOA product built on GlassFish Server and OpenESB). Check Kevin's and OnTheRecord, these videos (beware! auto-run) and InfoWorld and TheRegister.

Alexis noticed a common thread in several comments in the USER alias for GlassFish Server and explains How Configuration on NetBeans may differ from that of your deployment GlassFish Server; and what to do about it.

Thanks to Swen-Helge for a pointer to this Mural/MDM tutorial.

From Adam a report on Informal Performance of Remote EJB. Adam has a number of entries at his blog arguing for EJB 3(.x) as lightweight component.

Monday Aug 18, 2008

EJB3 showing strong adoption in Germany


Adam Bien reports on very nice EJB3 adoption numbers as reported by a German IT magazine survey. The choices given to participants seem quite fair and give the survey some credit IMO. I wonder how much impact Adam's consulting work and blogging has had on the result! It would been nice to be able to compare these numbers over time (say with 1 or 2 years ago).

EJB 3 was a huge step in the right direction and EJB 3.1 (part of the upcoming Java EE 6) is looking at many improvements such as simplified packaging, read-only beans, singletons, and more. You can start testing some of those new features in GlassFish v3 builds (use Tech Preview 2 for instance) and getting the EJB 3.1 preview container from the update center (bin/updatetool).

More coverage on EJB if you follow this EJB tag.