In-Depth

Government of Washington, D.C.

I. Project Information

Company and division name:

Government of Washington, D.C., Office of the Chief Technology Officer (OCTO)

Project designation:

CapStat is a service-oriented architecture (SOA) for multi-jurisdictional emergency response collaboration. This technology infrastructure integrates public safety and emergency response data across the National Capital Region (NCR), which includes the District of Columbia and surrounding counties in Virginia and Maryland.

Brief explanation of the goals of the project:

The overarching goal of this project is to link emergency operation centers (EOCs or 911 call centers) across the NCR. Once linked, this program accelerates communication of real-time incident and event information, as well as speeds recognition of and response to public threat events.

Brief description of the business risks involved:

The greatest element of business risk associated with the program was a political one: dealing with dozens of independently managed Emergency Operations Centers (EOCs), each with their own IT groups and systems. OCTO needed to deliver a federated architecture that enabled the sharing of information without dictating the use of specific technology or being intrusive to an EOC’s critical data.

Brief description of how the system helps users:

Before this system, a lack of communication existed between systems. Linking Emergency Operation Centers provides real-time data access across various organizations and jurisdictions so officials have access to a unified view of an emergency situation.


This new system provides inter-jurisdictional coordination in the National Capital Region. One benefit of this is the ability to learn about and respond to a Homeland Security threat much faster than without access to real-time, cross-border information.


II. Organizational Objectives

What short- and long-term benefits did the organization achieve from the project? Did the solution meet the projected goals for saving time and money? How were benefits measured? Was the system mission critical to the organization?

Short-term goals included the establishment of an organizational and technology infrastructure that improves inter-jurisdictional coordination within the National Capital Region; building and documenting project elements that may be replicated in other parts of the U.S.; and producing demonstrable accomplishments within one year.


Long-term goals include the ability to communicate incidents among the National Capital Region jurisdictions; accelerate communication of real-time incident and event information; speed recognition of and response to public threat events; and allow the user to analyze and present data in a more informative manner, driving key decisions using new, actionable intelligence. This intelligence assembles information from dispersed and unrelated sources so that it may be acted upon.

Describe the business purpose of the new system.

The District of Columbia and its partners in the surrounding metropolitan areas can significantly improve coordinated response to public safety and homeland security threats.

Describe the features of the new system.

CapStat provides technological infrastructure to integrate public safety and emergency response data from the District of Columbia and surrounding jurisdictions in Virginia and Maryland. Each jurisdiction in the National Capital Region presently has its own technology structures that make exchanging and sharing data problematic, complicating emergency response and resource coordination. CapStat is interoperable, meaning it solves the problem of incompatible or inconsistent technologies and data structures in different jurisdictions without requiring them to change their technology or adopt a single common solution. CapStat instead allows an emergency manager to obtain and view data from another jurisdiction in his or her own familiar format.

Explain the functions of the new system.

Using innovative technologies, including Enterprise Service Bus (ESB), a powerful search engine, Geographic Information System (GIS) and Web services, CapStat does the following:

  • Provides a conduit to securely and effectively move data between individual jurisdictions’ systems;
  • Resolves data and technology infrastructure inconsistencies that exist between jurisdictions’ systems;
  • Analyzes the data to reveal patterns and trends and provides instant information in a variety of graphic forms;
  • Allows queries of jurisdiction databases and internet and provides users with information based on location, time segment or subject matter;
  • Notifies emergency responders and other officials of potential problems.

CapStat uses the most advanced information integration technology available to share information across space and time, and it continuously supports the exchange of data among jurisdictions.

Who were the internal sponsors of the project? Which officials or groups were opposed to developing the application? Why?

The District government has a strong interest in homeland security issues. Dan Thomas, the CapStat Program Manager, took responsibility for preparing the grant proposal for the Department of Homeland Security and for overseeing the execution of the grant. Suzanne Peck, the Chief Technology Officer, officially sponsored the project.

