Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

An introduction to the URL programming interface

Create ubiquitous controlled access to devices using UPI

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Developing consistent, reliable Web applications that interface to different devices -- such as home networks, home automation systems, or realtime telemetry devices -- can be vastly simplified by treating devices as URLs. The URL programming interface (UPI) effectively provides a set of URLs for a device that are available to any user capable of performing the HTTP protocol. HTTP has become so universal that, in college computer courses, students are often given as an assignment the creation of an HTTP stack. This trend is due to the growing interest in connecting devices to the Internet. Sun Microsystems Laboratories has used the Java language to develop a technology that allows users to deploy very small HTTP stacks, with a core of less than 100 KB. These small servers can be embedded in devices or used as application servers that are similar to traditional Web servers. Such minimal servers can be used to provide an integrated presentation and service layer for a device. Since it can be a Web server that answers to URL requests, universal access to devices from any Internet node is achieved.

Several prototypes have been built for smart cards, realtime weather stations, and home automation. This article demonstrates how HTTP stacks can be used to deploy interfaces to devices, creating an extranet that contains those devices. The technology discussed in this article was developed at Sun Labs, which has built several prototypes that provide authenticated access to any device on the Internet capable of supporting Java directly or via a proxy.

The UPI was developed by Sun Labs in response to customer desires to deploy Java Card smart cards to large user populations on disparate targets. While developing a solution for such large scale deployment of smart cards, it was found that the same technology could be used for interfacing a multitude of devices, such as weather stations, home automation systems, devices in factories, and equipment in stores. One of the most useful benefits of this architecture is that the different components can easily be used with each other. For example, you can easily use a smart card to authenticate access to your home by having it interact with your home network and/or environmental systems.

Supporting devices in Web applications will add new utility to the Internet, if the technology is implemented securely. Java technology is perfect for this type of application due to its small size and security model. How do you access a device remotely using your Web borrower in a secure manner, without allowing other users to do the same unless they are also authorized? As Internet aware devices (IADs) become widespread, protecting the data they contain becomes crucial. To date, many security systems on the Internet are immature, with the use of passwords and PINs nominally required but easily circumvented. In this article, we will describe how the UPI security services provide an easy way to build an authentication access solution that does not rely on this inadequate password-based security.

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources
  • X10What is it and how does it work? Some useful URLS: