The Source for Java Technology Collaboration
User: Password:



View Archives: Homepage | Projects & Communities | Also Today | Spotlights | Success Stories | Articles | Weblogs

Also in Java Today

December 23, 2005


Hibernate Class Generation Using hbm2java
Hibernate eliminates a lot of hassles, but one new one it creates is the management of mapping files, which must be kept in sync with both your Java classes and your database schema. In Hibernate Class Generation Using hbm2java, John Ferguson Smart looks at the advantages of writing your own mapping files and letting the included hbm2java tool generate suitable Java classes. He also shows how to automate this process with both Ant and Maven.

Realizing Strategies for Document-Based Web Services With JAX-WS 2.0: Part 3
Sameer Tyagi's Realizing Strategies for Document-Based Web Services With JAX-WS 2.0: Part 3 in a Series continues his examination of how to build document-based web services with Java EE technologies such as JAX-RPC. Part 3 examines "how to realize some of the same strategies with the Java API for XML-Based Web Services (JAX-WS) 2.0, a successor to JAX-RPC 1.1."

December 22, 2005


Is Weak Typing Strong Enough?
Steve Yegge's blog Is Weak Typing Strong Enough? enumerates the pros and cons of static typing and describes a "big case study" of battles between strong-typing and weak-typing camps within Amazon's Customer Service Applications group. "So for years, we had Java and Perl development going on side by side. This was a decision made in old days, purely for expedience reasons. When we were deciding how to implement Arizona (our internal web-based application suite for CS), we had about a 50/50 split between Perl and Java programmers on the team."

Full Javapolis report
Following up on this month's major Java conference in Europe, Julien Delfosse has posted a Full Javapolis report over at JavaLobby: "My general impression about the organisation is excellent, the venue is nice, free drinks, comfortable rooms, very cool. The BeJug did an excellent job with Javapolis, such an event at an incredible low price, it's amazing, thanks guys!"

December 21, 2005


Through Project Looking Glass with Hideya Kawahara
In the Linux DevCenter interview Through Project Looking Glass with Hideya Kawahara, John Littler talks to Project Looking Glass founder Hideya Kawahara about the proof-of-concept 3D desktop that has turned into a popular open source project for exploring concepts of 3D user interfaces. He also discusses the lessons of VRML, the possibility of a "mod" community for Looking Glass, and tours the attractive demo apps that ship with the project.

The departure of the hyper-enthusiasts
Artima's Bruce Eckel blogs on The departure of the hyper-enthusiasts: "The Java hyper-enthusiasts have left the building, leaving a significant contingent of Java programmers behind, blinking in the bright lights without the constant drumbeat of boosterism. But the majority of programmers, who have been relatively quiet all this time, always knew that Java is a combination of strengths and weaknesses. These folks are not left with any feelings of surprise, but instead they welcome the silence, because it's easier to think and work."

December 20, 2005


Six Steps to Faster J2EE Apps: Performance Tuning with JSP and Servlets
"Can your J2EE application sustain a large number of client requests simultaneously? Or does it become sluggish, with painfully slow response times? There are many reasons for such performance bottlenecks and many ways to prevent them. However, sometimes it's just a matter of following some simple best practices that can make all the difference." In Six Steps to Faster J2EE Apps: Performance Tuning with JSP and Servlets, Sridhar M S offers design and coding practices to help speed things up.

Computer Visions: A Conversation with David Gelernter
David Gelernter's "Linda" programming language and his book Mirror Worlds have been cited by Java technology luminaries as key inspirations. In the interview Computer Visions: A Conversation with David Gelernter talks with him about these inspirations, as well as his recently-articulated "vision of information technology that goes beyond the Web and our current world of files and folders to one centered around what he variously calls 'life beams' or 'information beams'."

December 19, 2005


Understanding the Caret and Highlighter Interfaces of Text Components
The December Issue of the Java Technology Fundamentals Newsletter has a tutorial on "Understanding the Caret and Highlighter Interfaces of Text Components". "The Caret and Highlighter interfaces are two aspects of text components that control the view of the current text. The Caret interface describes what's usually referred to as the cursor: the location in the document where you can insert text. The Highlighter interface provides the basis for painting selected text. [...] Although you probably won't alter the caret and highlighter behavior for a text component, you should know that many interrelated classes are working together"

