The Artima Developer Community
Sponsored Link

The Montage Browser and a Cyberspace Demo
Picking up the Pace in Cyberspace

Advertisement

Summary
In this document I give a brief description of the browser I released under SCSL in January, 2001, and the services at artima.com that it accesses.


This week I am releasing the source code of the first cut of a Place-aware browser (a Jini client for users) under the Sun Community Source License. I intend this version of the browser to serve as a demonstration of the Place API. In this short document I'll explain what is being demonstrated, and give links where you can find more information.

The Montage Browser

The Montage browser basically shows the same demo I showed at JavaOne 2000. You can click on hyperlinks in web pages to access Jini services via service UIs. You can click on Links in Jini Place services to either access other Jini services or web pages. The main difference between Montage and the demo I gave at JavaOne 2000 is that at JavaOne I was using Netscape with a plug-in. In the latest incarnation of the demo, Montage takes the place of Netscape. Montage renders web pages (badly, because I'm using JEditorPane.), and hosts the Jini services all in one JVM. In the JavaOne demo, Netscape showed the web pages and each Jini service was started in a different JVM.

When the browser starts, it attempts to access the Artima Home Place Jini service at http://www.artima.com/index.serviceui. (To run the demo, therefore, you must be connected to the internet.) That file at artima.com, which is delivered with an application/x-serviceui MIME type, contains a serialized marshalled Jini service item. The browser deserializes and unmarshalls the service item, selects a service UI, connects the service and service UI, and displays the service UI to the user. Here's what the Artima.com Home Place looks like in Montage:

Artima.com Home Place in Montage

If you click on any of the Links to web pages, Montage will take you to that web page. In the Artima Places, Links to web pages are all represented by icons of various colors that look like: . Icons that look like: represent Links to other Place services at Artima.com. What you'll note about these Links is that when activated the resulting service overlays the current one like in a typical hypertext browser. (In cyberspace, everything is a service. Web pages are wrapped in Jini services, so they become "web page services".),

On the other hand, if you activate the link to the Artima Calculator, which looks like: , you'll note that the Calculator service pops up in its own frame:

Artima Calculator

Likewise, if you activate the link to the Artima ColorSchemer, which looks like: , you'll note that the ColorSchemer service also pops up in its own frame:

Artima ColorSchemer

In this initial version of Montage, the browser lets the service provider decide whether to pop up into a separate window. When looking for an appropriate service UI, if Montage finds a UIDescriptor that has a JFrameFactory, it will use that factory to create a JFrame, which of course pops the service up into its own window. Otherwise, if Montage finds a JComponentFactory, it will use that and embed the JComponent service UI in itself, overlaying the previous service.

All of the features of the Montage browser appear in standard browsers, and should therefore be self-explanatory, except for one: the Liftoff button. If you press the Liftoff button, Montage will "lift" the currently displayed service off of the history stack of that window, and display that service in its own window.

The important thing to get about the demo is that the Artima Place services, calculator service, and ColorSchemer service all come across the network. They are not part of Montage. Montage merely allows users to access those Jini services and service UIs via Links.

Discussion Forum

Ultimately, I'd like to build a collaborative development effort around this browser, the Place API itself, and the example Place service implementation, BasicPlace. I'm installing CVS for that purpose. Once I get things set up, I'll post information about how you can hook up to the CVS tree.

To discuss the ideas presented in this article please post to the cyberspace@jini.org mailing list, or visit:

http://www.artima.com/jini/jf/cyberspace/index.html

For more information about the cyberspace project, please see the A Walk Through Cyberspace article, the First Steps in Cyberspace article, or the Cyberspace Project home page.

ServiceUI is a trademark of Artima Software, Inc.

Sponsored Links



Google
  Web Artima.com   
Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us