Speakers Donna Michael (Donna Michael) and Ken Arnold (Ken Arnold)
Moderator Edward Ort (MDR-edO)
This is a moderated forum.
MDR-edO: Welcome to today's Java Live! session on JiniTM Connection Technology. Today's guests are Donna Michael, Sun Strategic Manager for Jini, and Ken Arnold, Sun Senior Engineer and co-author of the Jini Specification. They'll answer your questions about Jini. So let's begin. Who has the first question?
weo: How soon will Jini be out for KVM?
Ken Arnold: That's one way of asking it. Another is, when will KVM be capable enough for Jini? The KVM team is working on that now, and we're working with them, but we have no announced date yet. Lot's of people are working on devices without any VM, though, so that may be the best way to approach it for you (or not--you know best).
kkress: Morning, I was wondering what Ken's thoughts are on Interface Specification Standards and attaching UI's to services. Does he believe that UI's should be attached as attributes? If yes should there be a standard attribute to do it? Are there plans to add this to the Jini spec?
Ken Arnold: kkress, UI standards are going to take a long time to develop (they are still absent on the desktop) so having a flexible system that allows for multiple UIs is also a good idea, and the serviceui work that Bill Venners has done helps with that as well, including a model for adding WAP, HTML, and other types of interfaces.
Ken Arnold: Yes, I do think that's a good idea. Bill Venners started that way, and that was the way we were thinking, too. I'm sure there are other approaches, but this seems like a good basic, simple approach (and we are partial to good basic and simple).
MDR-edO: What's the "next step" that you see for the technology? What imporvements are planned?
Ken Arnold: Well, the 1.1 release is in alpha, with beta coming soon. That's the most direct "next step" We are also watching and working with people defining APIs outside of Sun, and those are coming along as well...
kkress: I have heard rumors that Sony and other major A/V companies have started work on Jini home entertainment components. Can you confirm/deny these? If they are true, what kind of network would they be aimed for (ethernet, firewire, wireless)?
Ken Arnold: Also, we are working hard on making the visibility of Jini for software services wider so people don't get "but Jini's just for devices" from their managers when the try to use Jini. That's a future marketing change, not a technical one, but it's important.
Donna Michael: Yes, I'd like to know if any of the users have used Jini 1.1 alpha, and if so, do they have any feedback on the utilities?
Dan: Are there "any" commercial Jini enabled devices available? Using proxies just isn't the real thing...
Ken Arnold: Dan, we tend to use the term "surrogate" for having some JavaTM Virtual Machine1 in the network act on behalf of a service, such as a VM-less device. The word proxy is overused, so we've settled towards this other term. Just to make my terms clearer.
Donna Michael: Dan, yes, there are shipping Jini enabled products. Echelon has released the Lonworks networking protocol to connect small electrical devices, ProSyst is shipping Jini-enabled software.
Ken Arnold: Well, actually I'll start by disagreeing --using a surrogate architecture is the real thing. Jini incorporates legacy systems in just this way--we view that as a feature of Jini, not a hack. But to answer, there are no single pieces of iron you can buy that are devices right now. You can buy services, and you can surroage in devices (such as Echelon's light switches, and so forth, or X10).
susanna: When will we really have Jini for lightbulbs?
Donna Michael: Hi Susanna, the Echelon lonworks protocol actually enables the Jini "lightbulbs." In fact, at Telecom99, we demo'ed a Telia (Swedish telecom) application that allowed us to actuate light switches and temperature guages in Goethenburg, Sweden from Geneva.
kkress: When do you see devices like plug in lookup services, or hubs with built-in lookup services coming out of the market?
Ken Arnold: Prosyst just announced an embedded lookup service implementation, although I haven't looked at it yet (just heard about it this morning). So I would expect to see them fairly soon. We have a simpler, small footprint lookup implementation ourselves--it's not that hard, espcially when you have our work to start from.
Manish Adeshara: What is Sun's plan about JavaSpacesTM?
Donna Michael: Hi Manish, JavaSpaces has, of course, been available for nearly a year, and we added some fixes to it in the 1.1 release. Right now, we're looking at its functionality. Do you have any feedback on JavaSpaces and what you're using it for?
Ken Arnold: Also, Manish, there are quite a few people using JavaSpaces in their internal processes (sorry, can't name names, but you may have used their web sites). So it is possible to use what we've got in some product circumstances.
Joel: Focusing on the software services usage of Jini for a moment, where do you see Jini playing in the e-business arena?
Ken Arnold: Joel, right now we see many companies using it inside their web sites. When you build on top of a Jini architecture you can build scalable and robust collections of machines that handle a web site. When new machines are added they can quickly join in helping, and when machines crash, other systems can take over the work. Right now you can go to several web sites and use Jini indirectly this way (again, the names are removed to protect the non-disclosed). Also several people are using Jini purely inside their product to find the components of the product, including plug-in add-ons (BizTone does this, for example). We're hoping that in the long run public APIs will be defined to do direct business-to-business work. There are some emerging APIs in this sphere that should soon be public.
Will: There was a recent article posted on developer.javasoft.com discussing Jini and J2EE. Does Sun have more plans to integrate the two technologies?
Donna Michael: Hi Will, we see Jini and J2EE as complementary technologies. Sun's looking at integration of these now. But in the J2EE world, Jini opens up an entirely new level of client.
ilya: Security issues in Jini. Jini device proxies seem to be somewhat similar to applets. But security-wise jini seems to be much worse. I see two potential problems here: 1) Jini device proxies are long-lived (while applets are short-lived), hence problems may strike way after a security breach occured 2)network connections of applets can be easily controlled by the browser (as the browser knows where the applet came from), yet, network connections of a proxy are impossible to control (as the security manager will have no idea where service backend is located, so network connections should be unrestricted, right? So, I'm a bit afraid of the situationwhen Jini-enabled microwaves can be used to launch DOS attacks. Could you comment on these issues?
Ken Arnold: Ilya, Jini security has to be built on top of a Java network security model. Java security works well to protect a system from a single VM, but it doesn't have network notions that are necessary (for example, a distributed notion of identity, or a notion of negotiated security requirements between peers). We are working to add those notions. Right now Jini proxies are as safe as applets (or can be if you set up your local security properly). You can refuse connections to the network, for example. But right now we expect that Jini will be used inside firewalls until these issues are resolved.
Ken Arnold: Oh, and Ilya, I should also add--security is coming for those network notions, and we will build Jini security models on top of it.
kkress2: When can we expect the JINI 1.1 final/BETA spec?
Donna Michael: We're working on the Beta now, kkress. You should see something within the next eight to twelve weeks.
rohaly: I'm concerned that the lack of defined interfaces for well-known services is hindering widespread adoption of Jini. Right now, use of Jini is ad hoc. I am aware that there are working groups endeavoring to come to agreement on interfaces for a handful of services, but there is nothing out there yet. Do you think it would make sense for Sun to publish and support some well-known Jini interfaces as a way to jump-start use of Jini? The community process would still be used to manage revisions to these interfaces, and would be used as a way to define additional interfaces.
Ken Arnold: Yes, rohaly, right now the quick adoptors of Jini are people who work within their own systems and don't need to interact with third parties. I agree that we need to define them, but standards don't come quickly. We can define some standards (we have, in fact, such as some administrative ones and JavaSpaces and the like). But most industries don't really want Sun to decide what's best for them, and we don't have the relevant expertise. Like all standards efforts they take too long, but making them shorter often also makes them less adopted, which is a problem, too. I wish I could hit the fast forward button on this (believe me, I do), but we can only do so in lmited areas (mostly new areas).
Dan: Back at the official Jini announcement, Novell announced that they would support Jini. Has anything come of this? Are there any third party Lookup service implementations?
Donna Michael: Yes Dan. Oracle announced Portal to Go, which uses the Jini Lookup Service. We are also working with other third parties. Regarding Novell, they are still looking at Jini and it's up to Novell to announce any product plans.
Manish Adeshara: We are using JavaSpaces in our product as a middle component to provide the distributed environment and had some performance issues and wanted to get idea what Sun is doing with JavaSpaces and how other people are using it.
Donna Michael: And Dan, ProSyst also uses the LUS in its embedded system.
Donna Michael: Hi Manish, I'd check Lampligher on Jini.Org. It lists lots of projects currently underway. And thanks for the feedback on JavaSpaces. Have you queried the JavaSpaces users with your issues?
rohaly: When do you think we will see commercially-available silicon that executes Java bytecode natively (such as picoJava-based or equivalent chips)?
Ken Arnold: Wow, that's outside my area. I live about thirty layers above the silicon part of the food chain. I really have no idea.
Ken Arnold: by the way, here is the URL for the prosyst announced embedded server
kkress: What would you guess that JINI will be used for more in the near future, embedded devices or software?
Ken Arnold: Software, definitely. It's used there now, so the near future including the past, software has to be it. The issue really is the size of the Java environments. The embedded devices are tracking Moore's law (doubling in capability every 18 months) very well, and the VM implementations get smaller, so some time in the next couple years
Ken Arnold: these two will meet. Until then we will see Jini in larger devices, new kinds of devices (Jini plug-in storage systems), and software. This is good, because the existence of software that uses Jini will help build demand for devices that just plug into those systems.
Hinkmond: rohaly: for silicon chip that processes Java byte-code see: www.zucotto.com
Donna Michael: The work that Echelon is doing in the remote device monitoring area is definitely worth mentioning. If you look at the universe of devices relative to general market appeal monitoring and security is really current.
MDR-edO: Thanks Hinkmond for the pointer.
Donna Michael: We're also pleased with the announcement that the US Army has standardized on Jini as a connection technology for its command and control, and there are several projects currently underway in which Jini plays a major role. A lot of what is happening is just not pulic yet.
weo: Is this senario likely anytime soon. I add a Windows/Linux machine to the network. I run a Java application that reads the device registry and creates surroagates(proxies) for all of the devices and known applications. I would then be able to use the printer or DVD that is on that remote machine from a JINI enabled device.
kkress: Do you realistically ever seen JINI embeded in everything? I.E. I am always joking that with JINI I could control my toaster from work, do you see things like that happening?
Ken Arnold: Surely, that could happen. It would require public APIs for printers, DVDs, etc. So it's a matter of standards, primarily. But I think I would structure it differently, really--why should your DVD player be in your Linux box in the first place? Why not just plug it into the net directly as a stand-alone service? But if you build this, I'm sure *I'll* use it.-)
Donna Michael: Do you really want to control your toaster from work? The question is not as much technology as market demand. Right now, the use of embedded devices is the the realm of system and network management. As consumers require more functionality and application developers see the demand, then the services will be developed.
Joel: Right now Jini is designed (maybe not designed, but in reality) for use within local area networks. What is being done to make it easier to broaden the reach of Jini outside a LAN?
Ken Arnold: Well, Joel, there is already the URL-based way to reach a particular lookup from anywhere in the world (assuming connectivity, of course;-). But that's not as flexible as you probably want it. We know that a remote discovery protocol would be useful, as well as briding protocols, but we aren't working on them yet. However, the beauty of the community thing is that you don't have to wait for us. Start a project, let people know about it, and define what you need. Then others can pick it up, including us. We can't do everything, not even everything we know is important, which is why we started with the community system--Jini is good for a lot of us, and we can all help make it better.
vijay: Hi guys, I would like to know information about JINI and what its all about.
MDR-edO: Vijay, a good place to start is at the Jini Connection Technology page. Also see the Jini Community Page.
Donna Michael: Well, we are holding our next community meeting March 28 in Santa Clara. If you're interested in attending, check the Jini.org website for registration information.
Ken Arnold: We will also be having a lot of Jini talks at JavaOne--10% of all submitted proposals were based (at least in part) on Jini technology, so we should have a good crop.
vijay: To work on Jini what the APIs we should know?
ilya: How version control issues are/will be handled? (Something like attempt to load JDKTM 1.2 based service proxy onto a client running a jvm1.1). With the current number of API calls being added and dropped this seems like a very serious problem.
Ken Arnold: You clearly need to start with Java--Jini is an entirely Java-based system. Then you should pick up one of the books on Jini--probably the best starting place is Core Jini by Keith Edwards, but there is also now "Jini in a Nutshell" from O'Reilly (the author's names escape me) or even (shameless plug) The Jini Specification and the JavaSpaces books from Addison-Wesley and Sun (us).
Ken Arnold: Ilya, version control is an issue below our level--we can't do anything more about it than the Java infrastructure lets us. Right now that isn't much. We're hoping that the Java platform will address this issue. In the meantime we expect people, in places where that matters, to stamp attributes on services that state the VM level required by the proxy object implementation.
MDR-edO: We're down to the last 10 minutes of the chat. So if you have a question for Donna or Ken, please ask it now.
MDR-edO: What's the right place to submit feedback/requirements/comments on Jini?
weo: Is it recommended that we start with 1.0.1 or 1.1alpha.
vijay: HI, Edo, where do I mail for doubts about JINI?
Donna Michael: Check on Jini_users or Jini comments.
Ken Arnold: Weo, I think that the 1.1 services are better and the implementations are solid, so I would start with 1.1, at least until you run into problems. If nothing else, you will not have to change away from deprecated APIs when you upgrade to 1.1 later. But if you need a quick implementation of a stable product (deployed quickly, I mean) I would stick with 1.0.1 for its ensured stability.
Donna Michael: Again, Vijay, you should send your issues/comments/questions to Jini_Users or Jini_comments.
Ken Arnold: Vijay, that's (more techincally) jini-users@java.sun.com (for talking with the community) or jini-comments@east.sun.com for non-public comments.
kkress2: Has there been any thought made to making a bridge between Jini interfaces and XML so an interface type can be defined in XML (ie print, storage etc) or is the effort to Jini completely Java?
Donna Michael: You're welcome and this has been great!
Ken Arnold: kkress2, there is something of a model mismatch there. XML is a way to define a wire protocol, but Jini lives above wire protocols--it is agnostic about them. You define an API for talking to remote systems, and the remote service can use XML for a wire protocol if it wants to, or it can use some other protocol, even an invented proprietary one. XML protocols are based on exchange of data, where Jini protcols are based on an exchange of *objects*. This is an up-level, architecturally speaking--just as we have discovered that public data structures are not a good API for most single-process programming, Jini says that the same is true of distributed programming -- that object oriented programming is a better (general-purpose) model. XML is *good* data structures, *nice* data structures, *flexible* data structures, but it is still data structures, and just like in regular objects, network objects should keep their data structures private and publish only an API.
MDR-edO: Four minutes left in the chat. If you have a question, post it now.
Ken Arnold: (I guess we wow'ed 'em, Donna!-)
MDR-edO: Well our hour has quickly gone by. I want to thank our participants for some excellent questions. And I'd like to especially thank our guests Donna Michael and Ken Arnold for their equally excellent answers. Goodby.
Ken Arnold: It's been fun. Check out Jini.org for info, and get involved folks--Jini happens better with you than without you.
Donna Michael: I'd like to thank everyone who participated too. This really has been great. If you need to contact us. just head for the URL.
kkress2: DO you know if Keith Edwards plans on updating Core JINI for 1.1?
Ken Arnold: Yes, I'm pretty sure he is. You can ask him directly (his web page is listed in the book).
MDR-edO: Last moderator (me) signing off. The forum is now unmoderated
Forum closed at Tue Mar 14 12:49:17 2000
_______
1 As used on this web site, the terms "Java
Virtual Machine" or "JVM" mean a virtual machine for the Java
platform.
Reader Feedback
Tell us what you think of this transcript.