Were users of the system involved in the project during the planning and development phases? If so, how?

The users have participated throughout the project lifecycle through the National Capital Region Interoperability project. Participants in this parallel project provide information and feedback on requirements, deployment of the system in their jurisdictions, and testing of the system operations.

What were the greatest challenges in completing this project? How were they overcome?

The greatest challenge to the program was integrating numerous, geographically dispersed sites across the region with a multi-faceted solution that did not compromise site security and operational autonomy. The Sonic ESB provides a distributed, federated for integrating disparate data sources in a secure and reliable way.


Another challenge was to communicate and educate the benefits of an SOA. This was accomplished by continued dialogue with the internal team on the benefits of the SOA and communication of little successes that grew into large successes and benefits for the District and NCR.

Were the goals changed as the project progressed? If so, what were the changes and why were they made?

Goals remained the same but specific data/Web services changed to accommodate the interests of the stakeholders and availability. CAD 911 data is not available in the project timeframe.


III. Category

Please indicate the Innovator Award category as listed below.
Middleware/Application Integration

THE PROJECT


IV. Methodology/Process

Describe how productivity tools or techniques were used in the project.

CapStat developers use a variety of development tools to support the agile SDLC process. These tools fall into the categories of Integrated Development Environment (IDE), Core Development Tools, Testing Tools and Software Developer Kits (SDKs), and will be elaborated on further.


The base technical environment includes Ecplise, Visual Studio, Rational Application Developer (RAD) and to a lesser extent, DB Visualizer for database related development efforts. These IDE tools provide an application framework and development platform for developing software applications


An extensive set of tools that go above and beyond the IDE platforms were used to support development efforts. These tools include Cruise Control which serves as the continuous integration framework, Subversion which provides source control of component code, Ant/NAnt/Maven that supports auto-build, Mantis which enables issue/bug tracking and task management, XML Spy for XML modeling, editing, debugging, and transform, and miscellaneous open source tools for documentation (JavaDoc, XDoc) and logging (Log4J, Chainsaw).


Of all the core development tools, Subversion, Cruise Ctrl and Anr/NAnt/Maven support the critical development function of auto-build that is the basis of CapStat’s agile SDLC. The auto-build function provides integration, regression and status of components on a continuous basis. Nightly auto-build status is reviewed at daily developer stand-up meetings to determine if any components "broke-the-build" and the appropriate course of action for the team to resolve any issues.


The final set of "tools" that developers will utilize through the SDLC will include SDKs, which are the toolkits for integrating various custom and packaged software components within the overall application architecture. SDKs identified include the Java SDK which is a java development tool, the ESRI SDK for GIS integration, the Business Objects SDK for business intelligence integration and potentially the HP Openview SDK for integrated operations management.

Were testing tools used during development? If so, when were they used? Was the testing cost-effective?

Numerous testing practices and tools were employed to ensure quality products given the significance of testing within any IT/IS capability. On the practices side, testing is integrated into the development with developers required to design and build test components before they even begin designing and building functional components. The value in doing this is that developers identify potential failure points with the functional component before coding of these components even starts, which saves time and enhances quality. The test components that are built are used individually by developers and also incorporated into the auto-build process that tests integration and regression. Testing tools include N-unit, J-unit, HTTP-unit, Grinder and J-Meter. Testing tools to be used in the near future will include tools from the Mercury Interactive suite for testing end-to-end application functionality and potential stress/performance issues.

Was a formal or informal software development life-cycle methodology employed? If yes, please describe it.

An agile development approach was used that focuses on "use case" requirements, practices test-driven development, schedules shorter fixed-time-iteration development cycles and engages stakeholders consistently through-out the SDLC. To ensure timely and quality results, the development process is formally tracked through daily stand-up meetings and an automated build process that facilitates integration, regression and deployment of application components on a continuous basis.


