Mobile video with JME and MMAPI, Part 1
A two-part introduction to integrating video functionality into Java mobile applications with JME and the Mobile Media API.
Srijeeb Roy, September 2007

XML messaging, Part 2
In this article, the second of three, Dirk Reinshagen introduces SOAP to the XML messaging equation. He begins by describing SOAP and other related technologies, then reinforces with a simple example using SOAP to create an invoice. (1,500 words)
Dirk Reinshagen, June 2001

XML messaging, Part 1
In this article, the first of three, Dirk Reinshagen discusses XML messaging, specifically the basic premise of XML messaging, what it is, and why it is useful. Further, he presents a simple XML message broker for custom XML messages. In the course of developing this broker, he introduces general broker development strategies. In Part 2 and Part 3, Dirk will discuss the two emerging standards for XML messaging: SOAP and ebXML. (1,500 words)
Dirk Reinshagen, March 2001

Make room for JavaSpaces, Part 2
In Jiniology's first JavaSpaces article, Eric Freeman and Susanne Hupfer explained the basic concepts behind JavaSpaces, as well as the JavaSpaces API. This month, Eric makes use of Jini's dynamic class loading ability and JavaSpaces' features to develop a general-purpose compute server. As the series continues, Eric and Susanne will reveal more details of the JavaSpaces API and incrementally improve the server until it provides a robust and fault-tolerant service. This month's article also acts as a springboard for the new Jini compute-server working group, which got underway following the recent Jini Community Summit in Annapolis, Md. (4,600 words)
Eric Freeman, January 2000

Use software components to deploy applications with Java Cards
This article provides a broad overview of how OpenCard and the smart card URL Programming Interface (UPI) -- both of which have been discussed in prior JavaWorld articles -- can be used to design an application, load it onto the Cyberflex Access card, and deploy it on more diverse desktops than any other architecture currently available for smart-card deployment. This information will allow you to easily use Java Card technology in Web-based applications requiring sophisticated security and privacy, as well as make applications such as portable form filling more convenient. Rinaldo and Mike will also provide information on how to load a Cyberflex Access smart card, produced by Schlumberger, and give a brief introduction to CAP files, which will eventually standardize the dynamic downloading process described in this article. (3,000 words)
Rinaldo Di Giorgio and Mike Montgomery, November 1999

Make room for JavaSpaces, Part 1
This article teaches you about a simple, yet powerful, new network and distributed programming tool: JavaSpaces. It's the first in a series of articles on JavaSpaces that will be featured every other month in this column. JavaSpaces is a new Jini service that is based on a persistent object store and exchange mechanism. If you're writing Jini applications, you'll want to know how to use JavaSpaces so that you can coordinate the participants in a Jini federation; you can also use JavaSpaces outside of Jini to create sophisticated distributed applications. In either case, JavaSpaces can significantly reduce the time and effort required to design and implement your network applications. If you're working on these types of applications, you'll want to read about JavaSpaces and add it to your programming repertoire. (3,800 words)
Eric Freeman and Susanne Hupfer, November 1999

Java Tip 78: Recycle broken objects in resource pools
Many distributed (and some local) Java systems use resource pooling to improve performance. Resource pools may also be used when object resources are scarce and objects need to be shared between a number of clients. In this article, Philip and Nigel examine some of the issues involved in using resource pools and develop the recycler idiom, which is used to manage broken complex resources in an object pool. Using recyclers can improve the longevity and performance of Java server systems, for example, where robustness is a key design issue. (2,000 words)
Philip Bishop and Nigel Warren, September 1999

Write OpenCard services for downloading Java Card apps
Loading Java Cards can be a confusing process requiring proprietary development tools that work on only one platform. Sun Microsystems is developing a standard in this area for Java Card licensees. But what do you do in the interim: wait for the standard or use proprietary tools? This article demonstrates easy methods for loading Java Cards using loading information published by various card manufacturers. It also shows you that Java Card development can be platform-independent and can make use of 100-percent-Java development tools. In this article, Rinaldo and guest contributor Mike Montgomery provide two card services for loading Java Cards -- one for Schlumberger's CyberFlex 16K and one for Dallas Semiconductor's Java iButton. (The latter has always supported cross-platform development.) This article is intended for any developer looking to use Java Cards from manufacturers that support published interfaces for downloading their cards. The article assumes the reader has some knowledge of smart cards, Java Cards, and OpenCard. (3,000 words)
Mike Montgomery, February 1999

