Wednesday Apr 16, 2014

JSON Schema

We often tends to compare JSON against XML, i.e. JSON is simple, XML is not so simple. JSON is light, XML is heavyweight, etc. But there are still reasons to prefer, in certain cases, XML over JSON : e.g. transformation capability, XML extensibility, validation, ...

A question I sometime get when I talk about JSON-P support in Java EE is what about Schema? The works around JSON Schema standardisation is progressing but right now, this is still a draft specification. Nevertheless, this is something that you can already start to use. For example, this post shows how-to generate JSON Schema with Eclipse Link MOXy today.

As said earlier, the JSON Schema space is evolving, there are works that needs to be done at various levels but we can expect, over-time, an improved support for JSON Schema in the Java ecosystem. 

Monday Mar 03, 2014

Want to Work on EclipseLink/TopLink? Oracle is Hiring!

Want to become part of the dynamic, high-profile team that is working on EclipseLink and TopLink? Here is your chance! The TopLink team is looking for top notch developers to help expand. As you may know, EclipseLink is the JPA reference implementation included in GlassFish while TopLink is it's commercial rendition included in WebLogic. As part of the job, you'll be working with JPA, Java EE, EclipseLink, TopLink, GlassFish, WebLogic, JAX-B, JAX-WS and much, much more. This is the time to update your resume/CV and share it with us! The job is based in Prague, Czech Republic.

The formal details of the job are on LinkedIn.

If you are interested and have any questions, please feel free to get in touch with the EclipseLink team or drop an email directly to pavel dot bucek at oracle dot com.

Wednesday Oct 09, 2013

Using NoSQL with EclipseLink and JPA?

NoSQL is obviously a hot topic in the enterprise these days, at least at the water cooler if not in the production data center. The momentum is such that despite being seen as a stalwart of relational databases, Oracle too has entered the NoSQL ecosystem with Oracle NoSQL. Naturally, the question of how to use NoSQL databases in Java EE applications (specifically existing Java EE 5 and Java EE 6 applications) comes up all too often. As it so turns out there are a number of very interesting initiatives out there to radically simplify the usage of NoSQL databases in Java EE applications by creating JPA based facades over them (strictly speaking, JPA as it stands today is not intended to support NoSQL from a purely standards standpoint). Such efforts include one from non other than the team behind the Oracle JPA reference implementation EclipseLink. In a code driven blog post, Huseyin Akdogan demonstrates how to use MongoDB using EclipseLink NoSQL. You are also welcome to check out my own slide deck covering using NoSQL databases in Java EE with or without a JPA flavored API (using just plain CDI):

Interestingly, NoSQL support featured quite prominently in the results of a survey around JCP standards put together by the London Java Community (LJC). It would be interesting to hear your thoughts as well.

Robert Greene, John Bracken and Shaun Smith held both a technical session titled "Building Oracle NoSQL Database Applications with EclipseLink" and a BOF titled "Java Persistence for NoSQL" at JavaOne 2013 on this topic. Stay tuned to Parleys.com for the video recordings of the sessions.

Friday Jul 26, 2013

Oracle Grants TCKs for EclipseLink and Virgo

The TCK is a key piece of the puzzle in strongly safeguarding compatibility for anything Java. Generally speaking, companies that make money from compatible Java technology implementations have to pay license fees to run the TCK. This license fee is one of the few sources of money that helps pay the bills for the JCP/TCK process itself.

Nonetheless, Sun and now Oracle has always had a way to grant TCK scholarships for (primarily open source) non-profits and academic institutions. For example, Apache and OW2 have long had Java EE TCK scholarships to certify Geronimo and JOnAS. Oracle recently extended the gesture of good will to the open source community by granting TCK scholarships to the Eclipse Foundation for certifying EclipseLink and Virgo.

Most of you are probably already familiar with EclipseLink - it's the open source JPA reference implemention seeded via a code contribution from Oracle TopLink. You probably are not that familiar with Virgo in comparison - it's an open source Java application server from the Eclipse Foundation. Most of you will probably remember that Virgo was created when SpringSource decided to donate dm Server to the Eclipse Foundation a few years ago. Thanks to the TCK scholarship, Virgo will now aim to become another great Java EE Web Profile application server choice for you instead of just a focus on OSGi and Spring.

