Sun Java Solaris Communities My SDN Account Join SDN
 
SDN Chat Sessions

Jini Technology for Dynamic Networking

 

SDN Chat Sessions Transcripts Index

January 11, 2005
Guests: Bob Scheifler and Jennifer Kotzen
Moderator: Edward Ort (MDR-EdO)

This is a moderated forum.

MDR-EdO: Welcome to today's chat on on Jini technology. Simply put, Jini technology makes it easy to add, remove, and find services on a network. Jini has proved particularly effective in dynamic networking (where, for example, network failures force the shifting of resources to other devices in the network). The technology enables systems that easily adapt to change. The latest Jini technology implementation, Jini Technology Starter Kit, v2.0.1, is now available as a beta release. It contains fixes for some security issues that exist in the v2.0, v2.0_001, and v2.0_002 releases of the Starter Kit. In today's chat, you'll be able to ask questions about Jini technology, and get answers from Jini technology architect, Bob Scheifler, and product marketing manager, Jennifer Kotzen. Our guests are ready so let's begin. Bob and Jennifer, can you start by giving us a brief rundown on what's new in Jini technology?

Bob Scheifler: Sure. We have a new release, code named Gargoyles, coming out at the end of this month. It's just a bug fix release, to fix a few security issues that we discovered in the existing 2.0 release of the starter kit. Our main activity is aimed at the upcoming release, code named Porter, that's targeted for beta in March and final release in June. One of the main new features in Porter is that we're going to switch to an open source license. We haven't settled on which license yet, we're having an active discussion with the community as to the choice of license. Other features are a GUI installer, Ant build support, a JavaSpaces extension for batch writes and reading multiple entries, an event mailbox extension, some configuration file additions, and better support for hosts with multiple IP addresses.

Jean E: I'm confused about what Jini-based services have to offer as opposed to SOAP/UDDI/WSDL-based web services. Is one approach to discovering and using network-based services better than the other?

jennifer kotzen: Although both the Jini architecture and SOAP/UDDI/WSDL-based web services architecture feature service discovery mechanisms, there are important differences between them. The most important difference between Jini and web services architectures is in the way services are defined. Would you like to explore this fundamental difference, or are you principally interested in the discovery mechanisms?

udarnick: I took a course on Jini from Sang Shin two years ago. Since then what has changed?

Bob Scheifler: So, that was probably the 1.2 release of the starter kit? The 2.0 release was a major release for us since then. The most significant addition was comprehensive support for network security. We also added a brand new implementation of RMI.

JeffRamsdale: Bob, could you go into a little detail on the event mailbox extension?

Bob Scheifler: One of the issues with the existing Jini event model is that it has problems going through firewalls, because it in effect relies on callbacks from the server (event generator) to the client (event recipient). The extension adds the ability to "pull" events from the event mailbox, rather than having them "pushed" at you. So, you can work around firewall limitations by having an event mailbox on the same side of the firewall as the server, have the server push events to the mailbox, and then pull the events from the mailbox.

msilva: What are the implications of the SCSL for commercial users of the Jini SDK? If I develop services and clients, but do not modify any code within the SDK, do I still have to pass the TCK? What exactly does the TCK test?

jennifer kotzen: Today, all commercial deployments of Jini technology are required to pass the TCK. However, we are currently working on a move to open source Jini technology, at which point passing the TCK will no longer be required.

alexi: I am new to Jini. I am wondering if it's limited to LAN, one subnet setup, or can I consider it to expose services to external users in a B2B type of set up?

Bob Scheifler: It's definitely not limited to a LAN or to a single subnet. However, the design center is "workgroups" rather then internet scale systems. Many companies use Jini as an internal implementation mechanism for their enterprise applications, and then expose those applications out externally using standard web/web services communication.

TFischer: Are there any plans to make Jini run with Java 2 Platform, Micro Edition (J2ME) to support small devices? With new devices emerging on the mass market (such as mobile phones), this would be an interesting market.

Bob Scheifler: The 1.2 release of the starter kit can be used on J2ME CDC (but not CLDC). We made technical decisions for the 2.0 release to rely on new APIs that are in Java 2 Platform, Standard Edition (J2SE) 1.4 that are not yet in J2ME CDC, so there are both specification and implementation problems in running our starter kit on CDC. There is a new set of J2ME CDC revisions in the works that gets closer to being able to run all of our 2.0 starter kit there, but not quite enough. At the moment, we don't have plans (lack of resources) to focus on that area.

jennifer kotzen: Jini technology is designed to run on a J2SE platform, and at present we have no plans at Sun to create an implementation specifically designed to run on J2ME. That said, we also believe that the device space is very interesting, and will be increasingly important over time. So how we do bring devices into Jini technology systems? Well, today users can incorporate devices into their Jini technology systems using the surrogate architecture, which allows a host capable of running J2SE to represent a resource constrained device into a Jini network - see the Surrogate project on jini.org for more information. Also, vendors like PsiNaptic today offer solutions in this space - PsiNaptic's technology makes it possible for Jini clients to use Jini protocols to discover and interact with services that run on very small embedded devices. These are solutions that can be used today. We believe that over time the power and footprint of device technologies will grow with Moore's Law, so that J2SE and the full Jini technology feature set will be usable on devices directly.

CWCork: Project Rio appears to be seeing increased use at Sun (for example, RFID projects). Is it likely that Rio's component infrastructure will find its way into the Jini core?

