Welcome!


In this article we'll look at using scripting tools and languages in business applications. I am a big proponent of using scripting languages. Personally I use JavaScript very often: Why? Because it's fast, flexible and sexy. Technically, when I refer to JavaScript I actually mean ECMA...
JavaServer Faces has established itself as the leading framework for JEE development. In spite of its rising popularity, many development teams are unfamiliar with its use of components, so let's begin with a description of JSF components and what they have to offer. At its most basic,...
I would like to introduce the m2e project, a project that combines the power of Maven with the usability of Eclipse. In this article, I’m going to talk about our plans for the m2e project: where it is today, and where we intend to take the project. M2e is more than just a Maven plugin ...
From today's integrated J2EE applications through the emergence of service-oriented architectures (SOA), enterprise Web applications are becoming more complex, dynamic, and vital to business success. The payoff is huge, but so are the new risks that have materialized. IT teams have an ...
Only if you were on the dark side of the moon could you have missed the impact of the iPhone. Its sweeping success has brought mobile services into the mainstream. As the first device to convincingly integrate traditional phone capabilities with Web access, it highlights the multi-chan...
In today's Internet age, most developers are building Web applications prolifically. As applications move to the Web, it has become increasingly more important to be able to gauge their performance and load capability. Developers must be able to predict how much traffic a Web site will...
For a business to be sustainable today, it must be supported by a truly sustainable architecture. This type of architecture must have built-in agility and reusability. To be able to support the disparate end-to-end transaction components involved in converting leads to cash, this archi...
Unit testing is hard. There I said it. Although I have been developing software for the past 18 years I still find that putting my applications through their paces via unit testing is difficult. I have learned the lesson (I'm sure like many of you) the hard way. Unit testing is probabl...
Over the course of the past few decades, the consumer media industry has evolved from a slow-moving oligopoly dominated by a handful of vertically integrated networks to a highly fragmented and competitive marketplace of content creation, publication, and distribution players. This dis...
The open source community includes many early advocates of the recent wave of emerging SOA-related technology projects. Historically, however, open source has sometimes been considered a "late follower," with commercial products first to hit the market, and then followed by "me-too" op...
When picturing the relationship between the enterprise and the Software-as-a-Service (SaaS) business model, imagine an evolutionary process that can be divided into three main stages: "The Comfort Zone," "The Enlightenment," and "The Re-Assessment." Once we examine these, we can then d...
Openadaptor is a software toolkit that may be classified as a lightweight Enterprise Application Integration (EAI) solution. It provides a configurable component framework for connecting various systems and middleware implementations. In less technical parlance, the components are akin...
The following is a list of principles I've picked up, during my programming career, that I hope to carry in everything I do. They include nuggets from an eclectic group of sages including Dave Winer, Dale Carnegie, Nietzsche, and Pope John Paul II. I've seen people who can solve comple...
Before describing solutions available for rich client application development, it would be a good idea to explain what exactly a rich client application is and which rich client topologies can feasibly be built using the Java platform. In the main, a rich client is a part of a software...
What could be a problem with logging in SOA in the presence of such wonderful tools like log4j, Java’s logging library and similar? Why might we need something special for SOA and why aren’t existing techniques enough? The answer is simple and complex simultaneously – in SOA we are dea...
What's the key to team and individual developer productivity in maintaining and extending a large application? Let’s start by making the following assertions: A developer's knowledge of an application code base is likely the single biggest factor of individual productivity. Correspondi...
Three-letter acronyms (TLAs) are hardly new in Information Technology: EAI, ESB, SOA, BPM, BAM, ETL, MDM; the list goes on and on. This article is about yet another three-letter acronym, EDA, which stands for Event-Driven Architecture. EDA is not a brand new technology, but rather a pr...
This article presents a case study of the use of meta-programming in Java compatibility testing. It shows how parts of the source code can be shared between different products and modified to generate programs targeting specific functions and describes the approach Sun Microsystems has...
The mouse was the original idea of Doug Engelbart who was the head of the Augmentation Research Center (ARC) at Stanford Research Institute. Engelbart's philosophy is best embodied, in my opinion, in the design of another device that he invented, the five-finger keyboard - with keys li...
I target customers who have large data processing needs. These come in various forms, but generically look like this: the customer gets huge data drops in some form or another and must process the data and output results in a very specific time frame. The customer has written some scri...
Each day as an AJAX developer seems to bring another helpful revelation: a new tool, a new gadget, a new way to reinvent the browser. But even when I'm confronted with a breakthrough as big as Firebug - the brilliant debugging tool for Firefox - in the back of my mind I'm reminded that...
Software professionals usually take a great deal of pride in some combination of: Chasing and groking the latest software methodology/technology (e.g., AJAX, JPA, PMP, Spring JMS, Ruby, etc.) making them more marketable (and better positioned to pay their bills!). Creating software pro...
The term Software Archeology has been used in various forms since early 2001. The concept of Software Archeology is an approach or methodology that helps individual team members or entire teams to understand exactly what they have in the code they're going to be working on. The approac...
Roughly two years ago, when I was writing an article on 'New Features for Device Developers in Visual Studio 2005' that was published in the August 2005 issues of this magazine, our program management team was already busy shaping the next release of the product, which is soon to be re...
In a very short time Ruby on Rails has gained popularity in the enterprise development community among both programmers and system managers. As an open source platform, Ruby is proving to offer a number of advantages for powering enterprise applications, not the least of which is a sho...
Maven is a promising application development lifecycle management framework coming from Apache's armory of open source tools. Maven was originally developed as a framework to manage and mitigate the complexities of building the Jakarta Turbine project and soon became a core entity of t...
The hope of using any persistence framework is absolute database independence. Database independence means that you can focus on your job as an application developer and not a DBA. However, no framework can fully make this claim. There's much more to running an application on a databas...
The Jedi mind trick is a Force power that can influence the actions of weak-minded sentient beings. Vendors will often try to apply the Jedi mind trick in selling silver-bullet software solutions that solve global warming and stop celebrity feuding while enabling service-based architec...
Until recently, tuning IT application performance has been largely a guessing game. This is both surprising and unacceptable considering the relentless focus IT organizations put on cost-efficiency and productivity. The traditional approaches to database and application tuning that inv...
In order to describe itself as an 'open source' company, need a company merely be 'a company that will help you make the switch to open source in your company' - or does it have to be one that lets users feely download, compile, and use the software in question? Where is the dividing l...
The significance of blogging is not the word 'blog' whether used as a verb or a noun, but its role as a harbinger of the game-changing Web-as-platform revolution. In particular, the migration of blogging from the individual toward the enterprise...
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...