server

NFA/eForms 2, 3 for Bureau of Alcohol, Tobacco, Firearms and Explosives

Challenges

Bureau of Alcohol, Tobacco, Firearms and Explosives

The National Firearms Act (NFA) of 1934 makes it illegal for civilians to import, manufacture, own, sell, or transfer machine guns without permission from the Federal Government. In order to conduct transactions of these firearms, citizens were required to submit to a rigorous paper-based approval process. The Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) of the U.S. Department of Justice oversees this approval process. The ATF turned to us to automate the paper-based process so that the forms data could be processed in a much more efficient and accurate manner.

At ATF, we provided support for the conversion and development of NFA eForms 2 and 3. NFA eForm 2 is required when an NFA firearm is imported into the U.S. and NFA eForm 3 is required when the ownership of an NFA firearm is transferred.

As originally envisioned, the NFA/eForms project was designed to implement a production Internet/Intranet redesign of a legacy Oracle Forms-based client/server system. Following fundamental changes in enterprise-wide architectures and data structures, the project was re-scoped as an experimental prototype to develop new technologies and new data structures for future use at ATF. The project faced several challenges, including:

  • To define and analyze system and design requirements for ATF
  • To develop Web-based electronic submission forms eForm 2 and eForm 3
  • To implement and integrate the NFA front-end to conform to the requirements while maintaining current system functionality

In addition, we had to address the following issues:

  • To verify communication between systems
  • To assure the proper versioning of ancillary software components
  • To assure that site-specific software upgraded to the COTS product will survive installation of future COTS software upgrades

Solutions

Define and Analyze System and Design Requirements for ATF

  • Followed customer-approved portions of the ATF's Software Development Lifecycle (SDLC) Handbook as well as additional controls for project planning, monitoring, and oversight
  • Investigated the use of a data management layer to abstract data calls from data structures
  • Analyzed the legacy Oracle database showing integration points
  • Evaluated several COTS solutions for forms development and workflow creation

Based on our analysis, we recommended a revised project architecture that combined the most advantageous mix of old and new features, technologies, and approaches.

Develop Web-based Electronic Submission Forms

Our project team designed and developed a tightly-scripted prototype concept for demonstrations. We created several iterations of a demonstration prototype system to show internal (NFA) and external (Industry) users an end-to-end solution employing several new technologies and incorporating a COTS product for workflow development. We created a Flash presentation to demo a prototype of the new J2EE architecture Web site at the Shooting Hunting Outdoor Trade Show. We demonstrated the application to industry users, published the presentation on CD, and distributed it with a hardcopy as well as user survey to collect feedback as part of our commitment to quality and usability. In addition to the prototype system, we redesigned the underlying database for the full system and created logical and physical database models of a new version of the database needed to implement a new-Web based e-government system. We then coded and tested the re-scoped NFA/eForms application primarily by using Oracle JDeveloper for Java development of the user interface, business logic, and data access layer components.

Implementation and Integration of the System

In the experimental prototype phase, the NFA/eForms project had limited integration with other systems. Apart from integration between the COTS workflow product and our code, no other major systems at ATF were integrated with the NFA/eForms system prototype.

In the implementation phase, we designed a solution that combined a major COTS component with Java and Oracle PL/SQL software coded by the team's developers to tie together a J2EE-architected front-end for Internet and Intranet users with workflow functionality. To implement the new J2EE-architected system to provide e-government functionality to external ATF users, our developers built a portal using Oracle's 9iAS application server and J2EE components. This portal contained links to the eForms 2 and 3. We also integrated a legacy system (eForms 6) that was adapted to match the appearance and functionality of the eForms 2 and 3 system.

Results

Today, our nation is more secure as citizens' requests for transactions of NFA firearms are processed in an efficient and coordinated manner.

We were able to demonstrate to ATF the following:

  • Weaknesses in the SDLC Handbook and approaches to consider for future work. A modified waterfall SDLC is being implemented with customer reviews of key documents and deliverables throughout the phases of the project.
  • Successful implementation of a COTS product for workflow development and implementation which decreased the overall project cost. By showing how software choices can affect system functionality as well as providing background information on hidden costs and technical risks of COTS solutions, we provided valuable added data for decision-makers within the Software Management Branch of ATF as well as the client sponsor of the development effort and the Project Management Office.
  • Design and deployment of a Data Access Layer to abstract out communications between a separate Business Logic layer and the underlying Oracle database serves as the model for all future applications development at ATF by providing a clean, flexible, sharply-defined interface to the database. Overall quality of ATF software applications improve due to the Data Access Layer's ability to provide universal access to data regardless of the underlying structure of that data storage.
  • Following ATF's decision to stop work on two other legacy database systems, we reassessed our design and made appropriate changes to implement necessary functionality