Welcome!

Java Authors: Michael Sheehan, Maureen O'Gara, Jonny Defh, Suresh Krishna Madhuvarsu, RealWire News Distribution

Related Topics: Java, SOA & WOA

Java: Article

"Jini, Vidi, Vici" in 2004/5, Sun Hopes

Sun believes Jini's time is arriving, spokesperson says.

As announced here by Sun's Onno Kluyt last week, March 23-25 sees the latest meeting of the community that has grown around Jini - the Java-based network technology that enables adaptive network-centric services based on shared memory (JavaSpaces) and code portability.

For more information and for registering, interested developers can visit here. The event is being held in Boston, MA.

Jennifer Kotzen, senior product marketing manager for Jini at Sun, has been talking about the technology - which Sun hasn't yet used in any products, although it does use it in the development of products for dynamic connectivity services.

"Sun believes Jini's time is arriving, thanks to the advent of concepts such as grid, utility, and on-demand computing and with service-oriented architectures," Kotzen said.

"Sun responds to market demands, and what we have seen is that the need that Jini technology fulfills has not been pressing until recently," she added. "The changing marketplace is expected to result in a corresponding increase in use of Jini technologies by Sun and its competitors." The concepts behind Jini involve distributing compute cycles and services around a network on an as-needed basis, without particular regard to the origin of the cycles. Scott McNealy in his 2004 technology predictions didn't mention Jini, but has recently said:

        "There's a huge community built around [Jini]. It's getting embedded here, there, and everywhere."

Below is an extract from the "Jini and JavaSpaces" section of Karl McCabe's recent JDJ article, "Java and the Future of Ad Hoc Networking":

Jini, officially launched in mid-2000, is a technology that may be used to federate groups of users and resources required by those users. It aims to allow a network to be more flexible and more easily administered, with resources being easily located by humans and computational clients. Jini provides framework components for managing federated services, such as a lookup service for locating services, a leasing capability for controlling use of services and security, and transaction capabilities for coherent interservice interactions.

Jini operates at a level of abstraction that makes it attractive to application developers who need to solve an application problem, rather than worry about underlying networking issues. It provides a paradigm that may be useful to Bluetooth applications, since it allows services to be loosely coupled, that is, Jini nodes and services may appear and disappear from a network as a natural consequence of its operation. This loose coupling of entities is an important quality in a mobile ad hoc network.

JavaSpaces is a Jini service. It provides the abstraction of a JavaSpace into which components known as "entries" can be put. An application may "find" these entries, it can "read" (passive) or "take" (destructive) entries, and it may write entries to a space. The JavaSpaces architecture includes a notification mechanism that notifies an application when an entry is written that matches some criteria. This form of abstraction is particularly useful for passing information from stage to stage in a workflow model, or for applications where redemption of some token is important - for example, redeeming a voucher with a service provider. Interestingly, JavaSpaces also provides a useful abstraction for layering over actual physical spaces. In a Bluetooth access point scenario, this may be useful as an application model for mapping zones or spaces in which access points are installed, and for specifying which services are available in which zones.

Both Jini and JavaSpaces are good examples of creative and elegant designs for Java software frameworks that are intended to provide rich abstractions to application programmers. They have characteristics that make them well suited to ad hoc networking applications - particularly the inherently loose coupling of objects. They're not without their drawbacks, though, as I'll examine shortly.

More Stories By Java News Desk

JDJ News Desk monitors the world of Java to present IT professionals with updates on technology advances, business trends, new products and standards in the Java and i-technology space.

Comments (6) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Cam 03/16/04 11:42:36 AM EST

If copying and emulation is the best form of flattery then apparently Jini and the concepts enumerated rock! Note the recent ''draft'' specs floated by Microsoft (et al) lately. Things like the WS eventing or the WS Dynamic discovery spec. "http://www.sys-con.com/webservices/article.cfm?id=758"
Jini is a technology that was a good idea then and is a good idea now. Success in the ''market'' is only partially driven by the quality of the technology, and is often an indication of the quality of ''marketing'', not of how good the the techology is. Jini still provides the best and most flexible solution to distributed computing problems. The concept of discovery, code movement and dynamic class loading across a network connection is a huge advantage and yet programmers seem to think that Web Services, SOAP, and WSDL are the answer to all their problems?
Now that Microsoft and .Net have copied Java with their CLR and have tried to emulate RMI with SOAP, Jini with UPnP, Remote Event with WS events, dynamic discovery with WS discovery, do you really think they have a ''better'' product? If you do, I''ve got some knives I''d like to sell you... they slice they dice they chop and all for the low low price ................
And if you think they are ''adequate'' for you, well... have an adequate life.

Trak 03/16/04 08:35:55 AM EST

isn''t the problem that Jini is ahead pf its time still? We don''t have an immediate need for our refrigerator to talk to our printer to talk to our garage door opener. Sure it''s cool to plug a network cable into the back up a printer and have everybody suddenly be able to print to it... but do we need that level of convenience? Nope. It''s simple to set up network printers on your typical windows or mac network. Microsoft''s "plug and play" is plenty adequate for the current consumer needs.

SkysTheLimit 03/16/04 08:33:50 AM EST

Jini could be a great feature. It would allow you to walk onto a campus (educational, corporate, whatever) and get access to all of the devices publically availiable. It would allow IS folks to just pop devices down wherever they''re needed and do a minimum of configuration. Moving to a new building? With Jini-enabled printers, desktops, laptops, scanners, door-locks, phones, etc. it could be done overnight.
With Bluetooth and wireless-LANS finally becoming a reality all of Jini''s features become that much more attractive and pressing. Even the US DOD drools over this kind of ability (set up a battlefield HQ in a few minutes) though their process is so glacial and baroque that nothing is likely to result from their support that would apply to the rest of us

maggard 03/16/04 08:32:50 AM EST

Jini has the classic chicken-and-egg problem: until somebody uses it nobody wants it.

XmanRocks 03/16/04 08:32:00 AM EST

Yup, hehe: Jini was the right technology introduced by the wrong vendor, at the wrong time, in the wrong way, and targeted at the wrong market

xman 03/16/04 08:31:25 AM EST

Jini is basically a mechanism for supporting dynamic, ad-hoc network applications.

The sad reality is Jini is actually an excellent technology for enterprise solutions (particularly Web solutions). Imagine the benefits of having enterprise services which can be discovered and used automatically. This means that when a system gets loaded, you just deploy a new Jini-tized component, and the without any configuration changes, the software starts spreading the load over to that component.

Unfortunately, Sun didn''t tout this aspect of Jini. Indeed, 90% of the people who know what Jini is think it''s a technology for connecting network devices. That''s a very limited and unproven market. I suspect Sun doesn''t want to let J2EE''s image become confused by allowing Jini to move in to that space.