Showcase/irs

From Omar Wiki

Jump to: navigation, search

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

Participants in Collaboration
Participant Telephone Email 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.

  1. cd <omar>
  2. Start Java UI
./build.sh run.browser & 
  1. In Java UI perform perform Login using cert alias and keypassword for SuperUser
  2. Import the file <irs>/misc/config/SubmitObjectsRequest_config.xml using File -> Import menu

To test

  1. Search for organization with the Name = %Internal%. Oranization with the name

"Internal Revenue Service, United States of America" should be found

  1. Look under "SubjectRoles" Classification Scheme you should see 3 new IRS specific roles

Assign Roles to User and Users to Groups

  1. Start Java UI
  2. Select "User" from "Object Type" drop down and click Search.
    "Search Result" panel will show all users.
  3. Right click on the user you want to assigned role to an select "Edit".
    It will open an Edit Window
  4. In the Edit Window right click on "Classification" edit field and select "Insert".
    It will open Classification Window
  5. In the Classification Window click "Select Classification Scheme or Concept" button.
    It will open Classification Schemes Window
  6. In Classification Schemes Window expand SubjectRole node an select desired role.
  7. Hit OK to close all windows


Load Artifacts and Metadata

  1. cd <omar>
  2. Start Java UI ./build.sh run.browser &
  3. In Java UI perform perform Login using cert alias and keypassword for SuperUser
  4. 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)

Project Tasks

The following is the list of current known tasks. It is likely to be incomplete at this stage.

Task Breakdown
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

  1. 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.
  2. 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).
  3. 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