Java Studio: Java for Information Specialists
Articles and Tips: article
Director of Marketing for
Sun Microsystems, Inc.
01 Mar 1997
Describes how Project Studio technology could be used in a variety of situations, and how it may well become the basis for a new communications medium.
A new Sun technology, Project Studio, will put Java tools in the hands of millions of people who don't write code, people whose creative skills and expertise form the backbone of the Web. The technology will lead to a development environment in which Java components, called Java Beans, can be assembled like building blocks to create Java enabled Web pages. This DevNote shows how Project Studio technology could be used in a wide variety of situations.
Bridging the Gap
One of the fundamental challenges in developing better Web sites-both on the Internet and at corporate intranets-is bridging the gap between the people who create the content and those who turn that content into actual Web pages.
The role of content developer is not well understood. These individuals for the most part are not technologists, not conversant in third generation programming languages like C++. Nor are they even part time developers who typically use products like Visual Basic, PowerBuilder, or Delphi. The closest content developers get to actual programming may be with application macro languages and HTML-although macro recorders and Web authoring tools have made even that level of programming skill an option.
But despite their limited programming knowledge, content developers constitute the very backbone of the Web. These are the knowledge specialists in a vast array of disciplines who lend their expertise to making Web sites a rich environment. They include Webmasters of every stripe, intranet administrators, and owners of small businesses with the savvy and perseverance to put information on the Web. They also include academics, scientists and researchers-the very people for whom the Web was designed in the first place.
The number of content developers is difficult to estimate; we put it at around 30 million worldwide. For the most part, content developers use HTML editors and other authoring tools to publish static information on the Web. But they have not been able to take advantage of Java technology in order to create more interactive content.
What does interactivity have to do with specialized content development? Let's consider a truly specialized content developer-a zoologist who has just compiled data from a three month study of orangutans in Borneo. Ordinarily, she could publish her findings as a static set of Web pages-including some tabular data and perhaps a few graphs converted to GIF images. Note that as a publishing medium, these static HTML pages are as constricted as the printed page. Indeed, the only advantage our researcher gains from publishing on the Web is the universal access afforded by the Internet.
What if she could publish that data as an interactive graph, so that viewers could enter parameters-such as a narrower set of dates or a specific location-giving visitors to her Web site a different view of the data set? Perhaps she might give visitors a choice in the kind of graph they see. For the researcher's readers, this flexibility can make the difference between comprehension and confusion, while opening up the possibility of fresh insights from viewing the data in a different way.
This kind of option in data presentation is nothing new, of course. Most spreadsheets and charting tools can convert tabular data into a variety of graphical formats quickly and easily. But on the Web, this flexibility is still mostly in the talking stages-and it is programmers who are doing most of the talking.
Project Studio Technology: Java for Information Specialists
Giving zoologists, as well as millions of other information specialists, access to truly interactive Web based tools is the motivation behind Sun Microsystems Project Studio technology. SunSoft's goal with Project Studio is to make the programming power it has developed for professional programmers available to a broad range of other users-people who have never heard of a subroutine and who think that a "do loop" is a day on a Los Angeles freeway.
For inspiration in building the Project Studio technology, SunSoft looked at multimedia animator packages like Macromedia Director. These outsets provide a highly graphical environment that enables creative individuals to design sophisticated programs without ever touching a programming language.
Adding its own experience in building development tools, SunSoft has sought to create a technology with this stringent criterion: if you can create a spreadsheet, you can create a Java enabled HTML page.
Early Java Beans Implementation
The Project Studio technology is one of the first implementations of JavaBeans, an architecture and platform neutral API for creating and using dynamic Java components.
Java Beans make it possible for developers to create a variety of application tools by connecting various Java components. A Java Bean is a pre canned piece of Java code-a Java component that can display a chart or animation, an audio clip, a credit card validation form, or database access request. Java Beans can both accept input from the user and act on that user's behalf-as well as communicate with each other. The range of possibilities in creating Java Beans is limited only by the capability of Java itself-which means that the possibilities are virtually unlimited.
While content developers will not create these components per se, they will be able to access and manipulate them-much the way a graphic artist might assemble assorted pieces of clip art into a visually compelling brochure. Only here, the assembly deals not just with static images but with functional components, selected from a palette of such components. The content developer's job is to arrange these components in a way that communicates best.
Input In; Graphics, Sound and Animation out
Project Studio is more than just a cut-and-paste technology. Each Java Bean can have an "input" and an "output"-that is, the capacity to receive information and output something else. To go back to our zoologist for a moment, she might set up a bar graph component, a "Bar Bean" if you will, to receive her Borneo collected data set as input. The "Bar Bean" would output a bar chart. From the zoologist's point of view, creating this bar chart is simply a matter of determining, through a graphical interface, what input goes in and where the output-the bar chart-appears.
Another example: say the Bank of Silicon Valley wants to present account information to its customers. The bank's development team could develop a Java Bean whose role in life is to extract the particular information from an account database. To retrieve the appropriate information and enforce security, the development team might produce another custom Java Bean-a fill in the blank sheet-that requests a customer's name and PIN number.
A third Java component, a "Form Bean," displays the information in an easy to understand format. In fact, it is possible to build a "pod" of Java Beans that would allow the user to choose from a menu of display forms and charts. By connecting and arranging these three components, the bank's content provider-a person who understands the needs of customers-can create a Web page that provides account information. Here is where the craftsmanship comes in, because the page must convey this search procedure even to a customer who has never visited a Web site before.
Perhaps the content developer would like to include an audio message. No problem: just drop in the audio player, another Java Bean that issues a message based on the screen selection. Or the content developer could specify a time dependent image by querying a "Clock Bean"-and on that basis, display a sun in the morning and a moon at night. Again, Java Beans are limited only by the Bean developer's imagination Java Beans can receive user input, fetch data, and display animation, sound, and visual elements.
Another example of cooperative Java Beans is a conferencing application that makes use of a "Client Bean"that provides the front end of a chat session and a "Server Bean" that is launched from anywhere to a location that is convenient to all people in a conference. Admittedly, this is a more elaborate example of Java Beans in action-but the same principle of constructing applications out of Java components still holds true.
The bottom line for the bank here is that a person who specializes inflesh and blood customers-not in programming code-can create an interactive Web environment that flesh and blood Web users can understand.
Birth of a Component Market
Content developers don't work in a vacuum but in partnership with the people who create the Java Beans in the first place. These are specialists in their own right-programmers, artists, musicians-who produce and publish components that other people can use. Again, the clip art analogy roughly applies here. Just as layout artists produce visually pleasing content that may have been created elsewhere, so do Java enabled layout artists work with Java Beans, thereby working in an entirely new medium.
Over the short term, the concept of Java Beans and Project Studio technology suggest the birth of a new business, in which cottage industries and large corporations alike create Java components that other people can assemble.
At SunSoft, our expectation is that a few years from now, Project Studio technology will be viewed not as a specialized application but as a commonplace productivity tool-as common as spreadsheet, word processor, and slide presentation packages are today. Project Studio anticipates the day when Web based content becomes as ubiquitous as the printed page.
We see Project Studio as the foundation of this new Java based medium-a medium whose authors will not necessarily come from the technology priesthood. Instead, the main criterion for participation will be simply having something of value to say.
* Originally published in Novell AppNotes
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.