Killer Game Programming in Java: A 3D Checkerboard, Part 2,
In the book excerpt Killer Game Programming in Java: A 3D Checkerboard, Part 2, Andrew Davison continues the development of a navigable 3D scene, consisting of a tiled floor and a sphere floating above it. This second installment creates the floor tiles and handles the positioning of the viewer in the scene graph, accounting for his or her movement through the scene.

December 16, 2005


Using and Hacking Subclipse: the Subversion Plugin for Eclipse
Subversion has rapidly become a popular version control system, but its newness means it's not always well supported by IDEs and other tools. Fortunately, the Eclipse IDE's extensible architecture makes it very amenable to add-ons like the Subclipse plugin. In the dev2dev article, Using and Hacking Subclipse: the Subversion Plugin for Eclipse, Eugene Kuleshov shows how to install, configure, and use Subclipse with dev2dev's CodeShare repository.

Ajax technologies aren't particularly new or sexy
In the interview Ajax technologies aren't particularly new or sexy, "Ajax in Action" author David Crane talks about the rise of Ajax, its pros and cons, and its affinity with Java. "At the risk of sounding a bit fluffy, I'd say it's a way of doing new things with old technologies. From the programmer's perspective, everything that we needed to do Ajax has been available for several years, but it's taken most of us this long to get it. [...] To the coder, Ajax is just a new way of using all the DHTML technologies, such as JavaScript, CSS and the DOM. Because you can get by longer without full-page refreshes, those technologies suddenly become more useful. To the architect and the business-person, it's more of a challenge, because it ousts some of the user flow control from the presentation tier, and requires a rethink of how the server-side works too."

December 15, 2005


Java? It's So Nineties
BusinessWeek claims Java's hold on the enterprise is slipping in Java? It's So Nineties, wondering "can it possibly be that Java -- once the hippest of hip software -- has become a legacy technology, as old and out of style as IBM's (IBM) mainframe computers and SAP's corporate applications? Mounting evidence points to yes." Javalobby founder Rick Ross' commentary criticizes the article's selection of evidence and sources, calling it "a grab bag of potshots at Java from people who have a clear and obvious interest in trying to gain something at Java's expense. "

Variable "Arity" Methods
The JDC Tech Tip Variable "Arity" Methods introduces J2SE 5.0's support for "varags methods", which allows a method to take a variable number of arguments. "Prior to JDK 5.0, if you wanted to pass an arbitrary set of arguments to a method, you needed to pass an array of objects. Furthermore, you couldn't use variable argument lists with methods such as the format method of the MessageFormat class or the new to JDK 5.0 printf method of PrintStream to add additional arguments for each formatting string present... JDK 5.0 adds a varargs facility that's a lot more flexible."

December 14, 2005


Killer Game Programming in Java: A 3D Checkerboard, Part 1
It may sound simple at first, but Andrew Davison's book excerpt Killer Game Programming in Java: A 3D Checkerboard, Part 1 delves into important issues for developing 3D graphics in Java. "Checkers3D illustrates many of the common, and sometimes tricky, aspects of programming with Java 3D. For example, the 3D scene is displayed using the Java 3D Canvas3D class, which must be integrated with Java's Swing components. All Java 3D applications require a scene graph, and Checkers3D shows how to add basic shapes, lighting (ambient and directional), and a background."

The Framework for Integrated Tests (Fit)
Time to get Fit? "Fit (Framework for Integrated Tests - http://fit.c2.com) is a tool for expressing application acceptance tests using tables, and one that solves a fundamental need in software development: capturing business rules in an easily accessible and executable form." In The Framework for Integrated Tests (Fit), Mario Aquino shows how Fit's table-based acceptance tests are simple enough to be written by anyone, even customers, which engenders greater collaboration between developers, customers, and other stake-holders.

December 13, 2005


SSO and Identity Management
Single sign-on (SSO) can make life easier for both users (who need only remember one password) and administrators (who need to manage only one identity store and can terminate a user across many applications), but developing SSO applications requires careful attention to various issues. TheServerSide's article SSO and Identity Management looks at the separate tasks an SSO application must perform -- authentication, authorization, profiling, and management -- and argues that these should be broken into separate interfaces, to allow greater flexibility when implementing them.

Simplify Unit Testing for Spring Web Components
"Testability is one of the key principles behind the Spring framework (i.e., the ability to test each component in the framework regardless of its nature). In this sense, Spring was a major improvement over the core J2EE model, in which the components were hard to test outside of the container." In Simplify Unit Testing for Spring Web Components, Edmon Begoli introduces Spring's testability features, saying they "make unit testing Web components as easy as testing plain old Java objects (POJOs)."

December 12, 2005


Lightweight R/O Mapping
In Lightweight R/O Mapping, Norbert Ehreke offers an introduction to the Amber framework, which inverts the typical object-relational scheme of starting with objects and mapping them to database tables. "Amber approaches the problem of data exchange from the opposite angle. It assumes that the ER model is the reference for resulting OO structures. It also assumes that the database access is handled mainly via stored procedures, which provide a unified point of access to the database and which are also perfectly set up to handle transactions. Put into a provocative statement: the middle tier is implemented as a set of stored procedures. This means an expert on ER modeling, the DBA, is responsible for design and optimization, including stored procedures, which results in much better structures, and faster and more secure access, compared to automatically created ones."

Microsoft, JBoss Co-op To Gain Momentum in 2006
Integration Developer News reports on developments in the JBoss/Microsoft partnership in Microsoft, JBoss Co-op To Gain Momentum in 2006: "Microsoft and JBoss will spend much of 2006 working together to improve .NET-to-J2EE interop, including efforts to enable Hibernate to work well with both .NET and Windows. . Under a Microsoft/JBoss interop pact, the two companies will 'explore' a wide range of interoperability issues between JBoss and Windows, .NET and even SQLServer. One major goal of the Microsoft/JBoss engineering partnership is to enhance interoperability between Windows Server and JBoss’ Enterprise Middleware System (JEMS). "

December 09, 2005


Tune Your TCP
If you're doing big file transfers, you might find that big pipes don't always deliver the performance you may expect. But don't automatically blame the network engineers: the problem may well be un-tuned software. In the ONLamp feature Tune Your TCP, Brian Tierney shows how to determine optimal send and receive buffer sizes, and how to set those parameters on Java's Socket class.

Using AJAX with Java Technology
"Java technology and AJAX work well together. Java technology provides the server-side processing for AJAX interactions. It can provide this through servlets, JavaServer Pages (JSP) technology, JavaServer Faces (JSF) technology, and web services. The programming model for handling AJAX requests uses the same APIs that you would use for conventional web applications. JSF technology can be used to create reusable components that generate the client-side JavaScript and corresponding server-side AJAX processing code." In the tech tip Using AJAX with Java Technology, Greg Murray shows how to create auto-completing text fields in a browser with AJAX and servlets.

December 08, 2005


One Tool Won't Cut It
Eclipse or NetBeans? How about both? Or neither? Peter Coffee's eWeek opinion piece One Tool Won't Cut It argues against the lock-in that comes with expecting one IDE to perform all your programming tasks. "If I said that integrated programming environments are mixed blessings, any developer who started work in the past 15 years might look at me oddly and say, 'Compared to what?' Most developers probably feel that their choice is between one integrated environment or another. The idea of using entirely separate tools -- an editor from one vendor, a debugger from another and compilers from other vendors still -- is foreign to most developers working today." He goes on to say "I'd rather work with incomplete but complementary views than accept the bullet point on a recent Microsoft briefing chart that read, 'One tool, one framework, one programming model.' No, I don't think so."

Why AJAX Sucks (Most of the Time)
Chris McEvoy writes in the style of Jakob Nielsen to explain Why AJAX Sucks (Most of the Time): "For new or inexperienced Web designers, I stand by my original recommendation. Ajax: Just Say No. With respect to the use of ajax by highly skilled Web designers, I have changed my opinion somewhat: people who really know what they are doing can sometimes use ajax to good effect, though even experienced designers are advised to use ajax as sparingly as possible." It's a spoof of Nielsen's Why Frames Suck (Most of the Time), but the discussion on Slashdot has a lot of heads nodding in agreement.

December 07, 2005


