Coke UI for resource retrieval from ebXML/UDDI repositories
Engineering Plan
Hans.Hrasna@Sun.comlast update 6/15/06
Design Goals
The design goal for this feature is to provide the NetBeans developer with the ability to connect to a JAXR compatible service registry and discover and retrieve XML artifacts from the registry into the current project.
Developer Goals
Delivery Goals
Server Registry tool support will be
developed as an integrated part of the NetBeans Enterprise pack
(Coke).
http://wikihome.sfbay.sun.com/wts/Wiki.jsp?page=ServiceRegistryIntegrationVision
Installation Requirements
This feature requires the JAXR provider libraries and assumes that they have been previously installed with a Service Registry deployment. The default source of the JAXR provider libraries is the EE SDK. If the EE SDK is not installed, the use will be able to configure the location of the JAXR libraries using a system property.
Architecture
-
The Coke plugin depends on the EE SDK for the delivery of the JAXR provider packages to communicate with a Service Registry.
-
The NB Registry Adapter module exports a an interface that provides a WSDL/Schema retrieval API which is registry type (UDDI or ebXML) agnostic.
-
The Resource retrieval panel for registries will use the Registry Adapter interfaces
User Interface
-
The Service Registry User Interface will be integrated into the Java Enterprise Studio (Coke) plugin.
-
The user will access the registry from the existing Retrieve Schema and WSDL document wizard
-
-
A Registries node will also be visible and accessible from the runtime tab.
These registry features will be added to the Coke XML Tools dependencies resolution feature (see http://dpweb.sfbay/~cwebster/specs/xmltools/www/specs/deprez/index.html)
-
Add/Connect to Registry
-
Add registry registry panel in Server manager. Runtime tab -> Servers node -> Add Server
-
-
Runtime registry node for each connected registry
-
Search from selected using metadata
-
Resource Discovery dialog - similar to windows search
-
-
Retrieve document into current project
-
Integrated with the XML Dependency Resolution feature of Coke
-
-
Explorer view
|
Task |
User Interface |
1 |
Adding a Registry |
Runtime node -> New Registry Dialog |
2 |
Selecting a Registry |
Resource Retrieval Wizard (Existing) or Runtime registry node |
3 |
Finding a resource |
Resource Discovery Dialog |
4 |
Retrieving the resource into the current project |
|
1. Adding a Registry / Registries Runtime Node
When the user selects the Runtime tab there will be a Node named “Registries”. This node will operate similar to the existing "Servers" node in the runtime tab. To add a registry, the user will select the “Add Registry" menu item on the Registries node which brings up the "Add Registry" dialog.
Add Registry dialog
The Add Registry dialog will contain a choice menu and two text fields. In the choice menu the user will select the registry type, either UDDI registry or ebXML registry. In the registry URL field where the user will enter the URL of the registry server to be added. In the “Web Admin” URL text field the user will enter the URL of the registry web UI. When the enters the required values and clicks the “OK” button, a Registry node will be added to the Servers node will be added that represents the registry.
2. Selecting a Registry
Currently an existing Retrieve Schema and
WSDL document wizard allows the closure of schema and WSDL documents
to be saved into the current project. "Service Registry"
will be supported as a Source Type. When the user selects "Service
Registry" as the source type of an XML document from the
Resource
Retrieval dialog
, the user will be
shown the "Resource Discovery" panel in the "Source"
area of the dialog.
3. Finding a resource: "Registry Search" panel
The UI consists of a Registry Search panel that will will be an
integrated part of the Resource Retrieval wizard specified in the
Dependency
Resolution specification.
The "Registry Search"
panel allows the user to specify a registry URL or select one from a
list of known registries.
Connecting to a registry is
accomplished by either choosing one from the drop down menu or
manually typing in the URL of your registry in the Registry Location
dialog box.
The Coke SR UI will have a localhost registry with
default port info pre configured for the developers convenience.
The
user can configure the browser to automatically connect to a
specified URL on startup.
Discovery Panel: Overview
The discovery panel is split into two areas:
-
Search Parameters Panel: This allows you to enter the parameters for your search. It has the following control buttons at the top:
-
Search: Initiates a Search within the registry. Cursor changes to watch cursor while query is being processed.
-
-
Clear: Clears the fields within the Search Parameter Panel as well as the search results in the Search Results Panel (see next).
-
Search Results Panel: This displays the results of your search in tree form.
Once you have performed a Search , you well likely have several objects matching your query that are displayed in the Search Results tree. You can now visually scan the objects and narrow your interest based upon the various attributes of the object displayed in the tree.
Selecting Object(s) of Interest
You can select an object of interest by clicking the left mouse button on the tree node representing the object.
Performing Action on Object(s) of Interest
Upon selecting an object of interest you can click the right mouse button to display the Actions allowed for the selected object(s).
4. Retrieving the resource into the current project
After selecting the desired artifact in the registry search
results panel, the user will select OK in the retrival wizard.
Engineering Task Schedule
# |
Task List |
Priority |
Time Estimate |
Target Date |
Notes |
1 |
P1 |
6d |
3/25/06 |
Complete |
|
2 |
Registries "Runtime" node management |
P1 |
10d |
5/31/06 |
Complete |
3 |
"New Registry" action on Registries runtime node and "New Registry" dialog |
P1 |
5d |
4/28/06 |
Complete |
4 |
NB registry adapter (UDDI) |
P1 |
10d |
6/21/06 |
Delayed due to dependency issues |
5 |
Resource Discovery panel |
P1 |
10d |
6/28/06 |
|
6 |
"Show Admin Console" action on Registry node |
P1 |
2d |
6/19/06 |
|
7 |
Default registry node for pre-installed local registry |
P1 |
5d |
6/9/06 |
Complete |
8 |
NB registry adapter (Service Registry) | P2 |
10d |
||
9 |
"Explore" feature |
P2 |
20d |
|
|
|
P1 and P2 totals |
|
68 days Total |
|
|
Development Resources
-
Hans Hrasna - lead developer
-
Coke team (Todd Fast, Chris Webster) - UI spec support/review, technical support, Coke integration
Open Issues/Risks
- The UDDI v2 provider has dependencies on serveral packages that
are not in EE SDK but are available in the Netbeans libraries. JAXB1.0,
org.apache.xmlbeans .
- The Netbeans jaxws20 library doesn't expose several packages as
public that should be and are needed by the registry module.