Welcome!


Even for many seasoned developers, Swing code can be notoriously difficult to organize. Where is the right place to put parsing and validation logic? How do you prevent those threading issues that cause lockups or repainting glitches? Is it possible to unit test GUI logic? Can the ...
In our previous article - 'Rich Internet Components with JavaServer Faces' (JDJ, Vol. 10, issue 11) - we discussed how JavaServer Faces can fulfill new presentation requirements without sacrificing application developer productivity building Rich Internet Applications (RIA). We discus...
The client/server development model prevalent in the mid-1990's resulted in extremely easy-to-build rich GUI applications that interacted directly with a relational database. 4GL tools such as Visual Basic and PowerBuilder let even junior developers visually compose both the presentati...
After getting a head of gray hairs and a quickly receding hairline, I have learned that the simplest solutions are often the best. Having worked with Java since 1995 and various software development lifecycle methodologies over the years, I have seen things grow complex in these areas....
Enterprise Rich Internet Applications (RIAs) are the next evolution of business application development. There are four different approaches to RIA development - AJAX, Java, Flash, and .NET - and many different RIA solutions available today. This article answers the following questions...
'All the big announcements have been made. I'm the warm-up act for James Gosling,' quipped former Sun CEO Scott McNealy on the final day of JavaOne 2006 in San Francisco. 'This is what post-CEO life is like!' he added, wryly, as he announced the winner of 'Bike to Work Week.' But he wa...
Every action has an equal and opposite reaction, according to the third of Sir Isaac Newton's laws of physics: if you push on anything, it pushes back on you. That's why if you lean against the wall, you don't just fall through it, and that's also why ESR's Open Letter to Scott McNealy...
A couple of years ago I began developing in Java, and my first Java project required that I also learn SQL. Our project team was using mostly EJBs for database access, although for some performance-critical sections of the application we wrote the JDBC logic directly. A problem that we...
In our last article - 'JSF and AJAX' (JDJ, Vol. 11, issue 1) - we discussed how JavaServer Faces component writers can take advantage of the new Weblets Open Source project (http://weblets.dev.java.net) to serve resources such as JavaScript libraries, icons, and CSS files directly fro...
The novel A Deepness in the Sky by Vernor Vinge is set in the distant future. The character Pham Nuwen is responsible for maintaining software whose components are thousands of years old. Today, however, it's difficult to imagine maintaining an Enterprise Java application for more than...
Which platform to use Java or .NET? Developers ask this question all the time. Java has been widely adopted because of its overwhelming benefits on the server side, but Java has less to offer on the client side. .NET has made inroads into the enterprise by leveraging its stronger rich-...
'We've seen the Web moving from a publishing paradigm to an e-business paradigm to an AJAX paradigm.' That is the considered verdict of IBM Software Group's CTO of Emerging Internet Technologies, David Boloker. And he's right: AJAX is here, it's growing, and it's (potentially) the bigg...
Yakov shows that working with the streams over the Internet may be as simple as dealing with files on your local disk, in the sixth installment of Java Basics.
One day my son Dave (10) showed up in my office with my rated 'R' Java tutorial in his hands. He asked me to teach him programming so he could create computer games. By that time I've already written a couple of Java books and have taught multiple classes on programming, but all of th...
Yakov Fain's popular online tutorial series continues. This lesson he discusses the basics of threads, including how to create them, how to get them to step aside, and how to stop them.
Yakov Fain, in Lesson 9 of his immensely popular online 'Java Basics' series for JDJ Industry Newsletter, talks about using threads for creating more advanced programs than those already discussed in Lesson 8. He analyzes the role they play in major Internet portals like Yahoo, CNN, or...
The marketplace tells you that 'middleware is everywhere' when all along it should wise up and recognize that 'middleware is dead.' Because that's the new reality of enterprise computing today, according to Sun's software czar Jonathan Schwartz.
In this month's article I introduce TableLayout, a robust but easy-to-use LayoutManager for use in any Java Swing application. It's based very loosely on the HTML TABLE paradigm, where components are placed in table cells in row-major order. Vertical and horizontal alignment for the co...
The publicity that AJAX grabbed over the last half a year is based on closing the gap between the Web applications and the desktop applications, combining the 'reach' and 'rich.' At the same time, the gap between the technological level of AJAX and what corporate developers expect in t...
Developers using Java on clients or in small projects may not believe that there is a fundamental problem with Java's robustness. People working with huge applications and application servers written in Java know about the problem but may doubt that it's possible to build something lik...
When speaking of Web application development today, it's difficult to ignore the overwhelming influence of the Portlet Specification (JSR-168). Even before the specification was formally finalized by the expert group, the Java world saw older CMS application implementing it and new por...
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, t...
Various events may happen to a running program: a user clicks on a button in a window, the Web browser decides to re-paint the window, and so on. I'm sure, you've tried to click on the buttons of the calculator from the lesson on Swing Basics, but these buttons were not ready to respon...
Aspect-Oriented Programming (AOP) is undeniably one of the coolest things to happen in the software technology in a long time. AOP has been called the 'third dimension of programming' (copyright by Frank Sauer, Technical Resource Connection, Inc.) and has tremendous power in dynamical...
The Star Trek universe has inspired many technology ideas but I'm disappointed I don't have a transporter yet. One Star Trek technology that has been available for sometime is the particle system. No, this is not an exotic propulsion system for your flying car. The particle system was ...
I'm really jazzed about Java 5.0! We've been treated over the years to incremental improvements in JVM performance. JDK 1.2 brought us the collections framework as well as Swing, the thread context class loader, and improvements in RMI. JDK 1.3 and 1.4 continued in the same vain with l...
'Ten years after we officially launched Java in May 1995, our dream of a ubiquitous software platform to power a networked world has actually come true,' writes SpikeSource CEO Kim Polese as she looks back on the early days of Java, in which she played an integral part. 'Today, some fo...
'In the first year, we've moved from the courtroom to the computer lab. Now we're moving from the lab to the market.' So said Steve Ballmer, referring to relations between Microsoft and Sun, as the two companies announced a series of measures to enhance product interoperability, includ...
The Java Secure Socket Extension (JSSE) is a set of packages that enable secure Internet communications. It implements a Java version of the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols. It includes functionality for data encryption, server authentication, me...
Apache members have voted to create a Java virtual machine, to be available under the Apache open-source license, that will enable Java to run on Windows PCs.
Leonid Reiman, Russia's Minister of Information Technologies and Communications, outlined what he termed a 'comprehensive' new government program to make Russia a leading player in the global IT market. Speaking in London, Reiman said that 'the program is an integral part of the govern...
The reason .NET 'presses a lot of the right buttons,' writes Duncan Mills, is that: 'It's a Meta-Framework - a one-stop shop.' In the J2EE world, on the other hand, while there is no doubt that there are a lot of fantastic point solutions and frameworks out there, as standalone island...
Yakov Fain reaches Lesson 11 in his popular 'Java basics' series. This time he deals with how and why Java programmers working on large projects that have lots of classes usually organize them in different packages; and explores the new element introduced in Java 5.0 called static impo...
Instantiations Inc. aims to enable developers to create 'elegant' swing form windows with its new WindowBuilder Pro 4.0 software. WindowBuilder Pro installs into any Eclipse-based development tool, including Rational Application Developer, and provides a Java GUI construction environme...
Back in October 1996, in an attempt to eliminate the need for this bloated syntax, Microsoft introduced an object-oriented method pointer into J++ called a 'delegate.' Sun Microsystems, citing the delegate as language pollution, sued Microsoft a year later for violating its Java licens...
Last month I took a trip down memory lane, revisiting the history of J2SE. Apart from trying to remember key events, squeezing 10 years of history into one page was a challenge. I had to relegate many significant technologies to a sentence or two and some I didn't cover at all. However...
Google is giving people the ability to upload video files and send them across the Internet.
At the Open Source Business Conference taking place today in San Francisco, Sun's President and COO, Jonathan Schwartz emphasized that 'free' equates not to 'no revenue' but instead to 'more opportunity to create revenue.'
Now that Yahoo! Mail has matched the Gmail offer of 1GB storage to its free e-mail customers, Google is doing the obvious thing and pulling ahead again, reopening 'the one-gig gap' between its Gmail service and all-comers.
Since Adobe released the first public PDF Reference in 1993, a number of PDF utilities and libraries, supporting all kinds of languages and platforms, have been made available to users and developers alike. However, support for Adobe's technology has lagged in Java application developm...