Managing and Monitoring JBoss, Part 2
In an excerpt from JBoss: A Developer's Notebook, entitled Managing and Monitoring JBoss, Part 2, Norman Richards and Sam Griffith delve into dynamic management of your JBoss applications, by showing how to create monitors and send alerts either to the management console or straight to you via email. It also shows you how to forsake the Web Console and manage JBoss directly from the command line.

Getting Started with EJB 3.0 and Enterprise Bean Components
"The time is ripe to give the EJB 3.0 spec, which was engineered to offer big gains in productivity, a test drive." In Getting Started with EJB 3.0 and Enterprise Bean Components Rod Coffin shows how to use JBoss and Maven to develop EJB 3.0 enterprise bean components. "This article is the first in a three-part series exploring EJB 3.0 as defined in the public draft.... This first article will introduce EJB 3.0 and the basics of Enterprise Bean Components."

December 06, 2005


What If...
The smallthought.com blog What If... rhapsodizes over a surprising choice of dream languages: "People are often surprised when I tell them which language I choose to work in. But where else [can] I find one as expressive as Ruby, with a VM as sophisticated as Hotspot, an IDE as good as Eclipse or better, and a community with 20 years of experience at using those three pieces as an integrated whole? Frankly, I couldn't make any other choice with a straight face." Read on to find which language is being described and how it relates to Java.

Java Surpasses C++ on SourceForge
eWeek reports on a recent milestone as Java Surpasses C++ on SourceForge: "Last week, Java became the dominant language on the SourceForge site for the first time, surpassing C++ in the number of projects on the repository of open-source projects site. As of last Thursday, Java surpassed C++ with 16,738 projects versus 16,731 for C++. Officials at Sun Microsystems Inc., the creator and steward of the Java platform, called the achievement 'a clear sign of vibrant growth' and participation in the Java developer community."

December 05, 2005


AJAX and Mozilla XUL with JavaServer Faces: Loading Resources With Weblets
"In order to use AJAX and Mozilla XUL with JSF, component writers have to make sure to provide any resource files need by these technologies, such as images, style sheets, or scripts. The standard approach to providing resource files for a JSF component library is to serve them directly out of the web application root file system." The article AJAX and Mozilla XUL with JavaServer Faces: Loading Resources With Weblets introduces the java.net Weblets project, which helps with this by providing resources from a JAR, rather than serving them from the file system.

What Is On-Demand Computing
You may have heard of "on-demand computing" from some of the big companies in the industry, but what does it really mean, and what will it do for you? In What Is On-Demand Computing Stephen B. Morris digs into this new line of thinking and looks at where it aspires to go: "on-demand computing (ODC) provides an infrastructural solution to the needs of modern organizations. Risk can be managed and running costs can be lowered by migrating to a more automated IT business infrastructure. Very few (if any) businesses operate today in a truly on-demand fashion. For this reason, ODC is a migration (not a forklift upgrade) target for today's infrastructures. The end result of this migration will allow for a more automated, business-policy-driven model."

December 02, 2005


Peak Performance Tuning of CMP 2.0 Entity Beans in WebLogic Server 8.1 and 9.0
"EJB persistence has long been criticized for its complex development model and for poor performance of entity beans. It's pretty much accepted as fact that if entity beans (especially container-managed persistence entity beans, or CMPs) are going to be used in an application, performance will suffer. This is not true." In the dev2dev feature article, Peak Performance Tuning of CMP 2.0 Entity Beans in WebLogic Server 8.1 and 9.0, Dmitri Maximovich reveals concurrency and caching strategies you can use to improve the performance of CMP beans.

Gosling on Tiger
Still waiting to move to J2SE 5.0? James Gosling thinks you should make the switch. In the interview Migrating to Tiger: James Gosling and Mark Reinhold on Java 2 Platform, Standard Edition 5.0, he says "People always fear new releases. But in the Tiger release, we performed rigorous testing in long alpha and beta cycles of a large variety of giant outside applications that we took in house, working directly with outsiders." He goes on to discuss criticisms of generics and autoboxing. Finally, Gosling defers to J2SE chief engineer Mark Reinhold regarding Tiger startup speed and a few other questions.

December 01, 2005


