Welcome!


It is not easy to query the contents of a database without proprietary front end tools or a database-aware IDE. A database-aware toolkit should be able to connect to and work with a variety of databases (local and remote, application and corporate) without a shift in how we view the co...
Java enables us to embed miniature applications called Applets within Web pages which can process data, perform graphical animations and access databases, among other things, in a dynamic fashion. In addition, these Applets work fine on several different types of computers accessing th...
Introduction With wider acceptance of component development and distributed object technologies, applications can be 'assembled' as a set of collaborating components. For non-visual business components, where delivery time, integration costs and maintainability are the determining fact...
Coding style means nothing to a compiler; it will happily accept any legal code, no matter how badly formatted. Not so for us humans. Our ability to read and understand a program written by another is extremely sensitive to format. Imagine trying to read this article if every letter wa...
Personal Java PersonalJavaª is a new Java Application Environment for network-connectable applications on personal consumer devices for home, office and mobile use. It is designed specifically for resource limited environments.
JDJ: For those readers who aren't familiar with Schlumberger Electronic Transactions, could you please give us a short history of your corporate background and structure plus your own responsibilities? TL: Schlumberger has been in business since the late 1920s. The company was founded ...
My last column covered Components, Containers and Events. The material discussed Java's different kinds of Components, the class structure, how Components generate events and how those events can be handled. We discussed the differences between Components and Containers. To recap, Comp...
Components transcend the programming language and support a very high degree of reuse. They greatly simplify the construction of large and complicated software architectures. One of the main reasons why Java promises such a bright future for the computing world is because of its inhere...
The drive to create a successful Web site has resulted in Web applications that are interactive and informative. A wealth of information is stored in corporate databases and there is a rush to publish this information on the Web. Corporations' traditional client/server applications are...
Despite extensive development over many years and significant demonstrated benefits, the object-oriented paradigm remains poorly formalized. Several concurrent object-oriented languages have been designed and implemented based on the concurrent object model. However, upon attempting to...
We are moving towards a world in which you can expect instant access to online shopping from a phone; your kids can always reach you with one number that bounces from your phone, to your pager, mail or car; and you pay one low price each month to your local telco provider that brings y...
Implementation of a fixed size pool of Objects in a distributed application must consider problems caused by the unpredictable nature of remote connections. An implementation is presented here for Java's Remote Method Invocation, which takes advantage of the Distributed Garbage Collect...
Introduction The rapid acceptance of Java for client and server applications has created an immediate need to move existing CGI scripts to Java servlets. Java servlets are server-side components that can extend the functionality of a Java-enabled web server. Currently, there are a numb...
This article focuses on the building blocks of Java's Graphical User Interface (GUI) building package, which is called java.awt, or just the AWT for short. AWT stands for Abstract Windowing Toolkit. It provides a platform-independent set of tools used by the Java developer to create bu...
Java needs to address the needs of performance and robustness on the server side to fulfill its promise of providing a networking solution for the enterprise. Servlets complement applets on the server side and complete the definition of Java's role in the client/server hierarchy. In th...
Introduction Just when you were beginning to get the hang of Java and had figured out it was more than just an animation tool, out comes yet another Java-related technology, complete with its own set of rules and conditions to dazzle and confuse. But what is so special about this new o...
Abstract This is the second in a two-part series presenting a Java implementation of a real-time multi-user blackjack game based on a collaborative, active object framework. In the last article, we presented the design of an active object framework for developing collaborative client/s...
With industry momentum behind the development of powerful tools and diverse components, the JavaBean component market is growing rapidly. It is important to promote commercial quality JavaBeans components and tools; namely, components that can be used and reused by different users in d...
Any software system, whether object-oriented or not, relies on the state of the system being "correct" at certain stages of its execution. To take a very simple example, when a numerical division operation is performed, the divisor must be non-zero. If this is not the case, t...
The Web is full of resources for Java. There are applets, code samples and FAQs everywhere and several free tutorials. But when it comes to getting a simple question answered, there are not many options:
Abstract This is the first of a two-part series presenting a Java implementation of a real-time multi-user blackjack game based on a collaborative, active object framework. In this article, we will walk through the design of an active object framework for developing collaborative clien...
My last column introduced you to object orientation and discussed how some of the principles are expressed in Java. In particular, we were working with a chess example. Also, there was an assignment. You were to think about the classes: mammal, human and canine, and how one might use J...
Web-based distribution of applications is a proven IT winner. Since the ascendance of the browser, hundreds of success stories have emerged surrounding the deployment of Internet/Intranet applications. Many of these, in one way or another, involve the opening up of legacy applications ...
More recently, due in part to Sun's "Java Everywhere" campaign, we are beginning to see applications featuring server-side Java (servlets) and imbedded Java devices (phones, light switches, etc.), as well as large-scale standalone applications (Sun Java Server). What continue...
Today, the Web has become an indispensable part of our lives. The Web is built based on client/server architecture. Traditionally, the client/server model refers to a two-tier relationship with a desktop client connected over the network to some form of server such as a database server...
"Hi Everybody," John Tabbone announces as he walks into a class full of aspiring Java students. "Today, we are starting a multi-part class on object-orientation, OO for short." The students lean forward as if they were engaged in a campfire story. "I have heard...
Java and VRML technologies change very quickly so by the time you read this article, the information in it may be outdated. However, that shouldn't deter you from learning about the synergies of Java and VRML because frankly, it is one of the most exciting areas of software development...
Many Java programs that utilize I/O are excellent candidates for performance tuning. One of the more common problems in Java applications is inefficient I/O. A profile of Java applications and applets that handle significant volumes of data will show significant time spent in I/O routi...
This article will show you how to create an interactive, graphics-based applet by designing only the graphical objects themselves and by specifying their behavior given some external event (i.e., a mouse click or a button press). The ipl and ipl.graphics classes and interfaces will let...
Consider an Internet client that wants to connect to a site which allows access only to trusted clients. Consider a trusted client that has access to the site. Wouldn't it be great if the trusted client could relay the Internet client's data to the restricted-access site? In other word...
'Hi, everybody!' the large programmer/teacher announces as he bounces into a class full of aspiring Java programmers. 'Welcome to Java.' My name is John Tabbone. I teach Java at NYU's Information Technologies Institute. ITI is a professional program and the students who enroll in my c...
The Java programming language and platform are revolutionizing the development and deployment of distributed software. I believe that the huge 'twitch' game market (based on game consoles and PCs) will continue to grow, but the largest market growth eventually will be in distributed ga...
The Observer Design Pattern is among the most useful for object-oriented software design. The JDK itself makes heavy use of a variant of this pattern in the 1.1 AWT event delegation model. The JDK also provides a reusable embodiment of the pattern in the form of the java.util.Observer ...
The following questions on JavaBeans were recently asked of Andy Nguyen, Senior Product Marketing Manager, Authoring and Development Tools, Sun Microsystems, Inc.
It is possible to create a very attractive look-and-feel prototype of a Calendar-based browser application in JavaScript, but to compete with tough-minded mainframe legacy systems such as MEMO requires a highly functional and scalable working prototype to justify the continued investme...
Build Java Applications Faster and Easier Business today moves at the speed of the Internet. Corporations are rapidly deploying Intranets as the vehicles for real-time information. But for professional developers, the wide adoption of the Internet has given rise to a new challenge: de...
By all accounts, 1996 was the year of Java. In that short year, Java made the transition from a humble, almost academic, cross-platform computing paradigm to becoming the virtual center of the Internet development world. The introduction of applets has helped drive the move from static...
Since Java's explosion into the marketplace, we've seen a flood of development tools, wizards and environments. The heavy hitters in this area seem to be Symantec and Microsoft, with Café taking the visual approach to development and Microsoft's Visual J++ continuing Microsoft's terrif...
Introduction With ever increasing software complexity, error handling mechanisms offered by programming languages become more and more important. Traditional error handling techniques such as using global variables to indicate an error (errno in C), returning a value that represents an...
It is possible to create a very attractive look-and-feel prototype of a Calendar-based browser application in JavaScript, but to compete with tough-minded mainframe legacy systems such as MEMO requires a highly functional and scalable working prototype to justify the continued investme...