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