Oklahoma
PRE-PROPOSAL PROJECT SUMMARY INFORMATIONProject Title and Location: Tier Framework Development for Permit Generation, Oklahoma
State Agency: Oklahoma Department of Environmental Quality
Contact:
Rance Shields, P.E.; Water Quality Division; Oklahoma Department of Environmental Quality; 707 N. Robinson, P.O. Box 1677; Oklahoma City, OK 73101-1677; Phone: (405) 702-8120; Fax: (405) 702-8101; Email: rance.shields@deq.state.ok.us
RCRA Component: None
Other Federal Program Assistance: None
Regulatory Flexibility: None
Project Support: This project is supported by the Executive Director of the Oklahoma Department of Environmental Quality
PRE-PROPOSAL PROJECT NARRATIVE
Project DescriptionThe DEQ has been developing an agency-wide environmental management system (EMS) for the past few years. The primary goals of the project are to: 1) develop software that meets our staff users business needs, 2) provide information to EPA in a more timely and accurate manner, 3) develop better mechanisms for internal reporting to streamline processes, and 4) make appropriate levels of information available to the public that is both timely and accurate. It has become readily apparent that the project needs to be expanded to address improving our permitting process while including it as an intrinsic part of the overall goal to create software that meets our business requirements and improves the efforts of our staff.
Permitting processes are currently kept at arms length from other business processes such as monitoring, compliance, and inspections. However, when evaluated objectively the permitting process is the basis for all of the other processes. Ultimately, it should be linked into the management system and considered the initial step for all ensuing processes because it is the first business process that deals with the central idea of a regulated entity.
At the DEQ, the Water Quality Division has had some experience with permit development being included within a management system. For the past 10 years our Construction Permitting Unit has had a system that generates permits automatically based on data that is entered on a series of screens. The system can then be queried for basic information such as status in the permitting process.
After interviewing staff members of this business unit we determined that it is obviously an important consideration for inclusion into our larger EMS efforts. Further, when interviewing users from other business units about their datasets and inclusion within the Network Node project, it has become increasingly apparent that permitting processes and generation of permits needs to be considered to be a part of the bigger project if we are to succeed.
The DEQ proposes to expand our initial efforts in developing scalable, extensible, and open-source software to build web applications that generate permits on the fly and initiate all pertinent data within the requirements of the Network Node project. The software would be easily modified to fit any business unit and be based on the following software design patterns:
- Model-View-Controller Type II - splits user interface interaction into three distinct roles
- Metadata Mapping - holds details of object-relational mapping in metadata
- Data Mapper - a layer that moves data between objects and a database while keeping them independent of each other
- Data Transfer Object - an object that carries data between processes in order to reduce the number of method calls
- Template View - renders information into HTML by embedding markers in an HTML page
The design patterns to be used are defined in "Patterns of Enterprise Application Architecture" (Fowler). The software we have been developing is known as the Tier framework suite. The suite combines six best-of-breed "niche" frameworks into a complete development platform. Tier is made up of Velocity (http://jakarta.apache.org/velocity/), FormProc (http://formproc.sourceforge.net/), Struts (http://jakarta.apache.org/struts/), Chain (another part of Struts), iBATIS DAO (http://www.ibatis.com/), and iBATIS SqlMap (http://www.ibatis.com/). Each Tier framework is a standalone open source product in its own right. Tier assembles the six frameworks into one seamless application architecture. These tools are currently stable and released at production level in Java. However, ports to both C# and PHP are ongoing.
The primary goals of this project would be to further develop our architecture to a more mature level including full documentation and GUI (graphical user interface) tools for developers to build web apps rapidly and completely configurable to the needs of any specific program. The project would refine our Java tools but quickly move to developing a fully mature .NET-friendly set of tools written in C#. If possible, given the time constraints on the project, a PHP port would be considered as well.
The development of a GUI "wizard" would be an improvement to our ongoing process and allow any person with some software development expertise to build a web application quickly and easily. Currently, for software development we use the following steps:
- Work with client to develop a set of stories, or simple use-cases, that describe what the application must do.
- Create a storyboard to layout the display screens for each story. Confirm with client that the storyboard, once realized, meets their needs.
- Replace the standard hyperlinks between HTML pages with commands that go through the presentation controller, Struts.
- Create a form validation element to represent the data required by each form in FormProc and add a presentation command to submit the form, with views for both an "invalid" and a "success" outcome.
- Create a set of business classes to realize the stories illustrated by the storyboard. The business classes will accept input and output as indicated by the storyboard and underlying stories. Clarify any vague requirements, and revise the stories and storyboards accordingly.
- One by one integrate each of steps 3, 4, and 5 into the Struts configuration.
- Tie the data layer into the system using iBatis.
- Enhance the "look and feel" of the application to meet client's expectations.
The use of a GUI would greatly decrease development time and increase programmer productivity. The full suite of tools ultimately allows an integrated team approach to be taken for software development. Specifically, database programmers provide appropriate SQL statement for inclusion into a properties file (iBatis) to be called by the controller (Struts) when necessary. The look and feel of the web application can be completely developed by anyone with HTML experience. The majority of the architecture is expressed in XML configuration files with some limited logic expressed in the language of choice.
Objectives and Principles of Project- Reduce and/or eliminate the use of proprietary software in order to reduce costs and increase ability to modify software according to specific user needs.
- Realize that software processes must be tailored to specific permitting needs and not the other way around.
- Make involvement of users integral to the development process to insure that applications actually meet their needs.
- Enforce the use of design patterns and other formal development methodologies to insure that a common set of terms and definitions are used for software development.
- Embrace the open source software movement that provides better software solutions for specific needs, increases productivity of developers by not having to create everything from scratch, and actually improves technical support due to pride of ownership of open source developers.
- Develop software that is mainly expressed using XML files that can easily be expressed in a GUI form.
- Build example web applications for program units within our Agency during development so that other entities may have working applications.
Project Schedule and Time Frame*
Event | Date |
---|---|
Kickoff Meeting | July 1 through 2, 2004 |
Refinement of current Tier Framework (complete NPDES permitting generation module) | July 5 through August 27, 2004 |
Development of C# port for Tier Framework (develop online Stormwater Construction permitting as example) | August 30 through November 19, 2004 |
Development of GUI | November 22, 2004 through May 27, 2005 |
User Testing for other entities | May 30 through June 30, 2005 |
Documentation | July 1 through June 30, 2005 |
*Assumes project start date of 7/1/2004
Meeting Program Criteria Requirements
Target Priority Environmental Issues
The project will attempt to further the link between environmental management systems and the permitting process in the Water Quality Division at several levels. One key consideration would be the elimination of redundant data entry and potential errors that exists between setting up information in the PCS system and the NPDES permitting process. Further, linking the two processes would provide modifications to be accurately reflected in both the permit and monitoring systems.
One final consideration would be to have software that could easily be modified and automatically linked to reflect the changing needs for both permits and its related processes including compliance, enforcement, and inspections
Likely Improvement in Results from Project Implementation
The project would specifically target NPDES discharge and stormwater permitting and related processes. The project would easily reduce the time required to draft a permit, encode all data points for the system, and develop event scheduling. For example, when a permit application is received, eliminating the extra step to set up a PCS entry for it would be a huge savings not only in staff effort but also in the elimination of introducing potential errors. Further, by directly tying the permitting process with modeling modules, event handling logic, and automatic document tracking and generation capabilities the entire process becomes streamlined for both Agency staff and the permittee.
The introduction of web-based permit applications for the public to initiate and apply for a stormwater construction permit would also reduce time and effort for both the public and Agency staff. However, with all Internet based systems security precautions will also be a central consideration to insure proper environmental protections and eliminate fraud.
The software stemming from these two systems will not only be working examples for other entities to use during its development process but would also provide many examples of the types of business rules that are pertinent to many other permitting processes.
Measuring Improvement and Accountability
The goal of the project to provide a fully customizable web application system with the ability to express business rules is quite lofty. However, breaking down the project into manageable measures of progress will be quite easy given the modular approach taken for software development. For example, simple measures of progress would be things such as finalizing the Java port of the tools, completing a C# build for the software, developing a GUI tool to hardwire the flow of an application and link in data store systems. However, these evaluators of success can easily be finalized following acceptance of our project and taking into account the approved level of funding.
Transferring Innovation
The entire effort of our project would be made available publicly for other entities to use and capitalize from. Given the broad goals of our project, it would be something that could be easily replicated and/or applied to other entities. We feel that the goals that include 1) a multi-language web application system, 2) complete customization to meet business needs, 3) a GUI for much of the system, and 4) a complete set of documentation, are items that would be highly sought out. Further, we would propose to make the software tools available via the Internet for all interested parties.
PRE-PROPOSAL BUDGET SUMMARY
State: Oklahoma
Agency: Oklahoma Department of Environmental Quality
Project Title: Tier Framework Development for Permit Generation
<Budgetary Information Withheld by U.S. EPA>