Showcase/irs
From Omar Wiki
Contents |
Overview
This page describes a prototype being developed for US Internal Revenue Service for managing service artifacts primarily consisting of XML Schema in an ebXML Registry.
Project Status
The project is a prototype and is in progress at present.
ebXML Registry Profile for XML Schema
A draft specification called ebXML Registry Profile for XML Schema is being written. This specification defines how to publish, manage, govern, discover and reuse XML Schema documents within an ebXML Registry. This specification is being used by this project. The real world experience in the project is influencing improvements in the draft specification.
Participants in Collaboration
| Participant | Telephone | Instant Messager Handles | TZ | Roles | |
|---|---|---|---|---|---|
| GMT-5 | US Internal Revenue Service: | ||||
| GMT-5 | CSC Consulting: | ||||
| Farrukh Najmi | 781-442-9017 x29017 | farrukh.najmi@sun.com | irc.east.sun.com: farrukh_najmi irc.sfbay.sun.com: farrukh_najmi irc.freenode: farrukh_najmi AIM: farrukhnajmi Yahoo: farrukh_najmi MSN: Farrukh.Najmi@sun.com | GMT-5 (US East, Boston, MA) | Sun Architect for Service Registry |
| Alexi Polenur | 410-419-5146 | Alexi.Polenur@Sun.COM | AIM:apolenur | GMT-5 | Sun Solution Architect, Sun Client Solutions |
Use Cases
This section defines the use cases that are the target of the project.
Registry Initialization
Create Roles and Groups
The following roles are defined:
- EDMO Administrator
- EDMO Governance (Issue: Need a better name for this role. e.g. EDMO Business Analyst)
- Developer (now just Developer)
- Developer QA
- EDMO QA
Create Users
A user can be assigned multiple roles. For ease of understanding a unique user is created for each role and attributes are assigned to make easy correlation between demo user and role.
Create a use for each role using the following strings as value of alias, key password, and firstName:
- EDMOAdministrator
- EDMOGovernance (Issue: Need a better name for this role. e.g. EDMO Business Analyst)
- Developer
- DeveloperQA
- EDMOQA
In addition create a special user "superuser" using "superuser" as the value of alias, key password, and firstName. This privileged user will perform priviledged operatins like assigning roles to user.
Assign Roles to User and Users to Groups
Create Artrifacts
In this steps a folder tree is created that contains XML Schema artifacts.
Create Artifact Metadata
In this steps a SubmitObjectsRequest_Config.xml file is that provides metadata for artifacts and also has slots that link the artifacts to the metadata.
Create Domain Namespaces
TODO: Alexi please get reqirements from Sol on this.
Load Artifacts and Metadata
In this steps the artifact tree and its metadata is loaded (imported) into the registry.
Component Development
Discover Components
Export Components
Develope Service Components
Import and Status Service
Issue: Need to get better namje for this.
Registry Operations
Export Service
Import Service
Execute Service
Component Asset Reporting
Management Report
Developer Report
Installation and Setup
freebXML Registry Setup
Install freebXL Registry latest CVS bits following instructions in the Quick Start Guide.
IRS Project Setup
This section describes how to setup the code that is specific to the IRS project.
Checkout a source code
- Set CVSROOT environment variable
export CVSROOT=:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ebxmlrr
- Login to a CVS server. When prompted for a password simply press Enter.
Note that this step need to be done only once for each user on every workstation
cvs login
- Checkout Omar source code. This command will create ebxmlrr subdirectory which will contain all of the source code
cvs -z3 co -P ebxmlrr
The code for this project is located in ebxmlrr/samples/irs tree. This code based is refered as <irs> in the rest of the document The rest of the code can be ignored.
Use Case1:Registry Initialization
Create Users
Create 4 users from the list below. Using intructions at
http://ebxmlrr.sourceforge.net/3.0/registryBrowser/userreg.html
- SuperUser
- EDMOAdministrator
- EDMOGovernance
- ISSSDeveloper
SuperUser is a special user which will perform priviledged operatins like assigning roles to user. Use the name SuperUser for first name, alias, key password, last name.
Having done this, it is necessary to change the properties file to define SuperUser as a Registry Administrator, since a User cannot give itself those priveleges.
To do this, serach for the new user and browse the details. There is a unique ID generated for the user and this wil be used to define the user as a RegistryAdministrator in the properties file. Locate the following lines in $TOMCAT_HOME/conf/omar.properties. Copy the unique ID and paste it into the sample uid in the un-commented line to set the value of omar.security.authorization.registryAdministrators:
omar.security.authorization.registryAdministrators=urn:freebxml:registry:predefinedusers:registryoperator|urn:uuid:2d308fbf-80a6-44f0-a1fd-ba919a6f1ff5
- Re-start Tomcat.
- Re-start the Java UI and log-in as SuperUser. Create a new user named ServicePublisher following the same pattern as
Create Organizations, Roles and Groups
All organizations, groups and roles are defined in
<irs>/misc/config/SubmitObjectsRequest_config.xml (see Checkout source code)
Currently following objects are definied in this file:
- Internal Revenue Service Organization
- Roles
- EDMOAdministrator
- EDMOGovernance
- ISSSDeveloper
To import all this file into registry do following.
- cd <omar>
- Start Java UI
./build.sh run.browser &
- In Java UI perform perform Login using cert alias and keypassword for SuperUser
- Import the file <irs>/misc/config/SubmitObjectsRequest_config.xml using File -> Import menu
To test
- Search for organization with the Name = %Internal%. Oranization with the name
"Internal Revenue Service, United States of America" should be found
- Look under "SubjectRoles" Classification Scheme you should see 3 new IRS specific roles
Assign Roles to User and Users to Groups
- Start Java UI
- Select "User" from "Object Type" drop down and click Search.
"Search Result" panel will show all users. - Right click on the user you want to assigned role to an select "Edit".
It will open an Edit Window - In the Edit Window right click on "Classification" edit field and select "Insert".
It will open Classification Window - In the Classification Window click "Select Classification Scheme or Concept" button.
It will open Classification Schemes Window - In Classification Schemes Window expand SubjectRole node an select desired role.
- Hit OK to close all windows
Load Artifacts and Metadata
- cd <omar>
- Start Java UI ./build.sh run.browser &
- In Java UI perform perform Login using cert alias and keypassword for SuperUser
- Using File -> Import menu import files listed below. They should be imported in the order they are listed.
- ebxmlrr/samples/xsdProfile/misc/config/SubmitObjectsRequest_XSDProfile_config.xml
Contains required configuration defined by the XSD Profile spec (evolving) - <irs>/misc/config/SubmitObjectsRequest_config.xml
Contains the configuration for IRS deployment. - <irs>/misc/config/SubmitObjectsRequest_namespace.xml
Contains the configuration for IRS deployment. - <irs>/misc/config/SubmitObjectsRequest_catalogedMetadata.xml
Contains meta data for schema components defined in XML Schema files imported in step above
This would eventually be automatically loaded into registry by the Schema Cataloger when a schema is published (step above). In other words this step will not be required since all the work will be done in step above - <irs>/misc/config/data/SubmitObjectsRequest_inputData.xml
Load file that is used to load the sample IRS schema files located in various subdirectories of <irs>/misc/data directory. It also creates meta data for schema files (Extrinsic objects, etc)
- ebxmlrr/samples/xsdProfile/misc/config/SubmitObjectsRequest_XSDProfile_config.xml
Project Tasks
The following is the list of current known tasks. It is likely to be incomplete at this stage.
| Task | Owner | Effort Estimate | Status | Due Date | Details |
|---|---|---|---|---|---|
| Create initial wiki page (this page) | Farrukh, Alexi | 1 day | Done | ||
| Install freebXML Registry using latest CVS bits | CSC and IRS developers | 1 day | Done | IRS registry is setup by Krishna. Additional registry setups shoudl ask Krishan or Alexi for help if needed. | |
| Define detailed mapping from XML Schema to ebRIM | Farrukh | 7 day | In Progress. See latest draft | ||
| Provide initial content tree in a zip file with sample schema files | Sol | 1 day | Done | ||
| Create initial source tree for IRS POC under ebxmlrr module | Farrukh | 1 day | Done | See Installation and Setup | |
| Define roles in configuration file | Farrukh | 1 hour | Done | ||
| Setup ant task to import initial content tree provided by Sol | Farrukh | 1 day | |||
| Develop test data that reflects the mapping using manually generated metadata | Farrukh | 1 day | |||
| Provide sample queries in plain english that reflect discovery use cases | Sol | 1 day | |||
| Map sample queries to ebXML Registry parameterized queries | Farrukh | 1 day | |||
| Develope Query Plugin feature in omar | Farrukh | 4 days | This feature to support special queries that may be needed to implement the prototype. An example may GetSchemaAndItsDependencies. |
Project Design
Design Issues Encountered and their Workarounds
- TBD...
Bug and RFE Tracking
This section tracks bugs identified and fixed as a result of this project.
Bugs Identified
The following bugs in registry have been identified. These will be fixed after the POC:
- Java UI: "Show Related Objects" action not working on Associations in Browse window of Java UI
Bugs Fixed
- Java and Web UI: Missing translations for field labels in Adhoc Query forms
RFEs Identified
- Need to fix "admintool -cp" for the following RFEs
- Support a "-urn <urn prefix>" option so the RegistryPackages for folders can have meanigful ids
- Support a "-f" option so existing folder/file can be updated (overwritten)
- Support cp from registry to filesystem. Currently only file system to registry is supported.
RFEs Done
Running the Software
See here for an example.
Typical Problems and their Solution
- TBD
Demo April 25th
Demo Goals
Demo Script
Todo list
- DONE. Remove '$' from ObjectType names SchemaSetImpl$AnyType and SchemaSetImpl$AnySimpleType.
This objects types are defined in SubmitObjectsRequest_XSDProfile_config.xml.
After this file is imported they can be viewed in ObjectType drop down list. - DONE Resolution:Files will not be commited to CVS. Instead they will be delivered in zip
In order for import of SubmitObjectsRequest_inputData.xml, additional XSD files which go in <irs>/misc/config/data have to be commited to CVS.
Currently these files are kind of there, but they have wrong names which starts with xxx. (Alexi, has all required file in his local workspace). - DONE. Currently SubmitObjectsRequest_XSDProfile_config.xml is not in CVS. Install instructions in Load Artifacts and Metadata section assume that this file is in <irs>/misc/config
