JINI Technology Why do we require it ? -- For delivering Services - It?
Joined: Aug 14, 2000
Jini as it is known is going to be used as an infrastructre on which different network services will be available on demand to clients. Jini is supposed to provide specifications as to how the service has to be implemented for it to complement the Jini infrastructre. But Why should Jini conme at all in picture Can we not still deliver network without Jini, be it A Web Browser, Be it a WAP enabled mobile thru WAP protocol, Then Why suddenly is there an requirement for an infrastructre we need to build from scratch, Services re-written complying to JINI standards. I am an MIS exec, and constantly in search for similar questions. Regards Tushar Kansara ------------------
Joined: Jan 07, 1999
Jini addresses some of the biggest problems in distributed technology; and most of the problems it addresses are usually pushed "under the carpet" by other approaches. Let's look at some of the day-to-day issues with the web and the internet, for example. I guess most of them are so common, you just take them for granted. 1. Someone moves a web site or changes the host it lives on. All the links on other sites no longer work at all. If it's just a DNS change, the site may come back a few days later, or you may have to wait weeks for the search engines to find it at its new location, or you may never see it again. Is this a robust and useful system? How many broken links do you encounter on the web every day? 2. Someone develops a new, efficient, flexible information presentation system (like Flash, Curl, PDF, Java Applets etc.) But nobody can use it with their stock browsers. Any one who wants to see such content has to do a complex and dangerous manual installation of some sort of browser extension, or wait and hope that the format becomes so popular that it is built in by major browser makers. And what can you do when version 2 of the format is released - go through the whole process again? 3. Someone's poor little webserver is no longer up to the job. Its disks are full, its CPU can't handle the load, whatever. The only solutions are to replace it, which means a lot of stress and downtime while changing over and no real way to tell if the new or upgraded machine will do the job either, or to put a lot of money/time/effort in a complex load-balancing to share the load between the old machine and a new helper. These are the kind of issues which take up whole lives in corporate meeting rooms. 4. An enterprise has built a large and complex distributed system which allows all the departments combined access to several different "legacy" databases and mainframes. A request from a web browser is handled by a web server which runs CGI scripts to interact with a knowledge-base server which in turn talks to other systems using a mix of CORBA, DCE and proprietary custom protocols. The knowledge-base was put in to support the changing of business rules on a day-to-day basis, but it turns out to be hugely expensive to make any but a tiny subset of changes. Why? because every time a new external system is added, or every time some different data is required by/from an external system, or every time an external system is updated it needs work from the software developers. IDL files need to be changed and recompiled, protocol source code needs to be patched, system information repositories and caches need to be manually updated, data structures need to be redfined and CGI code rebuilt. And so on, And so on. Jini can cut through all of this. Lookup and discovery is dynamic, so moving is not a problem. All clients will just get the new version. Jini is designed to supply all necessary drivers and stubs from the server as required, so content providers are free to use whatever technology they like (there's an interesting prototype for a Jini-based "cyberspace" on the web somewhere). Jini inherently contains its own equivalent of load-balancing and fail-over - if you need more capacity, just bring up more systems offering the same services. Finally, Jini's automatic discovery and flexible, dynamic configuration help to massively reduce the coupling between components, so that nightmarish enterprise system becomes manageable again. Believe me, Jini has a lot to offer. It's just that it often solves problems which are so fundamental that people have forgotten they are there.
<a href="http://www.kedwards.com/jini" target="_blank" rel="nofollow">Keith Edwards</a><br />xerox palo alto research center<br />author of: <a href="http://www.amazon.com/exec/obidos/ASIN/0130894087/keithedwards" target="_blank" rel="nofollow">Core Jini</a><br />Which is also available as <a href="http://www.amazon.com/exec/obidos/ASIN/0130863866/keithedwards" target="_blank" rel="nofollow">A Video Course</a><br />Read an Example Chapter - <a href="http://www.javaranch.com/bunkhouse/samps/Core_Jini_chap3.pdf" target="_blank" rel="nofollow">Chapter 3</a> or <a href="http://www.javaranch.com/bunkhouse/samps/Core_Jini_chap10.pdf" target="_blank" rel="nofollow">Chapter 10</a>.