Throughout the integrated design-build-test phase of development, stakeholders validate requirements and perform hands-on reviews of features as the applications are being designed and built. For instance, over the last 10-week development cycle, stakeholders were engaged at the onset to define and confirm requirements, and then attended design review sessions every two weeks to perform user acceptance testing (UAT), to provide feedback on application functionality/interfaces and to provide sign-off on the finalized application. The results are applications that better support the stakeholder business analytical needs.

What formal or informal project management methodologies and/or tools were used to manage the project? If used, please describe how.

The project management methodology includes the normal phases of plan, design, build, test, deploy, however, design-build-test are an integrated phase that aligns with the agile software development approach.

Were software quality metrics used? If so, what were they, and did using them significantly help the project?

Software quality metrics are used through various stages of the SDLC as follows:

  • Integrated Design-Build-Test – Daily metrics on passed/failed components of the auto-build.
  • Integrated Design-Build-Test – Number of user acceptance tests passed/failed.
  • Deployment – Number of UCs delivered in application release.
  • Deployment – Number of users/groups who have received an application release.

V. Technology

What were the major technical challenges that had to be overcome to complete the project successfully? How did the team respond to those challenges?

The greatest challenge to the program was integrating numerous, geographically dispersed sites across the region with a multi-faceted solution that did not compromise site security and operational autonomy. Team responded by employing open flexible technology accommodating participant technologies with minimal impact.

What software tools, including databases, operating systems and all development tools, were selected for the project? Why were they selected over competing tools? What process was used to select development tools and software platforms?

To achieve the SOA infrastructure for CapStat, the District of Columbia implemented Sonic ESB (enterprise service bus).


The District selected Sonic Software for this project because Sonic ESB was uniquely suited to address the highly distributed and federated nature of the CapStat environment. It also allowed the flexibility of adding Emergency Operation Centers in the future with no additional customization at each site. The extra work of connecting the hubs using other solutions would have been a large undertaking, while connecting Sonic brokers is minimal and linear. Also, Sonic ESB provide a Continuous Availability Architecture (CAA), ensuring that communications between services in the CapStat environment are always available—an absolute must for this public safety service.


Other technologies used include a powerful search engine, Geographic Information System (GIS) and Web services.

Describe the overall system architecture. Were elements of the technical infrastructure put in place to support the new system? Please describe.

CapStat uses a service-oriented architecture (SOA) to connect EOCs across the region. An enterprise service bus (ESB) is used to connect, mediate and control the flow of information across the architecture. Distributed service containers are used to host integration services, such as a transformation service, at remote EOC locations across the NCR. The service containers can be remotely configured, deployed and managed, reducing the need for EOC IT staff to have specific knowledge of the ESB. Additionally, the service containers help ensure reliability across the system, and can also host communication brokers where and when messaging horsepower is required to scale the system.


CapStat uses XML to communicate between EOCs, leveraging a common XML format within the bus that can be easily transformed to the formats used by individual EOCs. Because of this, an innate ability to move from one platform to another without consequence is assured, so each jurisdiction could use its existing technology without being forced to change over to anything new.

What characteristics of the tools and technologies used were most important in achieving the business purposes of the system?

Sonic ESB, as part of the SOA Suite, gives the District of Columbia the ability to effectively publish exchange data between EOC sites distributed across multiple jurisdictions, making this a model for other local governments seeking to enhance public safety.


VI. Project Team

What was the size of the development team?

Seven

Describe the software development experience of the team members.

The developers are .NET, J2EE and general application and enterprise application integration (EAI) architects.

What was the composition and skill level of the team? Did development teams require training to work with the technology?

Software training was provided to the development team on FastSearch and Sonic ESB, through their respective vendors.

How many person-months/days did the project take, and over what calendar time frame? Was a formal schedule created at the start of the project? Did the project stay on schedule?

It took 30 days to build the SOA, however the duration of the CapStat project is a full calendar year.

Did management and the user community consider the project a success?

Yes

If you had to do the project over again, would you do anything differently?

If yes, please explain why.

Yes. Obtain formal commitment from external organizations at initial stage in project.