Serve clients' specific protocol requirements with Brazil, Part 6
In this conclusion to his series on Brazil, Rinaldo Di Giorgio demonstrates how to use the following technologies with the Brazil toolkit: Jini, BeanShell, and the Java API for XML Messaging (JAXM). You can also use Brazil with many other technologies, including Xalan-Java, servlets, Velocity, and LDAP (the lightweight directory access protocol); Di Giorgio shows you how to get started with those as well. He'll also discuss the larger purpose of this series: to demonstrate how to use Brazil to support new technologies and APIs in ways that API developers might not have considered. For example, you would not commonly consider using the above technologies in a Web server. By understanding how these technologies work, you can better determine the right tool for your job.
Rinaldo Di Giorgio, July 2002

Serve clients' specific protocol requirements with Brazil, Part 4
This fourth installment of Rinaldo Di Giorgio's Brazil technology series introduces you to multicast via JRMS (Java Reliable Multicast Service). Multicast is a protocol that supports simultaneous message transmission to multiple recipients, without having a point-to-point connection with each recipient. In this article, Di Giorgio presents some JRMS examples that you can use in your own network, and provides sample code for a Brazil handler that creates a weather multicast channel. (2,400 words)
Rinaldo Di Giorgio, April 2001

Serve clients' specific protocol requirements with Brazil, Part 3
In Part 3 of the Java Developer Brazil technology series, Rinaldo Di Giorgio shows how the Brazil server transmits weather data to wireless clients. Using three different wireless access environments -- Palm, Openwave (previously, Phone.com), and the Java 2 Micro Edition's Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile (MIDP) solution -- he demonstrates how to develop wireless applications with minimal programming on the server. Some of the clients he discusses in this article require the use of other languages, such as WML, and Web clipping knowledge. See Resources for more on these subjects. (2,800 words)
Rinaldo Di Giorgio, January 2001

Serve clients' specific protocol requirements with Brazil, Part 2
In this second article in the Brazil technology series, Rinaldo Di Giorgio will demonstrate how to use XML to facilitate data exchange between applications. Specifically, he'll explain how you apply XML to exchange weather data. He'll also introduce scripting languages that you can implement to efficiently and quickly produce XML-tagged data. Brazil supports the Python and Tcl scripting languages as handlers, and can support added languages like Perl. The examples presented here work with the Brazil Web server, but can also be ported to other servers like Apache and iPlanet. This month, he focuses on defining and generating XML data via BSL, Tcl, or Python. (2,900 words)
Rinaldo Di Giorgio, October 2000

Serve clients' specific protocol requirements with Brazil, Part 1
In his last column, Rinaldo Di Giorgio discussed how to support X10 devices through a Brazil handler. This time, he begins a series that will utilize the Brazil Web server as an experimental application server. The Brazil sever can deliver data to clients requiring such specific protocols or technologies as the simple HTTP via URL programming interface, the Java Reliable Multicast Service protocol, Java Message Service, and Jini. He will also show you how to use applets, JavaScript, and the Brazil Scripting Language to rapidly create Webpages. (3,000 words)
Rinaldo Di Giorgio, August 2000

How handlers work in Web-accessible home automation
The Brazil server project at Sun Labs began as an HTTP stack with an extremely small footprint. It was originally designed to provide a URL-based interface for smart cards, so that smart cards could be accessed easily from an ordinary Web browser. Along the way, it grew to provide a more flexible architecture for adding URL-based interfaces to arbitrary applications and devices. In previous JavaWorld articles, Rinaldo DiGiorgio and others have discussed the advantages of embedding Web servers in applications. This column offers a complete example for providing Web-accessible home automation using X10. (3,000 words)
Rinaldo Digiorgio, Colin Stevens and Stephen Uhler, May 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

Learn to use software components to deploy applications using Java Cards
This article will provide a broad overview of how OpenCard, and the smart card UPI URL Programming Interface -- both of which have been discussed in prior JavaWorld articles -- can be utilized 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 in convenience applications such as portable form-filling. We will provide some additional information on how to load a CyberFlex Access smart card produced by Schlumberger and a brief introduction to CAP files, which eventually will standardize the dynamic downloading process described in this article. (2,200 words)
Mike Montgomery, October 1999

An introduction to the URL programming interface
The demand is increasing for universally available networks and devices for personal and corporate use. For example, wouldn't it be useful to be able to get a file from your home system in Australia while you were on a business trip in California? Many of the current approaches use proprietary solutions that do not scale or make effective use of the Internet. A workable solution must provide strong authentication, offer optional encryption of the established session, and operate without requiring special permission to reconfigure firewalls. Additionally, the solution shouldn't make use of large applets that only work on corporate LANs, as some users may access the system from low-speed modem and wireless connections. This article shows you how to build scalable implementations that provide solutions to these problems. It describes an architecture -- the URL programming interface (UPI) -- that utilizes Java technology to glue together legacy architectures, new devices, and the Internet securely and at a low cost. (5,500 words)
Rinaldo Di Giorgio, September 1999

An instrumentation network for weather data on the Web
This article is the first in a series of articles that will examine how Java can be used to improve and reduce the cost of collecting realtime data on the Web. Over the next few months, several architectures, including HTTP posting, applets, applications, RMI, Jini, and multicasting, will be discussed. The articles will focus on weather data, using the low-cost 1-wire weather station from Dallas Semiconductor. This month, authors Rinaldo Di Giorgio and Brian Hindman turn their attention to techniques for distributing realtime data to Web clients -- in this case, data collected from weather stations -- using the browser of your choice. Weather stations can just as easily be replaced by any other device producing data that can be read and processed by a proxy and made available on the Internet. (5,600 words)
Brian Hindman, May 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

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

Find more >

Newsletter sign-up
View all newsletters

Sign up for our Enterprise Java Newsletter

Enterprise Java