Skip to main content

Java ME Platform SDK 3.0, Java's Amazing Adeptness, and more Jersey

Posted by editor on April 22, 2009 at 7:43 AM PDT

Yesterday's Java Today included Danny Coward's discussion about the benefits of the new Java ME SDK 3 release. Today I'm highlighting the Java ME SDK Team's formal announcement of the platform release.

The announcement includes a bit of history, quite useful for people who are new to Java technologies, or who are re-catching up with what's happened recently (like me):

Java ME SDK 3.0 is the successor to the popular Java Wireless Toolkit 2.5.2 and Java Toolkit 1.0 for CDC. It provides device emulation, a standalone development environment and a set of utilities for rapid development of Java ME applications.Users will get all-in-one for cldc/midp, cdc and BD-J development.

The primary new features include:

  • on-device deployment and on-device debugging
  • CLDC runtime based on PhoneME Feature
  • optimized MSA 1.1
  • new development environment based on Netbeans platform
  • integrated profiler and network monitor
  • lightweight UI Toolkit (LWUIT) support
  • device database WURFL search tool
  • BD-J support
  • Windows Mobile Java VM included

I have recently tended to believe that mobile applications might be the most important aspect of Java's future. Wondering what others think about this is what prompted this week's poll.

But the Oracle acquisition of Sun definitely brings the data center capabilities of Java to the fore. I've worked in a data center environment for a long time. We needed to guarantee a certain level of 9's, and to do so we went with techologies we considered highly reliable and capable of withstanding the kind of sometimes unpredictable stress that occurs in the data center environment. The software we needed to implement was not Java-based, but we chose Sun as our primary vendor for the servers, and we used an Oracle database.

It's a remarkable thing about Java, to me: that it's adept both at the "micro" level (i.e., Java ME in devices) and at the high-stress, high-volume, mission-critical data center level. Having tried to get a Microsoft-based mission-critical application suite to withstand hits from a few hundred users (I did this in the early 2000s), and having worked for more than a decade in Unix-based data centers, I really am someone who appreciates the difficulties involved in creating and maintaining a data center operating at a multiple 9's uptime level.

I know Java can be the basis of such high-end performance. So, to me, it reveals incredible flexibility when I see Java also being a significant force in the micro world. That's impressive!

Also: my investigation of Jersey continued with Paul Sandoz's Enterprise Tech Tips article Jersey and Spring. Thanks to peligri for pointing this out to us.

Jersey provides integrated support for Spring, and Paul's article demonstrates how to bring Spring into a simple web application, using Apache's Maven as the development and build tool.

Paul's demo brings a lot of prominent Java technologies into the mix. For example, GlassFish V3 Prelude must be running when you deploy the demo application.

The core of the article describes how to bring Spring into the application:

Now let's change the web application to use Spring. To do that, you need to take the following actions:

  • Modify the pom.xml file to include Spring dependencies.
  • Create a Spring application context configuration file.
  • Modify the web.xml file to declare the Spring configuration.
  • Modify the root resource class to be a Spring component.

Unfortunately, I didn't have time to actually try out the coding myself. But I'm hoping to be able to get into actual experimentation with the new Java technologies my new position as Java.net editor is exposing me to at some point soon!


The latest Java Mobility Podcast is
Java Mobility Podcast 76: Sound of Motion, in which Vladimir Savchenko of Sound of Motion talks about their Java ME application that transforms their cycles into advanced cycling computer.


In Java Today, as I talked about above, the Java ME SDK Team formally announced Released: Java ME Platform SDK 3.0 now available: "Java ME SDK 3.0 is the successor to the popular Java Wireless Toolkit 2.5.2 and Java Toolkit 1.0 for CDC. It provides device emulation, a standalone development environment and a set of utilities for rapid development of Java ME applications.Users will get all-in-one for cldc/midp, cdc and BD-J development..."

Also as mentioned above, Paul Sandoz published Jersey and Spring, describing how to integrate the two frameworks: "In this tip, you will learn how to use Jersey's integrated support for Spring, a framework for building and running enterprise Java applications. You'll learn how to configure Spring with Jersey and use Jersey's Spring-related features... To demonstrate Jersey's Spring-related features, you'll first create a simple web application, one that does not use Spring and then change it to use Spring..."

And peligri announces OpenDS, the Java OpenSource LDAP Server - This Week's Webinar, which will take place on Thursday at 11 AM US Pacific time: "This week's webinar is on OpenDS, the Open Source Java LDAP server that is at the core of the next generation for Sun's market leading DSEE Product. Ludovic will provide an overview of the project including the recent developments on the v2 release... Full details (and recordings) at the
Show Page..."


