Welcome!


Patterns are expert solutions - recurring designs that have proven effective over time. This month's article will provide you with a bit more detail on the subject. When applying patterns to the presentation tier, we address the following: Pre- and postprocessing of a request and/...
Many new J2EE developers get caught up in focusing on the details and nuances of servlets and JSPs and, as a result, may not learn how to leverage JavaScript. Some may even dismiss it as too much hassle, given cross-browser compatibility issues.
For the past few years I've participated in several projects to update existing Java applications. While working on those projects I often wanted to be able to add new functionality to a class without recompiling it Some of the reasons for this were: I didn't have the right to access...
In the beginning there were servlets, and it was good. They were much better than the alternatives, and allowed for scalable, robust Web development. But there was trouble in paradise. Web development partitioned itself into two camps: art school dropouts (invariably Macintos...
There are many facets to J2EE Web application development. It's a powerful platform that offers a variety of possibilities and capabilities, with many different approaches and models of development available. This is both a strength and, for newcomers to the platform, an Achilles' heel...
As the EJB 2.0 specification has entered its final stage, many companies are in the process of building server-side J2EE applications. The final draft of the specification has made container-managed persistence (CMP) of entity beans complete and more powerful.
Patterns are expert solutions - recurring designs that have proven effective over time. This month's article will provide you with a bit more detail on the subject.
Welcome to the first installment of Journeyman J2EE. I'm honored to present this new bi-monthly column of ruminations and reactions as I, like so many of you, make my foray through the vast world of J2EE application development and deployment. But this isn't intended just for newbie J2...
Over the last two decades rules have become an increasingly important part of the information technology landscape. In fact, deductive rules have been applied to databases since the inception of SQL and form the basis of policy management and decision making at most corporations. Howev...
Welcome to the first installment of the 'Core J2EE Patterns' column by the Sun Java Center (www.sun.com/service/sunps/jdc). Every other month, we (Deepak Alur, Danny Malks, myself, and other architects from the Sun Java Center) will discuss various topics from our book, Core J2EE Patte...
The story so far: In Part 1 (JDJ Vol. 6, issue 4), I covered servlets and gave a practical demonstration of how a basic access control mechanism for intranet applications could be built using Servlet Session Tracking and HTTP Authentication. In Part 2 (Vol. 6, issue 5), I introduced a ...
If you are currently looking for alternatives to JSP and you're tired of reinventing the wheel each time, then this article can provide you with the solutions you need to build your Web applications. We'll explore what it's like to develop a Web application using a couple of popular to...
Many J2EE 1.2-based applications and components are emerging in the marketplace as the J2EE platform matures. Application portability is one of the most important benefits offered by the J2EE platform. Through the J2EE Java Pet Store sample application, the J2EE Blueprints team has dev...
J2EE applications are becoming the norm rather than the exception in today's distributed computing environment. But organizations are still facing the same issues with this technology set that they did with application models of yesteryear - how to ensure that they can scale quickly, r...
Java Servlets and JavaServer Pages (JSP) threaten to collapse out there in the mud houses of server land. Developers succumb to the temptation to muddle their pages with complex business logic, and to fill behemoth proprietary libraries with data and subsystem access routines. We find ...
Last month in JDJ (Vol. 6, issue 5) we looked at the Java 2 Platform, Enterprise Edition (J2EE) connector architecture (JCA) and its common client interface (CCI). To recap, JCA is the part of the J2EE 1.3 specification that facilitates the integration of Java applications with Enterpr...
Last summer, Sun Microsystems released the first public draft of the EJB 2.0 specification with a lot of fanfare. Since then, it's been through a whirlwind of discussion, controversy, and modifications. Yes, modifications. The latest release of the EJB specification is Public Final Dra...
XML gets mentioned a lot as an interoperability 'platform.' By itself, of course, XML can't be a platform because it's a document format. It may be flexible, human-readable, dynamic, popular, and cool because it looks a lot like HTML, but it's still just a document format, and there ar...
The Java Message Service (JMS) is a specification put forth by Sun to define a common set of APIs and common semantics for messaging-oriented middleware providers. An increasing number of MOM vendors have embraced this specification, and new vendors are building messaging products suit...
In Part 1 of this series (JDJ Vol. 6, issue 4) I developed a simple access control mechanism for my application using HTTP authentication and servlets. In my view, servlets have always been underrated as a technology.
Every software system has logging requirements so application processing can be monitored and tracked. Modern distributed systems, which are usually based on application frameworks, require a logging solution that can cope with multiple processes on multiple hosts sending logging infor...
The choices can be overwhelming for a development team embarking on an Enterprise Java project. You've read the books, attended the classes, and now know the individual Java technologies pretty well, but how do you choose between them? Should your project be based on servlets, applets,...
The Java 2 Platform, Enterprise Edition (J2EE), defines the standard for developing and deploying multitier enterprise applications. At the core of J2EE architecture are application servers - containers for your J2EE components.
The notion of guaranteed delivery of Java Message Service messages has been lightly touched on in other recently published articles on JMS. But what really makes a JMS message 'guaranteed'? Should you just take it on faith, or would you like to know what's behind it?
Any individual piece of computer hardware or software can fail. That's why we back up our hard drives. When the hard drive on my laptop failed last year, the tape backup got me up and running in a few days - the time it took to get a replacement drive and reload my files.
As most of you reading this article know, the application server market is growing and every company, large or small, can visualize the benefits an application server infrastructure could bring to their organization. But why then, even with the vast amount of benefits available, have c...
The highly structured nature of applications built using J2EE technologies lends itself well to design patterns for performance optimization. This article examines a number of such patterns and suggests optimal ways of using them to improve latency, throughput, and overall scalability ...
The Java Message Service (JMS) is an enterprise-capable middleware component based on message-oriented middleware (MOM) fundamentals. Since its introduction as a Java software specification in November 1998, vendor implementations have brought JMS forward as a first class, e-business m...
As a distributed object technology, CORBA provides tremendous flexibility for implementing robust enterprise information systems composed of distributed components. In large-scale deployment, these components run in multiple servers located in multiple hosts of different operating syst...
In EJB/CORBA integration, complexity can range from simple to complex and depends in part on the direction of the communication. From EJB to CORBA, communication is relatively simple because the EJB bean invokes CORBA as it does any external resource. CORBA-to-EJB communication, h...
It's a pleasure to be writing this article in the beautiful, high-tech, Mediterranean city of Netanya, Israel. It's the evening after the first day of the workweek here - Sunday, of course - in my current consulting engagement. But working Sundays isn't the only thing I've had to g...
If you were to consider all the surface clutter in my life, you might find it strange to know, deep down inside, I like things simple. I mean really simple, because I'm not very bright and have trouble with basic concepts, like getting out of bed and getting the car pointed in the ...
This article outlines how organizations can build and maintain an integrated system infrastructure to support their business needs using open industry standards, such as CORBA, Java 2 Enterprise Edition (J2EE), and XML. In doing this, they can maximize investments in existing techn...
This month in EJB Home I'll show you how to build a message-driven bean. Knowledge of this EJB will enhance your toolkit for developing asynchronous Enterprise Java applications - whether they're mission-critical or not.
Generally it's desirable to deploy the Java server in such a manner that it automatically starts when the computer does, and stops when the computer shuts down. This could be quickly and easily implemented by writing an NT service that communicates with the Java server.
At the enterprise level, building and deploying distributed object-oriented components involves a dizzying number of choices and considerations. In contrast to a single-process monolithic system, distributed computing provides the flexibility to delegate computing processing power to a...
By the time you read this, the J2EE revolution will be gaining significant momentum. Most large companies will have some type of new development around it; many more existing and new e-businesses that leverage this technology will have emerged. Many platform providers will have delive...
Several patterns exist for generating primary keys for your EJB application. This month I'll provide a pattern for generating PKs that's scalable, generic, and portable.
This month's EJB Home was originally a presentation at JC2 in Santa Clara, California, in September. For those of you who couldn't make the session, I thought it would be beneficial to transcribe it here and relay an experience in the successful implementation of an EJB application usi...
CORBA's new Interoperable Naming Service (INS) introduces three features that combine to help manage your computing environment and integrate it better with the Internet and your corporate intranet as well. These features: