![](media/image1.jpeg){width="1.3243055555555556in"
height="1.0888888888888888in"}

Table of Contents

[1 Introduction 1](#introduction)

[1.1 Purpose 1](#purpose)

[1.2 Background 1](#background)

[1.3 Audience 2](#audience)

[1.4 Scope 2](#scope)

[2 ESS Guiding Principles 3](#ess-guiding-principles)

[2.1 Business Principles 3](#business-principles)

[2.2 Technology Principles 3](#technology-principles)

[2.3 Data Principles 4](#data-principles)

[3 ESS Implementation Process 5](#ess-implementation-process)

[3.1 How Other USDA Development Requirements Fit In
8](#how-other-usda-development-requirements-fit-in)

[4 Implementation Process: Education and Dialog
10](#implementation-process-education-and-dialog)

[4.1 ESS Liaisons 10](#ess-liaisons)

[4.1.0 General Liaison Team 10](#general-liaison-team)

[4.1.1 Integrators -- Liaisons for Application Integration Option
10](#integrators-liaisons-for-application-integration-option)

[4.2 Kickoff Meeting 11](#kickoff-meeting)

[4.2.0 How to Request a Pre-Implementation Meeting
11](#how-to-request-a-pre-implementation-meeting)

[4.3 ESS Support Site 11](#ess-support-site)

[4.3.0 How to Access the ESS Support Site
12](#how-to-access-the-ess-support-site)

[4.4 Agency ESS Lead 12](#agency-ess-lead)

[5 Implementation Process: Application Scoping and Planning
13](#implementation-process-application-scoping-and-planning)

[5.1 Scoping and Planning Pre-Requisites
13](#scoping-and-planning-pre-requisites)

[5.2 Initial Planning Meeting(s) 14](#initial-planning-meetings)

[5.3 Acceptance Package 14](#acceptance-package)

[5.3.0 Project Scoping and Planning Document
14](#project-scoping-and-planning-document)

[5.3.1 High-Level Milestone Chart 14](#high-level-milestone-chart)

[5.3.2 ESS Environment Guidelines 15](#ess-environment-guidelines)

[6 Implementation Process: Startup and Developer Setup
16](#implementation-process-startup-and-developer-setup)

[6.1 Tools Needed to Develop Your Application
16](#tools-needed-to-develop-your-application)

[6.1.0 Document Management 16](#document-management)

[6.1.1 J2EE Application Server 16](#j2ee-application-server)

[6.1.2 Web Content Management 17](#web-content-management)

[6.2 Account Setup 17](#account-setup)

[6.3 Identify Other Relevant USDA Projects
17](#identify-other-relevant-usda-projects)

[7 Implementation Process: Build and Deploy
18](#implementation-process-build-and-deploy)

[7.1 ESS Software Development Lifecycle Environments
18](#ess-software-development-lifecycle-environments)

[7.1.0 Local Development Environment 18](#local-development-environment)

[7.1.1 Development Environments 18](#development-environments)

[7.1.2 System Test Environments 19](#system-test-environments)

[7.1.3 Pre-Production Environment 19](#pre-production-environment)

[7.1.4 Production Environments 20](#production-environments)

[7.1.5 Training Environment 20](#training-environment)

[7.1.6 Other Environments 20](#other-environments)

[7.2 Operational Services 20](#operational-services)

[7.2.0 Environment Scaling 21](#environment-scaling)

[7.2.1 Change and Release Management 21](#change-and-release-management)

[8 Implementation Process: Operational / On-Going Support
22](#implementation-process-operational-on-going-support)

[8.1 Application and Hosting Service
22](#application-and-hosting-service)

[8.2 Incident Management 22](#incident-management)

[8.3 Service Level Agreement 22](#service-level-agreement)

[8.4 Application Update Process 22](#application-update-process)

[9 Appendix A: ESS Applications, Development and Hosting Platforms, and
Development Aids
23](#appendix-a-ess-applications-development-and-hosting-platforms-and-development-aids)

[9.1 Application Integration Options
23](#application-integration-options)

[9.1.0 AgLearn - eLearning Application
23](#aglearn---elearning-application)

[9.1.1 Common Employee Database 23](#common-employee-database)

[9.1.2 eAuthentication 24](#eauthentication)

[9.1.3 Google Search Appliance 24](#google-search-appliance)

[9.2 Platforms 25](#platforms)

[9.2.0 Document Management (FileNet) 25](#document-management-filenet)

[9.2.1 Web Content Management (Stellent)
26](#web-content-management-stellent)

[9.2.2 J2EE Portal Application Server (Webspere Portal)
26](#j2ee-portal-application-server-webspere-portal)

[9.2.3 J2EE Application Server (Webspere Application Server)
27](#j2ee-application-server-webspere-application-server)

[9.3 Development Aids 27](#development-aids)

[9.3.0 Enterprise Shared Services Support Site
27](#enterprise-shared-services-support-site)

[9.3.1 ESS Developer Library 27](#ess-developer-library)

[9.3.2 Web Style Guidelines and Design Templates
28](#web-style-guidelines-and-design-templates)

**Previous Change History**

  ------------- --------------- ----------------- --------------------------
  **Version**   **Date**        **Author**        **Comment**

  1.0           Dec 1, 2004     ESS Team          Written by Liaison team
                                                  with input from ESS
                                                  Project Management.

  1.1           Jan 20, 2005    Barrett Witkin    Added information on
                                                  Google Search Appliance.

  1.2           March 31, 2005  ESS Team          Major Revision of Document
                                                  -- ESS components,
                                                  implementation process,
                                                  and services offered all
                                                  modified

                                                  

                                                  

                                                  
  ------------- --------------- ----------------- --------------------------

# Introduction

## Purpose

This document guides you through the steps to implement agency business
applications using USDA's Enterprise Shared Services (ESS). It outlines
the implementation phases an agency team needs to work through and the
tasks within each of those phases. This guide is your starting point to
a constantly growing set of aids available to support your
implementation.

## Background

ESS grew from agency-defined needs to provide enterprise-wide services.
The ESS Business Case emphasizes common, shared services based on a set
of principles for business, technologies, and data. ESS was built to
promote the evolution of USDA business, applications, technology, and
data toward a shared environment. Below is an overview of ESS, which is
comprised of a suite of Application Integration Options, Platforms, and
Development Aids.

[Applications Integration Options]{.underline}

-   **AgLearn** -- USDA's eLearning application.

-   **eAuthentication** -- USDA's Authentication and Application
    Permissions service.

-   **Common Employee Database** -- USDA's authoritative source for
    applications requiring USDA employee information.

-   **Google Search Appliance** -- The Google Search Appliance provides
    customizable, web search-engine functionality for USDA agency
    applications.

[Platforms]{.underline}

-   **Document Management (FileNet)** -- Platform that allows agencies
    to create a system used to store, modify, and retrieve
    documentation.

-   **J2EE Portal Application Server (WebSphere Portal)** -- Platform
    that agencies can use to develop and host J2EE based applications
    using portal technologies.

-   **J2EE Application Server (WebSphere Application Server) --**
    Platform that agencies can use to develop and host J2EE based
    applications.

-   **Web Content Management (Stellent)** -- Platform that can be used
    to allow non-technical agencies users to modify online application
    content.

[Development Aids]{.underline}

-   **Enterprise Shared Services Support Site** -- a site which
    containing copies or links of development information needed to
    implement an application.

-   **Web Style Guidelines and Design Templates** -- Common Web
    standards that facilitate designing web sites and applications with
    a consistent look and feel.

-   **Developer Library --** A set of components addressing commonly
    requested solutions. These can be leveraged by agency teams to speed
    an implementation. These components are not yet available.

The ESS Implementation Framework defines five phases that step you
through component selection, design, and build and go-live. Each of
these five phases is also described in this document, along with any
related information resources, activities, documents and
responsibilities. The five phases are:

-   **ESS Education and Dialog**

-   **Application Scoping and Planning**

-   **Startup and Developer Setup**

-   **Build and Deploy**

-   **Operational Support**

## Audience

USDA agency stakeholders, business owners, and developers use this guide
to learn about the activities and components, which impact the ESS
implementation, specifically the required activities, roles,
responsibilities, and handshakes or transition points.

## Scope

This guide provides a high level overview of ESS and the Implementation
Process. It is designed to help you understand and make prudent
decisions to ensure successful ESS implementations.

# ESS Guiding Principles

USDA is transforming itself to deliver its information and services
around common lines of business and customer expectations. With two
primary goals in mind, USDA created the Enterprise Shared Services (ESS)
to facilitate this transformation:

-   Deliver information and services around customers.

-   Leverage investment in information technology to eliminate
    duplication.

USDA is moving toward the use of common architectural solutions that
enable USDA agencies to build their own applications while minimizing
the costs associated with infrastructure and operations. By leveraging
ESS, USDA will reduce application development and operational costs by
leveraging economies of scale, product standardization, and avoidance of
redundant effort and cost reduction.

In addition to agency needs, the following guiding principles played a
significant role in the development of the business case for ESS.

## Business Principles

Integrated, coordinated, and standardized business processes allow USDA
to deliver improved service to its customers. ESS enables greater
cross-agency collaboration, use of shared solutions and best practices.
The business principles of USDA's Enterprise Architecture are:

-   Simplify and unify business processes spanning multiple agencies.

-   Provide common technical architecture for USDA operations and
    services.

-   Increase collaboration among agencies and staff offices.

-   Create a knowledge and resource sharing environment.

-   Leverage agency expertise to support common lines of business.

-   Avoid unnecessary duplication, complexity and costs.

-   Enable agency resources to focus on performance of agency mission.

## Technology Principles

Technology principles have been put into place to promote consolidation
and standardization of technology where appropriate. This results in
significant increases in efficiency, while reducing costs to USDA. The
technology principles of USDA's Enterprise Architecture are:

-   Consolidate agency-specific systems into single, enterprise systems
    serving multiple agencies.

-   Implement data standards to enable sharing and re-use.

-   Provide and support common application development platforms.

-   Reduce future application development and maintenance time.

-   Reduce system integration and consolidation costs.

-   Avoid unnecessary duplication, complexity and costs.

-   Reduce cost on software and hardware spending, application hosting,
    and business application development.

## Data Principles

A set of data principles supports the collection, storage, and use of
data at USDA. By following these data principles, USDA is able to
maximize data sharing and minimize costs associated with duplicate data
management efforts. The data principles of USDA's Enterprise
Architecture are:

-   Use security requirements, network requirements, and cost to
    determine the physical location of data.

-   Data supporting agency mission delivery is to be managed by the
    owning entity.

-   Share data when possible to provide new and/or enhanced services to
    customers.

-   Create common data standards across the enterprise to enable sharing
    and reuse and cut system integration and consolidation costs.

-   Create databases "of record" when possible to eliminate redundancy
    and enhance the quality of data.

# ESS Implementation Process

The ESS implementation process is comprised of five phases that an
agency team steps through to design and implement information systems
using any ESS Platforms.

These five phases are:

-   **Education and Dialog** -- Introduction to ESS concepts,
    information resources and strategies for your application. Includes
    a kickoff meeting for agencies new to the ESS implementation
    process.

-   **Application Scoping and Planning** -- Assessment of project
    details and requirements to create a completed acceptance package.
    The acceptance package is used by the ESS and agency teams to
    appropriately procure development software licenses, set up
    development/test/administrator accounts, set up developer access to
    the ESS environments, scale ESS technology, and schedule ESS
    administrators to accommodate application needs.

-   **Startup and Developer Setup** -- Setup of development
    workstations, access to development environments, orientation to
    development aids available and introduction to agency teams working
    on similar projects.

-   **Build and Deploy** -- Development, test, and deployment of the
    application. Also includes execution of application integration
    tasks.

-   **Operational / On-Going Support** -- Go-live and steady state
    support of an application.

[]{.mark}

To integrate with any of the Application Integration Options, agency
teams still need to complete the first two phases listed below. After
that agency teams follow a separate implementation process per each
Application Integration Option they plan to implement.

For more information on these separate implementation processes refer to
the applicable Develop Your Application pages at
[[www.shareservices.usda.gov]{.underline}](../www.shareservices.usda.gov).

[]{.mark}

Each of these phases is described in detail in the following sections
starting with section 3.2 Education and Dialog. The next three pages
contain:

-   A flow chart outlining the ESS Implementation Process in terms of
    high-level processes (squares) and decision points (diamonds).

-   A task list outlining major tasks, which teams are responsible for
    each and any supporting documents.

[ESS Implementation Process]{.underline}

![](media/image2.wmf)

[Implementation Process Task List]{.underline}

**Phase I: Education and Dialog Tasks**

+------------------------+---------+-------+--------------------------+
| **Task**               | **ESS   | **A   | **Supporting Documents** |
|                        | Team**  | gency |                          |
|                        |         | T     |                          |
|                        |         | eam** |                          |
+------------------------+---------+-------+--------------------------+
| Kickoff Meeting        | X       | X     | ESS Kickoff              |
|                        |         |       | Presentation,            |
|                        |         |       |                          |
|                        |         |       | ESS Implementation Guide |
+------------------------+---------+-------+--------------------------+
| Handoff to Specialized | X       |       |                          |
| Liaison Teams          |         |       |                          |
+------------------------+---------+-------+--------------------------+
| Coordinate Vendor      | X       |       |                          |
| Training               |         |       |                          |
+------------------------+---------+-------+--------------------------+
| Product Training       |         | X     |                          |
+------------------------+---------+-------+--------------------------+

**Phase II: Application Scoping and Planning Tasks**

+------------------------+---------+-------+--------------------------+
| **Task**               | **ESS   | **A   | **Supporting Documents** |
|                        | Team**  | gency |                          |
|                        |         | T     |                          |
|                        |         | eam** |                          |
+------------------------+---------+-------+--------------------------+
| Scoping and Planning   | X       | X     | ESS Kickoff Presentation |
| Meeting                |         |       |                          |
|                        |         |       | ESS Implementation Guide |
|                        |         |       |                          |
|                        |         |       | ESS Architecture         |
|                        |         |       |                          |
|                        |         |       | ESS USDA Department      |
|                        |         |       | Directive                |
|                        |         |       |                          |
|                        |         |       | []{.mark}                |
+------------------------+---------+-------+--------------------------+
| Support Scoping        | X       |       |                          |
| Document Completion    |         |       |                          |
+------------------------+---------+-------+--------------------------+
| Complete Scoping       |         | X     |                          |
| Document               |         |       |                          |
+------------------------+---------+-------+--------------------------+
| OCIO Approval of       | X       |       |                          |
| Project                |         |       |                          |
+------------------------+---------+-------+--------------------------+
|                        |         |       |                          |
+------------------------+---------+-------+--------------------------+

**Phase III: Startup and Developer Setup**

+------------------------+---------+-------+--------------------------+
| **Task**               | **ESS   | **A   | **Supporting Documents** |
|                        | Team**  | gency |                          |
|                        |         | T     |                          |
|                        |         | eam** |                          |
+------------------------+---------+-------+--------------------------+
| Create Accounts        | X       |       | Web Content Management   |
| (Developer, Test,      |         |       | Developer Guide          |
| Administrator)         |         |       |                          |
|                        |         |       | J2EE Application Server  |
|                        |         |       | Developer Guide          |
|                        |         |       |                          |
|                        |         |       | Document Management      |
|                        |         |       | Developer Guide          |
+------------------------+---------+-------+--------------------------+
| Acquire and Setup      |         | X     |                          |
| Development            |         |       |                          |
| Workstations           |         |       |                          |
+------------------------+---------+-------+--------------------------+
| Deliver Development    | X       |       |                          |
| Software               |         |       |                          |
+------------------------+---------+-------+--------------------------+
| Install Development    | X       |       |                          |
| Software               |         |       |                          |
+------------------------+---------+-------+--------------------------+
| Test Access to ESS     |         |       |                          |
| Environments           |         |       |                          |
+------------------------+---------+-------+--------------------------+
| Scale ESS Environments |         | X     |                          |
+------------------------+---------+-------+--------------------------+

**Phase IV: Build and Deploy Tasks**

+------------------------+---------+-------+--------------------------+
| **Task**               | **ESS   | **A   | **Supporting Documents** |
|                        | Team**  | gency |                          |
|                        |         | T     |                          |
|                        |         | eam** |                          |
+------------------------+---------+-------+--------------------------+
| Develop Application    |         | X     | Web Content Management   |
|                        |         |       | Implementation Form      |
|                        |         |       |                          |
|                        |         |       | J2EE Application Server  |
|                        |         |       | Implementation Form      |
|                        |         |       |                          |
|                        |         |       | Document Management      |
|                        |         |       | Implementation Form      |
|                        |         |       |                          |
|                        |         |       | Google Search Appliance  |
|                        |         |       | Implementation Form ()   |
+------------------------+---------+-------+--------------------------+
| Migrate Application to |         | X     |                          |
| Test Environment       |         |       |                          |
+------------------------+---------+-------+--------------------------+
| System Test of         | X       |       |                          |
| Application            |         |       |                          |
+------------------------+---------+-------+--------------------------+
| Migrate Application to |         | X     |                          |
| Pre-Production         |         |       |                          |
| Environment            |         |       |                          |
+------------------------+---------+-------+--------------------------+
| Test Certification     | X       |       |                          |
+------------------------+---------+-------+--------------------------+
| Performance Test of    |         | X     |                          |
| Application            |         |       |                          |
+------------------------+---------+-------+--------------------------+
| Migrate Application to | X       |       |                          |
| Production Environment |         |       |                          |
+------------------------+---------+-------+--------------------------+
| Test Production        |         | X     |                          |
+------------------------+---------+-------+--------------------------+

**Phase V: Operational / On-Going Support Tasks**

  ------------------------- ---------- ---------- --------------------------
  **Task**                  **ESS      **Agency   **Supporting Documents**
                            Team**     Team**     

  Launch Application                   X          ESS Service Level
                                                  Agreement

  Maintain ESS Environments X                     
  ------------------------- ---------- ---------- --------------------------

## How Other USDA Development Requirements Fit In

The ESS Implementation Process operates under the assumption that
applications are adhering to all USDA OCIO application development
policies standards. Adherence to other applicable USDA processes and
standards are prerequisites to implementing ESS in order to streamline
the transition to the ESS hosting environment.

Information already generated in key work products during an agency
project's life cycle is utilized by the ESS team to better forecast your
application's development and hosting needs. This information is limited
to what is necessary to support and sustain the ESS operation. Failure
to comply with appropriate procedures and methods may result in lack of
accurate or required information, and can thus lead to project delays.

Examples of relevant work products include the Capital Investment
Control Process, Application Development Methodology, and the
Information technology Waiver Process. For a complete listing of
policies and guidance references, please contact the ESS team.

# Implementation Process: Education and Dialog 

The Education and Dialog phase provides initial briefings and
educational presentations to ensure that the Agency Project Team
understands the tools and services offered by ESS.

## ESS Liaisons

The ESS Liaisons are the individuals who assist agencies through their
implementation process. A Liaison is assigned to address and oversee
each team's education, planning/scoping, developer setup, build, testing
and go-live needs. The ESS Liaison will coordinate participation and
communication when other parties are needed to accomplish your goals
(Operations team, Application Administrators, etc).

### General Liaison Team

General ESS Liaisons support the Implementation Process for the
following Platforms and introduce you to the following Development Aids:

-   Document Management (FileNet)

-   Google Search Appliance

-   J2EE Application Server (WebSphere Application Server)

-   J2EE Portal Application Server (WebSphere Portal)

-   Web Content Management (Stellent)

```{=html}
<!-- -->
```
-   Enterprise Shared Services Support Site

-   Web Style Guidelines and Design Templates

-   Developer Library (not yet available)

### Integrators -- Liaisons for Application Integration Option 

Each of the Application Integration Options requires specialized liaison
teams who are trained to manage an agency team's integration effort.
These liaisons are commonly referred to as integrators. The following
Applications have specialized ESS integrators:

-   eAuthentication

-   AgLearn

-   Common Employee Database

-   Google Search Appliance

Go to the ESS Support Site at
[www.sharedservices.usda.gov](http://www.sharedservices.usda.gov/) and
access the corresponding Application Integration Option sections, for
more information on how to contact any of these integration teams.
General Liaisons can also put you in touch with integrators as needed.

## Kickoff Meeting

Agencies should request a kickoff meeting with an ESS Liaison to begin
the Implementation Process. All agency stakeholders including agency
business representatives, eGovernment Working Group representatives,
application developers, system administration staff should participate
in this meeting.

During the Kickoff meeting an ESS Liaison walks through an overview of
ESS and the Implementation Process, answers any questions that your team
may have, introduces your team to the ESS Acceptance Package and walks
you through next steps. For more information on the Scoping/Planning
document refer to section [3.2 Scoping and Planning]{.underline}.

If you intend to integrate your application with any of the Application
Integration Options, the Liaisons at this meeting will forward you to
the appropriate integration teams for follow-up meetings.

### How to Request a Pre-Implementation Meeting

To request a Kickoff meeting send an email to <sharedservices@usda.gov>
with "Kickoff Meeting Request" in the subject line and the following
information in the body:

-   Agency Representative name, phone number, and email address.

-   Application Name.

-   Sponsoring Agency.

-   Agency team's work location/Preference for meeting location.

## ESS Support Site

Agencies looking for more information about any of the information
covered in the Kickoff meeting can refer to the ESS Support Site at
[www.sharedservices.usda.gov](http://www.sharedservices.usda.gov/).

This site contains in depth information regarding application planning,
development and support topics.

Planning information is intended to assist agencies as they determine
how best to leverage ESS to enhance the services that they deliver to
their customers. Application development resources cover the Application
Integration Options and Platforms by providing technical information,
documentation from existing applications and development guides
(development guides are not yet available). Application Support
resources include IT and Hosting Information.

### How to Access the ESS Support Site

All USDA Employees can access this site using their eAuthentication
employee account. Business partners requiring access to this site need
to register for a level 2 customer eAuthentication account. The USDA
project manager for the agency that acquired the business partner should
then send an email to <sharedservices@usda.gov> with the partner's name
and eAuthentication User ID.

## Agency ESS Lead

Each agency should have an individual or team of individuals who will
assist with identifying agency applications that need to Implement ESS
Products. These individuals should also be members of the eGovernment
Working Group (EGWG). They will work to keep agency teams apprised of
the EGWG's activities as well as the EGWG apprised of agency team
progress and high level issues.

[]{.mark}

# Implementation Process: Application Scoping and Planning

During the Application Scoping and Planning Phase an agency team
conducts an assessment of project details and requirements to create and
sign off on an Acceptance Package.

The information contained in the acceptance package forms the baseline
for the ESS and the agency team's understanding of a particular project.
The acceptance package is used by the ESS and agency teams to
appropriately procure development software licenses, set up
development/test/administrator accounts, set up developer access to the
ESS environments, scale ESS technology, and schedule ESS administrators
to accommodate application needs.

The scoping phase outlined in this document only pertains to following
Application Integration Options and Platforms:

-   Google Search Appliance

-   Document Management (FileNet)

```{=html}
<!-- -->
```
-   J2EE Application Server (WebSphere Application Server)

-   J2EE Portal Application Server (WebSphere Portal)

-   Web Content Management (Stellent)

All other scoping and planning is conducted by integrators for each of
the Application Integration Options. Go to the ESS Support Site at
[www.sharedservices.usda.gov](http://www.sharedservices.usda.gov/) and
access the corresponding Application Integration Option sections for
more information on how to contact the appropriate integrators. General
Liaisons can also put you in touch with integrators as needed.

## Scoping and Planning Pre-Requisites

The Scoping and Planning process requires information from key work
products likely already generated during an agency project's life cycle.
This information is utilized by the ESS team to better forecast your
application's development and hosting needs. Failure to comply with
department procedures and development methods may result in lack of
accurate, required information, and can thus lead to project delays.

Prior to engaging in the scoping phase, agency teams should make certain
that they are addressing all required policies and using department
development standards. For a complete listing of policies and guidance
references, please contact your ESS liaison.

## Initial Planning Meeting(s)

The purpose of the Initial Planning Meeting is to work through the
Acceptance Package and its components. The liaison assigned to an agency
team can help the participants understand how to best complete the
documentation as well as answer any questions that may come up. The
liaison can also refer the agency team to information that can aid with
particular scoping and planning decisions.

## Acceptance Package

The information contained in the acceptance package forms the baseline
for the ESS Team's understanding of the project, establishes the
high-level tasks that both the ESS Team and agency are committed to
supporting, and outlines the guidelines for build and operating tasks in
the ESS environment. Its components are outlined in the following
sections.

### Project Scoping and Planning Document

This document was initially completed by individuals in your agency and
refined through iterative conversations between the project team and the
ESS Team. The information collected through this form allows the ESS
Team to plan for the necessary resources to support the project and
manage expectations appropriately.

The document is split into a number of different categories which
include:

-   **Contact Information**

-   **General Project Information**

-   **Architecture Growth** - This information is used to determine
    modifications needed to be made to the ESS architecture in order to
    maintain standard performance requirements.

-   **Implementation Schedule** -- This information is used to validate
    that the ESS environments can be scaled and that ESS team resources
    can be made available per an agency's timeline.

### High-Level Milestone Chart

This table delineates significant events/activities that the agency is
responsible for and those the ESS Team will support along with estimated
completion dates. While this list is not exhaustive, it does focus on
commitments that all concerned must accomplish in order to ensure the
project completion dates are met.

This document is not yet completed.

### ESS Environment Guidelines

This collection of diagrams and guidelines describe the nature of the
ESS environment and prepare the project team for understanding how they
will operate. The guidelines include general support activities that the
National Information Technology Center (NITC) hosting facility provides.
Additional factors that must be considered when working in a shared
environment are also described.

-   **Draft Service Level Agreement** -- This document describes the
    types of services that an agency using ESS can expect. It outlines
    and quantifies performance expectations for each of those different
    services.

-   **Summary of Additional Costs** -- ESS has been funded through
    agency contributions as well as green book contributions. Agencies
    receive a share of services and licensee based upon their
    contributions. Should an application exceed an agency's share of
    services and licenses provided additional compensation will be
    required. In such a scenario this document outlines an agency's
    allotted share of services as well as quantifies any additional
    costs.

This document is not yet completed.

# Implementation Process: Startup and Developer Setup

During the Startup and Developer Setup phase, agency developers work to
setup up the tools they will use to build their application. The ESS
team sets up user accounts that an agency team will need for the Build
and Deploy phase and introduces an agency team to other teams that may
be implementing a similar solution.

**Note:** Information in this section only applies to ESS Platforms. For
more information on developer setup for any Application Integration
Options please refer to the applicable **Develop Your Application**
pages at
[www.shareservices.usda.gov](http://www.shareservices.usda.gov/).

## Tools Needed to Develop Your Application

The tools and workstations needed to develop an agency application
depend upon the platform being used and agency team requirements. The
following sections outline at a high level the tools needed to develop
on each of the ESS platforms. Each section also explains where to find
more in-depth information on developer tools.

### Document Management

The Document Management platform is based on the FileNet Content
Management solution. Developers do not need to install any specific
software in order to work with this product. Developers do need a
workstation that has network access to the Document Management
environments. Two developers from each agency team will have limited
administrative access to their object stores on the Document Management
servers.

For more information on getting started with Document Management
development, refer to the **Document Management Developer Guide,** which
is still being finalized. In the interim, contact your ESS Liaison to
work you through any setup steps needed.

### J2EE Application Server

The J2EE Application Server platform is based on the WebSphere and
WebSphere Portal Application Servers. The recommended Integrated
Development Environment (IDE) for building applications using either the
J2EE Application Server or J2EE Portal Application Server platforms is
WebSphere Studio Application Developer (WSAD). WebSphere Studio Site
Developer (WSSD) provides a cost effective alternative for agency teams
that require similar functionality, but do not need java bean
development support.

For more information on getting started with J2EE Application Server
development, refer to the **J2EE Application Server Developer Guide,**
which is still being finalized. In the interim, contact your ESS Liaison
to work you through any setup steps needed.

### Web Content Management

The Web Content Management platform is based on the Stellent Universal
Content Management solution. Developers can choose to install Stellent
SiteBuilder in order to develop an application using Stellent's web
content management system. However, is not required.

For more information on workstation requirements for Web Content
Management development setup refer to the **Web Content Management
Developer Guide,** which is still being finalized. In the interim,
contact your ESS Liaison to work you through any setup steps needed.

## Account Setup

The number and type of accounts required to build an application vary
based on the platform used for development (e.g., FileNet, Stellent, or
WebSphere) and the agency team's needs. A liaison will work with each
project team to set up accounts in accordance with the team's scoping
document, and your development, testing, and administrative needs.

For more information on getting started with J2EE Application Server
development, refer to the **J2EE Application Server, Web Content
Management, or Document Management Developer Guides,** which is still
being finalized. In the interim, contact your ESS Liaison to work you
through any setup steps needed.

## Identify Other Relevant USDA Projects 

One of the main goals of ESS is to increase the level of information
sharing across USDA agencies while at the same time reducing redundant
effort. This includes not only fact-based information but also work
products, such as design documentation and re-usable code. To that end,
liaisons work with agency teams to identify any other agency teams who
have already or are in the process of developing a similar application.
Agency teams working on similar projects should use this introduction to
assist one another.

# Implementation Process: Build and Deploy

During the Build and Deploy phase, an agency team works through the
Application Development Lifecycle. During this lifecycle agency teams
build and test their applications, deploying them to appropriate ESS
environments for each step.

**Note:** Information in this section only applies to ESS Platforms. For
more information on build and deploy for any Application Integration
Options please refer to the applicable **Develop Your Application**
pages at
[[www.shareservices.usda.gov]{.underline}](../www.shareservices.usda.gov).

## ESS Software Development Lifecycle Environments

There are five separate environments each of the ESS platforms. The
different environments facilitate an application's software development
lifecycle. The intended use of each of the environments is outlined in
the following sections.

**Note:** Application Integration Options integrate with hosted
applications and therefore can consist of a different collection of
environment types than those listed below.

### Local Development Environment

A local development environment is recommended for agency team
developers that intend to build components of agency and cross-agency
applications using the J2EE Application Server or J2EE Portal
Application Server platforms.

Using a local development environment should speed the initial build and
unit test process. This environment will not be integrated with other
ESS platforms. Integration work should await the move into the ESS
Development environment.

### Development Environments

The development environments are used by agency team developers to build
components of agency and cross-agency applications. Activities performed
in the development environments include:

-   Development of J2EE websites and WebSphere Portal applications.

-   Creation of Web Content Management workflows and templates.

-   Creation of Document Management workflows.

-   Integration of any agency applications that utilize more than a
    single ESS application or platform.

### System Test Environments

The System Test Environments are used by agency teams to perform system
test, which determines in a controlled situation that the application
has been developed properly. Testing is a critical part of the
application development lifecycle and has to be performed in an
environment isolated from development changes to ensure valid results.
Activities performed in the system test environments include:

-   System Testing

-   Regression Testing

-   Integration Testing

System testing is the agency team's responsibility, including creation
of test scripts, test execution, troubleshooting and issue
diagnosis/resolution. All applications residing on the ESS framework are
required to complete thorough Component and System Test prior to entry
into the Pre-Production Environment. A test plan should be sent to your
Agency Liaison before the ESS team can facilitate migration to
Pre-Production.

### Pre-Production Environment

The Pre-Production environment is used to conduct performance testing.
This helps to determine how an application would behave under high
volume use, an important part of preparing an application for
production. By simulating user load, agency teams can validate that
their application is performing according to planned response times. The
Pre-Production environment is also used to perform a final verification
of a new application releases or web content. Activities performed in
the Pre-Production environments include:

-   Load, or \"volume\" tests, determining the response times for
    specific activities at various load levels.

-   Endurance tests, that execute the same activity over and over again
    over a period of time to determine if there are any memory leaks

-   Throughput tests, that determine how many transactions of a specific
    type can be completed in a given period of time

-   Web content staging.

All applications residing on the ESS framework are required to complete
thorough Performance Testing prior to migration to Production
Environment. Performance Testing will be done with the use of Mercury
LoadRunner, installed at NITC.  Resources are available at NITC to
assist in performance test script creation, but agency teams need to
participate in that script creation process. While these tests are
performed by ESS resources, diagnosis of issues and tuning of the system
to resolve those issues is the sole responsibility of agency teams.  The
ESS Team will work with agency teams to resolve any environment-wide
issues found.

### Production Environments

The production environments are used by agency teams to host and manage
the live version of agency and cross-agency applications. To maximize
stability, only the ESS Team can make changes to the Production
environments. Activities performed in the production environments are:

-   Hosting of live websites and web applications.

-   Content creation, approval and deployment.

-   Document management.

-   Assignment of end user security attributes.

### Training Environment

The training environment is used by agency team conduct training for
application users. Training can be particularly helpful to teach users
as of yet unreleased application functionality, so that once the new
functionality is released agencies have minimized user learning curves.
It is necessary to have an isolated training environment to avoid
corrupting production data or releasing sensitive production information
to unintended users.

### Other Environments

The ESS architecture consists of a total of seven environments for each
of the Development and Hosting Platforms. While five of these
environments are for the software development lifecycle as described in
the previous sections, the two remaining environments are used
exclusively by the ESS team to expand and maintain platform
functionality. These two environments and more details on each are
described below:

-   **Integration Development Environment** -- Any software patches,
    component fixes, upgrades, or new components are created and
    integrated with the other portions of the ESS architecture in this
    environment.

-   **Integration Test Environment** -- Any software patches, component
    fixes, upgrades or new components are thoroughly tested by the ESS
    team in this environment.

## Operational Services

The ESS team provides several services to support the build, test and
deployment of your application. Each of those services is described in
the following sections.

### Environment Scaling

The ESS architecture is designed to operate per performance standards.
Based on information collected in a Scoping/Planning document, the ESS
architecture is modified to maintain those performance standards even
after a new application is brought on. For example, if an agency team
were to estimate that its application would need to support 20
concurrent users, the ESS Team would need to add to capacity accordingly
before that application went live (current capacity + 20 concurrent
users).

### Change and Release Management

The Enterprise Shared Services team has a formal process for supporting
the on-boarding of applications into each of the ESS environments. The
goal of this process is to ensure that new applications, as well as
those already residing on the infrastructure, function as planned.

[]{.mark}

Change Management is the organization and planning needed to make any
modifications, or change requests, to the ESS environments. Change
Management takes into account any requirements for modifications. For
example, before an application can be migrated from the System Test to
the Pre-Production environment, System Test must have been completed.
The Change Request would need to include information describing the
testing done. Release management is the act of actually performing the
change request. Release management is performed in a manner that could
be backed out should any issues arise.

# Implementation Process: Operational / On-Going Support

This phase begins once an application goes live. It includes
Application/Hosting services, Service Desk functions and Service Level
Agreement (SLA) execution. Application updates are also addressed in
this phase.

**Note:** Information in this section only applies to ESS Platforms. For
more information on operational/on-going support for any Application
Integration Options please refer to the applicable **Develop Your
Application** pages at
[[www.shareservices.usda.gov]{.underline}](../www.shareservices.usda.gov).

## Application and Hosting Service

The ESS Application and Hosting Services includes system maintenance,
upgrades and incident resolution. System maintenance tasks ensure that
the hardware, operating systems and software that make up the ESS
Development and Hosting Platforms continue to function properly. Upgrade
tasks include installation, test and configuration of any necessary
system updates or security patches. Incident resolution tasks are
activities performed to fix any functionality issues whether found
preemptively by the ESS team or reported by agency teams.

Any changes made to the environment must go through the Service
Management process, which documents, evaluates, tests and communicates
all change requests prior to actually deploying them through a Release
Management process.

## Incident Management

Incident Management is the process which receives and acts upon incident
alerts, and then subsequently handles the notifications and updates to
agency teams, including resolution to those incidents. Additionally, any
planned system outages are communicated to the impacted user-base via
this process.

## Service Level Agreement

A Service Level Agreement (SLA) is put into place between agencies and
the ESS team. This SLA outlines performance standards for applications
hosted in the ESS environment, including incident resolution criteria
and other support specifics.

## Application Update Process

Agency applications that require updates to their production code need
to go through an abbreviated version of the implementation process.
Rather than contacting the Services Desk, these applications should
contact their liaison who can walk them through the process.

# Appendix A: ESS Applications, Development and Hosting Platforms, and Development Aids

USDA has developed a suite of products which are collectively known as
Enterprise Shared Services. ESS is made up of three categories:

-   Application Integration Options

-   Platforms

-   Development Aids

Each of these three categories is described in the following sections,
along with a high level overview of each of the services within each
category. These overviews should be used as introductions only. For more
information on any of the ESS components please go to the ESS Support
site at
[www.sharedservices.usda.gov](http://www.sharedservices.usda.gov/) or
schedule a Kickoff meeting with your liaison.

## Application Integration Options

These are enterprise systems that agency applications can choose to
integrate with to perform commonly repeated functionality. The
enterprise systems have people, processes, and technology in place to
facilitate the aforementioned functionality. Integration typically
entails configuration of the enterprise system and modification of the
integrating agency application.

### AgLearn - eLearning Application

AgLearn is the USDA's eLearning application. It is designed to
facilitate the delivery and tracking of educational services to USDA
employees, partners, and customers. AgLearn provides its users with an
educational gateway to all USDA electronic training resources, supplying
them with a course selection process and the ability to view progress in
their personalized learning development plans. It provides training
registration authorities the ability to assign students to courses as
well as track course and learning development plan completion.

By doing all this, AgLearn increases the availability to training,
lowers training development expenses, increases training methods
available and maximizes accountability and tracking capabilities.

### Common Employee Database

The Common Employee Database (CED) is the authoritative source for
applications requiring USDA employee information. It gathers employee
information from the National Finance Center and preformats it into
standard data types and sizes. Once that is completed, data can be
easily and securely distributed as customizeable XML files to requesting
agency information systems. These files can be distributed on a
pre-specified schedule,

By doing all this, the CED minimizes overhead costs by creating a single
databases of record in turn reducing redundancy and enhancing data
integrity. It eliminates the need for user administration by business
applications by facilitating systematic authorization decisions.

### eAuthentication

eAuthentication is the USDA's Authentication and Application Permissions
application which provides a number of services. First, eAuthentication
allows users to employ a single account (set of credentials -- User ID
and Password) to gain Single Sign-On access across all integrated USDA
applications. Users obtain these credentials through a combination of
registration and identity proofing processes each of which correspond to
OMB levels of assurance (levels 1 and 2 are currently supported).

eAuthentication also enforces customizable Application Permissions,
restricting user access to each integrated application per agency
specifications. For example, an application could specify that only
level 2 users from Illinois have the proper Application Permissions to
gain access. eAuthentication also facilitates application Authorization
(application side Application Permissions) by passing user attributes to
an application as header variables.

The registration processes and associated identity proofing methods that
eAuthentication facilitates are designed to comply with policies
outlined in: OMB M-04-40: E-Authentication Guidance for Federal Agencies
and NIST Special Publication 800-63: Electronic Authentication Guidance.

For more information on eAuthentication refer to
sharedservices.usda.gov. The USDA department directive

### Google Search Appliance

The Google Search Appliance provides customizable, web search-engine
functionality for USDA agency applications. Agency developers can create
search forms that integrate with the Google Search Appliance. These
search forms submit user search request information to the Google Search
Appliance, which then processes those requests and returns relevant
results.

The Google Search Appliance crawls, or searches through agency-defined
collections of web pages on a regular basis to create searchable
indices. These indices are then used to execute actual search requests.

Agency teams can customize Google search results by defining which web
pages to include in collections. These collections filter the web pages
that are returned as results for end-user searches. For example, if an
agency team needed a search form that allowed employees to search only
internal USDA web pages, that application team would identify these USDA
pages and create a particular collection for them. The application's
search form would refer to this particular collection, and the Google
Search Appliance would only return results if they were included in that
particular collection.

The Google Search Appliance is integrated with eAuthentication and is
thus able to search protected sites. It filters search results when
searching protected pages, only returning results that a user is
authorized to view.

##  {#section .unnumbered}

## Platforms

Platforms enable agency teams to build, test and run their business
applications. Each of these platforms and their high level functionality
are described in the sections below.

To help agency teams better understand the tools available,
specifications for each of the platforms are also listed in the
following sections. Software upgrades often create new capabilities, so
this information pertaining to the software, application servers,
databases and operating systems should help agency teams understand what
functionality is available.

**Note:** The software, application servers, databases and operating
systems information is complete as of March 1, 2004, but may change in
the future.

### Document Management (FileNet)

The Document Management platform allows agencies to create a system that
users can employ to store, modify, retrieve and reuse documentation
across the organization. Application teams can create document-based,
customized workflows, which are processing templates that specify the
steps, resources, and routing logic needed to complete a business
process such as publishing a document.

The Document Management platform has the capability of being integrating
with Web Content Management, so that documents and records stored could
be published as well as incorporated in Web Content Management search
functionality.

The Document Management platform is based on FileNet's Document and
Records Management Suite v 2.0.1, including Application Engine P8,
Process Engine P8, Rendition Engine P8**,** Content Engine P8 and
Process Analyzer P8 components. Other platform components include:

-   [Operating System:]{.underline} Windows 2000 Advanced Server

-   [Application Server:]{.underline} WebSphere Application Server 5.0.2

-   [Database:]{.underline} Oracle 9.2.0.4

### Web Content Management (Stellent)

The Web Content Management platform allows agencies to create a system
that allows non-technical users to contribute, modify and approve
content that can then be published on agency web applications.
Application teams can create content-based, customized workflows which
are processing templates that specify the steps, resources, and routing
logic needed to complete a business process surrounding updating,
approving and publishing web content. Application teams can also create
templates for publishing web-based content.

The Web Content Management platform has the capability of being
integrating with WebSphere Portal based applications, so that content on
Portal pages can be updated through Web Content Management service. It
can also be integrating with Document Management, so that documents and
records stored there could be published as well as incorporated in Web
Content Management search functionality.

The Web Content Management platform is based on Stellent's Content
Management Suite v7.11 including Content Server, Web Content Management,
Content Integration Suite, and Content Portal Suite for WebSphere
components. Other platform components include:

-   [Operating System:]{.underline} Windows 2003 using IIS

-   [Database:]{.underline} Oracle 9.2.0.4

### J2EE Portal Application Server (Webspere Portal)

The J2EE Portal Application Server platform provides USDA agencies an
architecture on which they can develop and host various J2EE based
applications. The architecture consists of 5 different environments
geared toward software development lifecylce stages. Each of those
environments hosts the J2EE Portal Application Server platform and
interfaces with an Oracle database and IBM Directory Server LDAP.

The J2EE Portal Application Server platform also includes portal
technologies that can be used to incorporate disparate applications (or
application functions) into a single Portal, customize user experiences
based upon their attributes, contain web content populated and managed
by web content management service and incorporate "Portlets\" which are
reusable applications that can be deployed across multiple sites.

The J2EE Portal Application Server platform is based on IBM's WebSphere
Application Server v5.0.2 including the Portal Extend with FP2,
Application Server EE with FP2, Load Balancer, Edge Server, Caching
Proxy and Deployment Manager components. Other platform components
include:

-   [Operating System:]{.underline} SuSe Linux SLE8 2.4 Kernel

-   [Database:]{.underline} Oracle 9.2.0.4

-   [LDAP:]{.underline} IBM Directory Server on DB2 database

### J2EE Application Server (Webspere Application Server)

The J2EE Application Server platform provides USDA agencies an
architecture on which they can develop and host various J2EE based
applications. The architecture consists of 5 different environments
geared toward software development lifecylce stages. Each of those
environments hosts the J2EE Application Server platform and interfaces
with an Oracle database and IBM Directory Server LDAP.

The J2EE Application Server platform is based on IBM's WebSphere
Application Server v5.0.2, Application Server EE with FP2, Load
Balancer, Edge Server, Caching Proxy and Deployment Manager components.
Other platform components include:

-   [Operating System:]{.underline} SuSe Linux SLE8 2.4 Kernel

-   [Database:]{.underline} Oracle 9.2.0.4

-   [LDAP:]{.underline} IBM Directory Server on DB2 database

## Development Aids

### Enterprise Shared Services Support Site

The ESS Support Site is the resource that application teams can use to
find ESS information including planning, development and technical
topics. Planning information assists with defining and addressing a
business case, creating a project plan and identifying ESS solutions
available. Application Development resources include WebSphere Portal,
Web Content Management, Document Management, and CED information,
documentation and technical guides. Application Support resources
include IT and Hosting Information.

The ESS Support Site also contains feedback forms which are used to
collect input to better meet application team needs.

### ESS Developer Library

ESS Developer Library consists of a set of components and frameworks
that can be utilized by each agency teams using the ESS Platforms. These
components and frameworks can be leveraged by agency teams to eliminate
the need for redundant work, support the use of development standards
and ensure efficient application architecture. Examples of these
components include standard baseline workflows, templates, publishing
components, imaging services, and generic portlets.

The ESS Developer Library is currently being developed and is not yet
available.

### Web Style Guidelines and Design Templates

Common Web standards have been developed and are available for agencies
to use when designing and developing Web sites and Web-based
applications. USDA\'s Web Style Guide describes the standards for look,
feel, and navigation across all of USDA\'s public-facing sites and
applications. A toolset comprised of design blueprints (wireframes),
graphical templates, and HTML templates are available for agencies for
use along with educational materials addressing following subjects:

-   Section 508 compliance

-   Writing content for the Web

-   Usability

-   Wireframe development

-   How to use Photoshop