Accessing Registry APIs Custom Registry Modules

Table 53. Mapping API Interface and Implemenation Classes Implementation class Interface class com.systinet.uddi.inquiry.v1.InquiryApiImpl org.systinet.uddi.client.v1.InquireSoap com.systinet.uddi.publishing.v1.PublishingApiImpl org.systinet.uddi.client.v1.PublishSoap com.systinet.uddi.publishing.v2.PublishingApiImpl org.systinet.uddi.client.v2.Publish com.systinet.uddi.inquiry.v2.InquiryApiImpl org.systinet.uddi.client.v2.Inquire com.systinet.uddi.v3.SecurityApiImpl org.systinet.uddi.client.v3.UDDI_Security_PortType com.systinet.uddi.publishing.v3.PublishingApiImpl org.systinet.uddi.client.v3.UDDI_Publication_PortType com.systinet.uddi.inquiry.v3.InquiryApiImpl org.systinet.uddi.client.v3.UDDI_Inquiry_PortType com.systinet.uddi.subscription.v3.SubscriptionApiImpl org.systinet.uddi.client.subscription.v3.UDDI_Subscription_PortType com.systinet.uddi.custody.v3.CustodyApiImpl org.systinet.uddi.client.custody.v3.UDDI_CustodyTransfer_PortType com.systinet.uddi.replication.v3.ReplicationApiImpl org.systinet.uddi.replication.v3.ReplicationApi com.systinet.uddi.wsdl2uddi.v3.Wsdl2uddiApiImpl org.systinet.uddi.client.wsdl2uddi.v3.Wsdl2uddiApi com.systinet.uddi.wsdl2uddi.v2.Wsdl2uddiApiImpl org.systinet.uddi.client.wsdl2uddi.v2.Wsdl2uddiApi com.systinet.uddi.category.v3.CategoryApiImpl org.systinet.uddi.client.category.v3.CategoryApi com.systinet.uddi.taxonomy.v3.TaxonomyApiImpl org.systinet.uddi.client.taxonomy.v3.TaxonomyApi com.systinet.uddi.statistics.StatisticsApiImpl org.systinet.uddi.statistics.StatisticsApi com.systinet.uddi.admin.AdministrationUtilsApiImpl org.systinet.uddi.admin.AdministrationUtilsApi com.systinet.uddi.permission.PermissionApiImpl org.systinet.uddi.permission.PermissionApi com.systinet.uddi.group.GroupApiImpl org.systinet.uddi.group.GroupApi com.systinet.uddi.account.AccountApiImpl org.systinet.uddi.account.AccountApi com.systinet.uddi.configurator.cluster.ConfiguratorApiImpl org.systinet.uddi.configurator.ConfiguratorApi

3.2.2. Custom Module Sample

This section includes step-by-step instructions how to create a registry module that counts the number of restarts of Oracle Service Registry and saves the result to a configuration file. Follow these steps: 1. Create Java file ExampleModule.java as shown in Example 6, ExampleModule.java 2. Compile the module using java -classpath REGISTRY_HOME\app\uddi\services\WASP- INF\lib\application_ core.jar; REGISTRY_HOME\lib\wasp.jar ExampleModule.java 3. Copy all module classes ExampleModule.class, ExampleModuleRestartConfigCounter.class, ExampleModuleRestartConfig.class to the REGISTRY_HOMEappuddiservicesWASP- INFclassescomsystinetexamplemodule directory. 4. Create the configuration file mymodule.xml in REGISTRY_HOMEappuddiconf folder. For details, please see Example 7, Example configuration file for custom module . 5. Shutdown Oracle Service Registry, delete the REGISTRY_HOMEwork directory, and restart the registry. The number of restarts will be printed in the window console in which you started Oracle Service Registry. See also the configuration file of the module where a new element counter is created. Page 534

3.2.2. Custom Module Sample

Example 6. ExampleModule.java package com.systinet.example.module; import org.idoox.config.Configurable; import org.systinet.uddi.module.Module; public class ExampleModule implements Module { private long restart = 0; private RestartConfig.Counter counter; interface RestartConfig { public Counter getCounter; public void setCounterCounter counter; public Counter newCounter; interface Counter { public long getRestart; public void setRestartlong restart; } } public void loadConfigurable config { System.out.printlnMY MODULE CONFIG READING; RestartConfig restartConfig = RestartConfig config.narrowRestartConfig.class; if restartConfig = null { counter = restartConfig.getCounter; if counter == null { counter = restartConfig.newCounter; restartConfig.setCountercounter; } try { restart = counter.getRestart; } catch Exception e { counter.setRestart0; } } } public void init { System.out.printlnMY MODULE STARTED; counter.setRestart++restart; System.out.printlnUDDI REGISTRY: number of restarts = + restart; } public void destroy { } } Page 535

3.2.2. Custom Module Sample