Coke UI for resource retrieval from ebXML/UDDI
repositories
Engineering Plan
Hans.Hrasna@Sun.com
last 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
Developer
use cases
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
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
-
Runtime registry node for each
connected registry
-
Search from selected using metadata
-
Retrieve document into current
project
-
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:
-
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
|
UI Design Spec.
|
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.