Application Server Shoot-Out
SYS-CON Media's second annual Application Server Shoot-Out brought together representatives of Oracle, Sun, IBM, BEA, Microsoft, and JBoss to discuss their respective offerings and the app server market in general. Participants discussed open source, open standards, integration, and customer needs, and risk mitigation. A complete webcast of the one-hour program is also available.

GPLv3 guidelines released
The process for developing a new version of the GNU Public License (GPL) is underway. NewsForge's GPLv3 guidelines released reports that "the Free Software Foundation released its guidelines and process specifications [Wednesday] for the revision process that will produce version 3 of the GNU General Public License (GPL). The guidelines are designed to include as many people as possible in the revision process, says FSF executive director Peter Brown, but the foundation's specific ideas for changes to the license are not being released to the public just yet." Key issues to be addressed in GPLv3 are linking, compatibility with other licenses, and patents.

November 30, 2005


Hacking Swing: A JDBC Table Model
Databases have tables, and Swing GUI's have tables. So why is it so difficult to put these two together? With a little connective JDBC code, it's not. In an excerpt from Swing Hacks entitled Hacking Swing: A JDBC Table Model, you'll see how to create a Swing table from just a JDBC Connection object, using the database's metadata to discover the table's data and represent it in a Swing table model, suitable for use with an onscreen JTable.

Throws clause best practice?
JBoss' Bill Burke is wondering aloud about how to declare his use of RuntimeExceptions. In the blog entry Throws clause best practice? he writes "I've always hated checked exceptions and always preferred using RuntimeExceptions. I usually find that I rarely have the ability in my code to recover from a particular exception thrown by a particular method and adding a checked exception to the throws clause would just require ugly try/catch blocks for my users. There are occasions though in some methods, I still want to throw a RuntimeException, but want to make it known to users that it is possible to recover from a particular exception."

November 29, 2005


ClassLoaders in JEE 5 Specifications
Stephane Bailliez's blog entry ClassLoaders in JEE 5 Specifications takes the Java EE 5 spec to task over the potential hazards and side-effects of its classloading model: "I have been reading the proposed final draft of the Java Platform Enterprise Edition 5 Specification (aka JSR 244) and noticed again that nothing has changed in the classloading area (OK, I did not send any feedback to the JSR group, so I’m guilty too). It is as vague as it has always been and do not impose anything which would clearly protect the deployed applications from server implementation libraries, otherwise known as class leaking."

Comparing Two High-Performance I/O Design Patterns
Alexander Libman and Vladimir Gilbourd's Comparing Two High-Performance I/O Design Patterns "investigates and compares different design patterns of high performance TCP-based servers. In addition to existing approaches, it proposes a scalable single-codebase, multi-platform solution (with code examples) and describes its fine-tuning on different platforms. It also compares performance of Java, C# and C++ implementations of proposed and existing solutions."

November 28, 2005


CIO Survey: More Work, More Money in 2006
The article CIO Survey: More Work, More Money in 2006 says "high-tech salaries for software architects and devs may finally see their biggest up ticks since the bubble burst, according to CIO survey conducted by Robert Half Technology (RHT) a leading recruiter of IT talent worldwide. But, RHA adds, with higher IT salaries will come bigger workloads. Among the big winners: professionals who can bridge high-tech and business needs by using web-to-legacy integration, analytics, SOA and security."

Managing and Monitoring JBoss, Part 1
It's easy to focus on the services an application server provides your application -- transactions, pooling, etc. -- but it's just as important to consider what services it provides the developer or administrator to work with the application. Once the app is up, how can you see what it's doing? In Managing and Monitoring JBoss, Part 1, the first of two excerpts from JBoss: A Developer's Notebook, Norman Richards and Sam Griffith explore the JBoss Web Console and the MBeans that allow you to monitor and manage your web applications.

November 25, 2005


RFID Technical Challenges and Reference Architecture
More and more businesses are turning to radio frequency identification (RFID), including retail, transportation, pharmaceuticals, and defense. The trick is integrating it with the rest of your enterprise application, ensuring that you still account for scalability, interoperability, security, availability, and so on. The dev2dev article RFID Technical Challenges and Reference Architecture by Puneet Agarwal, Ashok Banerjee, and Jeffrey Flammer, looks at one approach to integrating with a J2EE system.

