Chapter 3. Setting Up Your Root Seed Data
3.1. Service Registry Publishers Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Publisher is an identity management system for the Service Registry. Two publishers are installed by default:
- root
- The root publisher is the owner of the root partition and UDDI services (such as
inquiryandpublication). Each registry need to have a root publisher. There can only be one root publisher per node. The jUDDI Registry ships some default seed data for the root account, found in thejuddi-core-3.x.jarfile'sjuddi_install_data/directory. - uddi
- uddi owns all of the other seed data (such as the pre-defined
tModels.
3.2. Seed Data Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Seed data is some initial data you feed into the system. It functions as a template.
3.3. Service Registry Seed Data Files Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
For each publisher there are four seed data files. These are read the first time you start the jUDDI:
- <publisher>_Publisher.xml
- <publisher>_tModelKeyGen.xml
- <publisher>_BusinessEntity.xml
- <publisher>_tModels.xml
3.4. root_Publisher.xml Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The contents of the
root_Publisher.xml data seed file looks like this:
<publisher xmlns="urn:juddi-apache-org:api_v3" authorizedName="root">
<publisherName>root publisher</publisherName>
<isAdmin>true</isAdmin>
</publisher>
<publisher xmlns="urn:juddi-apache-org:api_v3" authorizedName="root">
<publisherName>root publisher</publisherName>
<isAdmin>true</isAdmin>
</publisher>
3.5. Key Generator Schema Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
As its name implies, a key generator schema generates keys. Using it allows one to avoid the risk of creating keys that are identical to those generated by other publishers. Each publisher should always have its own key generator schema. The root publisher can only own one KeyGenerator while but any other publisher can own more than one.
3.6. tModel Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
A tModel ("technical model") is an UDDI data structure that represents one of the services registered in the registry. They are are a catch-all structure that can do anything from categorising one of the main entities, describing the technical details of a binding (such as a protocol or a transports), to registering a key partition.
3.7. root_tModelKeyGen.xml Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The
tModel Key Generator is defined in the SOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb-registry.sar/juddi_custom_install_data/root_tModelKeyGen.xml file:
This means that the keys used by the
root publisher need to be in the following form: uddi:juddi.apache.org:<text-of-choice>.
3.8. Create a Key Generator Schema for a Publisher Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Procedure 3.1. Task
- Each publisher need to define its own KenGenerator tModel. The tModel Key Generator is defined in the root_tModelKeyGen.xml file:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - The keys used by the root publisher need to be in the following form:
uddi:juddi.apache.org:<text-of-choice>. If you use another format, you will see an illegal key error.Warning
Do not share KeyGenerators.
3.9. View a Publisher via More than Just One KeyGenerator tModel Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Procedure 3.2. Task
- Use the
<publisher>_tModels.xmlfile.
3.10. Configure Business and Service Data Using a Publisher Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Procedure 3.3. Task
- Open the
<publisher>_BusinessEntity.xmlfile in a text editor:vi SOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb-registry.sar/juddi_custom_install_data/root_BusinessEntity.xml - Edit the file to specify your services. Here is an example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save the file and exit.
Warning
The seeding process only commences if there are nopublishersin the database, unless you set juddi.seed.always totrue. (It will then re-apply all files with the exception of the root data files.)This can lead to data loss, as any information added to entities that are re-seeded will be erased. This is because that data is not merged.
3.11. Configure Tokens in the root_BusinessEntity.xml File Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Procedure 3.4. Task
- To set the value of the tokens in the root_
BusinessEntity.xmlfile (${juddi.server.baseurl}), modify theSOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb-registry.sar/esb.juddi.xmlfile. Open the<publisher>_BusinessEntity.xmlfile in a text editor:vi SOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb-registry.sar/juddi_custom_install_data/root_BusinessEntity.xml - Here you can set keys and security tokens. Modify these sections to suit your needs.
- Save the file and exit.
Note
The value substitution takes place at run-time, so different nodes can substitute their own values if need be.
3.12. Customise the Seed Data Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Procedure 3.5. Task
Important
You must do this prior to starting the Service Registry for the first time as this seed data will be used to populate the database.If you do want to re-run the process, delete the database that was created.Do not forget to set the tokens in theSOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb-registry.sar/esb.juddi.xmlfile.Add your custom seed data tojuddiv3.war/WEB-INF/classes/juddi_custom_install_data/directory.Note
To use the Sales Seed Data rename the directory found in theSOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb-registry.sar//WEB-INF/classes/by running this command:mv RENAME4Sales_juddi_custom_install_data juddi_custom_install_dataNote
If your root publisher is not calledrootyou will need to set theSOA_ROOT/jboss-as/server/PROFILE/deploy/jbossesb-registry.sar/esb.juddi.xmlfile's juddi.root.publisher property to something other than this:juddi.root.publisher=root
juddi.root.publisher=rootCopy to Clipboard Copied! Toggle word wrap Toggle overflow Properties are set in this way:<entry key="juddi.root.publisher">root</entry>
<entry key="juddi.root.publisher">root</entry>Copy to Clipboard Copied! Toggle word wrap Toggle overflow