How to write a CardTerminal class for simple and complex readers in an OpenCard environment
In October, the 1.1 release of the OpenCard Framework was announced. There were a number of changes to the previous release, version 1.0, in the area of card terminals. These changes greatly simplify programming of card terminals and provide significant performance enhancements. OpenCard Framework 1.1 differs from 1.0 in the card terminal area in that exceptions are more concise; the CardID, which served a dual purpose in 1.0, now serves the single purpose of identifying the card using the ATR; event handling has been simplified; and the APDU classes have been made reusable to improve performance. Also, many of the convenience methods of CommandAPDU have been removed in order to contribute to slimlining the framework. In order to provide developers with a good library for developing card terminals, this month's Java Developer contributors offer two card terminal implementations: one that uses RS232 signals to control the reader and one that uses a packet protocol to send data back and forth to the reader, which decodes it and forwards it on to the card. (4,500 words)
Rinaldo Di Giorgio, January 1999

Messaging helps move Java into the enterprise
Enterprise applications have to satisfy some pretty demanding requirements. After all, your company's bottom line may be on the wire. Your applications must be scalable, secure, robust, and flexible. Applications built around a messaging core have aptly demonstrated their ability to meet these requirements. With the development of the Java Message Service API, Sun ensures that Java applications won't be left behind in the rush to embrace this up and coming enterprise technology. (1,200 words)
Todd Sundsted, January 1999

How to write OpenCard card services for Java Card applets
OpenCard provides an API that allows different card readers, different platforms, and different Java Cards (as well as non-Java Cards) to be used by the same Java code with no change. With OpenCard you can run Java smart card applications in your office, on your set-top, and on your personal data assistant -- and, of course, on Windows platforms as well. In this article Thomas and Rinaldo describe what must be done to provide OpenCard support for a smart card in general and for a Java Card in particular. They first present an architecture for Java Card card services for OpenCard, then move on to a step-by-step tutorial, showing how a card service for a given Java Card applet can be implemented and how an application can then use that card service. (4,200 words)
Thomas Schaeck With Rinaldo Di Giorgio, October 1998

Restricted-channel multicast in Java

Jason Scherer with Rinaldo Di Giorgio, September 1998

Java gets serial support with the new javax.comm package
One of the most popular interfaces on a PC is the serial port. This interface allows computers to perform input and output with peripheral devices. Serial interfaces exist for devices such as modems, printers, bar code scanners, smart card readers, PDA interfaces, and so on. Sun's JavaSoft division recently has made available the javax.comm package to add serial support to Java. This package provides support for serial and parallel devices using traditional Java semantics such as streams and events. In order to communicate with a serial device using a serial port on a host computer from a Java application or applet, an interface is required. This API allows you to transmit and receive data from external devices connected to your serial port. In addition, the API provides a complete set of options for setting all of the parameters associated with serial and parallel devices. This article focuses on how to use javax.comm to communicate with a serial device based on RS-232; discusses what the javax.comm API does and does not provide; and offers a small example program that shows you how to communicate to the serial port using this API. We will end with a brief discussion of how this API will work with other device drivers, and also go over the requirements for performing a native port of this API to a specific OS. (2,700 words)
Shivaram H. Mysore and Rinaldo Di Giorgio, May 1998

Write your own MOM!
In honor of Mother's Day, we're devoting this entire column to MOM -- message-oriented middleware, that is. This article investigates what makes MOM systems tick and how they relate to RPC-oriented systems such as RMI. Step by Step columnist Michael Shoffner takes you through the construction of a simple MOM (built on top of the distributed whiteboard implemented in past Step by Step columns) that passes user-defined objects around on user-defined channels. When you're finished reading this article, you'll know when MOM is appropriate as a distributed systems infrastructure, and you'll have a basic channel-based message-passing system that you can use as-is or extend. (3,500 words)
Michael Shoffner, May 1998

Understanding Java Card 2.0
Java Card is a smart card that is capable of running programs written in Java. For this new Java platform, Sun's JavaSoft division has made available the Java Card 2.0 API specification, and several licensees are now implementing this API on smart cards. In order to program Java Cards that are 2.0-compliant, developers need to understand what a Java Card is architecturally, what its core classes are, and how to develop applications for the card. The previous articles in the Java Developer series on smart cards provided an overview of smart cards, described how to deploy applications that talk to a Java Card using OpenCard interface, and discussed the business opportunities represented by the Java Card. This article gets inside a Java Card, providing you, the developer, with technical guidance on the system architecture, application programming interface, and runtime environment of the Java platform in a smart card. (4,000 words)
Zhiqun Chen and Rinaldo Di Giorgio, March 1998

Find more >

Newsletter sign-up
View all newsletters

Sign up for our Enterprise Java Newsletter

Enterprise Java