Once you've finished your session proposals for the JavaOne conference, it's time to move on to the next most important to-do: your entry for the annual T-shirt hurling contest. This tradition of building elaborate machines to toss T-shirts into the main-hall crowd, organized and hosted by Java creator James Gosling, now has its own java.net project. The page currently hosts contest rules and an entry form, along with a look back at Dr. Gosling's 2003 trebuchet entry, and promises more updates in the near future.
Be the first on your block to take the beta version of the revised Sun Certified Programmer for the Java 2 Platform Standard Edition 5.0 exam. The beta costs $49 and allows between four and five hours to complete 166 questions. The beta exam will be offered between January 13 and February 13, 2005. Here is a pdf describing how to register for the exam and here is a pdf describing the goals tested on the exam.
Dynamic content is much easier to serve and accelerate thanks to OSCache, one of the Open Symphony projects on java.net. OSCache caches portions of JSP's, binary content like images and PDF's, and even any Java object. It can also return cached items in case of a server-side error (instead of blowing out of the whole page), and supports clustering, persistent caching, and programmatic control of caching.
Safari, the premiere collection of technical electronic books for developers, has offered its services to java.net members through two projects: Safari search plug-ins for NetBeans and for Eclipse. These plug-ins put a wealth of Java information at your fingertips, without leaving your IDE of choice. If you're not ready to subscribe to Safari yet, you can try it for 14 days free, using either the 10 books of your choice or a pre-populated bookshelf that's already set up for you.
JCK, the J2SE Technology Compatibility Kit used by Sun and licensee partners to ensure compatibility in different Java implementations, is now available as a read-only source release in the JCK project. While licensees have always had access to the JCK, this is the first time the developer community at large has been able to see the compatibility test suite, and better understand how compatibility is assessed between different virtual machine implementations.
Peers in the field of bioinformatics can share their efforts more effectively, thanks to the Chinook project. Chinook is a peer-to-peer bioinformatics system, turning command-line analysis applications into services that can be accessed over the internet. Over 25 such services have been made "Chinook-ready" and more can be added easily with XML. Chinook was awarded the 2004 BCNet "Best Overall Application Award" in the "Coolest Application" competition at the 4th Annual BCNet 2004 Conference.
The Portlet Community has recently made its debut on java.net. The community is dedicated to sharing information and code for building web portals, which are loosely defined as offering some combination of content aggregation, personalization, search, and single sign-on. The community is particularly interested in JSR-168, which aims to standardize portal components, or "portlets".
The "Mustang" Snapshot Releases give developers access to the latest features and fixes made to the J2SE 6.0 release. Whether you choose to download the binaries or the source code, be aware that these early releases are only lightly tested before being made available so if you are risk averse or inexperienced, these snapshot releases should be avoided. Read Mustang Shapshots: Another experiment in openness by Mark Reinhold. Update: Build 13 was added on November 18, 2004.
WebWork, housed both on java.net and opensymphony.com, simplifies web application development by providing reusable UI components, pluggable configuration, an Inversion of Control (IoC) container, data mapping from HTTP to Java objects, a validation framework, and more. Though not as well-known as some app servers, it is popular enough to be covered by several books, including Java Open Source Programming and Art of Java Web Development.
The 2004 JCP Committee Election is now underway and is open through November 15 at Midnight PST. Members can vote for the open seats on the J2SE/J2EE and J2ME Executive Committees. Election results are to be available on November 16, with winners beginning their terms on November 30. More information about the election process is explained in the FAQ section
The Leafy project is designed to enable socket-based distributed systems that incorporate non-J2SE participants, such as J2ME devices and non-Java nodes. It is being used as the basis of LeafySeadragon, an application that uses underwater hydrophones to research two-way communication between humans and cetaceans (dolphins, porpoises, whales). A java.sun.com article on LeafySeadragon has more details on how it works.
Dealing with hundreds or thousands of audio files is hard enough, especially if you like some and don't like others. The Attune player from the Java Desktop community offers a solution: pay attention to what the user plays and what he or she skips over, then play more of the music the user seems to like. The simple player is already good enough to be used for daily listening, and the project is soliciting help from developers with Swing, JMF, and I/O skills.
The Java Communications community hosts several voice over IP projects, most based on the Java API's for Integrated Networks (JAIN), which was featured in a recent Java Developer Journal article. The jain-sip project features an implementation of the Session Initiation Protocol (SIP, also RFC 3261), which enables projects like the sip-communicator audio/video softphone.
java.net's ongoing success stories series is spotlighting JOGL, the project to allow Java programs to use the OpenGL 2D and 3D graphics API. In this article, JOGL co-creator Ken Russell speaks with editor Chris Adamson about JOGL's history, its accomplishments, and its future.
Several new features are available to help promote your java.net projects. Project owners can now indicate that the project contains a downloadable executable by clicking on 'Change your project directory settings' from their "My Pages" tab. This will cause a special "downloadable" icon to appear alongside the project name in the project directory. Also, project announcements are now available via RSS - details for setting up a feed for your project are available on the Getting Started page.
The JavaDesktop community project Flying Saucer is a 100% Java XHTML renderer, designed for embedding XHTML content into desktop applications. The recent beta release 3 (a browser demo is available via Java Web Start) offers 10x speed improvements and greater fidelity with the CSS 2.1 standard.
Separating web application appearance from functionality is made easier with SiteMesh. It allows you to assemble web pages from smaller, dynamic parts, and add a consistent appearance at the end of the process. The result is pages that look nicer and are easier to maintain, and special-purpose pages like printer-friendly pages are a snap. A feature article by Will Iverson can help you get started with SiteMesh.
Reducing the learning, design, and coding requirements of desktop applications is the goal of the JDesktop Network Components. Announced at JavaOne '03, the JDNC project provides extensions to Swing, a JNDC API to make using these extended components easier, and an XML markup language to allow building some or all of the GUI without writing Swing code. JNDC GUI's can then be deployed as standalone applications, Java WebStart applications, or Java Applets.
JSP performance is a critical issue for major web sites, and the java.net project OpenSymphony Cache can help. The fast and flexible system can cache JSP's or other servlet-generated content, works in clusters, and supports a variety of disk- and memory-based caching strategies. It's used by popular, high-traffic web sites, including TheServerSide, JavaLobby, and JRoller.
Open-sourced at JavaOne 2004, Project Looking Glass uses 3D visualization and windowing to redefine the desktop experience. The authors say: "we're releasing the Project Looking Glass code to the whole community to explore every aspect of the technology rather than restricting access to a privileged few."
The Safari search plug-in currently works with Eclipse version 2.1.3 and will soon be available in version 3.0. Now, without leaving the IDE, the developer can type in the keywords in the Safari search window and execute a search on the Safari library.
The Mac Java community focuses on Java development on and for Macintosh operating systems. Community projects include MRJ Adapter, which makes it easier for developers to use Mac-specific features in different versions of Java on the Mac, and JNI Direct, which simplifies the use of native Mac code.
Sun has open-sourced the Java 3D API on java.net's Java Desktop Community. java3d is a parent project, containing the subprojects j3d-core, vecmath, j3d-core-utils and j3d-examples. A contributing to Java 3D page explains how to get involved with Java 3D development.
The RIFE project offers a simplified approach to web application development. Its loosly coupled, robust system allows developers to use only the pieces they need, and to bring in whatever outside components a developer may want. Along with supporting several public websites, RIFE powers the Drone sub-project, an auto-responding IRC 'bot. RIFE allows Drone to offer simple deployment and web-based administration. Both are part of the Java Tools community.
The new JSR community is a "gathering place of those who are involved in JSR projects as well as those interested in work defined by the JCP process. This community is designed to be a place for JSR discussion and collaboration. The development of the outputs of a JSR the Specification, the Reference Implementation (RI) and the TCK will take place here on java.net." The JSP spec work and JSTL spec work are already featured in projects
The Java Distributed Data Acquisition and Control (JDDAC) Community has released the first version of the JDDAC framework. The project provides common components for building intelligent systems in industrial, test, measurement and control environments. The first release includes a simple J2SE application to exercise the included Java Transducer Interface (JTI) and Java Measurement Dataflow Interface (JMDI) implementations. The purpose of this release is to offer an early preview of two of the JDDAC APIs, as well as providing a simple "Hello World" type data
acqusition application that developers can build upon.