
Please feel free to forward this newsletter to as many friends as possible. I have a personal goal of having one million readers. I can achieve it with your help.
the Software View: JavaSpacesTM is the place
For those of you with Internet and World Wide Web access and a Netscape Navigator web browser, please point your browser to:
http://www.softwareview.com/
Scroll down the page and you will spy a link entitled, "Current views web log (fresh news daily! Click reload, clear the browser cache)" The daily news page is also known as a "web log". It is en vogue and the fashion of these days to call it that. Click on the link, click "reload" on your browser or clear your browser cache to ensure that you always receive the freshest, hottest daily news concerning JavaTM, Linux, XML, and the software industry! The link never changes, but I will be updating the HTML file page behind it every day. Please, do take a gander at it every day.
Also, some important news, gentle readers. the Software View is now an Associate Internet World Wide Web site of Amazon.com. I would like to extend my sincere, heartfelt gratitude and thanks for your patronage. I am offering links to books, et cetera that you can purchase from my web site. I would greatly appreciate it if you would purchase software industry books from my web site. Help support my newsletter and web site by purchasing items from Amazon.com from my web site. Here is the URL (Uniform Resource Locator):
Click here
Now, dear readers, on with this week's episode of the Software View!
In his book, The Right Stuff, author Tom Wolfe vividly paints a picture as to what it was like to be an astronaut during the infant days of NASA's space program. The book covers the first seven Americans in space, focusing on the lives of Chuck Yeager, Pete Conrad, Gus Grissom, and John Glenn before, during, and after the selection process for the Mercury astronaut program, and depicts how the public and the press molded them into "the purest version of the American hero". They were viewed as the chosen few, who would bravely risk their lives to surpass the Soviet Union in the race to space. All of them were pilots who had the "right stuff," which is defined as ... bravery. Ultimately, God willing, one day - that you might be able to join the special few at the very top, the elite who had the capacity to bring tears to men's eyes, the very Brotherhood of the Right Stuff itself. These men scaled the heights of a new frontier. Not unlike the frontier that I am about to describe to you.
JavaSpaces technology is a simple, expressive, and powerful tool that eases the burden of creating distributed applications and enables transactions and transactive communication. Processes are loosely coupled - communicating and synchronizing their activities using a persistent object store called a space, rather than through direct communication. This method of coordinating distributed processes leads to systems that are flexible, scalable, and reliable. While simple, the space-based model is powerful enough to implement advanced distributed applications - from e-commerce systems and groupware to heavy-duty parallel computations. Space-based programming also leverages the JiniTM technology's leasing, distributed event, and transaction features, making it suitable for building robust, commercial-quality distributed systems.
Sun Microsystems' Jini software technology aims to erase the hardware/software distinction, to foster spontaneous networking among electronic computing devices, and to make pervasive a service-based architecture. In doing so, the Jini architecture is radically changing the way the world thinks about computing. As Sun Microsystems, Incorporated's co-founder and Chief Scientist, William N. Joy, writes, "As part of the fruits of Sun's Jini project, we now have the JavaSpaces technology, a wonderfully simple platform for developing distributed applications that takes advantage of the power of the Java programming language."
Gentle readers, JavaSpaces technology is a powerful Jini service from Sun Microsystems, Incorporated that facilitates building distributed applications. The JavaSpaces model provides persistent object exchange "areas" in which remote Java processes can coordinate their actions and exchange data. JavaSpaces technology supplies a necessary, cross-platform framework for distributed computing with Jini technology.
IF YOU KNEW LINDA
JavaSpaces technology is the descendant of almost two decades of academic research on space-based systems. The genesis of space-based systems is Doctor David Gelernter's Linda coordination language, which was developed at Yale University in the early 1980's and which allows you to distribute a computer program across a multitude of processors and thus break down problems into a multitude of parts in order to solve them more quickly. Gelernter's original paper remains the definitive work on the space- and time-uncoupled nature of space-based systems and offers many insights into the paradigm. His more recent publications focus on common programming idioms in tuple-based systems. While these publications have a bias toward parallel computation, the techniques are applicable to distributed applications as well.
For a vision of how tuple-based systems can harness the computing power of networked machines and can be used to create continually updating software models of the real world, you must read Gelernter's seminal work, Mirror Worlds, which was published in 1991 by the Oxford University Press. As Cliff Stoll writes, "There are lots of clever computer scientists; Gelernter is one of the few who is wise. He is a social commentator, historian, and a sage with a snicker. In Mirror Worlds, Gelernter predicted the power of computer models." He prophesied the rise of the World Wide Web. He understood the idea half a decade before it happened.
Gelernter, a Professor of Computer Science at Yale University and author, is also a contributing editor for the Manhattan Institute's City Journal and the National Review, a contributor for Time and Commentary, and an art critic for the Weekly Standard. He has also put in appearances as the token conservative or technology pundit for The New Republic, The New York Times, The Washington Post, and Feed.
It broke my heart to read how on the morning of June 24, 1993, Gelernter was nearly killed when he opened a package that had been mailed to him by the Unabomber. He is an accomplished writer, painter and musician - all pursuits violently interrupted by the blast. It looked like a dissertation. He did not recognize the name of the return address, but newly graduated Ph.D.'s were always sending their dissertations around. That small package's explosion shattered Gelernter's world. It damaged his hearing, eyesight, blew off part of his right hand, caused massive chest injuries, and put him in the hospital for several weeks. He was the Unabomber's twenty-third victim. Gelernter would recover, in great pain and with much reflection on a world that could produce the evil and terror visited upon him.
Jaron Lanier writes, "Gelernter is a unique and profoundly important presence in the information technology community. He is a full-out visionary, able to present ideas as wild and on the edge as anyone (see Mirror Worlds). But at the same time, he remains grounded in the simple basis of human life, in the family, in the values of love and regeneration. He is also, obviously, a rare example of someone from our community who has had to face real danger, and he's done so with courage and without falling into bitterness. Mostly I value him as a clear thinker, able to get to the bottom of technical and moral issues with equal grace."
REBEL YALE
Gelernter has said the the Internet is going to start mattering in a significant way when it relieves people of the burden of dealing with the garbage inherent in the information flow of everyday life. The Net is going to matter when one can rely upon it to store vital information and when the Net makes computers completely transparent. Plug in an electronic computing device, and see through it to the object that matters to you, and have your entire information life online, in chronological order, searchable from birth onward. All the documents, transactions, and pieces of information important to you are maintained by the Net with sufficient reliability so that you could unplug your computer and smash it with a hammer without affecting anything. You could walk up to any electronic computing device anywhere and focus it on your own life stream.
According to Gelernter, the desktop metaphor is obsolete. He wants to move beyond space - to time. The project that Gelernter and several of his graduate students were working on was called Lifestreams, and it may completely change how we manage information. Today, our view of cyberspace is shaped by a twenty-year-old metaphor in which files are documents, documents are organized into folders, and all are littered around the flatland known as the desktop. Lifestreams takes a completely different approach: instead of organizing by space, it organizes by time. It is a diary rather than a desktop.
Gelernter, Eric Freeman, and Scott Fertig formed an independent company, Mirror Worlds Technologies, Incorporated, backed by private investors to create and market Lifestreams. Doctors Eric Freeman and Susanne Hupfer were part of the Linda inner circle at Yale, and they know more about tuple spaces than nearly anyone. Hupfer's early graduate research focussed on a problem that looks easy but turns out to be very hard, adding multiple tuple spaces to Linda. She went on to write a thesis that centered on "Turingware," a form of Linda ensemble in which processes and people shared a single coordination framework. Hupfer is now Director of Product Development for Mirror Worlds Technologies and a Fellow of the Yale University Center for Internet Studies. Doctor Hupfer previously taught Java network programming as an Assistant Professor of Computer Science at Trinity College.
Freeman's first research project as a Yale graduate student was another avant garde tuple-spaces project in connection with the "adaptive parallelism" system called Piranha; a program that has adaptive parallelism grow and shrink as it runs. He transferred the Piranha idea to a parallel supercomputer. Freeman implemented all of Lifestreams. At one time, Lifestreams worked only on Unix workstations, so Freeman ported the system to Java to make it platform-independent. He also added encryption to the production version of Lifestreams to protect users' privacy. Lifestreams was Freeman's Ph.D. thesis. Aside from writing stinging rebuttals in the pages of the Computer-Human Interaction Bulletin, Doctor Freeman is a co-founder and Chief Technology Officer of Mirror Worlds and co-inventor, with Gelernter, of the patent-pending Lifestreams technology. He is also a Fellow at the Yale Center for Internet studies. The company was one of only thirty companies given early access to Sun's Jini technology. The most exciting recent news is that Lifestreams has been bundled on a compact disc for the new Sun Microsystems Sun Ray 1 enterprise Internet appliance.
The JavaSpaces project at Sun Microsystems originated with Bill Joy; Ken Arnold was in charge of it and he is the lead engineer. He is responsible (along with Jim Waldo, Ann Wollrath and Bob Scheiffler) for the actual JavaSpaces design. Arnold, one of the original architects of the Jini platform, serves as the Jini Technology Community Coordinator for Sun Microsystems, Incorporated, and is co-author, with James Gosling, of The Java Programming Language, Second Edition book, part of the official Sun series of books on the Java language, packages, and environment that is published by Addison Wesley. Prior to Jini, Arnold worked with Jim Waldo on the Remote Method Invocation (RMI) and object serialization team. Arnold was the main implementor of JavaSpaces. As the initial Jini technology community coordinator, Arnold will oversee Jini's future development. He will represent the Jini community outside of Sun, and he will work with the internal Sun development team to coordinate future upgrades.
Freeman, Hupfer, and Arnold are also also co-authors of the official Jini series book on JavaSpaces distributed programming.
MIEN IN THE MIRROR
JavaSpaces technology is a simple, unified mechanism for dynamic communication, coordination, and sharing of objects between Java technology-based network resources like clients and servers. In a distributed application, JavaSpaces technology acts as a virtual space between providers and requesters of network resources or objects. This allows participants in a distributed solution to exchange tasks, requests and information in the form of Java technology-based objects. JavaSpaces technology provides developers with the ability to create and store objects with persistence, which allows for process integrity. Similar art includes IBM's TupleSpaces project and Cloudscape's Java database.
Jini and JavaSpaces bring true distributed computing to Java. Jini and JavaSpaces combine to turn your machines into a networked multi-computer. Together, these two technologies can even be used to create a personal supercomputer at work or in the home. As Bill Joy explains, a "JavaSpace is just the idea of a space where a device can read, write, or take. I would say it is like the co-op bulletin board. You go in the door and there are all these pieces of paper: You have that, I want this. Some of them have little strips along the bottom; you can take a phone number. You can make a copy of it without removing it or you can just take the whole piece of paper or you can stick one up. It's transactive. Today, transactions only come in the context of these funky database systems that are huge. If you want to do a transaction, even for something as simple as a purchase, you have to crank up an Oracle database. With JavaSpaces, you have simple transactive communication."
WIDE OPEN SPACES
In a JavaSpaces system, a customer would go to the car parts dealer and put in a request for a carburetor for a Lexus sedan. The order goes into the distributed JavaSpaces system (a "space"). It first enters the subsection of the space represented by the warehouse, or the warehouse space. This warehouse space then negotiates with the subsections of the car manufacturers (the car manufacturer's spaces) or parts distributors (the parts distributors' space). It issues a template describing the part. The various spaces respond with a list of available entries. The warehouse space server object compares them for price, features, reliability, and so on, and then issues either a read operation in the case of a car manufacturer (since it can make any number of identical copies of the part), or a take operation in the case of a parts distributor (since it has a given supply of the part); in truth, the car manufacturer space does not have an unlimited supply, but this is just an example. Let us say the customer wants to give back its defective carburetor, which is usually sent back to the manufacturer because it may be recoverable. In this case, the client reads the part from the car parts store warehouse space and writes it to the car manufacturer's space.
SPACE RACE
Gelernter eloquently writes, "Where does it all lead? Computers have become terribly significant. Our fundamental problem today is to make them insignificant. I have argued many times that computers would become devices not to look at but to look through. Information is stored nowadays on some particular computer. To get the information, you connect to the right computer. Before long information will escape from computers and take off on its own.
You will not care any more about the identity of your own desktop "personal" computer; you will not care about a Web site's address. Information will be (for all intents and purposes) free floating, and you will deal with it directly. Using a television, you can tune in to ESPN; you do not care that ESPN is headquartered in Bristol, Connecticut; at any rate, it is not inside the television. Using any telescope you can look at Jupiter - but no telescope is the "Jupiter server," and Jupiter does not live inside any telescope anywhere. Jupiter is an object and each telescope is an object, and they are all separate objects. By approximately the same token, you will be able to tune in to information (your own and everyone else's) using any computer that is handy.
How will we achieve this free-floating information? These free-floating data objects? Merely drop your information into some world-wide tuple space. Sun Microsystems' Jini is a step in this direction. Jini allows mutually anonymous processes to exchange information (so that a laptop, for example, can use a printer it has never met or been formally introduced to) by means of tuple-like information drops into a tuple-space-like communications medium. This is a powerful and flexible way to achieve coordination.
When you have a world-wide tuple space, you will be able to tune it in from any computer anywhere - or from any quasi-computer: any cell phone, any television, any toaster. World-wide tuple spaces will be achieved by fast computers wired together in fast networks, but the details will not matter to the users. The users will switch on their machines and information will flow, the way they turn on their faucets and get water (more or less). To the typical city-water user, the elaborate and sophisticated network that implements the water system is of critical importance and zero interest. The technology is there, and that is what matters. For worldwide tuple spaces, the technology is nearly there. Tuple spaces were invented (in technology terms) a long time ago, in the Middle Bronze Age of software, but projects like JavaSpaces technology are on the critical path to the future."
Gentle readers, would you like to journey to Jupiter and the heavens? Do you have "the Right Stuff"?
Sincerely,
Mark Kuharich
Join my free e-mail newsletter called the Software View by clicking here or by sending an e-mail to thesoftwareview-owner@west-point.org