Archive for category Java

GlassFish Open Source Edition 3.0.1 is released

The GlassFish community announced today the immediate availability of GlassFish Open Source Edition 3.0.1

Quoted from GlassFish web site : “GlassFish 3.0.1 is built on a modular, flexible runtime based on the OSGi standard. It enables organizations to create and deploy Web applications with the lightweight Java EE 6 Web Profile and to easily leverage the power of the full Java EE 6 platform for enterprise applications. Developers also benefit from the simplified programming model and productivity improvements offered by Java EE 6. The result is a flexible platform that can apply only what is needed to address the business problem, thereby reducing cost and complexity”

GlassFish is released under a dual CDDL and GPL v2 license.

GlassFish Open Source Edition is supported by the community (mailing lists, forum and documentation wiki).  Oracle is expected to release in the next few days an equivalent commercial version, GlassFish Enterprise Server 3.0.1.

If you are curious to know were the GlassFish community is going and what is brewing for next releases, be sure to read the roadmap.

,

No Comments

JavaFX talk at the Transylvania JUG

A couple of weeks ago, I had the pleasure to be invited to deliver a talk and a lab to the Java developper community in Cluj, Romania: the Transylvania Java User Group.

I was surprised to discover a highly motivated and vibrant set of folks. Like usual, we had excellents exchanges before and after the lab

Lab and presentation materials are now available (a free registration is required for the Lab material)

Pictures of these two evenings will be shortly posted too.

,

No Comments

Hey Mark, we missed the point here !

I was recently watching Mark Reinhold‘s interview on Oracle Technology Network. Mark is Principal Engineer at Sun Oracle and works on OpenJDK and future Java SE releases.

The interview went over many different subjects around Java SE : projects coin (simplification), jigsaw (modularity), closures (…)

Mark was also insisting on the many –ities of the Java platform : security, availability, scalability, readability, …

One of my favorite is readability ! It is important to understand how a piece of code is expected to behave just by reading it.  This helps to reduce bugs when we write code and / or to easily catch bugs when reading code written by our peers.

Java SE 5, released about 5 years ago, introduced a feature called auto boxing, allowing to mix and match Java’s primitive types (such as int, boolean, …) with their Object counterpart (such as Integer, Boolean, …)

The objective of autoboxing is to simplify code and increase readability and, as such, is a welcome addition. But the devil lies into the details.

The example of code below shows incoherent behavior introduced by auto boxing :

Integer integer1 = 127;
Integer integer2 = 127;
System.out.println(integer1 == integer2); //true

Integer integer3 = 128;
Integer integer4 = 128;
System.out.println(integer3 == integer4); //false

You read it right : the first equality is true, while the second is false.

I would expect either both expressions to be false (Object references never must be compared for equality, my grand mother learned me) Or both expressions to be true (should auto boxing fullfil its promises).

This weird behavior is caused by some compiler optimizations happening behind the scene.  When the compiler is auto boxing values between -128 and 127, it always reuse the same Object instance.  In our example, integer1 and integer2 are therefore references to the same Integer object, hence the first equality.

For values outside of this (-128, 127) range, the compiler creates different Object instances for each reference, even when the values are identical.

We all learned that we should not use object references when comparing values, but auto boxing encourages us to write such code and when doing so, we end up with incoherent behaviors such as the one described above, which can make bugs very difficult to catch.

Hey Mark, if readability is really a concern : we missed the point with auto boxing !

[UPDATE 3 May 2011]

@jplandrain on Twitter points me to the Java specs where this optimization is specified. See the last sentence of the paragraph.

, ,

No Comments

Oracle + Kenai : clarifying the message …

Last week, when publishing a serie of webcasts explaining the Oracle + Sun product strategy, Oracle clearly announced the end of Sun’s sponsored source forge Kenai.com.

Today, Oracle sent a very different message to the community and recognized they poorly communicated about this.  To summarize it : current plans are to reuse Kenai.com infrastructure to power another Sun’s sponsored source forge : java.net (hosting projects such as GlassFish, OpenSSO and OpenESB amongst others).

Communities and projects currently hosted on Kenai.com will be migrated to Java.net 

Is it really a poorly executed communication ?  Or does Oracle step back due to community feedback ?

Should the later be correct, this is a good sign that Oracle is (very) quickly learning how to deal with the many communities it inherits when acquiring Sun Microsystems. 

,

No Comments

Oracle + Sun : Java Developer Tools and Communities FAQ

Earlier today, Oracle posted a FAQ answering the most common questions regarding development tools and developer comunities.  It addresses questions about java.net, Kenai, GlassFish, NetBeans, JavaONE etc …

This complements the previous Java Development tools FAQ posted last week. 

For more details about Oracle+Sun product strategy, you might have a look at the many webcasts available.

,

No Comments

Oracle + Sun IDM Strategy

Since Oracle’s Sun acquisition completed on January 27th, Oracle started a massive communication campaign to detail product’s roadmap and integration.

Regarding Identity Management (IDM) products and technologies strategy and integration, you can view the full web cast (18 minutes) or just read through my summary below.

Directory (LDAP)

Authorization and Access Management

As with other products, Oracle will extend OpenSSO support until 2014 (for premium support) and 2017 (for extended support).

Provisioning

  1. Oracle Identity Manager is strategic
  2. Oracle Identity Manager will be enhances with functionality of Sun Identity Manager (mainly SPML provisioning)
  3. Oracle plans to create migration tools from Sun Identity Manager to Oracle Identity Manager 
  4. Sun Identity Manager will be renamed Oracle WaveSet

Compliance

,

10 Comments

Oracle + Sun SOA Strategy

Since Oracle’s Sun acquisition completed on January 27th, Oracle started a massive communication campaign to detail product’s roadmap and integration.

Regarding SOA products and technology strategy and integration, you can view the full web cast (17 minutes) or just read through my summary below.

Oracle will obviously continue to focus on it’s Fusion Middleware offering, and more specifically, Oracle SOA Suite and Oracle Service Bus (formerly known as Aqualogic Service Bus from Bea).  This is the strategic SOA platform for the future.

  • Java CAPS will be maintained and improved for existing customers 
  • GlassFish ESB will continue as an open source project
  • Oracle plans to support collaboration between Java CAPS and Oracle SOA Suite through bridges technology, allowing to bring new features to Java CAPS such as SOA Governance, Workflow etc …
  • Oracle expects to integrate key features of Java CAPS into Oracle SOA Suite 

Oracle also extends the End of Support dead line for SRE 5.0.5, eGate 4.5.3, GlassFish ESB 2.1 and Java CAPS 6.2  to January 2014 (premium support) or Jan 2017 (extended support) 

As always, Oracle also proposes a lifetime sustaining support.

By the way, for those of you wanted to start with Oracle’s SOA Suite, my colleague Patrice just published an excellent three-parts tutorial in addition to the material published by Oracle.

,

No Comments

Java European Roadshow

Java European Roadshow, coming to a city near you ….

Join us to get an insight into recent trends, strategies and applications in the areas of Java and Java for Business. Learn how to keep your Java applications safe, reliable and secure and how to get the best out of your current Java platform, be it embedded, standard or enterprise edition, or Real-Time Java.

Meet and discuss with Sun experts David Hofert, Simon Ritter, Steve Elliott, Alexis Moussine-Pouchkine and others.

Register today !

No Comments

Java EE 6 online code camp is starting today

The first online Java EE 6 code camp is starting today, it is not too late to register.

The objectives of this code camp is to let you practice and code, code, code using key Java EE 6 technologies.

Online mentors (top notches guys from the Java community) will be available online to answer your questions.

One more thing : this is entirely free, so do not hesitate and register today

,

No Comments

JavaFX presentations and demo during our last JUG meeting

A couple of days ago, the Luxembourg Java User Group – YaJuG – and the Lorraine JUG held a last meeting before the holiday season.  They invited Simon Ritter and myself to talk about ademo JavaFX.

The meeting was organized on a boat (une péniche) usually dedicated for theatre performances

The slides are now posted on YaJuG’s web site while Lorraine JUG posted some pictures on Picassa.

French local newspaper "Le Républicain Lorrain" wrote a short paper about this and even sent a photograph for the occasion (lower left of the page, in french !). 

, , ,

No Comments