How To Copy Database Data Using JDBC
Copying database data is a basic, yet endlessly complex task, because not all data copy operations are alike. But the sample database-copy classes you'll find in the article How To Copy Database Data Using JDBC provide a basic template for nearly every type of copy you need to perform.

November 24, 2005


JBoss Labs Podcasts
Damon Sicore's recent JBoss Blogs entry Introducing JBoss Labs Podcasts announces "we've introduced Podcasts at JBoss, and they can be found at our community development web site, JBoss Labs. JBoss Podcasts will cover video and audio training for open source software as well as interviews with professional open source developers." A video feed is currently available and will soon be joined by an audio-only feed and an aggregated feed of all JBoss podcasts.

Plugging Memory Leaks with Weak References
While programs in the Java language are theoretically immune from "memory leaks," there are situations in which objects are not garbage collected even though they are no longer part of the program's logical state. In Plugging Memory Leaks with Weak References, Brian Goetz explores a common cause of unintentional object retention and shows how to plug the leak with weak references.

November 23, 2005


Hibernate for Java SE
Have you tied Hibernate to your web application, only to discover that you need access to your data outside the web container? One option would be to develop separate means of accessing your data, but then you'd have redundant code to maintain. Jason Lee says there's a better way. In Hibernate for Java SE, he shows how to get and use your Hibernate Session, without dependencies on your container.

iTunes: Kim Polese Discusses Software Development in Silicon Valley
Tracing a career that includes the earliest days of Java and its public debut, and continues in today's open-source world, original Java product manager Kim Polese describes her career in the speech "Kim Polese Discusses Software Development in Silicon Valley". She goes on to talk about her new role as CEO of SpikeSource and the role of open source software in today's environment, identifying the "seven things that have changed" since she left Sun during the first internet boom to launch the push company Marimba. The hour-long program was presented as part of Stanford University's Stanford Technology Ventures Program, and is available only through iTunes by visiting iTunes' Technology Ventures Program page and finding the program in the list.

November 22, 2005


Java J2EE Hibernate Extreme Makeover: Architecture Edition
In the past few years there has been a proliferation of frameworks that allow for lighter, faster, and loosely coupled Java projects. These frameworks not only let you decouple your Java project from the application server for unit testing, they also allow for more agile refactoring, testing, and design techniques. Franz Garsombke's Java J2EE Hibernate Extreme Makeover: Architecture Edition tells the story of a large-scale refactoring effort implementing Spring and Hibernate as the underlying infrastructure tools.

Self-Bounding Generics
Bruce Eckel is working through some thoughts on Self-Bounding Generics: "There's one rather mind-bending idiom that appears periodically in Java generics. Here's what it looks like: class SelfBounded<T extends SelfBounded<T>>. This has the dizzying effect of two mirrors pointed at each other, a kind of infinite reflection. The class SelfBounded takes a generic argument T, T is constrained by a bound, and that bound is this class, with T as an argument."

November 21, 2005


Customize Your JList Display
The Java platform's Java Foundation Classes/Swing (JFC/Swing) components are a complete package of graphical user interface (GUI) widgets. By using Swing components, you can create rich, easy-to-use GUIs in your applications. Using these components can greatly improve your application's user-friendliness. The article Customize Your JList Display focuses on one component, the javax.swing.JList object, and shows you how to customize what it displays to the user.

Ruby the Rival
If you've read Bruce Tate's "Beyond Java," or his article Technologies to Watch: A Look at Four That May Challenge Java’s Development Dominance, you're probably aware that he considers Ruby to be of particular interest to Java developers. And he's not the only one. He cites several early Java luminaries who are now loudly extolling their positive experiences with Ruby. But what is it? Ruby the Rival, brings together Tate and a collection of prominent Java authors, bloggers, and developers to see what's behind the surge of interest in Ruby, and how it relates to Java. Is Ruby doing things that Java really can't, and what does Java need to do or be in order to remain on top? James Duncan Davidson, Robert Cooper, and Bill Venners weigh in with their opinions on Ruby and Java, and whether or not they're really rivals.

1 to 50 of 1195 Next
 XML java.net RSS