jennifer kotzen: Project Rio is indeed being used both by Sun in our RFID offering and by others in the Jini Community as well. At this time we have no plans to include Rio in the Jini Technology Starter Kit that Sun provides, but it is readily available to any Jini licensee as a Jini Community project.

frankg: What is the status of Rio?

Bob Scheifler: Dennis Reedy, who's in charge of the Rio development, is part of our team, and is actively working on a new release (3.1). It should be out fairly soon.

Guest: But then my external clients cannot use power of Jini service lookup. It will be limiting to web services protocols, right?

Bob Scheifler: Yes, that's the case. For many customers, and their current business needs, that's sufficient. One of the things that was preventing use of Jini in the way you suggest was lack of comprehensive network security support in Jini. Now that we have that in our 2.0 starter kit release, as companies come up to speed on its capabilities, hopefully we start to see people exposing Jini services on the internet.

JeffRamsdale: How do you see the Jini community process and dynamics changing upon switching to an open source license?

Bob Scheifler: I don't see the community process changing in any fundamental way. The Jini Decision Process (JDP) that we have in place for making Jini community decisions will stay in place; it's working well. We'll have to change how the General House and Commercial House membership is defined, since it's currently defined in terms of SCSL licensees. We're currently discussing in the Jini Technical Oversight Committee (TOC) how best to redefine membership. The other change, if you will, is that rather than everything being assumed to be licensed under SCSL, standards proposals will have to explicitly state what their licensing terms are. But other than that, in the main the processes stay as-is.

CWCork: Projects Rio and Openwings appear to have overlapping functionality, with Rio more tightly bound to Jini and with Openwings having higher level abstractions and integration of other facilities (like JMS and JMX). Both projects are supported APIs were compatible so that we could move them between frameworks.

Bob Scheifler: I'm not personally away of what's happening with Openwings these days; is it still active? I'd be interested in learning more about what they're doing. There are also other projects in the community that have some overlap with Rio. For example, to the extent that you look at Rio as providing a container model (that's not all it is, of course), there are other projects (such as Seven) working up the stack. On the JMX front, you might also look at the Flavio Project that Ron Mann (on our team) recently put out, with some initial work on integrating JMX with our starter kit services.

CWCork: Openwings is still quite active with superb documentation and online tutorials. It is a bit heavyweight compared to Rio, but it very nicely integrates JINI, JMX, and JMS into one framework. Their Connector abstraction also lets you plug in arbitrary network protocols without modifying the container or component code. Really nice. They also use policies, much like Rio uses operational strings to separate deployment from business logic.

Bob Scheifler: Thanks for info. I think we're still at a relatively immature (in a sense) phase as we move to higher level frameworks with Jini. Meaning, we have multiple overlapping efforts (both in the community and in private commercial efforts), and there hasn't been much call or push yet for trying to unify or settle on any single framework. One aspect to think about is that Jini at heart is more about what you expose to clients, not how you implement things internally. So the multiplicity of frameworks isn't inherently a bad thing.

Jeff K: Are you planning on incorporating Jini with Sizzle, or putting together any prototypes? Seems to me that there are a ton of doors to open with the marriage of these technologies.

Bob Scheifler: Ah, Sizzle, the tiny secure web server. Certainly it could be of use in the Jini surrogate architecture, where non-Java-capable devices offer up code to a surrogate host to run for them, acting as a surrogate for the device: the surrogate looks like a Jini service (or client) to the rest of the world, and speaks whatever limited protocol is supported back to the device. What other thoughts about synergy did you have?

Jeff K: I was also thinking along the lines where there is no surrogate. Each device would have it's interface embedded within itself, no surrogate required. The house becomes plug and play.

Bob Scheifler: Jini fundamentally is about moving Java code around, and I think that's going to remain our design center. Non-Java-capable devices "at the edge", and how to integrate with them, is an interesting area to pursue. The surrogate host is our current standard answer there. A device that can't download Java code can't discover a lookup service, because that ultimately involves downloading code from the lookup service itself.

Guest: Can we draw any similarity between MDBeans and Jini 2.0 discovering by multicasting self discovery?

Bob Scheifler: I'm not all that familiar with message driven beans, but I don't see a tight relationship. Message driven beans (as I understand them) aren't really about discovery, more about asynchronous messages (rather than remote method calls). Jini's multicast discovery mechanism is about discovering a lookup service (which then lets you find specific services), and isn't a mechanism for multicasting messages to multiple (arbitrary) services.

JeffRamsdale: Do you know of any activity in the publishing industry related to Jini 2.x+?

Bob Scheifler: Unfortunately, we haven't seen interest from publishers in physical book publication around 2.0. Most of the activity is online; for example, Jan Newmarch's Jini tutorial. If you're asking about use of Jini within the publishing industry itself, I don't have any info to provide there.

MDR-EdO: Well, we've quickly come to the end of our session. I'd like to thank everyone who participated today. I thought we had a nice range of questions. And of course, I'd especially like to thank our guests, Bob and Jennifer, for their answers.

Bob Scheifler: Goodbye from Bob and Jennifer. If you have additional questions about Jini technology, please post them to jini-users@java.sun.com. Thanks for participating!

MDR-EdO: Moderator signing off. The forum is now unmoderated.

Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
Your email address (no reply is possible without an address):
Sun Privacy Policy

Note: We are not able to respond to all submitted comments.

Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.