This is what Mike Milinkovich, executive director of the Eclipse Foundation, had to say about the grant: "It is important for the Eclipse Foundation to provide our community with the tools they need to enhance developer productivity. As a key contributor to EclipseLink and other projects, Oracle has been a strong supporter of our efforts. Through the Oracle Compatibility Testing Scholarship Program the Eclipse Foundation now has access to the resources we need to achieve Java EE Web Profile compatibility both for Java EE 6, as well as the forthcoming Java EE 7".

You can read about the details in this official press release.

Friday May 31, 2013

Java EE@JeeConf 2013

JeeConf 2013 was held in historic Kiev on May 24-25. JeeConf is the most significant Java conference in the Ukraine. The conference attracted a bevy of local and international speakers including Venkat Subramaniam, Yakov Fain, Talip Ozturk, Jacek Laskowski, Mohamed Taman and Sander Mak. Topics included Java SE, NoSQL, cloud, HTML5/JavaScript, Arquillian and of course Java EE.

I delivered two very well attended talks - my talk on Java EE 7 (our flagship talk) and a talk on using NoSQL databases in Java EE. More details on the sessions and JeeConf, including the slide decks and code, posted on my personal blog.

Thursday Mar 07, 2013

Java EE@DevNexus 2013

DevNexus 2013 was held in Atlanta on February 18-19. For those unaware, Organized by the Atlanta JUG, DevNexus is the most significant Java conference in the South Eastern US. As usual, DevNexus attracted a bevy of world class speakers including Ben Evans, Neal Ford, David Geary and Venkat Subramaniam.

I delivered two full-house Java EE sessions - one on Java EE 7 (our flagship talk) as well as a session on using NoSQL in Java EE via JPA and CDI. More details on the sessions and DevNexus, including slide decks and code examples, posted on my blog.

Thursday Jun 28, 2012

EclipseLink 2.4 Released: RESTful Persistence, Tenant Isolation, NoSQL, and JSON

EclipseLink 2.4 is released as part of Eclipse Juno release train. In addition to providing the Reference Implementation for JPA 2.0, the key features in the release are:

  • RESTful Persistence - Expose Java Persistence units over REST using either JSON or XML
  • Tenant Isolation - Manage entities for multiple tenants in the same application
  • NoSQL - NoSQL support for MongoDB and Oracle NoSQL
  • JSON - Marshaling and unmarshaling of JSON object
Eclipse Link 2.4

Here is the complete list of bugs fixed in this release. The landing page provide the complete list of documentation and examples. Read Doug Clarke's blog for a color commentary as well.

This release is already integrated in the latest GlassFish 4.0 promoted build.

Try the functionality and give us feedback at GlassFish Forum or EclipseLink Forum.

Thursday Apr 12, 2012

EclipseLink Moxy Provider for JAX-RS and JAX-WS

EclipseLink MOXy is a JAXB provider bundled in GlassFish 3.1.2. In addition to JAXB RI, it provides XPath Based Mapping, better support for JPA entities, native JSON binding and many other features.

Learn more about MOXy and JAXB examples on their wiki.

ALT_DESCR

Blaise blogged about how MOXy can be leveraged to create a JAX-WS service.You just need to provide data-binding attribute in sun-jaxws.xml and then all the XPath-based mapping can be specified on JAXB beans.

MOXy can also be used as JAX-RS JSON provider on server-side and client-side.

How are you using MOXy in your applications ?

Monday Apr 09, 2012

JPA and NoSQL using EclipseLink - MongoDB supported

EclipseLink 2.4 has added JPA support for NoSQL databases, MongoDB and Oracle NoSQL are the first ones to make the cut. The support to other NoSQL database can be extended by adding a EclipseLink EISPlatform class and a JCA adapter.

EclipseLink and NoSQL

A Java class can be mapped to a NoSQL datasource using the @NoSQL annotation or <no-sql> XML element. Even a subset of JPQL and the Criteria API are supported, dependent on the NoSQL database's query support. The connection properties are specified in "persistence.xml".

A complete sample showing how JPA annotations are mapping and using @NoSQL is explained here. The MongoDB-version of the source code can also be checked out from the SVN repository.

EclipseLink 2.4 is scheduled to be released with Eclipse Juno in June 2012 and the complete set of supported features is described on their wiki. The milestone and nightly builds are already available.

Do you want to try with GlassFish and let us know ?

Monday Mar 05, 2012

GlassFish 3.1.2 Updated Components (Final)