In today's Weblogs, Greg Brown is Announcing Pivot 1.1: "The Pivot development team is happy to announce the release of Apache Pivot version 1.1! Pivot is an open-source platform for building rich internet applications in Java. It combines the enhanced productivity and usability features of a modern RIA toolkit with the robustness of the industry-standard Java platform..."

Felipe Gaucho provides an interesting description of A Generic CRUD Facade for your @Entity Beans: "I am using a pattern to provide the basic CRUD operations to all @Entity types in my Java EE projects. This blog introduces the idea and give you a sample code to play. CRUD (create-read-update-delete) is a repetitive code in Java EE projects but it can be isolated in a unique class through the usage of JPA annotations and Generics - a class I call CRUDEntityFacade..."

And Sergey Malenkov answers the question How to store preferences?: "The Preferences API can be used by applications along with the installed security manager that enables using the preferences permission. However, WebStart-based applications cannot permit preferences only. You can permit all or deny all by using a jnlp-file. So, how to store user preferences for unsigned applications deployed through Java WebStart? ..."


This week's java.net Poll asks "Which of the technologies highlighted at JavaOne 2009 is of greatest importance for the future of Java?" The next poll will be coming out on Friday, so cast your vote in this week's poll soon if you want your voice counted.


This week's Spotlight, titled Java + You = Innovation, reminds us that JavaOne is just around the corner: "It's that time of year again. The 2009 JavaOne conference takes place at the Moscone Center in San Francisco from June 2-5 and is being sponsored by Intel (a Platinum sponsor), JBoss, and Sony Ericsson. This year's technical and Birds-of-a-Feather (BOF) sessions are organized around four topics: Rich Media Applications and Interactive Content; Mobility; Services; and Core Technologies. You can view information on all the sessions now and get a $200 discount on early bird registration until April 22."


In the Forums, rl7007 wonders about Glassfish support dynamic class loading from stand alone RMI app clients?: "I can't seem to dynamically load classes from my RMI standalone client. I've included the codebase option at run time, generated a policy file and a Security Manager. I've followed the instructions in the Glassfish FAQ by supplying the appropriate libraries (appser-rt.jar etc) to the classpath. I've also included the -javaagent option for toplink-essentials-client.jar (which one post recommended). I've verified with the Admin Console JNDI browser that the remote apps are registered. I can get the RMI client working if I supply it the classpath to all my jars, however, as the client will eventually reside on a different server, any time I make a change to a class, I don't want to have to copy and move the jar(s) to the client machine... "

technolgia has a new question about Re: JSR 75(PIM) Support for PhoneME: "Hi Davy, Thank you so much. I got it working. The problem was with the Base64 i was using to encode and decode. For some reason it does not work fine on HTC touch. I have another question. System.getproperty("os.name") and System.getproperty("os.version") on PhoneMe Advanced returns the name of the operating system and the version.But when i try the same on PhoneME feature it returns null and when i try System.getproperty("microedition.platform") it returns j2me and i badly need the version of the windows OS it runs. Could u kindly help me out with this..."

And cjno is experiencing some Encoding issues: "Hi, I've set up glassfish and deployed a war unto it, and everything seems to be fine. However, after playing around with my application I realized that it didn't handle UTF-8 characters in input well. The content-type header from the server says UTF-8, and all content (from db) is ok. But if I search for a character such as..."


Current and upcoming Java
Events
:

Registered users can submit event listings for the href="http://www.java.net/events">java.net Events Page using our href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
site.


Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.

Yesterday's Java Today included Danny Coward's discussion about the benefits of the new Java ME SDK 3 release. Today I'm highlighting the Java ME SDK Team's formal announcement...

Comments

I think it would be a mistake to give JavaME a lesser focus. Increasingly, tasks that have been performed on desktops are becoming available on hand-held devices. In many third-world countries, people are using smart cell phones without ever having used desktop computers (due to the expense of desktop computers, lack of electricity, and lack of ground-based internet infrastructure). For those people, and many others, their hand-held device IS their computer. JavaME is Oracle/Sun's ticket into that market, I think...

I'm not really glad to read this words: "But the Oracle acquisition of Sun definitely brings the data center capabilities of Java to the fore"... I'm not glad but unfortunanlty you're right... I hope that JavaME will be continued with the same interest from the Sun in years. Regards, Davide.