Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API

Newsletter sign-up

Sign up for our technology specific newsletters.

Enterprise Java
View all newsletters

Email Address:

Serve clients' specific protocol requirements with Brazil, Part 1

Learn how to build an application server that can deliver data to clients requiring different protocols

Reusing code to concurrently support different interface options is not an easy task for a developer. The purpose of this series is to facilitate this process by showing you how to build a simple application server that supports clients using any of the J2EE APIs. I will demonstrate how to deliver data from a device or other source to clients requiring a specific protocol or a delivery guarantee that must support multiple protocols.

Read the whole series on Brazil technology:



The Brazil Web server, which I introduced in my previous column, will be implemented as an experimental application server. (See the sidebar below, Brazil: An extensible Java Web server, for more information about the Brazil project.) In that article, I discussed how you can support X10 devices by means of a Brazil handler. This time around, the handlers, which realize specific interfaces for different connection protocols, will extend the Brazil Web server so that users can employ varying network protocols and technologies to connect to it.

Consider delivering data from a weather station to a mixture of users on the Internet, as shown in Figure 1:

Figure 1. Delivering data to diverse clients

The figure demonstrates that you may have users on limited-bandwidth connections -- like radio links to handheld devices, pagers, phones, and PDAs -- and high client bandwidth multicast services -- like satellites telemetry applications requiring constant updates, and cable modem, DSL, and traditional modem users. In future columns, we will examine prototypes that use a delegation model to utilize the technologies in the figure, while at the same time maximizing code reuse with simultaneous support for Jini, JRMS, RMI, JDBC, JMS, HTTP, applets, and JavaScript.

This article introduces an architecture that utilizes a Web server as a resource contention manager, a basic service provider (for file services), and a general supplier of an application service (for weather data). The Brazil Web server differs from current Web servers in that it is smaller and easier to comprehend, and provides users with an old abstraction -- property objects. Use of property objects with the Brazil Scripting Language (BSL) provides an integrated Web content delivery system with no out-of-band scripts, which allows easy access to data on the server. Thus, placing server data that is not a file on a Webpage becomes trivial.

The advantage of this approach is that the Web server also doubles as the foundation for delivering services to users with different requirements, yet utilizes the same code base and provides a unified interface to the varying protocol drivers. Often these services require some additional interfaces and/or management abilities. By using a variety of mechanisms, the Brazil Web server can provide authenticated, secure access to these services.

1 | 2 | 3 | 4 | 5 |  Next >
Resources