Once the application's launched we can play with it:
launcher> list sk launcher> list sk Facet: org.jtrix.facets1.service.common.IConsoleFacet sk.quit - Shut down the application sk.list-managers - Show all managers and their nodes sk.list-workers - Show all workers and their nodes sk.get-warrant - <type> [<service-data>] Get refreshed warrant sk.set-manager-redundancy - <min> <max> Set the manager redundancy sk.list-management-state - Display the management state launcher> dump $sk skadmin.xml launcher> bw=`sk.get-warrant skeleton` launcher> connect skbasic $bw Downloading access point [5....4....3....2....1....0] Downloading access point jars [5....4....3....2....1....0] Waiting for netlet to service bind... done launcher> list skbasic sk launcher> list skbasic Facet: org.jtrix.project.skeleton2.facets.ISkeletonFacet Facet: org.jtrix.facets1.service.common.IConsoleFacet skbasic.getMessage - ( Return: java.lang.String ) launcher> skbasic.getMessage Hello, skeleton plugin world launcher> echo $skbasic <<warrant>> launcher> dump $bw skbasic.xml launcher> quit %
After launching we are connected automatically to the admin service, which we set in our manager netlet code. From here we generate a warrant for the consumer-level skeleton service (which we also defined in our code, and plugged in remotely). Then we connect to that service. At this point we are connected to both services, and we get the message from the skeleton service. Finally we dump our warrant into a file so we can use it again, or give it to someone else.
All this is just an example. The rest of this document explains the principles behind this application and therefore how to write our own larger ones.
Nik Silver 2002-03-09