| View Archives: Homepage | Projects & Communities | Also Today | Spotlights | Success Stories | Articles | Weblogs |
Two New Public Domain Duke Icons
Roedy Green's long-running Java Glossary has posted two professionally created Duke icons in ico and png format in various sizes under its Duke listing. "JRE Duke" is a slim Duke as a runner, while "JDK Duke" is a full-figured Duke as a carpenter. Duke was open-sourced as the Duke project, where you'll find many more images, animations, and 3D models of the Java mascot
From the Trenches at Sun Identity, Part 3: Federated Access Management Simplified
The SDN article From the Trenches at Sun Identity, Part 3: Federated Access Management Simplified is the latest in a series involving OpenDS and OpenSSO. In this installment, Sun senior product line manager Daniel Raskin discusses the background for merging two of Sun's access and federation management products and the new capabilities that focus on simplicity, ease of use, efficiency, and convenience.
Pulsar project
The Pulsar project is a Java-based peer-to-peer streaming client that allows the distribution of audio and video in the Internet, both live and on-demand. As viewers help forward the content, there is no need for strong servers. With the release of version 0.6 Pulsar has now become open-source and is hosted on java.net. Various subprojects, like the media player or its peer-to-peer protocols also work independently from Pulsar and can be reused for other projects.
From the Trenches at Sun Identity
In a pair of interviews, "From the Trenches at Sun Identity," Marina Sum covers identity management projects for the Java developer. In the first part, Access Management for Web Applications, Jamie Nelson, Sun's director of engineering for access and federation management, points out a major oversight in Web development, elaborates on the current state of single sign-on, and suggests the right tool and the right platform for securing application access. Part two covers OpenSSO, a Thriving Community, with Sun federation architect Pat Patterson reflects on the java.net open-source project for single sign-on, outlining its mission, adoption, challenges, future, and an unexpected boon to Sun. OpenSSO is a twin of Sun Java System Access Manager.
Introducing NetBeans Plug-in Development
A recently-developed page on the NetBeans wiki offers a tutorial for would-be plug-in authors, in Introducing NetBeans Plug-in Development. It describes key concepts for NetBeans plug-in development, and offers a complete tutorial that shows how to create and configure a module, add a window component so that it can appear as a new tab in the editor, and load the module into NetBeans.
JavaZone 2008 Conference Call For Presentations
JavaBin, the Norwegian JavaUsers Group, has announced a call for presentations for the 2008 edition of JavaZone. The event will take place in Oslo, Norway on September 17 and 18. 2008 marks the seventh year that this event will be held. Last year was a massive success with more than 2200 attendees enjoying over 90 sessions in seven parallel tracks. The CFP closes on April 14, 2008.
Bluetooth message service
The goal of the Bluetooth message service project is to "provide a simple and easy to use interface that users can use to send messages, images and files each other while maintaining anonymous." A discovery service has already been implemented, with new work focused on implementing connections and a server side program (based on the BlueCove API, which allows use of a PC's Bluetooth stack).
Checking out NetBeans from CVS and doing headless builds
A page on the NetBeans wiki offers a thorough guide to Checking out NetBeans from CVS and doing headless builds: "Most of you might have already got an idea of what exactly is NetBeans IDE all about, its time to take the next big step- work with NetBeans sources. You might have even encountered some bugs, might have filed them on IssueZilla as well. Also, you might have tried out the sample Plug-in's as well as other Rich-Client App's etc. Now, its time to get your hands-on their source code. [...] This document is going to provide you ways on how to use CVS effectively. This is my personal experience which I'm sharing with you people. I hope everyone would be able to benefit from this doc."
Educational Management School Information System
The owners of the Educational Management School Information System (EMSIS) tell us they're "the most ambitious Open Source project in Lebanon!" Explaining further, they say, "after more that 12 years of unsuccessful trying to develop a national distributed EMIS and SIS system. We just lunch the EMSIS Open Source Project with only one ambition "Have the system working in less that a year!!" The project will contain at least some basic modules such as: student tegistration and enrollment, human resource module, grading and student follow up, school facility management, course management system, and tools for parents."
Introducing the OpenDS Project
An SDN article Introducing the OpenDS Project, offers an overview of the OpenDS project on java.net. "OpenDS, an open-source software (OSS) project, was launched in 2005 by a small team of Sun engineers. Their goal: to build a directory service with the ease of use that developers desire and the scalability required in carrier-grade deployments. Their success thus far -- OpenDS stands out from other directory servers by virtue of its full-stack roadmap, intuitiveness, platform portability, and a large, experienced, full-time community of developers, QA engineers, and documenters."
Ant Build Script Optimization
Ant build scripts can be a powerful project asset, especially when used with continuous integration -- however build time can be significant, especially as projects grow larger and more complex. The Ant Utility Project is designed to assist in optimizing your Ant build in a non-intrusive manner. This new utility contains a build listener that gathers and accumulates timing metrics for your build and produces a report. The report can be visually inspected, or loaded into a spreadsheet since it's in CSV format. The report shows task execution times, and references line numbers in your build scripts. This is all done without modifying your build scripts.
Java Mobile & Embedded Developer Days
The Mobile & Embedded Community is hosting the first ever Java Mobile & Embedded Developer Days Conference,
January 22-24, 2008, at the Sun Santa Clara Campus Auditorium, California, USA. The conference is devoted solely to the technologies of mobile and embedded Java platforms and is targeted for application developers of intermediate and advanced skill levels, platform developers, and technical personnel at tool vendors, OEMs and carriers. Planning is underway for a series of technical sessions, lightning talks, hands on labs, and poster sessions. The Call for Papers is now open, and you can get even more information from the Developer Days Wiki and a Developer Days-focused episode of the Mobile & Embedded Podcast.
NetBeans OpenLaszlo Support project
The NetBeans OpenLaszlo Support plugin adds support for OpenLaszlo, a Flash-based Rich Internet Application web framework. It allows you to develop RIA applications using XML and Javascript on the UI and Java on the server, without any knowledge of Flash itself. Current features include bundling the OpenLaszlo 4.0.2 library into NetBeans's libraries list, providing the main OpenLaszlo 4.0.2 sample application (with full developer documentation) as a sample project under "Samples / Web", recognizing .lzx files as XML and opening them in the XML editor with full Navigator support, providing XML code completion, and more.
3GPP for Fault Management RI
The OSS/J 3GPP Extension for Fault Management project is an extension of the Fault Management API (JSR 263). Its 3GPP Alarm IRP Specification is available for download, as is the reference implementation, which uses Java SE 5 and GlassFish. The project notes that "in accordance with the OSS through Java Design Guidelines, this extension supports the JVT, XML/JMS and Web Service implementation profiles and passes the OSS/J FM API TCK." The project's TCK is available as source or binary.
OpenMark version 1.4.0 released
OpenMark is an innovative online assessment system developed by The Open University, then released under the GPL. OpenMark differs from many CAA systems in its emphasis on feedback, its allowing of multiple attempts, the breadth of interactions supported, and its design for anywhere, anytime use.
Version 1.4.0 is the first stable release since the code was open-sourced. The developers say, "please give it a try and let us know what you think."
WestECC
The WestECC project aims to provide an open platform that supports applications in many kinds of environments, from the webapp to the mobile device. The concept supports three "specialities": ECC-UA (Universal Assembly Language), ECC-UE (Universal Extendable Language), and ECC-UP (Universal Page Language). The idea is that "on the ECC foundation, we will more conveniently make mathmatical graphics, figure algebra expression, [and] establish 3D scene(JOGL+SWING+AWT) to assist education."
Mini Java EE server
The jmin project describes itself as a "mini" Java EE server, whose purpose is to share understanding and design concepts for application servers. " At present, we find some implementations inside other application servers are very complex and very difficult to catch the whole flow. Here, our goals are not only affording a very simple implementation [of Java EE], but also providing the design documents, so that it is easy to read by general java programmers."
Philadelphia Area Java Users Group relaunches website
The Philadelphia Area Java Users Group, a successful JUG with over 1,000 members, has a new website, and more online resources for members. JUGMaster Dave Fecak writes, "let me be the first to welcome you to the new virtual home of the Philadelphia Area Java Users Group, twice rated by Sun as one of the world's top Java User Groups! The Philly JUG's main objective is to provide great events for our membership, and if you look at our history we've done just that."
Sorting and Paging with EJB3
NetBeans Visual Web Pack 5.5 has wizards which can visually manage sorting and paging data bound to a database table. But there is no convinent way to bind EJB methods. The article Sorting and Paging with EJB3 helps you understand one way to achive this. The application has two parts: an Enterprise application using EJB3 and a web application which displays a data grid with sorting and paging.
Open-Source, Java, and NetBeans
Now that Sun has released open-source Java SE and ME implementations, you'll want tools to help you develop with it. The NetBeans Community is ready to help you out. The java sources have already been configured as NetBeans projects, so all you have to do is download them, open them in the NetBeans IDE, and use the Build Project command to build them. For further information and step-by-step instructions go to the Get and Build Tutorial.
Raven: Building Java with Ruby
What rivalry? Raven describes itself as "a build system that leverages Ruby tools (namely Rake and Gem) to let you build Java projects easily. It provides a way to handle dependencies, specific Rake tasks for Java and its Ruby scripting. Why basing your build system on Rake and Ruby Gems? Rake is a very simple build system, it uses domain specific tasks and most of all, it's Ruby scripting! Ruby Gems is a packaging system, a bit like yum, cpan or aptget. It conveniently handles package installation, update and removal."
Egjug Tech Days
Egjug, the Egyptian Java Users Group has announced Egjug Technical Days, the first such event in Egypt. They write: "We will make a full day event with many presentations. Our main speaker is Raghu Kodali, a consulting product manager and SOA evengilist for Oracle Application Server. Kodali leads next-generation SOA initiatives and J2EE feature sets for Oracle Application Server."
Free Java Lectures
The Free Java Lectures page bills itself as "two semesters of College-Level Java--for free" offers a comprehensive introduction to Java over the course of 28 sessions, from basic language concepts up through commonly-used libraries like servlets, JSP's, and Struts. Each lecture is a presentation file in .pps format, which can be opened with OpenOffice.org.
Wiseman Project
The wiseman project "is an implementation of the WS-Management specification for the Java SE platform. The project scope includes the WS-Management specification and its dependent specifications." Its first binary release, 0.5, "provides good coverage of the DMTF 1.0 Version of the WS Management specification. This release features a tutorial on creating and exposing resources starting from your schema though generating a Java web application. It also contains sample client and server applications."
Quick Color Chooser project
Ever find JColorChooser just a little too heavyweight? The Quick Color Chooser project offers a fast, single-mouse-gesture color chooser component for Swing apps. Some of the code has been around as long as six years, so it's fairly mature. There is also a Netbeans module created with BeanNetter which adds it to the Matisse component palette for drag and drop use.
Designing to End Poverty
Microfinance Open Source (Mifos) describes itself as "an exciting open source information system to fight global poverty. Microfinance is a proven technique to help people lift themselves out of poverty. The challenge now is to scale microfinance operations around the world to reach more people and to attract more capital. Mifos will be a high impact solution because it removes several of the barriers to growth of microfinance programs. Volunteer contributors are needed!"
Real-Time Class Analysis Tool for Java
Real-time Java applications usually can't risk unpredictable delays caused by class loading, which means that critical classes need to be preloaded. The new Real-Time Class Analysis Tool for Java lets developers deploy their Java applications without manually defining classes that should be preloaded. This tool for Linux (Red Hat and SuSe) and Windows scans the Java bytecode and the classes that it uses then generates a Java source to preload and pre-compile all these classes.
Feedback Wanted: HeapWalker Added to NetBeans Profiler
The NetBeans Profiler developers have added a new HeapWalker feature to Milestone 2 of NetBeans 6.0. This new feature is still being defined and the developers are very open to feedback. To make it even easier to try it out, they even created a small Java Web Start version of the HeapWalker. For full details, check out the NetBeans Profiler Milestone 2 project page: http://profiler.netbeans.org/download/60milestone.html.
What's New in Java SE 6 Beta 2 (Mustang)
Danny
Coward and Mark Reinhold offer a quick take on the top 10 features in
Java SE 6 beta 2, as well as a list of approved and co-bundled features, in the SDN article What's New in Java SE 6 Beta 2 (Mustang): "Version 6 of the Java Platform, Standard Edition (Java SE), code-named Mustang, is currently in its second beta release which is right on track for moving along to its Fall general release. So here are the top 10 things you need to know about Mustang, if you're still hovering hesitantly over that Beta 2 Download Page link."
You're not a "real" Java developer until...
The Nutrun blog has compiled a list of real-world Java developer gripes that assert You're not a "real" Java developer until... So, if "you missed Generics with a passion after you had to work with a JDK < 1.5 for a while" or "you feel old when you consider that a native method that gets the free disk space on your hard drive has been requested eight years ago and its almost here now
", then congratulations, you're a real Java developer.
Early Java EE 5 Users Praise Platform's Overhaul
CRN reports on positive feedback from Java enterprise developers in Early Java EE 5 Users Praise Platform's Overhaul: "Developers are still kicking the tires of the newly released Java Enterprise Edition 5, but early adopters say the new platform makes good on its architects' pledge to greatly simplify Java development and deployment."
Refactoring the EJB APIs
Linda DeMichiel is Sun Microsystems' specification lead and chief architect for Enterprise JavaBeans 3.0 and the Java Persistence API (JSR 220). In Refactoring the EJB APIs, the first segment of a two-part interview, she discusses how the EJB 3 APIs simplify development, how to choose between annotations and XML in configuring an EJB environment, and suggests a practical way to learn about EJB 3.
Implement business logic with the Drools rules engine
Using a rules engine can lower an application's maintenance and extensibility costs by reducing the complexity of components that implement complex business logic. Ricardo Olivieri's article Implement business logic with the Drools rules engine shows you how to use the Drools rules engine to make a Java application more adaptive to changes. Drools has the added benefit of a syntax that lets you embed Java code directly in a rules file.
Converting Between XML and JSON
A recent java.net article described using Dojo and JSON for
building Ajax applications, but this isn't the only way that a Java
developer might use JSON to communicate between client-side script and
server-side Java. In the xml.com article Converting Between XML and
JSON, Stefan Goessner explains why you might want to use JSON, and then
what issues you may face in converting existing XML documents into a
JSON representation.
JBoss SEAM 1.0: rethinking web application architecture
JBoss SEAM 1.0, just released at JBoss World, "represents a redefinition of web application architecture that extends the POJO + annotation-driven and configuration-by-exception programming model of EJB 3.0 into the entire web application stack, while unifying JSF, EJB, AJAX, and business process management (jBPM) into one tightly-integrated framework.". In JBoss SEAM 1.0: rethinking web application architecture, Floyd Marinescu talks to SEAM and Hibernate creator Gavin King about the new release.
Why I Hate Frameworks
In a humorous entry on the Joel on Software Discussion Group, Benji Smith explains Why I Hate Frameworks: " I'm evaluating a bunch of J2EE portlet-enabled JSR-compliant MVC role-based CMS web service application container frameworks.
And after spending dozens of hours reading through feature lists and documentation, I'm ready to gouge out my eyes."
Take Control of Class Loading in Java
Jeff Hanson admires the ideas behind classloading, but when libraries have their own dependencies that you need to manage, it can get out of control. In Take Control of Class Loading in Java, he says "by building a classloading component container framework that isolates Java class loading to a specified jar file, you can be confident that the runtime will load the component versions you expect."
Inversion of Control with Eclipse RCP
As a part of the larger Eclipse framework, the Rich Client Platform (RCP)
is built around the idea of using plugins for much of its functionality.
This has many advantages, chief among them extensibility and loose
coupling. But what if you want to keep your dependencies so minimal that
you don't even want to tie into an implementation until runtime? Using
the Inversion of Control pattern, so popular on the server side, your
plugin can just state its needs with annotations and have them satisfied
later. In Riccardo Govoni's Inversion of Control with Eclipse RCP,
you'll see how to achieve this with bytecode manipulation, by way of a
sample RCP plugin that serves up "fortune cookie"-type epigrams, with
a FortuneService that provides the Eclipse-facing plugin with the data
it needs.
Web Tier to Go With Java EE 5: A Look at Resource Injection
The latest article in the "Web Tier to Go" series, Web Tier to Go With Java EE 5: A Look at Resource Injection "describes how the platform's web-tier technologies support injection through Java technology annotations to simplify access to resources, environment data, and life-cycle control."
Creating a Sorted JList Component
"Java technology programmers often use the javax.swing.JList component to provide list views of similar data, whether it be a phone contact list or a grocery list. Despite the convenience of this user interface (UI) component, a JList doesn't sort its elements. It displays them in the same order provided by its underlying javax.swing.ListModel interface. Neither the ListModel interface nor the javax.swing.DefaultListModel class provides sorted data. Instead, the default model provides its content in the same order as you enter it." John O'Conner's Creating a Sorted JList Component offers a way to provide this missing feature through use of a decorator pattern that employs a second model to track the model items in their sorted order.
On the Goodness of Binary Search
Tim Bray has updated his classic On the Goodness of Binary Search in response to Josh Bloch's revelatory Extra, Extra - Read All About It: Nearly All Binary Searches and Mergesorts are Broken, which pointed out that the classic implementation was prone to integer overflows for large data sets. A new bit of right shifting in Bray's code, probe = (low + high) >>> 1;, catches this potential problem.
What if managers had to do tech support?
Head First guru Kathy Sierra wonders aloud What if managers had to do tech support?: "Years ago, Bert Bates worked at a software company where 95% of the 100+ employees had to spend time doing everything. Tech support. Customer training. Visiting clients and helping with installation and customization. Think about that. [...] It's common in many industries (hospitality especially) to put everyone through cross-training that includes direct customer contact. In software development, it's rare. And according to Bert, the difference it made to that company was profound."
Dealing with InterruptedException
Many Java language methods, such as Thread.sleep() and Object.wait(), throw InterruptedException. You can't ignore it because it's a checked exception, but what should you do with it? In Dealing with InterruptedException, concurrency expert Brian Goetz explains what InterruptedException means, why it is thrown, and what you should do when you catch one.
XMLBeans 2.0: A Java Developer's Perspective
Need to parse XML in your Java application? In a dev2dev article, Jacob
Danner and Raj Alagumalai take a look at XMLBeans 2.0 in XMLBeans 2.0: A Java Developer's Perspective. "XMLBeans is a
100-percent-schema-compliant, XML-Java binding tool you can use to access
the full power of XML in a Java-friendly way. The XMLBean solution is
unique because it provides a dual view of the XML data. XMLBeans maintain
the original XML document with no change in information and structure, and
also provide a Java-based view of the XML data."
The case for open-sourcing Swing
Keep core Java closed, but open-source Swing? That's the incremental approach advocated by xml.com blogger Rick Jelliffe in Sun should Open Source Swing: what is bad for Gosling is good for propaganda. He argues that client side Java has been neglected -- "the implementation of HTML in Java hasnt changed in a decade and is now so far from acceptable even Java, whose design rationale above anything else is Write Once Read Anywhere, now just provides a kludge to embed a non-Java browser." Noting the community approach to building the Flying Saucer XHTML renderer, he suggests that the community could pick up desktop Java development under an open-source license, letting it evolve independently of the rest of Java.
Units and Measures with JScience
Lance Finney's Units and Measures with JScience takes a look at the JScience library. "Developing units systems for scientific, engineering, and mathematical applications is difficult, tedious, and error-prone. Fortunately, JScience provides a comprehensive, well-tested, and standard way for Java developers to support scientific, mathematical, and economic units. The JScience API uses generics to provide type-safety, and the core of JScience is under consideration for future [inclusion] in Java SE. If you are requested to add units-based functionality to your application, and you have considered rolling your own, you owe yourself to investigate JScience."
Sun's Project Tango
Harold Carr introduces Sun's Project Tango in an SDN article. "Sun's Java Web Services engineers are working with Microsoft's Windows Communication Foundation (WCF) engineers to ensure interoperability of enterprise features, such as security, reliable messaging, and atomic transactions. At Sun, we call this work 'Project Tango' and like to think of Duke doing the dance. This is accomplished by implementing a number of WS-* specifications and holding plugfests where Sun and Microsoft engineers work face-to-face testing our implementations of those specifications."
SDN Ajax Developer Resource Center
The SDN Ajax Developer Resource Center pulls together a wealth of Ajax information in one place: introductory material, tutorials, sample components, tools, news, event announcements, blogs, screencasts, and videos. In particular, it shows how to take advantage of Ajax in Java EE 5, NetBeans, and Java Studio Creator.
Working with the Google Web Toolkit
"The Google Web Toolkit (GWT) was rolled out for JavaOne 2006 at an
innocuously titled session. Due to what I assume was a timing
miscommunication, the Google Blog scooped the presentation, but the impact
was no less felt." With that understatement, Robert Cooper kicks off his
introduction to the project that was THE talk of JavaOne, in Working with the Google Web Toolkit. His introduction shows you how to build an Ajax
table with GWT, wire it up to a server-side data source, and handle user
interaction on the client side.
Modeling Enterprise Java Applications and Deployments
You may be familiar with UML diagrams that show the relationships between your classes and their members, but it can be much more than that. By using UML to model deployment, you can understand and represent not just your code, but the environment it runs in, and share this with sysadmins and others. In the dev2dev article Modeling Enterprise Java Applications and Deployments, Jeff Davies says "the purpose of this article is to demonstrate several effective ways to model modern software systems to accurately and concisely communicate architectural, design, and deployment details to the responsible parties in your enterprise."