Now that GlassFish 3.1.2 has been released, it's time to check on the exact list of updated components (one of the important themes in pretty much every release).

• JSF/Mojarra 2.1.6
• Grizzly 1.9.46
• Metro 2.2
• Jersey 1.11
• Shoal 1.6.17
• EclipseLink 2.3.2
• Message Queue 4.5U2
• OSGi Core 4.3.0
• Update Center 2.3.5
• Hibernate Validator 4.2.0-FCS
• JavaDB 10.8.1.2
• Weld 1.1.4.Final

ALT_DESCR

About half of the bugs squashed in this GlassFish 3.1.2 release were through the integration of those recent components.

Thursday Mar 01, 2012

GlassFish 3.1.2 coverage - Admin Console, mod_jk, EclipseLink, press, and other screencasts

Now that GlassFish 3.1.2 is out the door (download it here) we can have a look at some of the coverage for the release focusing on specific features.

ALT_DESCR

• John has a presentation walking through the main new features of GlassFish 3.1.2
• Amy blogs about Apache mod_jk load-balancing with 3.1.2
• The Oracle Java Blog covers the highlights of the release.
• Anissa has all the details about the Web Console improvements
• Tim discusses the changes made to Secure Administration
• Blaise covers the impact of having EclipseLink's MOXy not integrated
• Arun covers with Sathyan the main new 3.1.2 release themes
• Anissa has a short screencast highlighting the new DCOM provisioning feature
• Arun has a rundown of the new features
• Paul has an post on the updated GlassFish 3.1.2 documentation
• MartinG covers what's new in Metro 2.2, JAXB 2.2.5 and JAX_WS 2.2.6
• Jason has the details for REST Security in 3.1.2
• Anissa also has this Managing Application Scoped Resources from the 3.1.2 Console screencast
• Byron discusses in greater details the new DCOM Configuration utility
• Joe covers the new secure by default GlassFish 3.1.2 feature and its impact
• Adam Bien has a 5-minute screencast showing Java EE 6 with NetBeans 7.1.1 and GlassFish 3.1.2
• Bhakti has the main release points as well as details on the updated NetBeans code samples for GlassFish
• Long-time tools guy, Vince provides an update GlassFish+Eclipse.
• TSS has a list of main themes for the release
• Heise.de also cover the main new features for GlassFish 3.1.2 (German)
• javahispano.org covers the simultaneous releases of NetBeans 7.1.1 and GlassFish 3.1.2 (Spanish)
• ITeye also covers the news (Chinese)
GlassFish 3.1.2 released (H-Online)
GlassFish 3.1.2 verfügbar (Entwickler.de)
Lançado GlassFish 3.1.2 (under-linux.org)
GlassFish Enterprise Server 3.1.2 (ZDNet Downloads)
GlassFish 3.1.2 - Oracle's Java EE server gets an update (JAXenter)
NetBeans IDE 7.1.1 Released, with Support for GlassFish 3.1.2 (Oracle Java blog)
NetBeans IDE 7.1.1 is here, quick to support newest Glassfish (JAXenter)

Thursday Jan 26, 2012

What's up with EclipseLink?

EclipseLink's Shaun Smith has recently been delivering a number of presentations on the status and future of the open source project. If you're curious about where innovative JPA projects are going, then you should check out this slide deck from Shaun.

ALT_DESCR

Here are the main themes covered:

REST: integration with JAX-RS to access relational data through REST with HTML 5 as the primary client with possibly JPA entities and persistence units defined via metadata with dynamic provisioning (i.e. no Java coding required).
EclipseLink NoSQL: annotations (@NoSql) and XML to identify NoSQL stored entities with initial support for MongoDB and Oracle NoSQL.
Multitenancy: already present in the shipping version of EclipseLink using the @Multitenant annotation and supporting different topologies with dedicated or shared application and/or database.

Next stop: EclipseLink 2.4 along with the June Juno Eclipse Release.

Tuesday Dec 13, 2011

Jersey 1.11 is here with MOXy support

Jakub, the Jersey lead has just announced Jersey 1.11 which offers EclipseLink's MOXy support, attaching filters to non-blocking clients as well as some docs cleanup.

Moxy Band

Jersey 1.11 is scheduled to be available as part of the upcoming GlassFish 3.1.2 release. More on other component updates for this release in an upcoming post.

I can't help but wonder if the number of Canadians involved in MOXy has anything to do with it being named after a heavy metal band. Project and product names are always fun stories.