Java: A platform for platforms
Sun's reorg may seem promising to shareholders but it's also a scramble for position. The question now is whether Sun can, or wants to, maintain its hold on Java technology. Especially with enterprise leaders like SpringSource and RedHat investing heavily in Java's future as a platform for platforms

Also see:

Discuss: Tim Bray on 'What Sun Should Do'

Featured Whitepapers
Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:

Remote-control Java

Use VNCj to export your Java user interface to VNC viewers

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone

Now that Windows XP supports desktop remote control over the network, we see a cycle close, a cycle that has been closing in on us for a long time. Remote control is not new. In fact, mainframe dumb terminals were nothing more than remote controls for a central computer. Minicomputers, like the VAX (Virtual Address eXtension), introduced more sophistication—with distributed terminal server networks—complicating the mainframe's strict hierarchy of terminal controllers. In both cases, once you had access to a computer from a terminal, you connected to other computers in the corporate network using terminal emulation. With a host computer located on the other side of the planet, remote control suddenly became real power. Then ARPANet (Advanced Research Projects Agency Networks) became the Internet, and a small dumb terminal could connect you to the world. The last technological step occurred when personal computers became affordable, allowing dumb terminals to get smart. With the advent of graphical terminals, you could control your remote computer just as easily as the one in your office, with the only difference being sluggish performance.

However, network bandwidth developed into a pretty big issue. Transferring graphics from host to terminal worked fine within a LAN, but even corporate WANs couldn't handle inter-site graphical remote control. Meanwhile, though, PCs became as cheap as smart terminals, and controlling a remote computer suddenly didn't make much sense when you could get a decent one in the room.

But remote control did not die out. Companies discovered that providing every employee with a computer costs a fortune in maintenance. PC operating systems were still not "fire and forget;" they required constant tuning and fiddling just to keep everyday work going. Terminals seemed like a good idea again. Microsoft caught the drift and introduced Windows Terminal Server, which was nothing more than a clone of the old X terminal workhorse, with an updated market rationale. The final step brought remote control into the home. Over the past few years, high-speed connections to offices and homes have grown popular, and we now see many proprietary products moving in to fill the demand, allowing us to control our office or home computers from our cell phones.

That Microsoft actually entrusted remote control technology to us idiots at home (Remember, Microsoft has to give us user support too!) represented a triumph for a 20-year-old model. With any computer acting both as host and terminal, all you need is an Internet connection to access any computer anywhere in the world.

With all this excitement about remote-control power, you should have it too. This article introduces a free, 100 percent Java library, VNCj, and shows you how to use it to create remote controllable Swing, AWT (Abstract Windowing Toolkit), and other applications in Java that can be accessed by any VNC (Virtual Network Computing) viewer. VNC is a free, ultra-light, and popular remote-control system originally developed by the Olivetti Research Laboratory, which later became AT&T Laboratories Cambridge. Its tiny terminals, called viewers, have ported to almost any platform you've heard of, including a number of Java applets. With VNCj, users can access your Java service from PDAs, cell phones, and virtually all desktops. Via the pixel model (see below) and JNI (Java Native Interface), VNCj can even serve non-Java code.

  • 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