Home

Support Readiness Document Jini Technology Starter Kit 1.1

image

Contents

1. Specifications Reorganized Specification Organization in the 1 0 Releases In the 1 0 release of the starter kit there were twelve separate specifications The eight specifications that described the core platform the JCP were e Jini Architecture Specification e Jini Device Architecture Specification e Jini Discovery and Join Specification e Jini Distributed Event Specification e Jini Distributed Leasing Specification e Jini Entry Specification e Jini Lookup Service Specification e Jini Transaction Specification The 1 0 release also had four specifications that described the extended platform the JXP e Jini Discovery Utilities Specification e Jini Entry Utilities Specification e Jini Lookup Attribute Schema Specification e JavaSpaces Specification Specification Organization in the 1 1 Releases The Jini Technology Core Platform Specification version 1 1 has combined the following formerly separate Jini specifications into a single physical and logical unit e Discovery and Join e Entry e Distributed Leasing e Distributed Events e Transaction e Lookup Service Because the architecture specification and the device architecture specification were supplemental to the core specification they were left as separate entities SUN MICROSYSTEMS INC 13 of 49 Compatibilitv with Previous Versions of Jini Technology 4 2 3 4 2 4 e Jini Architect
2. 13 0 12 2 1 Missing or Misconfigured Security Policy File 44 12 2 2 Codebase Problems 44 12 3 Common User Questions 45 12 4 Product Limitations 45 13 4 1 Security 45 13 4 2 Outrigger Runs in a Single JVM 45 12 5 Error Message Guide 46 12 6 Known Issues and Their Workarounds 46 12 7 Bug Categories in Bugtraq 46 12 8 debug Properties 47 Reference Information 47 13 1 Product Information 47 13 2 Technical Documentation 48 13 2 1 Technical Articles on Distributed Computing 48 13 2 2 Specifications for the Jini Technology Core Platform 48 13 2 3 Specifications for the Jini Extended Platform 48 13 2 4 Jini Technology Books 48 13 2 5 Jini Technology Fact Sheet 48 13 2 6 Jini Technology API Documentation 48 13 2 7 RMI Resources 48 13 3 Additional References 48 13 3 1 Official Jini Technology Web site 48 13 3 2 Sun s Logo and Trademark Guidelines 49 13 3 3 jini users Newsgroup Posting Archive 49 13 3 4 jini users Mailing List Subscription 49 13 3 5 Jini Technology Programming FAQ 49 13 4 Contacts 49 SUN MICROSYSTEMS INC vii Preface This document provides Support Readiness information for the Jini Technology Starter Kit 1 1 The goal of Support Readiness Documents SRDs is to help support engineers prepare to support Software Products and Platforms Division products SRDs are not designed to provide comprehensive product training see the product documentation or Sun Education for this Instead they focus on issues i
3. Contact jini sun com SUN MICROSYSTEMS INC 49 of 49
4. If set to any value this property indicates that debugging information related to the execution of Reggie s proxy should be printed to System err Set this property on clients if calls to the lookup service are unexpectedly returning null values for service objects service types attribute set classes attribute sets or attribute values com sun jini reggie unicastTimeout When an instance of Reggie uses the unicast request protocol to communicate with a client or service attempting to discover that lookup service the socket connection used by the protocol will time out after N milliseconds where N is defined by this property Currently the default value of this property is 60 000 milliseconds one minute net jini discovery interface When this property is set to either a host name or IP address the network interface corresponding to the given name or address will be used by Reggie when participating in the multicast group discovery protocol as both an entity that is discovered by other entities a lookup service and as an entity that discovers other lookup services net jini discovery announce A Jini lookup service will send out multicast packets announcing its existence every N milliseconds The value of this property can be used to control how often the Reggie implementation of the lookup service sends out multicast announcements For entities that discover lookup services it can be used to control how often multicast ann
5. Common User or System Administrator Problems Missing or Misconfigured Security Policy File Errors in the policy file usually lead the JVM to ignore the policy file entirely leading to baffling SecurityExceptions The system property and value jJava security debug access failure policy will cause a JVM to produce large amounts of output describing its parsing and application of security policy files and examination of the result will usually indicate what is wrong Codebase Problems Most codebase problems show up only as mysterious CLassNotFoundExcept ions It is very important then to understand when a codebase is right The tutorial at http java sun com products jdk 1 3 docs quide rmi codebase html is useful for understanding how the codebase property is supposed to work The HTTP server that is distributed with the Jini Technology Starter Kit should be run with the verbose option an explicit port number and an explicit document root to avoid confusion java jar lt install_directory gt jinil_1 lib tools jar port 8080 dir lt install_directory gt jinil_ lib verbose SUN MICROSYSTEMS INC 44 of 49 Tuning and Troubleshooting 12 3 12 4 12 4 1 12 4 2 The verbose option causes the HTTP server to log attempted downloads of class and JAR files This tvpe of logging is important because it distinguishes between two tvpes of code downloading failures asking the correct HTTP server for the
6. For the purpose of this document the codebase property should be set to the URL location of the downloadable d1 jar client files The HTTP server that you start is used to serve up these JAR files Make sure that the web root directory of the HTTP server contains all of the d1 jar files that are in the jinil 1 1ib directory These files represent the code that will download to clients of the services in the starter kit SUN MICROSYSTEMS INC 23 of 49 Configuration 8 2 6 3 8 2 7 8 2 7 1 8 2 7 2 8 2 7 3 8 2 7 4 8 2 7 5 com sun jini join debug The current implementations of each of the services in the starter kit participates in the Jini discovery and join protocols using the LookupDiscovery class The operation of this class can be controlled by the system properties described in Section 8 2 2 Utility Properties In addition each of these services may use the com sun jini join debug property If these properties need to be used they can be set using D at the end of the command line Note The following information is excerpted from jinil 1 doc release notes jsk serviceproperties html For complete descriptions of these properties refer to the service properties document or to that services manual page under jinil_1 doc manpages Unless otherwise stated any output from these properties is sent to System out System Properties Controlling Reggie com sun jini reggie proxv debug
7. 3 0 Solaris Production for the latest GA RR version of Solaris 2 6 Solaris 7 and Solaris 8 on Sparc and Solaris 8 on X86 Java Platforms supported Jini clients and services depend on several new features of the Java 2 platform which include RMI activation and a new security scheme Therefore Jini software will not work on any Java platforms before Java 2 As noted in the previous section versions 1 2 2 and 1 3 of the Java 2 SDK Standard Edition have been tested While an earlier version of the Java 2 SDK may work it is not explicitly supported As of this writing November 2000 neither PersonalJava nor EmbeddedJava platforms support Jini software For more information on Java 2 platform software see http java sun com j2se Networking Requirements A host platform must have a working Transmission Code Protocol Internet Protocol TCP IP stack a hostname an IP address and access to a name service such as Network Information Service NIS or Domain Name System DNS Multicast The Jini discovery protocol is based on the multicast capability of the underlying network layer For more detailed information on the multicast requirement of the Jini discovery protocol see jinil_1 doc release notes jxp discovery html Multicast Routing Where the underlying transport is multicast IP intelligent bridges and routers must be able to forward packets appropriately This simply requires that they support one of the multicast IP
8. 4 3 2 Deprecated Classes 16 4 3 3 Database Compatibility 16 4 3 4 Example Service Starter 16 4 3 5 RMI Registry Use Deprecated 16 4 3 6 TCK Changes 16 4 3 7 Additional Information 17 4 3 8 Forward Compatibility with Other Versions 17 5 0 Downloading the TCK and the Jini Technology Starter Kit 17 5 1 Name and Size of Download Files 17 6 0 Installing the Jini Technology Starter Kit and the TCK 17 6 1 Installing the Jini Technology Starter Kit 17 6 1 1 Extracting the Starter Kit ZIP file 18 6 1 2 Examining the Starter Kit in the jinil 1 Directory 18 6 2 Installing the TCK 18 6 2 1 Extracting the TCK ZIP file 18 6 2 2 Examining the TCK in the jinitck1_1A Directory 18 SUN MICROSYSTEMS INC iii Table of Contents 7 0 8 0 Kev File Descriptions 19 7 1 7 2 7 3 JAR Files 19 7 1 1 service jar 19 71 2 service dl jar 19 Security Policy Files 20 Log Files 20 7 3 1 Log Files for Contributed Service Implementations in the Starter Kit 20 7 3 2 RMI Log Files 20 Configuration 20 8 1 8 2 Starter Kit Configuration 20 TCK Configuration 21 8 2 1 Customize the TCK Configuration File for Your Environment 21 8 2 2 Utility Properties 21 8 2 3 Discovery Properties 22 8 2 3 1 net jini discoverv debug 22 8 2 3 2 net jini discoverv timeout 22 8 2 3 3 net jini discoverv interface 22 8 2 3 4 net jini discovery announce 22 8 2 3 5 net jini discovery mtu 22 8 2 3 6 net jini discovery ttl 22 8 2 4 Jo
9. 49 Using Jini Software supertypes as well The following screen shows that you have selected to display all class types including super types Services Attributes otal services registered 3 i Attribute supertvpes M Service supertvpes M Service classes Matching Services net jini core lookup ServiceReg istrar net jini space JavaS pace com sun jini mahalo TxnManagerimpl Stub The following screen displavs the result Registrar Options Attributes com _sun jini outrigger SpaceProxy java lang Object D net jini space JavaSpace netjini admin Administrable Gjawva io Serializabie com sun jini mahalo TxnManagerimpli Stub otal services registered 3 Gjava rmi server RemoteStub Gjava rmi server RemoteObject java rmi Remote Gecom sun jini mahalo TxnManager p Matching Services icom sun jini lease landlord Landlord net jini core lookup ServiceReg istrar Gcom sun jini admin DestrovAdmin net jini space Java Space Qeom sun jini mahout KilliVMAdmin com sun jini mahalo TxnManagerimpl St O net jini core transaction server TransactionManager net jini core transaction server TransactionConstants Gecom sun jini reggie RegistrarProxv 10 3 3 8 Displaving Attributes Tvpes The Attributes menu shows attribute set classes with package prefixes removed that can be added to vour current template to refine vour search When vou select one 1 The attribute set class appear
10. Landlord Gecom sun jini admin DestrovAdmin Gecom sun jini mahout KillVMAdmin net jini core transaction server TransactionManager net jini core transaction server TransactionConstants _jcom sun jini reggie RegistrarProxv 10 3 3 6 Service Tvpes with Default Option The Services menu shows service tvpes that can be added to vour current template to refine your search When you select one it appears in the text area to show you what your new template contains and the revised number of matching services is shown You can then go back to the Services menu to select additional tvpes or to de select existing choices Registrar Options otal services registered 3 r Matching Services net jini space Jawa Space net jini core lookup ServiceReg istrar Attributes Gecom sun jini mahalo TxnManager net jini core transaction server TransactionManager java rmi Remote i D net jini space JavaSpace D net jiniadmin Administrable com sun jini mahalo TxnManagerimpl St Gjava io Serializabie l G net jini core lookup ServiceRegistrar 10 3 3 7 Selecting Different Service Tvpes By default the Services menu only shows interface tvpes You can select Service classes from the Options menu to see classes instead By default only the most derived tvpes are shown but vou can select Service supertvpes from the Options menu to see SUN MICROSVSTEMS INC 37 of
11. Make The make files in the Jini Technology Starter Kit 1 1 source directory are in GNU make file format In order to build binaries and documentation from the source code without any modification to those make files you need to use the GNU make utility which is available from the Free Software Foundation http www fsf org The build procedure has numerous dependencies on UNIX commands and has only been tested in the Solaris Operating Environment For detailed information on building the JAR files in the Jini Technology Starter Kit see jinil_1 doc build html Localization and Internationalization The 1 1 release of the Jini Technology Starter Kit is internationalized and the specifications have been localized to Japanese Other Introductory Material There are several things vou ll need to know before proceeding further including Java RMI Jini technologv terms and kev concepts discussed in the following sections Java Remote Method Invocation Anyone supporting Jini technology needs to have an intimate understanding of RMI In addition to the RMI Support Readiness Training you should take a look at the latest SUN MICROSYSTEMS INC 4 of 49 Jini Technology 1 6 2 1 6 3 documents in http java sun com j2se 1 2 docs guide rmi and http java sun com j2se 1 3 docs guide rmi Jini Technologv Glossarv For definitions of the terms used in this document refer to the Jini Technology Glossarv at http ww
12. SUN MICROSYSTEMS INC 33 of 49 Using Jini Software Note In order to perform these operations you need to start the lookup service browser with the admin option described in the next section e Add an attribute modify an attribute and remove an attribute for a service that is administrable An administrable service is one that implements the Administrable interface e Control which lookup groups and lookup locators the service uses for lookup discovery and join This operation can be performed only to a service that implements the JoinAdmin interface e Destroy a service This operation can be performed only on a service that implements the Dest royAdmin interface e If the service is itself a lookup service that supports the DiscoveryAdmin interface you can control which groups the lookup service is a member of or control which unicast port the lookup service uses for its lookup locator ss For more details see jinil 1 doc example LookupBrowser htmlUSI 10 3 2 Starting the Lookup Service Browser 10 3 2 1 Command Line Usage To start the browser the command line usage is prompt gt java cp jar file securitv policv propertv codebase property com sun jini example browser Browser admin group 10 3 2 2 Examples for Starting Browsers The following examples show how to start the browser prompt gt java cp files jinil 0 lib jini examples jar Djava security policy files jinil_0 example browser pol
13. before committing or uncommitting a requested service discard The current implementation of the service discovery manager defaults to waiting 10 minutes twice the maximum lease duration granted by the Reggie implementation of the lookup service Service Properties There are a few properties that apply to each of the services in the starter kit java securitv policv The securitv policv file that is required for each contributed service implementation in the starter kit will be different Because using a policv file that grants all permissions is not recommended and because writing a security policy file that fits all the needs of a service can be difficult sample security policy files are supplied with the 1 1 version of the starter kit in the jinil_1 policy directory These policy files can be used as is or with little customization java rmi server codebase The codebase property may well be the most misunderstood property in the history of the Java programming language While this is no fault of the RMI developers the misunderstanding derives from the fact that the codebase property not only affects the VM on which it is set but it also affects the behavior of the remote VM that uses it In other words it not only affects the remote object s read that as service s VM but the VM of every client that uses that remote object For a tutorial on the codebase property see http java sun com j2se 1 3 docs quide rmi codebase html
14. html e Norm jinil 1 doc manpages norm html e Fiddler jinil 1 doc manpages fiddler html e Mercury jinil 1 doc manpages mercurv html e Outrigger transient jinil 1 doc manpages transientspace html e Outrigger persistent jinil 1 doc manpages frontendspace html SUN MICROSVSTEMS INC 32 of 49 Using Jini Software 10 3 10 3 1 In addition there are example docs that describe how to start the services The page on starting the services from the command line is something of a hold over from the 1 0 release of the starter kit As stated earlier in this document the GUI was completely revised and simplified for the 1 1 release and is an easy way to run complex command lines and to stop running service e GUI jinil_1 doc example StartingServiceGUI html Running an Example Service Client The starter kit contains an example client application the lookup service browser Both the binary and source code of the lookup service browser are provided as part of the starter kit The browser example is provided to illustrate some of the basic concepts of Jini technology e Discovery The browser as a client discovers a lookup service or a group of lookup services e Lookup Once lookup services are found the browser can query each lookup service for services that have been registered The browser can also narrow its query criteria by defining a template in which specific service types and attributes are def
15. in jinil 1 doc release notes jsk execpolicv html and the Microsoft Windows platform manual pages for rmid at http java sun com products jdk 1 2 docs tooldocs win32 RMI Properties Because most Jini services including the Jini lookup service and all of the other services in the starter kit are implemented using Java RMI a number of RMI properties can be set when running a Jini service You can refer to the Properties section of the RMI specification at http java sun com products jdk 1 2 docs quide rmi spec rmiTOC doc html and http java sun com j2se 1 3 docs guide rmi spec rmiTOC html SUN MICROSVSTEMS INC 29 of 49 Administering Jini Software 8 2 18 1 Supported java rmi Properties These properties are documented at http java sun com products jdk 1 2 docs guide rmi spec rmi properties doc htm143601 and http java sun com j2se 1 3 docs guide rmi spec rmi properties html1 3601 8 2 18 2 Unsupported sun rmi Properties 9 0 These properties are documented at herpes java sun com products jdk 1 2 docs guide rmi spec rmi properties doc htm1 3601and hetp java sun com j2se 1 3 docs guide rmi spec rmi properties htm143601 Administering Jini Software 10 0 There is an administration object associated with each service which can be obtained bv calling the getAdmin method The administration object can be used to examine the contents of a se
16. is used to create an attribute of type net jini lookup entry Name that is associated with the space s ServicelItem If this property is not set a default value of JavaSpace is used This property is only used when creating a Transient Space from the command line com sun jini outrigger debug If set this property enables the output of debugging information The comma separated list in the value of the property specifies which subsystems should generate debugging information and to which output stream that information should be sent Messages will go to System out by default unless an optional log file is provided on a per subsystem basis See the manual page at jinil_1 doc manpages outrigger html or jinil_1 doc release notes jsk serviceproperties html for a complete description of this property System Properties Controlling TransientSpace and Client JVM The following system properties control the behavior of the proxy objects created by a given Transient Space server when they are in a client s JVM Each of these properties are set on the client If you use these properties you should ensure that the client grants the appropriate permissions so the Transient Space service proxy can read these properties SUN MICROSYSTEMS INC 27 of 49 Configuration 8 2 13 1 8 2 14 8 2 14 1 8 2 14 2 8 2 14 3 8 2 14 4 8 2 14 5 8 2 15 8 2 15 1 com sun jini outrigger debug See the discussion in Sectio
17. mechanism for code written in the Java programming language Objects are written in entries that provide typed grouping of relevant fields Clients can perform simple operations on a JavaSpaces service to write new entries lookup existing entries and remove entries from a space Using these tools you can write systems to store state and also write systems that use flow of objects to implement distributed algorithms and let the JavaSpaces service implement distributed persistence for you Sun offers two implementations of a JavaSpaces service called Outrigger as part of the JavaSpaces Technology Kit JSTK available from http developer java sun com developer products jini product offerings html Outrigger includes two implementations of a JavaSpaces service TransientSpace and FrontEndSpace The F rontEndSpace uses an object oriented database package to guarantee persistence of entries The Transient Space does not guarantee persistence and operates with a lower overhead Jini Technology Core Platform Compatibility Kit There is also a new version of the Jini Technology Core Platform Compatibility Kit TCK 1 1A The TCK is available as a separate download The Jini Technology Core Platform Compatibility Kit TCK is a bundle of both code and documents that is part of a process used to qualify hardware or software based on Jini network technology Jini technology internal deployment It is also used for branding as spec
18. part of the setup_jvm_options to define which security policy file should be used for the setup JVM but under normal circumstances this setting will not be necessary for the setup JVM See the manual page at jinil 1 doc manpages fiddler html or SUN MICROSYSTEMS INC 25 of 49 Configuration 8 2 9 2 8 2 10 8 2 10 1 8 2 11 8 2 11 1 8 2 11 2 jinil 1 doc release notes jsk serviceproperties html for a complete description of this property com sun jini fiddler server debug If set this property enables the output of debugging information The comma separated list in the value of the property specifies which subsystems should generate debugging information and to which output stream that information should be sent Messages will go to the default output stream unless an optional log file is provided on a per subsystem basis See the manual page at jinil_1 doc manpages fiddler html or jinil_1 doc release notes jsk serviceproperties html for a complete description of this property System Properties Controlling Norm com sun jini norm debug If set this property enables the output of debugging information The comma separated list in the value of the property specifies which subsystems should generate debugging information and to which output stream that information should be sent Messages will go to System out by default unless an optional log file is provided on a per subsystem basis See the
19. routing protocols most router vendors already do so SUN MICROSYSTEMS INC 9 of 49 Compatibility with Previous Versions of Jini Technology 3 2 3 4 4 0 If you are using a system that uses the Solaris Operating Environment as a router ensure that it is configured to support multicast routing For more detailed information on the multicast requirement of the discoverv protocol especiallv in the Solaris Operating Environment see jinil 1 doc release notes jxp discoverv html Reliable Unicast The Jini discoverv protocol expects the underlving network laver to support a reliable unicast deliverv An example is RMI over TCP protocol Compatibilitv with Previous Versions of Jini Technologv 4 1 4 1 0 1 4 1 0 2 4 1 1 1 4 1 1 2 The Jini Technology Starter Kit 1 1 is the third GA RR release of Jini technology Previous releases were 1 0 and 1 0 1 In addition there were 1 1 Alpha and 1 1Beta releases Bugs Fixed All of the bug fixes that went into the 1 0 1 version of the starter kit were also incorporated into the 1 1 version All of the bug fixes listed were made in the change from 1 0 to 1 0 1 and thev are also in all of the 1 1 releases BugID 4255360 OutgoingMulticastAnnouncement infinite loop fixed OutgoingMulticastRequest and OutgoingMulticastAnnouncement would allocate memory in an infinite loop if the data to be sent had exactly the maximum size the code used to say lt maxPacketSize instead o
20. use the UNIX version of unzip prompt gt unzip JINITCK 1 1A G CS zip e On Microsoft Windows systems you can use the unzipping tool of your choice 6 2 2 Examining the TCK in the jinitck1_1A Directory e index html The starting page for all documentation e config directory Contains security policy and properties files SUN MICROSYSTEMS INC 18 of 49 Key File Descriptions e doc directory Contains API documentation directions for running the TCK installation instructions test and harness specifications license file s a document on passing the TCK and release notes e lib directory Contains the JAR files e source directory Contains the source code for the binary classes 7 0 Key File Descriptions 7 1 JAR Files In the 1ib directory of the starter kit and the TCK are binary or executable files distributed as JAR files that contain compiled Java programming language class files Note The rest of the information in this section can be found at jinil_1 doc release notes jsk html jars To facilitate code downloading to clients the implementation of every service implementation in the starter kit is separated into two and in the case of Fiddler three JAR files For this discussion service can refer to any of the services in the starter kit Reggie Mahalo Norm Mercury Outrigger or Fiddler 1 1 service jar This file contains all of the class files needed by the service in order to ru
21. will look for the registry This property must be set on the setup JVM It is only used when creating a Mahalo service from the command line com sun jini mahalo managerName This property defines the name associated with the transaction manager If the transaction manager is bound to an RMI registry then the value of the managerName property is the name to which it is bound If the transaction manager is bound to a Jini lookup service this name is used to create an attribute of type net jini lookup entry Name that is associated with the transaction manager s Serviceltem This property must be set on the setup JVM It is only used when creating a Mahalo service from the command line com sun jini mahalo debug If set this property enables the output of debugging information This property can be set on both the setup JVM and the server JVM The comma separated list in the value of the property specifies which subsystems should generate debugging information and to which output stream that information should be sent By default messages will go to System out unless an optional log file is provided on a per subsvstem basis See the manual page at jinil 1 doc manpages mahalo html or jinil_1 doc release notes jsk serviceproperties html for a complete description of how to use this property System Properties Controlling Fiddler java securitv policv When starting Fiddler from the command line the java security policy can be set as
22. wrong file and not talking to the HTTP server at all If a URL is intended to identifv a single JAR file then it should do so in the usual wav http hostname 8080 path jarfile jar The URL must not be abbreviated in any way except that the port number may be omitted if it is port 80 If the JAR file is used to locate a file that is not part of a Java programming language package such as a security policy file then you may have to use the form http hostname 8080 path jarfile jar to denote that the JAR file should be searched as a directory Otherwise if a URL is intended to identify a file system directory from which individual class files will be downloaded the URL must end in a slash character The indicated directory must be the root of the package directory of the compiled class files For example if the URL http hostname 8080 com foo bar Thing class will download the class Thing in the package com foo bar then the codebase URL must be http hostname 8080 rather than http hostname 8080 http hostname 8080 com foo bar or any other variants Common User Questions e Marketing and Jini technology product idea questions http sun com jini faqs index html e Licensing questions Product Limitations Securitv Currently Jini technology relies on the security of the Java 2 platform While work is underwav to add authentication and authorizati
23. 1 To extract the downloaded ZIP file e If you have the Java 2 SDK installed you can use the jar command prompt gt jar xvf JINI 1 1 G CS zip e On a UNIX system you can use the UNIX version of unzip prompt gt unzip JINI 1 1 G CS zip e On Microsoft Windows systems you can use the unzipping tool of your choice 6 1 2 Examining the Starter Kit in the jini1_1 Directory e index html The starting page for all documentation e doc directory Contains API documentation supporting documentation for the examples installation instructions license file s glossary and release notes e example directory Contains supporting files for running the example code e lib directory Contains the JAR files e source directory Contains the source code for the binary classes e policy directory Contains example security policy files 6 2 Installing the TCK Once the starter kit has been extracted you can access the information in this section from jinitck1_1A doc installation html In addition this information is provided at http developer java sun com developer products jini installation tekl 1A html 6 2 1 Extracting the TCK ZIP file After you download the TCK 1 01A you need to extract it For example The TCK extracts into the jinitck1_1A directory To extract the downloaded ZIP file e If you have the Java 2 SDK installed you can use the jar command prompt gt jar xvf JINITCK 1 1A G CS zip e On a UNIX system you can
24. Admin menu to control which groups the lookup service is a member of You can use Unicast port from the Admin menu to control which unicast port the lookup service uses for its lookup locator e If the service supports the Dest royAdmin interface then you can use Destroy from the Admin menu to permanently destroy the service File Registrar Servicelnfo Joining groups otal services registered 12 BasicServiceTy Joining locators anna Member groups Unicast port Destroy rMatching Services net jini space Jawa Sr com sun jini mahalo net jini core lookup S SUN MICROSYSTEMS INC 41 of 49 Using Jini Software 10 3 4 10 3 5 The following screen shot shows that the lookup service isa member of a group whose name is public File Registrar otal services registered 17 r Matching Services net jini space Java Se corn sun jini rnahalo net jini core lookup IKA Binarv and Source Code of Lookup Service Browser The starter kit provides both binarv and source code for the lookup service browser The binary code is in the jinil 1 1ib jini examples jar file and the source code is in the directorv jinil 1 source vob jive src com sun jini example browser Code Examples of Jini Software Classes and Interfaces in the Lookup Service Browser The lookup service browser is an
25. BugID 4225345 CreateLookup should support localization CreateLookup s messages have been internationalized by moving them into a resource file reggie properties BugID 4226718 NullPointerException in ClassItemIter stepClass If you called lookup with a template of type Ent ryB which has no fields but extends a class Ent ryA which has some fields the lookup failed with a SUN MICROSYSTEMS INC 11 of 49 Compatibility with Previous Versions of Jini Technology 4 1 4 4 4 1 4 5 4 1 4 6 4 1 4 7 4 1 5 4 1 5 1 NullPointerException The new code uses getDefiningClass to avoid this error Bug ID 4233684 Throwable is now caught when unmarshalling or calling a listener Error instances that occurred in user code supplied to Reggie were not properly caught now they are BugID 4242282 Reggie now calls toStub when service object is Remote Reggie used to extract the service type descriptor for a Remote object that was being registered when it should have been using the descriptor of the Remote object s stub BugID 4250196 Destroying Reggie could sometimes hang under Solaris Hotspot The AnnounceThread can sometimes receive an InterruptedIOException while sending a datagram but the exception was treated only as an IOException and discarded As a result the parent Dest royThread never resumed BugIDs 4279020 and 4279175 Reggie no longer allows primitive types in entries ClassMappe
26. CK distribution should be modified directly There are at least two property values specifying directory locations that you will need to set properly in order for the TCK tests to run as they should For example on a UNIX system where you have the TCK installed in test jinitckl 1A cd test jinitckl 1A config Cp tck prop my prop Or on the Microsoft Windows NT platform where vou have the TCK software installed in C est jinitck1_1 ed C test jinitck1_1A config copy tck prop my prop 2 Edit the configuration file For our first example run of the TCK we ll run the Mahalo service without using the provided admin interface so we ll need to change three properties in the config file com sun jini tck scratchDir com sun jini tck installDir and com sun jini tck unofficialQuietTime The impacts of changing com sun jini tck unofficialQuietTime to override its default value of 30 minutes are that we ll speed up the TCK execution time and it will be considered an unofficial run of the TCK Unofficial runs of the TCK are discussed in the Jini Technology Core Platform Compatibility Kit Harness Specification For the second example run of the TCK we ll use the admin for Mahalo that is provided with the TCK so we ll need to uncomment and change an additional four properties For now though you ll need to edit your copy of the config file my prop so that the com sun jini tck installDir accurately refl
27. CK from http www sun com software communitysource jini download html You ll need to be registered with Java Developer Connection JDC registration is free The Sun Community Source License 3 0 Jini Technology Specific Attachment 1 0 SCSL3 Jini TSA 1 0 also has to be signed online in order to download the software 5 1 Name and Size of Download Files e Jini Technology Starter Kit JINI 1 1l G CS zip Includes the binaries source code specifications and support documentation 7 806 795 bytes e Jini Technology Core Platform Compatibility Kit JINITCK 1 1A G CS zip Includes the TCK binaries harness and test specifications and support documentation 1 386 998 bytes 6 0 Installing the Jini Technology Starter Kit and the TCK There are currently two Jini technology distribution bundles e JINI 1 1 G CS zip The starter kit binaries source code and docs e JINITCK 1 1A G CS zip The TCK binaries source code and docs 6 1 Installing the Jini Technology Starter Kit Once the starter kit has been extracted you can access the information in this section from jinil 1 doc installation html In addition this information is provided SUN MICROSVSTEMS INC 17 of 49 Installing the Jini Technology Starter Kit and the TCK at http developer java sun com developer products jini installation index html 6 1 1 Extracting the Starter Kit ZIP file The starter kit extracts into the directory jinil
28. Product Please refer to the copy of the Sun Community Source License Version 3 0 Jini Technology Specific Attachment 1 0 SCSL3 Jini TSA 1 0 The complete license referred to as SCSL 3 can be found at http www sun com jini licensing SCSL3_ JiniTSA1 html The pertinent sections in the SCSL 3 are III c and III d and in the Commercial Use Supplement General Terms CUSupp sections II A h and TILA Logo and Trademark Guidelines The term Jini and the Jini compatibility logo are trademarks of Sun Microsystems Inc Sun has developed guidelines regarding its trademark for the term Jini and the Jini compatibility logo For detailed information see http www sun com policies trademarks Requirements and Dependencies Version 1 1 of the Jini Technology Starter Kit depends on the Java 2 SDK version 1 2 2 or later Because Jini technology runs over RMI the same set of product dependencies identified for RMI also applies to Jini technology For RMI requirements and dependencies see Section 3 0 of the RMI Support Readiness Document SUN MICROSYSTEMS INC 7 of 49 Requirements and Dependencies 3 1 3 1 1 3 1 2 3 1 3 Svstem Requirements and Dependencies Development and Execution of Jini Services and Applications Each svstem used for development of Jini services clients or applications must have enough disk space to install JavaTM 2 SDK Standard Edition v1 2 2 or later and the Jini Te
29. RMI Activation Daemon rmid For the TCK the RMI activation daemon needs to be started in the following way e On the default port 1098 e With a log directory to which you have write permission e Ina shell or window with no CLASSPATH setting If you are using 1 2 2 006 or later of the Java 2 SDK the security policy for rmid must be configured For further information see the document rmid exec policies for Jini technology at http developer java sun com developer products jini execpolicy html For example on a UNIX system with a version of the Java 2 SDK earlier than 1 2 2 006 installed start rmid as follows cd tmp setenv CLASSPATH o rmid If the Java 2 SDK v1 2 2 006 or later is being used then rmid should be started using rmid J Dsun rmi activation execPolicv none which causes rmid to enforce the same security policy as earlier versions of rmid SUN MICROSYSTEMS INC 31 of 49 Using Jini Software 10 1 3 10 2 To run rmidon the Microsoft Windows NT platform open a Command Prompt window bv using the Start button and selecting Programs and then Command Prompt In that window Civ ed C temp C gt set CLASSPATH C gt start min rmid Again if Java 2 SDK 1 2 2 006 or later is being used then the last command line above would be replaced with C gt start min rmid J Dsun rmi activation execPolicy none Starting the Infrastructure Services The starter k
30. Support Readiness Document Jini Technology Starter Kit 1 1 Sun Microsvstems Inc Market Development and Developer Relations Support Readiness Education Support Readiness Document Jini Technology Starter Kit 1 1 Sun Microsystems Inc 901 San Antonio Road Palo Alto CA 94303 U S A Version 1 1 Release Date Januarv 31 2001 2001 by Sun Microsystems Inc Printed in USA 901 San Antonio Road Palo Alto CA 94303 4900 All rights reserved No part of this work covered by copyright may be duplicated by any means graphic electronic or mechanical including photocopying or storage in an information retrieval system without prior written permission of the copyright owner RESTRICTED RIGHTS LEGEND Use duplication or disclosure by the government is subject to restrictions as set forth in subparagraph c 1 ii of the Rights in Technical Data and Computer Software clause at DFARS 252 227 7013 October 1988 and FAR 52 227 19 June 1987 The product described in this manual may be protected by one or more U S patents foreign patents and or pending applications TRADEMARKS Jini JavaSpaces Java HotJava Solaris JDBC and Java Compiler are trademarks of Sun Microsystems Inc Solaris SPARC Platform Edition is a trademark of Sun Microsystems Inc All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International Inc in the United States and other countries Products bearin
31. TEMS INC 3 of 49 Jini Technology 1 4 1 4 1 1 4 2 1 5 1 6 1 6 1 e The make files have been changed so that most of the starter kit can be built from scratch except those classes that relv on PSEPro see Section 4 2 7 Changes in makefiles e Every service now has a security policy file that can be used and modified see Section 4 2 8 Security Policy File Examples e The TCK has been greatly enhanced and completely rewritten see Section 4 3 6 TCK Changes e The GUI tool to start services has been greatly enhanced and completely rewritten see Section 4 3 4 Example Service Starter Features or Services Not Provided Two product limitations are addressed in Section 12 4 Product Limitations relating to security and Outrigger running in a single virtual machine VM Jini Technology Security Model Currently Jini technology relies on the security mechanisms of the Java 2 platform Security managers security policy files and class loaders govern the activities of Jini services A new security model for Remote Method Invocation RMI see the latest draft specification at bttp java sun com products jdk rmi rmisec doc intro html based on JAAS http java sun com products jaas will be part of the 1 4 release of the Java 2 Software Development Kit SDK This additional security in RMI will provide opportunities for greater security to Jini services and clients GNU
32. ar in regular font with initial capitals such as the Enter key e URLs that are clickable web links in the PDF version of the document are shown in blue underlined monospace font as in http java sun com Although the blue color and underlining appears in the PostScript version there are no live links when viewing that version e URLs that are not clickable web links are shown in regular monospace font such as jsdt stard 5555 socket Session chatSession SUN MICROSYSTEMS INC viii Preface e Cross references to other sections of the document are shown in regular font but are blue and underlined as in See Section 1 0 JSDT Overview In the PDF version of the document these are clickable links to the indicated section Although the blue color and underlining appears in the PostScript version there are no live links when viewing that version e New terms and book titles appear in italic type SUN MICROSYSTEMS INC ix Support Readiness Document Jini Technology Starter Kit 1 1 1 0 This document provides support readiness information for the Jini Technology Starter Kit This document is not designed to provide comprehensive product training Instead it focuses on issues immediately relevant to support such as installation configuration and common user problems For pointers to other documentation and information on product training see Section 13 0 Reference Information The inf
33. ation internally or distributing a product externally agree to additional responsibilities that are designed to ensure their application will be compatible with others These include conforming to certain naming conventions within the source code publishing specifications to any extensions they have developed keeping the programming interfaces to their extensions open and passing the current Jini Technology Core Platform Compatibility Kit Commercial Use licensees who distribute commercial implementations are also responsible for distributing source code only to community licensees in good standing and upgrading their code to the current version of the technology Fees are no longer associated with Commercial Use The Research Use and Commercial Use licenses are web based click throughs so that joining the licensee community is simple For more detailed information on SCSL3 Jini TSA 1 0 see http www sun com jini licensing overview html Once a person has become a Jini technology licensee they can join jini org an emerging self organized community of interest groups surrounding different sorts of services such as printing and storage Such interest groups define refine and standardize interfaces for their category of service providing useful community source code specifications and verification suites for new and existing community members to use For more information on jini org see http www jini org Redistribution of Binary
34. books Jini Technologv Fact Sheet http www sun com jini factsheet Jini Technologv API Documentation jinil 1 doc api index html RMI Resources http java sun com products jdk rmi Additional References Official Jini Technology Web site http www sun com jini This page contains links to the following sites e Jini Technology Executive Overview http sun com jini overview e Jini Community Licensing http sun com jini licensing SUN MICROSYSTEMS INC 48 of 49 Reference Information e Jini Community Program Overview http sun com jini Community e Jini Technology News and Articles http sun com jini news index html 13 3 2 Sun s Logo and Trademark Guidelines http sun com policies trademarks 13 3 3 jini users Newsgroup Posting Archive http archives java sun com archives jini users html 13 3 4 jini users Mailing List Subscription http sun com jini subscribe html 13 3 5 Jini Technology Programming FAQ http www artima com jini fag html 13 4 Contacts e Jini trademark and logo questions Contact Sun Microsystems Marketing at jini info sun comand Sun s Trademark Department at trademarks sun com e Licensing model questions comments Contact SCSL comment s java sun com or jini commercial sun com e Technical questions Contact jini comments java sun comor jini users java sun com e General questions about Jini technology
35. censing Licensing for the Jini Technology Starter Kit and the TCK is made available through the Sun Community Source License 3 0 Jini Technology Specific Attachment 1 0 The SCSL3 Jini TSA 1 0 opens the source code for the Jini technology infrastructure to the community of Jini technology licensees who are free to use extend improve and repair Jini technology by following an open process that ensures both fairness and stable evolution of the technology Community members can add to this common body of source code while still maintaining if they wish proprietary implementations However interfaces must be published so other community members can build their own implementations There are two levels of participation in the SCSL3 Jini TSA 1 0 e Research Use Enables licensees to use the source for any non deplovment purpose which provides a way for organizations and individuals to examine and evaluate Jini technology Research Use licensees including personal and educational users agree to minimal restrictions These include posting error corrections publishing SUN MICROSYSTEMS INC 6 of 49 Requirements and Dependencies 2 2 1 2 3 3 0 their modified source code with a special Research Use notification and conforming to certain methods for posting modifications electronicallv Commercial Use Intended for commercial distribution and internal deployment Commercial Use licensees whether deploying an implement
36. chnologv Software Kit For the actual file size of the Jini Technologv Software Kit see Section 5 1 Name and Size of Download Files Developers are not required to use any third party hardware or software tools in order to develop Jini services clients or applications Each system used for running Jini services and applications must have enough storage space for Java Runtime Environment JRE 1 2 and enough memory space for downloaded class files the size of which would vary depending on the application Hardware Platforms Supported Jini clients and services are built on and run on the Java 2 platform Any hardware platform that runs a Java 2 SDK versions 1 2 2 or 1 3 should be able to install and run the starter kit and the TCK Disk Space Requirements for Installation Table 1 3 1 4 3 2 3 2 1 Disk Space Required to Download and Install the Starter Kit and TCK Platform Download File Name Download File Disk Space for Total space Size Installed Product required for install Solaris JINI 1 1 G CS zip 7 806 795 bytes 23 560 KB 30 45 MB Windows JINI I l G CS zip 7 806 795 bytes 23 560 KB 30 45 MB Solaris JINITCK 1 1A GCS zip 1 386 998 bytes 3 944 KB 5 17 MB Windows JINITCK 1 1A GCS zip 1 386 998bytes 3 944 KB 5 17 MB 1 This only includes space for the download files the installed product and any temporary space required during the installation process Disk Space Requirements for Log Files Disk st
37. cture Specification You can view this document online at http www sun com jini specs jinil 1 pdf In the starter kit you will see this document as jinil 1 doc specs jini spec jini pdf Ensure that vou understand the following three components of the Jini architecture before vou proceed to the rest of the document e Infrastructure The set of components that enables building a federated system of Jini technology enabled services and or devices Jini system e Programming model A set of interfaces that enables the construction of reliable services including those that are part of the infrastructure and those that join into the federation e Services The Jini technology infrastructure and programming model are built to enable services to be offered and found in the network federation These services make use of the infrastructure to make calls to each other to discover each other and to announce their presence to other services and users Product Distribution 2 1 2 2 Free Distribution The starter kit and the TCK are available free of charge though users need to be registered with Java Developer Connection JDC Registration is free The Sun Community Source License 3 0 Jini Technology Specific Attachment 1 0 SCSL3 Jini TSA 1 0 also has to be signed online in order to download the software You can download this from http www sun com software communitysource jini download html Binary and Source Li
38. d the network but also full objects including a reference to where the RMI runtime can download any code necessary for those objects This ability to move code around the network in an automated fashion just by referencing a remote object enables much of the simplicity of the Jini architecture e Leasing The process of one object in a distributed system granting the use of a resource to another object in that system for a certain period of time The duration of the lease is negotiated by the two objects when access to the resource is first requested and given Access to all of the services in a system of Jini technology services and devices is lease based e Transactions In general a transaction is a tool that allows a set of operations to be grouped in such a way as to make them all appear to either succeed or fail further the operations in the set appear from outside the transaction to occur simultaneously In the Jini architecture the concrete representation of a transaction is encapsulated in an object e Distributed events A remote object may allow other remote objects to register interest in certain types of events and to receive a notification of the occurrence of such an event SUN MICROSYSTEMS INC 5 of 49 Product Distribution 1 6 4 2 0 Components of the Jini architecture For an overview of Jini technology concepts see the System Overview Key Concepts section in Chapter 2 of the Jini Archite
39. dler html e Mercury jinil 1 doc manpages mercurv html e Outrigger transient jinil 1 doc manpages transientspace html e Outrigger persistent jinil 1 doc manpages frontendspace html 13 0 Reference Information 13 1 Product Information e Jini Technology Home Page http www sun com jini SUN MICROSYSTEMS INC 47 of 49 Reference Information 13 2 13 2 1 13 2 2 13 2 3 13 2 4 13 2 5 13 2 6 13 2 7 13 3 13 3 1 Technical Documentation Technical Articles on Distributed Computing e A Note on Distributed Computing by Jim Waldo Geoff Wyant Ann Wollrath and Sam Kendall http www sun com research technical reports 1994 abstract 29 html Specifications for the Jini Technologv Core Platform http sun com jini specs or jinil 1 doc specs jep html The following documents are included in the starter kit in PostScript and PDF format and online in HTML PostScript and PDF e Jini Architecture Specification e Jini Technology Core Platform Specification e Jini Device Architecture Specification e Jini Technology Glossary Specifications for the Jini Extended Platform http sun com jini specs or jinil 1 doc specs jxp html The following documents are included in the starter kit in PostScript and PDF format and online in HTML PostScript and PDF e A Collection of Jini Technology Helper Utilities e JavaSpaces Specification Jini Technology Books http www sun com jini
40. e details about a particular administrable service double click the service This brings up an editor window showing the attribute set classes Double click an attribute set class to expand the view to include its attribute values double click it again to collapse the view Those attribute sets and attributes with blue icons can be edited those with gray icons cannot Double click on an attribute to change its value SUN MICROSYSTEMS INC 39 of 49 Using Jini Software otal services registere Ly String name Lookup iy String manufacturer Sun Microsyste B String vendor Sun Microsystems In G String version 1 0 D String model B String serialNumber BasicServiceTvpe 1 1 1 L Inet jini space JavaSl ITFA J com sun jini mahalo You can also add or remove an attributes from a service as shown in the following figure a a a aa a pa a AKA a Pa ae Er net jini space Java S pace com sun jini rmahalo TxnMa SUN MICROSVSTEMS INC 40 of 49 Using Jini Software 10 3 3 10 Administering Services e Ifthe service supports the JoinAdmin interface then you can use Joining groups and Joining locators from the Admin menu to control which lookup groups and lookup locators the service uses for lookup discovery and join e If the service is itself a lookup service that supports the DiscoveryAdmin interface then you can use Member groups from the
41. ects the installation directory of the TCK on your system Next you ll need to change the com sun jini tck scratchDir to a location to which the TCK may write temporary files and log files The directory that you specify will be created for you as part of the TCK run Lastly you ll want to change the value of com sun jini tck unofficialQuietTime from 1800000 milliseconds to 60000 8 2 2 Utility Properties This information is excerpted from jinil 1 doc release notes jxp utilityproperties html Note Unless otherwise stated any output from these properties is sent to System out SUN MICROSYSTEMS INC 21 of 49 Configuration 8 2 3 8 2 3 1 8 2 3 2 8 2 3 3 8 2 3 4 8 2 3 5 8 2 3 6 8 2 4 8 2 4 1 Discoverv Properties net jini discovery debug If set to any value this property indicates that debugging information related to the execution of the Jini discovery protocols should be printed to System err net jini discovery timeout When a client or service uses the unicast request protocol to communicate with a particular lookup service the socket connection used by the protocol will time out after N milliseconds where N is defined by this property The default value is 60 000 milliseconds 1 minute net jini discovery interface When this property is set to either a host name or IP address the network interface corresponding to the given name or address will be used in the multicast di
42. example of a Jini service client The source code gives you a good idea of what and how Jini software classes and interfaces are used by a typical service client application e net jini discovery LookupDiscovery class This class is used to discover lookup services which are nearby Whenever a new lookup service is found the Browser is notified by this class e net jini core discovery LookupLocator class This class is used to discover a lookup service on a particular host e net jini core lookup ServiceRegistrar interface The proxy objects of lookup services are referenced by this interface The browser invokes methods of this interface in order to perform operations like retrieving a set of services that match a template or registration of newly added service to the lookup service event notification SUN MICROSYSTEMS INC 42 of 49 Uninstalling the Jini Technology Starter Kit 10 4 10 5 11 0 e net jini core lease Lease interface The browser uses this interface as a reference to a lease object The browser gets a lease object as a return value of event registration to the lookup service e net jini lease LeaseRenewalManager class The browser uses this utility class to renew leases of associated services e net jini lease LeaseListener interface The browser implements this interface An instance of that class is passed as an argument when the browser renews its lease with a
43. f lt maxPacketSize BugID 4245874 Extraneous imports of java awt Image removed Address and Status had unnecessary imports of java awt Image Bugs Fixed in com sun jini lease BugID 4224209 LeaseRenewalManager didn t do any renewals when duration was Lease FOREVER LeaseRenewalManager computed the expiration time as duration Svstem currentTimeMillis which could overflow if duration was large enough The resulting negative value prevented renewals from occurring The new code sets the expiration time to Lease FOREVER in this case BugID 4250151 LeaseRenewalManager didn t check for null listener When sending a lease expiration notification LeaseRenewalManager dereferenced the listener without first checking to see if it was null anda NullPointerException resulted if it was null SUN MICROSYSTEMS INC 10 of 49 Compatibilitv with Previous Versions of Jini Technology 4 1 1 3 4 1 1 4 4 1 2 1 4 1 2 2 4 1 4 1 4 1 4 2 4 1 4 3 BugID 4262048 LeaseRenewalEvent constructor did not set expiration field The expiration field of LeaseRenewalEvent was not properly initialized by the constructor so calls to getExpiration returned an invalid value LeaseRenewalManager did not take batching into account when calculating renewal times If you had M leases that could all be batched and had they all approximately the same expiration time the LeaseRenewalManager LRM calc
44. found in jinil_1 doc release notes jsk Command line Syntax and System Properties Moved The 1 1 release of the starter kit contains manual pages for each of the service implementations Reggie Mahalo Norm Outrigger Mercury and Fiddler in jinil 1 doc manpages e Reggie jinil 1 doc manpages reggie html e Mahalo jinil_1 doc manpages mahalo html e Norm jinil 1 doc manpages norm html e Fiddler jinil 1 doc manpages fiddler html e Mercury jinil 1 doc manpages mercurv html e Outrigger transient jinil 1 doc manpages transientspace html e Outrigger persistent jinil 1 doc manpages frontendspace html SUN MICROSVSTEMS INC 14 of 49 Compatibilitv with Previous Versions of Jini Technology 4 2 5 4 2 6 4 2 7 4 2 8 4 3 4 3 1 In addition there is now a single service properties page that lists all of the properties controlling the services in the JSK at jinil 1 doc release notes jsk serviceproperties html Deprecated Classes and Interfaces The following classes and interfaces were experimental in the 1 0 release and have been replaced with corresponding members in the net jini packages These classes and interfaces in com sun jini are being marked deprecated in this release and will be removed in a future release of the starter kit Update your code to use the new versions e com sun jini discoverv LookupLocatorDiscoverv has been deprecated and replaced by net jini discovery Looku
45. g SPARC trademarks are based upon an architecture developed by Sun Microsystems Inc UNIX is a registered trademark in the United States and other countries exclusively licensed through X Open Company Ltd Production Note This book was written in FrameMaker 5 5 for Solaris and Windows by Jennifer McGinn mentored by Marvin P Miller Support Readiness Education SRD Template 2 1 Table of Contenis 1 0 Preface ix Jini Technologv 1 1 1 1 2 1 3 1 4 1 5 1 6 Jini Technology Starter Kit 1 1 1 1 Jini Technology Core Platform Compatibility Kit 2 Features Advantages and Benefits 3 1 2 1 Features Advantages and Benefits of JavaSpaces Technology 3 1 2 2 Features Advantages and Benefits of the Jini Technology Core Platform Compatibility Kit 3 Changes and New Features in Version 1 1 3 Features or Services Not Provided 4 1 4 1 Jini Technology Security Model 4 1 4 2 GNU Make 4 Localization and Internationalization 4 Other Introductory Material 4 1 6 1 Java Remote Method Invocation 4 1 6 2 Jini Technology Glossary 5 1 6 3 Key Concepts of Jini Technology 5 1 6 4 Components of the Jini architecture 6 2 0 Product Distribution 6 2 1 PAN 253 Free Distribution 6 Binarv and Source Licensing 6 2 2 1 Redistribution of Binary Product 7 Logo and Trademark Guidelines 7 3 0 Requirements and Dependencies 7 3 1 System Requirements and Dependencies 8 3 1 1 Development and Execution of Jini Services a
46. he JavaOne conference in 1998 New services that have been developed for the starter kit since the first public release of the Jini lookup service in January of 1999 use the Jini lookup service exclusively TCK Changes The TCK was completely rewritten between the 1 0 and 1 0B releases All of the changes from 1 0 to 1 0B as well as the changes from 1 0B to 1 1A are documented in the file jinitcki 1A doc relnotes html While the only change from 1 0B to 1 1A was that Admins were provided for the three new services Norm Mercury and SUN MICROSYSTEMS INC 16 of 49 Downloading the TCK and the Jini Technology Starter Kit Fiddler there is no compatibilitv between the original 1 0 release and the two later releases 1 0B and 1 1A 4 3 7 Additional Information For more information on changes from the Beta releases see the following release notes e jinil 1 doc release notes jep html e jinil 1 doc release notes jxp html e jinil 1 doc release notes jsk html 4 3 8 Forward Compatibility with Other Versions The com sun jini package and its subpackages contain the contributed implementations of Jini services from Sun Microsystems At present all classes and interfaces in these packages are subject to change or removal in a future release in ways that may not be backward compatible with this release 5 0 Downloading the TCK and the Jini Technology Starter Kit You can download the Jini Technology Starter Kit and the T
47. he RMI stub for the lookup service the lookup service has to be started with a java rmi server codebase property The value of the codebase property is a string in the form of a URL the most common SUN MICROSYSTEMS INC 30 of 49 Using Jini Software 10 1 2 10 1 2 1 form of which is HTTP based If the codebase property is specified as an HTTP resource you have to start an HTTP server that can run on a host where the RMI stub of the lookup service resides to serve up the lookup service s stub The host on which the HTTP server runs is typically the same server on which the lookup service gets started You can use either an existing HTTP server in your networking environment or the simple HTTP server that is provided as part of the starter kit Starting the Infrastructure Services Verify Your Platform and Path Environment As discussed earlier in this document you must have installed a supported version of the Java 2 SDK Standard Edition 1 2 2 or 1 3 To ensure that the combination of operating system and Java 2 SDK Standard Edition that you are using is one that we have tested take a look at the list of platforms on which the Jini Technology Starter Kit has been tested in Section 3 2 2 Operating Systems and Versions Supported You can test to ensure that you have the correct version of the Java 2 SDK installed and that your executable path is setup properly by typing java version 10 1 2 2 Running the
48. i discoverv net jini entrv net jini event net jini lease net jini lookup net jini space com sun jini admin com sun jini benchmark com sun jini benchmark lookup com sun jini collection com sun jini constants com sun jini debug com sun jini discoverv com sun jini example com sun jini fiddler com sun jini lease com sun jini lookup com sun jini mahalo com sun jini mahout com sun jini mercurv com sun jini norm SUN MICROSVSTEMS INC 46 of 49 Reference Information e com sun jini proxv e com sun jini reggie e com sun jini reliableLog e com sun jini system e com sun jini thread e com sun jini test clm e com sun jini test discovery e com sun jini test lookup e com sun jini test misc e com sun jini test util e com sun jini test txnmanager e build e doc e other 12 8 debug Properties Each of the services in the starter kit has a debug property that can be used to enable the output of debugging information To activate it the value of the property must be set to a comma separated list of keywords Each keyword activates a different set of execution traces and the set of keywords for one service are different from the set of keywords for a different service The keywords are described in each service s manual page e Reggie jinil 1 doc manpages reggie html e Mahalo jinil 1 doc manpages mahalo html e Norm jinil 1 doc manpages norm html e Fiddler jinil 1 doc manpages fid
49. icy Djava rmi server codebase http lt host gt 8080 jini examples dl jar com sun jini example browser Browser The next example starts the browser in administration mode prompt gt java cp iles jinil 0 lib jini examples jar Djava security policv7 files jinil 0 example browser policv Djava rmi server codebase http host 8080 jini examples dl jar com sun jini example browser Browser admin Note In the examples above files is the directory into which the software was extracted and host is the name of the HTTP server that contains the jini examples dl jar file The cp option to the java command specifies a class path to search for class files SUN MICROSYSTEMS INC 34 of 49 Using Jini Software 10 3 3 Example Screens of the Lookup Service Browser For detailed instructions on how to use the lookup service browser see the Running the Jini Lookup Service Browser page at jinil_1 doc example LookupBrowser html 10 3 3 1 Starting the Lookup Service Browser without the admin Option You can start the browser with or without the admin option Without the admin option only a single pane appears as shown below File Registrar Options Services roups lt all gt registrars none selected 10 3 3 2 Starting the Lookup Service Browser with the admin Option If you start the browser with the admin command line option the text area is split into two panes The upper pane shows group
50. ified by the Sun Community Source License 3 0 Jini Technology Specific Attachment 1 0 SCSL3 Jini TSA 1 0 that users agree to prior to downloading the TCK and the Jini Technology Starter Kit SUN MICROSYSTEMS INC 2 of 49 Jini Technology 1 2 1 2 1 1 2 2 1 3 Features Advantages and Benefits For more information on the benefits that Jini technology brings to consumers device manufacturers and users see the white paper titled Why Jini Technology Now at http www sun com jini whitepapers whyjininow html Features Advantages and Benefits of JavaSpaces Technology e Communication between cooperating processes in a data driven manner e Use of Java programming language objects as the exchanged units of data e Scalable design which can be as efficient as direct peer to peer exchange e Persistent storage of entries e Support for distributed transactions e Resilience in the face of partial failure through the leasing of entries e Notification when an entry of a desired type is written Features Advantages and Benefits of the Jini Technology Core Platform Compatibility Kit The purpose of compatibility testing is to ensure that products issued with the Jini compatibility logo are good citizens in the environment of Jini technology enabled services and or devices good lookup citizens To be a good lookup citizen a product must interoperate with other good lookup citizens and behave in a way that doesn t ca
51. in Properties 22 8 2 4 1 com sun jini join debug 22 8 2 5 Service Discovery Properties 23 8 2 5 1 com sun jini sdm debug 23 8 2 5 2 com sun j jini sdm discardWait 23 8 2 6 Service Properties 23 8 2 6 1 java securitv policv 23 8 2 6 2 java rmi server codebase 23 8 2 6 3 com sun jini join debug 24 8 2 7 System Properties Controlling Reggie 24 8 2 7 1 com sun jini reggie proxy debug 24 8 2 7 2 com sun jini reggie unicastTimeout 24 8 2 7 3 net jini discovery interface 24 8 2 7 4 net jini discovery announce 24 8 2 7 5 net jini discoverv mtu 24 8 2 7 6 net jini discoverv ttl 25 8 2 8 System Properties Controlling Mahalo 25 8 2 8 1 com sun jini use registry 25 8 2 8 2 com sun jini rmiRegistryPort 25 8 2 8 3 com sun jini mahalo managerName 25 SUN MICROSYSTEMS INC iv Table of Contents 8 2 8 4 com sun jini mahalo debug 25 8 2 9 System Properties Controlling Fiddler 25 8 2 9 1 java security policy 25 8 2 9 2 com sun jini fiddler server debug 26 8 2 10 System Properties Controlling Norm 26 8 2 10 1 com sun jini norm debug 26 8 2 11 System Properties Controlling Mercury 26 8 2 11 1 com sun jini mercury debug 26 8 2 11 2 com sun jini mercury streamPoolSize 26 8 2 12 System Properties Controlling TransientSpace and ServerJVM 27 UI Lu 8 2 12 1 com sun jini outrigger basicspace reapinginterval 27 8 2 12 2 com sun jini use registry 27 8 2 12 3 com s
52. ined e Distributed Event The browser receives notification of newly discovered lookup services and newly added services to the lookup services e Leasing The browser registers its interest of event notification for example newly added services with a lookup service Each of these registrations has an associated lease The lookup service sends an event notification to the browser only during the lease period The lookup service browser is an example of a service client and thus does not show how a Service gets created and registered into a lookup service Lookup Service Browser Operations By default when the lookup service browser is started it searches for all available lookup services It can also search for either a particular lookup service or lookup services that are members of a certain group Once a lookup service is found it can perform the following operations e Display the services currently registered with the lookup service The display screen automatically updates itself as new services are added or removed e Find services that match your search criteria The search criteria are defined by a search template The search template could include service type and attributes e Display interface types or classes of all services registered with the lookup service e Display attribute classes of all services registered with the lookup service In addition you can perform the following administrative operations
53. it provides commandline utilities for starting these services They can also be started using the Start Services graphical user interface GUI program that is provided as part of starter kit Note that the Jini lookup service must be started after the HTTP server and rmid For detailed instructions on starting these services from the command line or GUI see e GUI jinil_1 doc example StartingServiceGUI html e Command line jinil_1 doc example StartingService html e Once these infrastructure services are started you can then add a new service such as the Jini transaction manager or your own custom built service to the Jini software runtime environment Once the services are started you can run client applications Detailed information on using the StartServices GUI can be found in the online documentation at jinil_1 doc example StartingServiceGUI html Running Contributed Jini Service Implementations In addition to service implementations contributed by Sun Microsystems such as the Jini lookup service implementation named Reggie the starter kit provides other contributed services a transaction service Mahalo a lease renewal service Norm a lookup discovery service Fiddler and an event mailbox service Mercury Complete instructions and options for starting these service implementations can be found in the manual page for each service e Reggie jinil 1 doc manpages reggie html e Mahalo jinil 1 doc manpages mahalo
54. lookup service The notify method of the class will be invoked by the LeaseRenewalManager if the lease expires or cannot be renewed e net jini lease LeaseRenewalEvent class The browser receives an instance of this class as a parameter to the notify method of the com sun jini lease LeaseListener interface e net jini admin Administrable interface The browser checks if a service is an instance of this interface and displays it accordingly with a blue icon in the admin pane e net jini admin JoinAdmin interface The browser checks if a service is an instance of this interface and allows further administration by the user if it is for example displaying and altering attributes of the service or displaying which lookup services the service should join e net jini lookup DiscoveryAdmin interface The browser checks if a service is an instance of this interface If it is the browser assumes the service is a lookup service and controls which groups a lookup service is a member of and which TCP port a lookup service uses for its lookup locator e net jini lookup entry ServiceControlled interface The browser checks if an attribute of a service is an instance of this interface and displays accordingly e net jini core entrv Entrv interface The browser uses this interface to refer to instances of Attributes Implementing and Running Your Own Services Once a Jini software runtime environmen
55. manual page at jinil 1 doc manpages norm html or jinil 1 doc release notes jsk serviceproperties html for a complete description of this property System Properties Controlling Mercury com sun jini mercurv debug If set this property enables the output of debugging information The comma separated list in the value of the property specifies which subsystems should generate debugging information and to which output stream that information should be sent Messages will go to the default output stream unless an optional log file is provided on a per subsystem basis See the manual page at jinil_1 doc manpages mercury html or jinil 1 doc release notes jsk serviceproperties html for a complete description of this property com sun jini mercurv streamPoolSize This propertv determines the maximum number of concurrent event log input output streams An existing stream is closed before opening another stream once this number has been reached The default value is 10 Note Each file based stream will use a file descriptor The maximum number of open file descriptors is a limiting factor on most operating svstems Xou should tune this parameter to suit your operating environment SUN MICROSVSTEMS INC 26 of 49 Configuration 8 2 12 8 2 12 1 8 2 12 2 8 2 12 3 8 2 12 4 8 2 12 5 8 2 13 Svstem Properties Controlling TransientSpace and Server JVM com sun jini outrigger basicspace reapinginte
56. mmediatelv relevant to support such as installation configuration and common user problems The fini Technology Starter Kit 1 1 SRD can be viewed in PostScript or PDF format The PDF version of the document allows navigation via a table of contents frame and the benefit of live cross references and web links Text that is underlined and in blue such as the URL in this paragraph are clickable links in the PDF version of the document Note page numbers in the PDF document refer to printed pages and will not coincide with the page numbers in the PDF reader status bar Although the blue color and underlining appear in the PostScript version there are no live links when viewing that version Tvpographic Conventions This document uses the following tvpe conventions e The names of commands files Java objects Java classes and directories are shown in regular monospace font e Text that is a placeholder to be replaced with a real name or value appears in italic type for example unzip jsdt 1 4 zip d destination directory e Text that you type when shown alongside computer output such as a command prompt is shown in bold monospace font The marker prompt gt in regular monospace font represents the actual command prompt you would see on your screen which may vary depending on your specific environment shell or platform For example Solaris prompt gt 1s 1 e The names of menu items buttons windows and keyboard keys appe
57. n This file has been configured as an executable JAR When used with the jar command line option in the Java Virtual Machine JVM it will start up the service This file must be in the CLASSPATH of the service At times you may see CLASSPATH referred to as the service s import codebase 1 2 service dl jar This file contains all of the class files that clients need to download dl stands for download from the service s codebase in order to interact with the service The java rmi server codebase property of the service must be a URL that points to the service dl1 jar file If the codebase property has been properly set the service dl jar file does not have to be a part of the client s CLASSPATH because the code will be downloaded from the URL specified in the codebase This allows client programs to be deployed independently from any particular service implementation Whereas the service s CLASSPATH is sometimes referred to as the service s import codebase the value of the service s java rmi server codebase property can be referred to as the service s export codebase For more information on the java rmi server codebase property you can refer to the tutorial Dynamic Code Downloading Using the java rmi server codebase Property at http java sun com 7j2se 1 3 docs quide rmi codebase html Note A URL may refer to a remote machine local machine or local file system SUN MICROSYSTEMS INC 19 of 49 Config
58. n 8 2 12 5 com sun jini outrigger debu Svstem Properties Controlling F rontEndSpace and Server JVM com sun jini outrigger backend vm options This property allows extra JVM command line arguments to be passed to the backend process associated with a FrontEndSpace The value of this property should be a string that can be passed as an argument to the JVM in which the backend is running com sun jini outrigger java This property specifies what JVM implementation to use for the backend process The value of this property must be the absolute path to an executable and that executable must accept all the standard JVM commandline options for example D classpath and Xbootclasspath as documented for the Solaris Operating Environment and Microsoft Windows platform versions of the java command If this property is not set a default value of System getProperty java home File separator bin File separator java is used unless the value of the java home property can t be read or it is null in which case java is used com sun jini outrigger backend gcInterval This property controls how aggressive the FrontEndSpace will be when garbage collecting the persistent store The FrontEndSpace writes directives into logs that are consumed by a backend process This property is set to an integer that represents how many logs must be consumed before the persistent store is garbage collected Once set to a
59. n integer N the persistent store is garbage collected by the backend process every N logs If not specified a default value of 5 is used com sun jini outrigger basicspace reapinginterval This propertv controls how often the active reaping of unused entrv and template objects takes place in the F rontEndSpace This property is set to a long that represents the time in milliseconds between reaping attempts If not specified a default value of five minutes is used Reducing this value helps reduce the memorv footprint of a heavilv loaded space com sun jini outrigger debug See the discussion in Section 8 2 12 5 com sun jini outrigger debug System Properties Controlling FrontEndSpace and Setup JVM com sun jini use registry If the com sun jini use registry property is set to a non null value the FrontEndSpace will be configured to bind itself to an RMI registry This property has no effect on how the service binds itself to Jini lookup services Note Support for binding to an RMI registry has been deprecated and will be removed in future versions of F rontEndSpace The Jini lookup service is the preferred method for advertising a service SUN MICROSYSTEMS INC 28 of 49 Configuration 8 2 15 2 8 2 15 3 8 2 15 4 8 2 16 8 2 17 8 2 18 com sun jini rmiRegistrvPort If the RMI registry is being used this property can assign the port on which the service will look for the
60. nd Applications 8 3 1 2 Hardware Platforms Supported 8 3 1 3 Disk Space Requirements for Installation 8 SUN MICROSYSTEMS INC Table of Contents 3 1 4 Disk Space Requirements for Log Files 8 3 2 Software Requirements and Dependencies 8 3 2 1 Required Operating System Patches 8 3 2 2 Operating Systems and Versions Supported 9 3 2 3 Java Platforms supported 9 3 2 3 1 Networking Requirements 9 3 2 3 2 Multicast 9 3 2 3 3 Multicast Routing 9 3 2 3 4 Reliable Unicast 10 4 0 Compatibility with Previous Versions of Jini Technology 10 4 1 Bugs Fixed 10 4 1 0 1 BugID 4255360 OutgoingMulticast Announcement infinite loop fixed 10 4 1 0 2 BugIDf 4245874 Extraneous imports of java awt Imageremoved 10 4 1 1 Bugs Fixed in com sun jini lease 10 4 1 1 1 BugID 4224209 LeaseRenewalManager didn t do any renewals when duration was Lease FOREVER 10 4 1 1 2 BugID 4250151 LeaseRenewalManager didn t check for null listener 10 4 1 1 3 BugID 4262048 LeaseRenewalEvent constructor did not set expiration field 11 4 1 14 LeaseRenewalManager did not take batching into account when calculating renewal times 11 4 1 2 Bugs Fixed in com sun jini lookup 11 4 1 2 1 BugID 4193558 JoinManager now checks that objects are Serializable 11 4 1 2 2 BugID 4216812 JoinManager no longer allows you to join all lookup services by passing null as the group s argument 11 4 1 3 Bugs Fixed in com sun jini mahalo 4 1 3 1 BugID 4198664 RMISecuritvExcep
61. nd added functionality In order to maintain compatibility with previous versions of the starter kit the older versions of these utilities still exist but are deprecated so you ll see deprecation warnings when compiling with the older versions Database Compatibility The JavaSpaces Technology Kit was incorporated into the 1 1 version of the starter kit In order to fix certain bugs the format of the persistent store used by the 1 1 GA RR release of FrontEndSpace was changed in a way that is incompatible with the database formats used in previous releases 1 0 1 0 1 1 1 Beta 1 1 Beta2 Therefore it will not be possible to upgrade a running FrontEndSpace service simply by killing rmid replacing Outrigger s JAR files and restarting rmid Old data must be transferred to the new space if it is to be retained Example Service Starter The new application com sun jini example launcher StartService replaces com sun jini example service StartService The older version did not have any way to save its state and could only be extended by adding more code This new version tries to make easier the execution of Jini services and the infrastructure services they require RMI Registry Use Deprecated Using the rmiregistry to find Outrigger and Mahalo services has been deprecated The use of the rmiregistry was a temporary measure that predates the public release of the Jini lookup service a Beta version of JavaSpaces was released for t
62. on to RMI that builds upon JAAS see http java sun com products jdk rmi rmisec doc intro htm1 that work won t be part of the Java 2 SDK until the release of Java 2 1 4 When RMI security is released Jini technology is expected to use the security mechanisms provided in it Outrigger Runs in a Single JVM The Outrigger implementations offer a JavaSpaces service which is centralized rather than distributed That is there is a single Java virtual machine JVM that hosts the space if the JVM crashes the space is unavailable until the JVM restarts While there are no known limitations precluding the creation of a JavaSpaces service that spans more than one JVM Sun has not yet provided such an implementation in the starter kit SUN MICROSYSTEMS INC 45 of 49 Tuning and Troubleshooting 12 5 12 6 12 7 Error Message Guide e Descriptions of Jini technology exceptions jinil 1 doc api index html Known Issues and Their Workarounds RMI exceptions http java sun com products jdk 1 3 docs api index html Some of the known issues are described in the release notes of the JXP and the JSK Known issues for the JXP jinil 1 doc release notes jxp html Known issues for the JSK jinil 1 doc release notes jsk html At the time of the Jini Technology Starter Kit 1 1 release there were no known PI P2 or P3 bugs Bug Categories in Bugtraq net jini core net jini admin net jini core net jin
63. orage is also required on hosts that run the infrastructure services and Jini services that use logging rmid FrontEndSpace Mahalo Reggie Norm Mercury and Fiddler The size of these files varies with use Software Requirements and Dependencies Required Operating System Patches Any patches that are required are specific to running the Java 2 platform At this time the documentation for Solaris Operating Environment patches for the Java 2 platform is available at http java sun com products jdk 1 2 install solaris patches html and http java sun com j2se 1 3 install patches html SUN MICROSVSTEMS INC 80149 Requirements and Dependencies 3 2 2 3 2 3 3 2 3 1 3 2 3 2 3 2 3 3 Operating Svstems and Versions Supported The Jini Technology Starter Kit 1 1 has been tested by Sun on the following platforms Reference Implementation e Java 2 SDK Standard Edition 1 2 2 006 Solaris Reference Implementation on the latest GA RR versions of Solaris 2 6 Solaris 2 7 and Solaris 8 on Sparc Production Releases e Java 2 SDK Standard Edition 1 2 2 05a Solaris Production Release for the latest GA RR versions of Solaris 2 6 Solaris 2 7 and Solaris 8 on Sparc and Solaris 8 on X86 e Java 2 SDK Standard Edition 1 2 2 006 for Windows 95 98 2nd Edition 2000 NT 4 0 Service Pack 6 SP6 e Java 2 Standard Edition J2SE 1 3 0 for Windows 95 98 2nd Edition 2000 NT 4 0 SP6 e Java 2 SDK Standard Edition 1
64. ormation contained in this Support Readiness Document SRD is current at the time of printing Since SRDs are typically prepared in advance of the General Availability Revenue Release GA RR date formerly referred to as First Customer Ship FCS there may be more recent or complete information available from the resources mentioned in the SRD Jini Technology 1 1 Jini technology is a software initiative from Sun Microsystems Inc based on the Java 2 platform Jini technology enables all types of services and devices to simply connect into impromptu networks making access to and delivery of new network services as simple as plugging in a telephone Jini technology enables these devices and applications to work together in a community that is composed without extensive planning installation or human intervention In conjunction with this release Sun has simplified the licensing practices for Jini network technology by moving to the latest version of the Sun Community Source License SCSL making the use of the Jini logo optional and eliminating the licensing fee for the Jini Compatibility Logo Jini Technology Starter Kit The Jini Technology Starter Kit contains the specifications and corresponding interfaces and classes for the Jini technology core infrastructure additional Jini technology interfaces and utilities and contributed service implementations from Sun Microsystems The 1 1 version builds on previous versions of
65. ouncements from previously discovered lookup services are examined for liveness net jini discovery mtu If set this property must be an integer between 512 and the Maximum Transmission Unit MTU allowed by your system The value of this property specifies the maximum permissible size of multicast request and announcement packets The default value is 512 SUN MICROSVSTEMS INC 24 of 49 Configuration 8 2 7 6 8 2 8 8 2 8 1 8 2 8 2 8 2 8 3 8 2 8 4 8 2 9 8 2 9 1 net jini discoverv ttl If set this propertv must be an integer between 1 and 255 This propertv specifies the time to live parameter used bv both the multicast announcement and multicast request protocol implementations The default value is 15 Svstem Properties Controlling Mahalo com sun jini use registrv If the com sun jini use registry property is set to a non null value the service will bind itself to an RMI registry This property must be set on the setup JVM It is only used when creating a Mahalo service from the command line This property has no effect on how Mahalo binds itself to Jini lookup services Note Mahalo s support for binding to an RMI registry has been deprecated and will be removed in future versions of Mahalo The Jini lookup service is the preferred method for advertising a service com sun jini rmiRegistryPort If the RMI registry is being used this property can be used to set the port on which the service
66. pLocatorDiscovery e com sun jini lease LeaseRenewalManager has been deprecated and replaced by net jini lease LeaseRenewalManager e com sun jini lease LeaseListener has been deprecated and replaced by net jini lease LeaseListener e com sun jini lease LeaseRenewalEvent has been deprecated and replaced by net jini lease LeaseRenewalEvent e com sun jini lookup JoinManager has been deprecated and replaced by net jini lookup JoinManager e com sun jini lookup ServicelIDListener has been deprecated and replaced by net jini lookup ServicelIDListener Outrigger Added to JSK Outrigger is now being distributed as part of the starter kit instead of separatelv in the JavaSpaces Technologv Kit The intent of this change was to make JavaSpaces technologv more accessible and to enhance the value of the starter kit Changes in makefiles We have changed the makefiles distributed with the starter kit so that most of Outrigger can be built from source code even without eXcelon Corporation s ObjectStore PSEPro for Java development tools See the page Building the Jini Technology Packages from Source Code at jinil 1 doc build html for details Securitv Policv File Examples Because the configuration of securitv policv files can be complex there is a new directorv that contains policy files for each service in jinil 1 policv These files may be used unmodified in some cases but generally
67. r and LookupAtt ributes used to allow primitive fields in the entry types contrary to the Jini Entry Specification Bugs Fixed in com sun jini tool BugID 4193561 ClassServer is more clear about paths not found when operating in verbose mode ClassServer when started with the verbose flag would indicate failed requests as follows reggie dl jar from replica 38146 not found This format was internally consistent the first line records the access request and the second records that it failed but was very confusing The new format makes the meaning of each line more clear reggie dl jar requested from replica 38146 reggie dl jar not found ClassServer has been internationalized The ClassServer now obtains all of its error messages and verbose messages from a resource bundle com sun jini tool resources classserver properties ClassServer now has a ileDownloaded method In order to facilitate subclasses of com sun jini tool ClassServer a protected method has been added which is called whenever a file is successfully downloaded by a client SUN MICROSYSTEMS INC 12 of 49 Compatibilitv with Previous Versions of Jini Technology 4 2 4 2 1 4 2 2 4 2 2 1 4 2 2 2 ClassServer now writes to System err Error messages used to be written to System out New Features in Version 1 1 License Terms Changed Fees are no longer associated with Commercial Use See Section 2 0 Product Distribution
68. rastructure Services 32 10 2 Running Contributed Jini Service Implementations 32 10 3 Running an Example Service Client 33 10 3 1 Lookup Service Browser Operations 33 10 3 2 Starting the Lookup Service Browser 34 10 3 2 1 Command Line Usage 34 10 3 2 2 Examples for Starting Browsers 34 10 3 3 Example Screens of the Lookup Service Browser 35 10 3 3 1 Starting the Lookup Service Browser without the admin Option 35 10 3 3 2 Starting the Lookup Service Browser with the admin Option 35 10 3 3 3 Displaying the Lookup Services Discovered 35 10 3 3 4 Discovering Lookup Services 36 10 3 3 5 Displaying Services Registered with a Lookup Service 36 10 3 3 6 Service Types with Default Option 37 10 3 3 7 Selecting Different Service Types 37 10 3 3 8 Displaying Attributes Types 38 10 3 3 9 Using the Serviceltem Editor 39 10 3 3 10 Administering Services 41 10 3 4 Binary and Source Code of Lookup Service Browser 42 10 3 5 Code Examples of Jini Software Classes and Interfaces in the Lookup Service Browser 42 10 4 Implementing and Running Your Own Services 43 10 5 Running the TCK 43 11 0 Uninstalling the Jini Technology Starter Kit 43 11 1 Pre Uninstall Considerations 43 11 1 1 Estimated Time Needed to Uninstall 44 11 2 How to Uninstall the Jini Technology Starter Kit 44 12 0 Tuning and Troubleshooting 44 13 1 Downloading or Installation Feedback 44 13 2 Common User or System Administrator Problems 44 SUN MICROSYSTEMS INC vi Table of Contents
69. registry 1099 is used if this property is not set com sun jini outrigger spaceName This property defines the name associated with the F rontEndSpace If the space is bound to an RMI registry then the value of the spaceName property is the name to which it is bound If the space is bound to a Jini lookup service this name is used to create an attribute of type net jini lookup entry Name that is associated with the space s ServiceItem If this property is not set a default value of JavaSpace is used com sun jini outrigger debug See the discussion in Section 8 2 12 5 com sun jini outrigger debug Java 2 Platform Properties Every Jini technology enabled client and service that downloads code will make use of a security manager For each VM that makes use of a security manager the java securitv policv property must be set to enable a subset of the functionality that is disabled by the security manager The 1 1 release of the Jini Technology Starter Kit contains new security policy file templates for each of the services included in the starter kit These policy files are located in the jinil_1 policy directory RMID Properties The default implementation of rmid has changed in the 1 2 2_05 and 1 3 versions of the Java 2 SDK Now by default rmid requires that the java securitv policv property be set from the commandline We provide a document describing the impact of this change on activatable services
70. rings command to determine how services have been registered with the rmid command tool Configuration 8 1 Starter Kit Configuration As discussed earlier the contributed lookup service implementation Reggie requires that rmid and an HTTP server be running Each of the contributed service implementations requires that a Jini lookup service be running The normal case is that a lookup service is available on the network and it will be found using the Jini discovery protocol There are many properties that control the behavior of Jini services and clients These include utility and service properties that are part of the code in the starter kit properties that control the JVM in which the service or client runs properties that control how rmid behaves and properties that affect the underlying RMI runtime system SUN MICROSYSTEMS INC 20 of 49 Configuration 8 2 TCK Configuration While complete instructions for running and configuring the TCK are included in the file jinitck1_1A doc running html the steps to modify the property file for the test runs of the TCK against Mahalo are provided here for your convenience 8 2 1 Customize the TCK Configuration File for Your Environment 1 Change directory to the config subdirectory of the TCK installation directory and copy the tck prop file to a new file name for modification This file name will be passed to the TCK command line later None of the files provided with the T
71. rval This propertv controls how often the active reaping of unused entrv template objects takes place in the Transient Space This propertv is set to a long that represents the time in milliseconds between reaping attempts If not specified a default value of five minutes is used Reducing this value helps reduce the memorv footprint of a heavilv loaded space com sun jini use registrv If the com sun jini use registry property is set to a non null value the Transient Space will be configured to bind itself to an RMI registrv This propertv has no effect on how the service binds itself to Jini lookup services Note that this propertv is used onlv when creating a Transient Space from the command line Note Support for binding to an RMI registrv has been deprecated and will be removed in future versions of Transient Space The Jini lookup service is the preferred method for advertising a service com sun jini rmiRegistryPort If the RMI registrv is being used this propertv can assign the port on which the service will look for the registry 1099 is used if this property is not set This property is only used when creating a Transient Space from the command line com sun jini outrigger spaceName This property defines the name associated with the Transient Space If the space is bound to an RMI registry then the value of the spaceName property is the name to which it is bound If the space is bound to a Jini lookup service this name
72. rvice within the context of a program There is a lookup service browser com sun jini example lookup Browser distributed in the starter kit that enables administration of a service though a GUI For more information on administration see the following sections of the Jini Technology Programming FAQ Using Jini Software 10 1 10 1 1 Starting the Jini Software Runtime Environment Jini technology can be viewed as an infrastructure that provides a runtime environment This infrastructure is sometimes called a Jini system or a federation where a few infrastructure services must be running before Jini services and clients can be started That is before adding a new service or running a client application that would utilize that service the Jini software runtime environment has to be established Infrastructure Services Lookup Service and RMI Activation Daemon The infrastructure services include a Jini lookup service and the RMI activation daemon In order to set up a functioning Jini software runtime environment you need to start the RMI activation daemon rmid and a Jini lookup service Note that the RMI activation daemon must be started before Jini lookup service The rmid command is provided as part of Java 2 platform while the lookup service implementation is provided as part of the starter kit Note The lookup service is itself a Jini service that runs over RMI In order to allow clients of the lookup service to download t
73. s templates and the number of matches and the lower pane shows matching services Note The remaining screens display the browser with the admin option O Services ptions Registrar roups lt all gt registrars none selected r Matching Services 10 3 3 3 Displaying the Lookup Services Discovered By default when the browser starts it searches for all available lookup services If you specify one or more group names on the command line separated by commas with no spaces the browser only searches for lookup services that are members of those groups The text area changes to show you how many lookup services have been found SUN MICROSYSTEMS INC 35 of 49 Using Jini Software To select a lookup service for browsing choose one from the Registrar menu Options Services Attributes a O daydreamer 1 Oresendes pc dreamboat mufti 10 3 3 4 Discovering Lookup Services e To restrict the set of lookup services to just the Public ones that is those in Group select the Find Public menu option from the File menu e To restrict the set of lookup services to just those in specific Groups select Find Groups from the File menu and then enter one or more group names in the pop up dialog box separated by spaces or commas You can use the name public to refer to the Group e To restrict yourself to a single Jini lookup service and automatically select it for browsing
74. s in the text area to show vou what vour new template contains 2 The revised number of matching services is shown 3 That menu item changes to a pull aside menu SUN MICROSVSTEMS INC 38 of 49 Using Jini Software You can go back to the Attributes menu to select additional attribute set classes or traverse a pull aside menu to see the names of attributes each of which is itself a pull aside menu Xou can traverse these menus to see the possible values for the attributes and select one to further refine vour search Xou can deselect existing attribute choices and vou can deselect the match menu item to de select the entire attribute set By default only the most derived attribute set classes are shown in the Attributes menu but you can select Attribute supertvpes from the Options menu to see superclasses as well The following screen shows the most derived attribute set classes 7 Lookup Options Services ag File Registrar otal services registered 3 Name Gservicelnfa J BasicServiceType i rMatching Services net jini space Java Space com sun jini mahalo TxnManagerimpl Stub net jini core lookup ServiceRegistrar 10 3 3 9 Using the Serviceltem Editor When you start the browser with the admin option services appear in the lower pane This pane shows the administrable services with a blue icon and the non administrable services with a gray icon To se
75. scovery process When not set the network interface used is typically the default interface as determined by the underlying operating system Note The net jini discovery interface property can also be set on the JVM in which the Reggie implementation of the lookup service runs The value of this property controls the network interface the Reggie implementation uses when participating in the multicast discovery protocol as both an entity that is discovered by other entities a lookup service and as an entity that discovers other lookup services net jini discoverv announce A Jini lookup service will send out multicast packets announcing its existence every N milliseconds Currently the default value of this property is 120 000 milliseconds two minutes The value of this property can be used to control how often the Reggie implementation of the lookup service sends out multicast announcements and for entities that discover lookup services it can be used to control how often multicast announcements from previously discovered lookup services are examined for liveness net jini discovery mtu If set this property must be an integer between 512 and the Maximum Transmission Unit MTU allowed by your system The value of this property specifies the maximum permissible size of multicast request and announcement packets The default value is 512 net jini discovery ttl If set this property must be an integer between 1 and 255 This proper
76. select Find One from the File menu and then enter the name of the host where the lookup service resides optionally followed by a port number e To go back to finding all Jini lookup services select Find All from the File menu Lookup Options Registrar Services ii i Attributes Find All Find Public Find Groups Find One Reset Exit 10 3 3 5 Displaving Services Registered with a Lookup Service Once vou have selected a lookup service for browsing the text area changes to show the total number of services currently registered with the lookup service As new services register or existing services unregister this text changes automatically SUN MICROSYSTEMS INC 36 of 49 Using Jini Software Also note that in the lower pane administrable services are shown with a blue icon non administrable services are shown with a grav icon B otal services registered 3 Registrar f Matching Servicres net jini core lookup ServiceRegistrar net jini space Jawa Space com sun jini mahalo TxnManagerlmpl_St Attributes dcom sun jini cutrigger SpaceProxv java lang Object J net jini space JavaSpace T netjiniadmin Administrable Gjava o Serializabie Qcom sun jini mahalo TxnManagerimpl Stub jjava rmiserver RemoteStub Gjava rmi server RemoteObject java rmi Remote Gcom sun jini mahalo TxnManager ecom sun jini lease landlord
77. t is established you can add your own service into a Jini system so that it can be used by other services or client applications Running the TCK Complete instructions for running the TCK can be found in the document jinitckl 1A doc running html Uninstalling the Jini Technologv Starter Kit 11 1 Pre Uninstall Considerations Note Be sure to backup vour svstem before starting anv uninstallation SUN MICROSVSTEMS INC 43 of 49 Tuning and Troubleshooting 11 1 1 11 2 12 0 Stop anv running processes such as the lookup service and rmid Remove the logs created bv anv of the services the lookup service transaction manager JavaSpaces service and rmid These log file directories will be subdirectories of the directorv in which the commands to invoke the services were executed Estimated Time Needed to Uninstall Note The time estimate does not include backing up or saving anv development files No more than a minute or two How to Uninstall the Jini Technology Starter Kit Because there is no formal installation procedure there is no formal procedure for removing the starter kit or the TCK just remove the appropriate directorv Tuning and Troubleshooting 12 1 12 2 12 2 1 12 2 2 For tuning and troubleshooting bevond what is described here see Section 9 0 of the RMI Support Readiness Document Downloading or Installation Feedback http java sun com feedback fag downloading html
78. the starter kit by adding a set of programming helper utility classes and Jini deployment services as well as SUN MICROSYSTEMS INC 1 of 49 Jini Technology integration of the JavaSpacesTM Technology Kit which was formerlv available asa separate download The Jini Technologv Starter Kit contains the following three components e Jini Technology Core Platform JCP Provides the core Jini technology infrastructure software It includes the specification and corresponding interfaces and classes for lookup distributed events leasing transactions and discovery and join e Jini Technology Extended Platform JXP Provides extended Jini technology infrastructure service interfaces and utility classes For example discovery utilities and entry utilities are included here The JXP includes the specifications and corresponding interfaces and classes for these and also includes the JavaSpaces Service Specification e Jini Software Kit JSK Provides implementations of the lookup service and transaction manager service specified in the Jini Technology Core Platform JCP It also provides implementations of utilities classes that are useful in writing new applications and services specified in the Jini Technology Extended Platform JXP The JSK provided Jini technology enabled services including JavaSpaces technology are also specified in the JXP JavaSpaces technology provides a distributed persistence and object exchange
79. tion is no longer caught 11 4 1 4 Bugs Fixed in com sun jini reggie 4 1 4 1 BugID 4197398 Regist rarProxy should check that entry classes have no arg constructors 11 4 1 4 2 BugID 4225345 CreateLookup should support localization 11 4 1 4 3 BugID 4226718 NullPointerException in ClassItemIter stepClass 11 4 1 4 4 BugID 4233684 Throwable is now caught when SUN MICROSYSTEMS INC ii Table of Contents unmarshalling or calling a listener 12 4 1 4 5 BugID 4242282 Reggie now calls toStub when service object is Remote 12 4 1 4 6 BugIDf 4250196 Destroying Reggie could sometimes hang under Solaris Hotspot 12 4 1 4 7 BugIDsf 4279020 and 4279175 Reggie no longer allows primitive types in entries 12 4 1 5 Bugs Fixed in com sun jini tool 12 4 1 5 1 BugID 4193561 ClassServer is more clear about paths not found when operating in verbose mode 12 4 2 New Features in Version 1 1 13 4 2 1 License Terms Changed 13 4 2 2 Specifications Reorganized 13 4 2 2 1 Specification Organization in the 1 0 Releases 13 4 2 2 2 Specification Organization in the 1 1 Releases 13 4 2 3 Utility Services Added to the Jini Software Kit 14 4 2 4 Command line Syntax and System Properties Moved 14 4 2 5 Deprecated Classes and Interfaces 15 4 2 6 Outrigger Added to JSK 15 4 2 7 Changes in makefiles 15 4 2 8 Security Policy File Examples 15 4 3 Backward Compatibility With Other Versions 15 4 3 1 RMID Changes 15
80. ty specifies the time to live parameter used by both the multicast announcement and multicast request protocol implementations The default value is 15 Join Properties com sun jini join debug If set to any value this property indicates that debugging information related to the execution of the Jini join protocols should be printed to System err This property can SUN MICROSYSTEMS INC 22 of 49 Configuration 8 2 5 8 2 5 1 8 2 5 2 8 2 6 8 2 6 1 8 2 6 2 be set on the JVM of anv entitv that emplovs the join utilitv net jini lookup JoinManager Service Discoverv Properties com sun jini sdm debug If set to any value this property indicates that debugging information related to exceptional conditions that occur during service discovery processing will be printed to System err This property should be useful in diagnosing common service discovery problems related to a bad listener codebase and or a non existent or poorly defined proxy equals method as well as other problems where exceptions are swallowed com sun jini sdm discardWait This property can be used to effect the behavior of the mechanism that handles the service discard problem described in the Jini Service Discovery Utilities Specification This property allows each entity that uses the service discovery manager to define how long in milliseconds to wait for verification from the lookup service s that a discarded service is actually down
81. ulated that it would take RENEW_RTT time to renew each one even though when it did actually renew them it batched them As N became large the leases were renewed more and more prematurely If N was large enough RENEW_RTT N exceeded the remaining duration of the lease and the LRM started continuously renewing the leases in a tight loop Bugs Fixed in com sun jini lookup BugID 4193558 JoinManager now checks that objects are Serializable JoinManager used to take any object but only Serializable objects would work others would fail silently Now the JoinManager constructor checks that its object argument is in fact Serializable BugID 4216812 JoinManager no longer allows you to join all lookup services by passing null as the group s argument According to JoinManager s documentation using null value for groups should be equivalent to using an empty array However JoinManager incorrectly joined all lookup services The behavior has been corrected to match the documentation Bugs Fixed in com sun jini mahalo BugID 4198664 RMISecuritvException is no longer caught RMISecuritvException has been deprecated so it is now ignored where previously it was caught Bugs Fixed in com sun jini reggie BugID 4197398 RegistrarProxy should check that entry classes have no arg constructors ClassMapper now checks that entry classes have no arg constructors which was a difficult to diagnose error otherwise
82. un jini rmiRegistryPort 27 8 2 12 4 com sun jini outrigger spaceName 27 8 2 12 5 com sun jini outrigger debug 27 8 2 13 System Properties Controlling TransientSpace and Client JVM 27 8 2 13 1 com sun jini outrigger debug 28 8 2 14 System Properties Controlling F rontEndSpace and Server JVM 28 8 2 14 1 com sun jini outrigger backend vm options 28 8 2 14 2 com sun jini outrigger java 28 8 2 14 3 com sun jini outrigger backend gc Interval 28 8 2 14 4 com sun jini outrigger basicspace reapinginterval 28 8 2 14 5 com sun jini outrigger debug 28 8 2 15 System Properties Controlling FrontEndSpace and Setup JVM 28 8 2 15 1 com sun jini use registry 28 8 2 15 2 com sun jini rmiRegistryPort 29 8 2 15 3 com sun jini outrigger spaceName 29 8 2 15 4 com sun jini outrigger debug 29 8 2 16 Java 2 Platform Properties 29 8 2 17 RMID Properties 29 8 2 18 RMI Properties 29 8 2 18 1 Supported java rmi Properties 30 8 2 18 2 Unsupported sun rmi Properties 30 SUN MICROSYSTEMS INC v Table of Contents 9 0 Administering Jini Software 30 10 0 Using Jini Software 30 10 1 Starting the Jini Software Runtime Environment 30 10 1 1 Infrastructure Services Lookup Service and RMI Activation Daemon 30 10 1 2 Starting the Infrastructure Services 31 10 1 2 1 Verifv Xour Platform and Path Environment 31 10 1 2 2 Running the RMI Activation Daemon rmid 31 10 1 3 Starting the Inf
83. uration 7 2 7 3 7 3 1 7 3 2 8 0 Security Policy Files A security policy file must be constructed and maintained for each service in the starter kit Because this process can be confusing and difficult the 1 1 version of the starter kit contains sample policv files that can be used as is or with just slight modification These policv files can be found in the jinil 1 policv directorv The Java 2 SDK documentation describes the structure and use of security policy files http java sun com products jdk 1 2 docs quide security PolicvFiles html http java sun com products jdk 1 2 docs quide security permissions html Log Files Log Files for Contributed Service Implementations in the Starter Kit Each persistent service in the starter kit creates a log file that maintains the state of that service so that it can be restored after system crash or reboot The path of the log file is specified as an option when the service gets started The file is in binary file form and the meta data describing the structure of its contents are not in public domain RMI Log Files The rmid command uses a log directory to store information about registered objects across reboots and other events This log is read during rmid startup and frequently updated in a stable manner The file is in binary file form and the meta data describing the structure of its contents are not in the public domain On UNIX you can use the st
84. ure Specification e Jini Device Architecture Specification There were several new specifications that described both additions to the extended platform and some utilities that were in the 1 0 release that didn t have formal specifications These new specs were organized together with the existing specs into A Collection of Jini Technology Helper Utilities and Services Specifications v1 1 which contains e Introduction to Helper Utilities and Services e Jini Discovery Utilities Specification e Jini Entry Utilities Specification e Jini Lease Utilities Specification e Jini Join Utilities Specification e Jini Service Discovery Utilities Specification e JinilM Lookup Attribute Schema Specification e Jini Lookup Discovery Service Specification e Jini Lease Renewal Service Specification e JinilM Event Mailbox Service Specification Because the JavaSpaces Service Specification doesn t describe a helper service but rather a service that is built using the Jini architecture it was kept separate from the collection Utility Services Added to the Jini Software Kit Three new utility services are specified in the Jini Technology Extended Platform JXP a lease renewal service an event mailbox service and a lookup discovery service Each of these services is implemented in this release of the starter kit under the names Norm Mercury and Fiddler respectively Release notes for these services can be
85. use trouble for the rest of the networks such as swamping a network with too much traffic The rules of good citizenship are detailed in the Jini Technology Core Platform Specification which the Jini Technology Core Platform Compatibility Kit TCK is designed to enforce The TCK software consists of a test framework and a set of tests to verify that a Jini technology enabled product meets the core specifications Note that a single TCK installation can test clients services and lookup services Changes and New Features in Version 1 1 The content of net jini core is essentially unchanged Significant product changes are addressed in detail in Section 4 1 Bugs Fixed and Section 4 2 New Features in Version 1 1 e The license terms have changed see Section 4 2 1 License Terms Changed e The specifications have been supplemented about 40 of the 1 1 specification is new and reorganized see Section 4 2 2 Specifications Reorganized e New helper utilities and services are included in the starter kit see Section 4 2 3 Utility Services Added to the Jini Software Kit e Manual pages have been added see Section 4 2 4 Command line Syntax and System Properties Moved e The contents of net jini have changed slightly see Section 4 2 5 Deprecated Classes and Interfaces e JSTK is no longer separate see Section 4 2 6 Outrigger Added to JSK SUN MICROSYS
86. w sun com jini specs jinil lhtml glossarv title html jinil 1 doc glossarv jini glossarv pdf Kev Concepts of Jini Technologv For an overview of Jini technologv concepts see the System Overview Key Concepts section in Chapter 2 of the Jini Architecture Specification Xou can view this document at http www sun com jini specs jinil 1 pdf In the starter kit you will see this document as jinil 1 doc specs jini spec jini spec pdf Ensure that vou understand the following terms before proceeding further e Jini service An entity that can be used by a person a program or another service A service may be a computation a storage device a communication channel to another user a software filter a hardware device or another user Two examples of services are document printing and translation from one word processor format to some other e Jini lookup service The Jini lookup service provides a central registry of service items representing services available within the Jini system This Jini lookup service is a primary means for programs to find services within the Jini system and is the foundation for providing user interfaces through which users and administrators can discover and interact with services in the Jini system e Java Remote Method Invocation RMI A part of the Java programming language that extends traditional remote procedure call mechanisms RMI allows not only data to be passed from VM to VM aroun
87. will have to be edited to correctly specify the directory on your system where the starter kit is installed Backward Compatibility With Other Versions RMID Changes By default rmid now requires a security policy file While this change is not specific to the TCK or the starter kit it affects the use of both the TCK and the starter kit For a complete discussion on this change refer to jinil 1 doc release notes jsk execpolicv html for details SUN MICROSYSTEMS INC 15 of 49 Compatibility with Previous Versions of Jini Technology 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 You can also refer to the Solaris Operating Environment manual pages for rmid at http java sun com products jdk 1 2 docs tooldocs solaris rmid html and http java sun com j2se 1 3 docs tooldocs solaris rmid html and the Microsoft Windows platform manual pages for rmid at http java sun com products jdk 1 2 docs tooldocs win32 rmid html and http java sun com j2se 1 3 docs tooldocs win32 rmid html Deprecated Classes The Jini Technology Starter Kit 1 1 contains some Java packaging changes from the 1 0 and 1 01 releases These changes were made to promote some classes and interfaces from com sun jini packages to net jini packages thereby moving them from the JSK into the JXP As a result there have been some changes in the organization of the JAR files These new versions of the older utilities have new API s a

Download Pdf Manuals

image

Related Search

Related Contents

Logic Compass  ユーザーガイド - AirPen  aexalt bactericide  X9DRE-LN4F - Ingram Micro  Sony SVD13223CXB Getting Started Guide  SENTRIX - User Manual.pages  Urban Factory MDC04UF  

Copyright © All rights reserved.
Failed to retrieve file