|
EPRI.com Web Application Developer checklist |
|
| |
| Access Control |
|
| Database |
|
|
| Look & Feel |
|
|
| Required Content |
|
|
| Testing |
|
|
| Quick Overview: |
| EPRI.com has standards for look and feel on the site. Please follow the guidelines for these included in this document. Look and feel should follow EPRI.com's current year headers and footers. Deviations from these HTML and design standards are subject to review by IT Department manager, Robin Hersko. We do not support Frames or non-neutral browser effects. Publishing content may involve the generation of HTML pages. The standards for this content are a minimum of HTML 4.0 compliance. All HTML must validate to this level of HTML and be browser neutural working in at least Netscape and Internet Explorer 4.0 versions or above. EPRI.com's HTML standards must be followed for things like font color, size and nav bar colors. These details and some limitations on acceptable HTML, Javascript and Java can be further explored |
| at:http://www.epri.com/corporate/eis/webspecs/epristyle.html |
|
| EPRI.com has standards for databases and platforms. We do not support MS Access, File maker pro or Sybase databases. Please follow the guidelines for database development included in this document. |
|
| EPRI.com has access control standards. Contact Paul Durdle pdurdle@epri.com to ensure your app has appropriate access control snippets. |
|
| Please follow the steps to get your web application on EPRI.com in time for its release date. |
|
| Introduction |
| What is considered a web application? |
| EPRI.com site is largely comprised of marketing materials to engage new customers and deliverable content usually in the form of Technical Reports representing the fruits of EPRI research. These are presented either dynamically through use of a content tool and standard templates or in the case of Non standard content as static web pages. Applications may be considered as EPRI results or products that are interactive by nature and usually involve databases or other media to perform the required action for a defined set of users. They are to be used by funders of the application only for the period their agreements with EPRI allow. In short, almost anything other than an html standard or non-standard content page. Examples: databases, video, calculators, areas with user significant live user interaction etc. |
|
| This document outlines the EPRI Web site environment from a developer's perspective. The guidelines are recommendations that should be adhered to in development in order for change management, maintenance and new development to be understood and manageable by EPRI. |
|
| The standards are the minimum toIT Application Services or program versions and base methodology approach to be utilized for all applications appearing on EPRI's Web site(s). |
|
| Steps to get an application on epri.com: |
 |
Review project plan before development work starts with IT Paul Durdle, |
| |
pdurdle@epri.com |
|
|
 |
Fill out the web application request form located on EPRI's internal Intranet |
| |
http://inside.epri.com/epri.comresource/webapplicationchecklistform.htm |
|
|
 |
Contact Paul Durdle pdurdle@epri.com and request a Perforce ID and promotion tracker id to gain access to EPRI's Development servers and request promotions. This should happen well before you plan on having your application in development servers at EPRI. |
|
|
 |
Develop application using the web page template provided in this document. Keep development work in line with EPRI.com application standards outlined in this document. |
|
|
 |
Incorporate EPRI's authentication and access control code snippets. Contact Paul Durdle in IT for more detail. Do not write in your own access control code or log in ids with in your application. Single sign on code using existing customer's EPRIweb ids must be used. |
|
|
 |
Work with IT Applications services to incorporate application into EPRI's source Control management system at least six weeks prior to go live. This will give you a development and test environment to work with on EPRI's web servers for further review by EPRI staff. At least six weeks prior to go live your application must be in EPRI's test servers. |
|
|
 |
At least 6 weeks prior to go live, submit the web application to the software testing group for approval to. Arobicha@epri.com |
|
|
 |
At least 3 weeks prior to go live, request promotion to production using the promotion request tracker located at http://joule.epri.com/promotions/login.asp |
|
|
| Application Guidelines |
| Although applications are not the same as content on epri.com, the site has an overall look and feel that supports the EPRI brand and consistent navigation that should be carried over into applications as much as possible for the user's benefit. |
|
| Application Page Template: |
| The following template is provided to help you create your application pages. It includes the EPRI brand with the site standard headers and footers. If your application uses navigation, links to those should be placed in the left hand navigation bar provided in this template. If no navigation is needed, the table with the left hand navigation bar can be eliminated. Deviation from the colors of the template provided requires approval from IT Application Services Manager Robin Hersko. |
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Document Title</TITLE>
</HEAD>
<BODY BGCOLOR="#ffffff" TEXT="#000000">
<!-- Header reference -->
<!--#include virtual="/general/ns_header.txt"-->
<Table width="600" cellpadding="5" cellspacing="0" border="0">
<tr>
<td width="150" bgcolor="#D6F3FF" valign="top">
Text Links go here!
</td>
<td width="450">
Content or Application code Goes Here!
</tr>
</tr>
</table>
<!-- Footer reference -->
<!--#include virtual="/general/ns_footer.txt"-->
</BODY>
</HTML> |
|
| Required components of web applications: |
| HTML Validation - All HTML in web applications should be validated to ensure it is compatible with 4.0 versions of Netscape and Internet Explorer as a minimum. Your web application should work in both Netscape 4.0 and IE 4.0 and above. Over 4000 visitors to the site per month are still using Netscape 4.0 versions. |
|
 |
HTML Validation - All HTML in web applications should be validated to ensure it is compatible with 4.0 versions of Netscape and Internet Explorer as a minimum. Your web application should work in both Netscape 4.0 and IE 4.0 and above. Over 4000 visitors to the site per month are still using Netscape 4.0 versions. |
|
|
 |
Help - all pages should link to help pages that pertain to that application. |
|
|
 |
Application testing - All web applications should be tested by the EPRI Software Test group. Contact Mary Mckenna (mmckenna@epri.com) for details. |
|
|
 |
Stress testing - applications will be subject to a stress test and performance impact review to determine the effect on the epri.com site. Results of these tests may delay the release date of the application pending an improved performance solution. |
|
|
 |
Contact information- All web applications should have a link or provide information on where to go and who to call for more information on the application. |
|
|
|
|
| Acceptable components of web applications: |
|
 |
Headers and footers -All applications should support the EPRI brand using the template above which includes the EPRI.com headers and footers. Above the footer, a contact statement should appear on all pages so users will have a contact other than EPRI's customer assistance center for the application. |
|
|
 |
Java Script - Use of Java Script in application requires approval from Online services and you must put a reference on the application pages that directs users to enable java in their browsers in order to use the web application. |
|
|
 |
Opening new windows - This is reserved for links taking users off the epri.com domain. Only open a new window if the links in your application are taking a user off the epri.com or epriweb.com site. |
|
|
|
|
| Non-acceptable components of web applications: |
 |
Frames. |
 |
Non-neutral browser effects. |
|
|
| Application Standards: |
| EPRI has the ability to publish information on its Web sites through both NT and SUN operating system environments. Development in either environment is acceptable, with the understanding that Active Server Page developments can be deployed in the UNIX environments through new products like Chili!Soft (http://www.chilisoft.com/). This approach leverages existing investment, bandwidth and reliability while allowing choice in the means of development. |
|
| EPRI currently has ability to support two leading databases (Oracle and Microsoft SQLserver). Depending on the assessment of the application and the deployment path chosen, the production system could use either database. Ask IT Application Services for details of the current versions in production. |
|
| Equipment Location |
| EPRI is the location for Development and Test environments required for the EPRI Web sites. DIGEX is EPRI's chosen Internet Service Provider and location for the Production equipment. |
| The production environment is defined as 24 hour by 7 day operation, with minimal downtime due to maintenance or servicing, usually between 5-7pm Pacific Time and with user notice given, where possible. |
|
| The Test environment is a close approximation to Production in data or content terms. The data are subject to change and the Test machines may be down or unavailable for periods with little notice. |
|
| The Development environment is the most dynamic environment; data is not expected to be at full Production level and the Development machines may be altered or configured without notice. |
|
| Current Infrastructure |
| EPRIweb 2.0 |
| EPRIweb 2.0 utilizes SUN servers and Oracle 7.2 to provide a series of applications that IBM and other contractors have developed for EPRI. IBM has documented these applications and a promotion method is available for this architecture. |
| |
| Servers exist for Development and Test at EPRI and for Production at EPRI's Internet Service Provider DIGEX. |
|
Location |
DNS |
Type/Use |
SUN Model |
|
EPRI |
Megawatt.epri.com |
UNIX Development |
SPARC 20 |
|
EPRI |
EPRI2.epri.com |
UNIX Test Environment |
SPARC 20 |
|
DIGEX |
Epri1.epri.com |
UNIX Production Environment |
ULTRA 2 |
|
DIGEX |
Moto.epri.com |
UNIX Production Search/Training |
ULTRA 1 |
|
|
|
|
|
|
| |
| No further development is being undertaken on the EPRIweb 2.0 environment and the equipment will be re-purposed for later EPRIweb releases once all dependencies on EPRIweb 2.0 have been removed. |
|
| For complete equipment list, see the attached EW Hardware list. |
| EPRIweb 2.5 |
| EPRIweb 2.5 utilizes Microsoft NT servers and SQL Server 7 to provide active server pages from database repositories. This approach has been developed and documented by US Web. |
| Servers exist at EPRI for Development and Test activities while Production is located at EPRI's Internet Service Provider DIGEX. |
|
Location |
DNS |
Type/Use |
Machine |
|
EPRI |
VOLTDEV.EPRI.COM |
NT Development site |
Compaq 1600 |
|
EPRI |
YODA.EPRI.COM |
NT Test Database |
Compaq 1600 |
|
EPRI |
VOLTTEST.EPRI..COM |
NT Test site |
Compaq 1600 |
|
EPRI |
EW_DEV01 |
NT Test Publishing System |
HP Vectra |
|
EPRI |
JOULE.EPRI.COM |
NT Publishing System |
Compaq 1600 |
|
DIGEX |
LUKE.EPRI.COM |
NT Production Database |
Compaq 1600 |
|
DIGEX |
LEIA.EPRI.COM |
NT Production http//www.epri.com |
Compaq 1600 |
|
|
|
|
|
|
|
| The environment has some dependencies on EPRIweb 2.0 infrastructure and these dependencies will be reduced by planned developments. |
|
| These dependencies currently include; |
| Access Control logic. |
| Eligibility Checking. |
| Order (Shopping Cart). |
| Year2000. |
| Online Items Delivery. |
|
| Additional Servers |
|
Location |
DNS |
Type/Use |
Machine |
|
EPRI |
EVILEMPIRE.EPRI.COM |
NT Development Server |
HP Server |
|
EPRI |
HUBUB.EPRI.COM |
UNIX PerforceSource Control Server |
SPARC 20 |
|
EPRI |
ENERGYSEARCH |
UNIX Public Search Engine |
ULTRA 2 |
|
EPRI |
BUBBLE.EPRI.COM |
UNIX EW2.5 Dev |
SPARC 10 |
|
EPRI |
ATAI.EPRI.COM |
AIX EW2.0 AI and Enrollment Support |
AIX Server |
|
EPRI |
PROD0.EPRI.COM |
AIX Back office DBs |
AIX Server |
|
DIGEX |
E3000.EPRI.COM |
UNIX Database Server |
E3000 |
|
|
|
|
|
|
|
| Publishing content may involve the generation of HTML pages. The standards for this content are a minimum of HTML 3.2 compliance. These details and some limitations on acceptable HTML, Javascript and Java can be further explored at; http://www.epri.com/corporate/eis/webspecs/index.html |
|
| Software Available |
| The following lists are some of the key programs used on the main platforms (UNIX and NT). |
|
| UNIX: |
Oracle 7.2 and 8I.
Apache.
Stronghold (Secure version of Apache).
ChiliSoft.
Infoseek Ultraseek and CCE products.
Netscape Publishing System 1.0 (To be retired).
Verity Search 97. |
|
| NT: |
SQL Server 7 (Enterprise).
Datajunction 7.
Microsoft IIS 4. |
Developer ToIT Application Services:
Microsoft InterDev.
Fusion.
ER Studio. |
| Web Development Lifecycle |
| A Web project lifecycle is envisioned for all applications or developments to appear on the EPRI Web site. |
| 1. A Web development project has clearly defined EPRI sponsors, end users and business needs that can be achieved using the EPRI Web site. |
| 2. Measures for success will be defined. |
| 3. A high level user or business requirements document will be developed. |
| 4. An initial planning meeting will define any integration and a scope plan is created. |
| 5. An architectural assessment will be performed yielding potential approaches. |
| 6. An early cost estimate will be provided. |
| 7. Detailed requirements gathering process will produce a detailed specification document. |
| 8. A test plan will be developed. |
| 9. A development environment will be setup and used. |
| 10. Change management procedures will be followed for code and data. |
| 11. Unit testing and integration testing will be performed in development by developers. |
| 12. A User test environment will be setup. |
| 13. User acceptance testing will be performed in a test environment. |
| 14. Marketing and support staff training on the application will be performed. |
| 15. An acceptance document will be produced. |
| 16. The code and data will be promoted to production. |
| 17. The application will be announced or showcased. |
| 18. Maintenance phase begins with support desk feedback. |
| 19. Maintenance responsibilities will be defined and problem escalation procedures. |
| 20. Change requests will use the change management procedures. |
| |
| Development Considerations |
| Future enhancement and new development on EPRIweb will leverage investment in Solaris and provide a robust platform for a database backed Web site. |
|
| RDBMS |
| New development should be done using the Oracle 8 environment. Eventually, all production databases will be located on one or more dedicated servers running Oracle 8 or Oracle 8i. Text files should be limited to configuration information for the applications. |
|
| Support for Microsoft SQL Server 7 (Enterprise) will be allowed and ability to migrate to Oracle 8i should be factored into development plans. The applications scalability and performance impact will determine the decisions around use of SQL Server 7. |
|
| Subsystems |
| There are three integrated subsystems on EPRIweb: |
| The original EPRIweb 2.0 on UNIX platform which is now layered over by EW2.5. |
| The EPRIweb 2.5 on NT platform that supports the EPRI eligibility business model. |
| The Publication System (PubSys) on NT platform which is a dynamic schema that supports the content tool. |
|
At present, EPRIWeb 2.0 supports the applications that have not moved to the 2.5 environment.
The EPRIweb 2.5 manages relationships between three main groups of entities: |
|
| Users |
| Companies |
| Sales items. |
|
| Apache Web Server |
| New releases of regular Apache and SSL Apache Web servers will be evaluated for use in future applications. |
| Custom Apache modules are discouraged. |
| Apache will be available on NT platforms also. |
|
| Microsoft IIS |
| Microsoft IIS 4.0 will be available on NT platforms. |
|
| Programming Languages & APIs |
| The existing applications will be deployed on Solaris under the Apache Web Server using Chili!ASP for Apache/Solaris or Mod_Perl. |
|
| To improve platform and code compatibility and increase development efficiency, open standards (mainly Java and Corba components) are recommended for the enhancement work on the existing applications. The open standards will be required for new application development. In particular, objects used by ASP pages can be written in Java, packaged as beans and accessed from inside Chili!ASP via the Chili!Beans framework. |
|
| All of the EPRIWeb subsystems including EW2.0, EW2.5 and PubSys should only be accessed through the proper open standard API s. ASP developers should use ChiliSoft open standard APIs to access the EW 2.5 and PubSys. Current version of Perl is 5.004XXXX. New development which requires Perl should use this version of Perl. |
|
| The current Java 2 platform will be the preferred programming language for future new development. Future application development should adhere to high quality enterprise Web site standards: it must be highly robust and highly scalable and has excellent load balancing and fail-over capabilities. Rapid application development (RAD) approached is preferred, including using high quality open standard Web application servers and integrating proven third-party solution components, mainly JavaBean, Enterprise JavaBean and Corba components. |
|
New development will need to take into consideration the compatibility issues with backend Apollo system, if applicable. In particular the definition of application users in Apollo and length of access applicable. These are typically part of customer contracts that permit contacts at a given customer access to the application. Review of Apollo data will enable the correct and accurate access necessary for users of the application.
|
|
| Updates and Upgrades |
| Major version releases will be tested for compatibility in the Test environment before being put into Production. The owners are responsible for maintaining and initial proof testing their code. |
|
| IT Application Services Contacts |
IT Application Services contacts and their contractors support EPRIweb.
Roles and responsibilities for various |
|
| IT activities are listed as follows: |
|
Location |
DNS |
Type/Use |
Machine |
|
EPRI.com Product Manager |
Paul Durdle |
Pdurdle@epri.com |
1650 855 2692 |
|
IT Application Manager |
Robin Hersko |
RHERSKO@epri.com |
1650 855 1058 |
|
|
|
|
|
|
|
| Security |
| EPRI requires all contractors to contact the IT Application Services group about security issues. |
|
| These issues include: |
| Access to Development and Test servers through EPRI firewalls |
| Access control for applications |
| Eligibility issues for applications |
|
Single sign on is required on all applications using existing EPRIweb authentication. EPRI customers should not be expected to log into EPRIweb, then log into your application. This is a customer service issue, which must be avoided. This requires code snippets supplied by IT Application Services group. Please do not write in your own access control code for applications.
Contractors will require one or more of the following security client programs: |
| |
|
|
|
|
|
SSH |
Secure Shell Transactions |
www.ssh.fi |
|
PGP |
Pretty Good Privacy |
www.pgp.com |
|
Remotely Possible |
Connectivity tool to NT servers |
www.avalan.com |
|
FTP, Telnet |
These should be used in SSH toIT Application Services. |
www.vandyke.com |
|
|
|
|
|
|
| |
| Access to UNIX/Solaris development and test platforms from outside the firewall requires a SSH client (included in SSH version of Telnet and FTP) running on a fixed IP. If you do not have a fixed IP address, you need an EPRI network dialup account. Access to NT platforms requires either the Visual Interdev/FrontPage development toIT Application Services or direct access to the machines through the Remotely Possible client. In this case, either a fixed IP address or a subnet of your local network will be required. |
| |
| Change Management Policy |
| In order to provide orderly change to the EPRI Web site machines the following policy needs to be understood and followed: |
|
| Any authorized developer can submit a change into the Development branch. The ability to submit a change to the Test branch is restricted to a subset of developers. The ability to submit a change to the Production branch is restricted to site operations administrators. The only changes that can be submitted to the Test or Production branches are the integration of changes in the Development branch. |
|
| HTML file changes submitted to the Development or Test branch must validate according to the standards ( http://www.epri.com/corporate/eis/webspecs/index.html ) The change management scheme for EPRIweb 2.5 involves the use of Perforce ( http://www.perforce.com ) for all source code management including both NT and UNIX sources code, some content and configuration files. Perforce offers training and graphical user interfaces to assist in code management. Developers are encouraged to learn this tool for their code iterations. |
|
| Summary |
| The above document should describe the EPRI Web site environments: |
| Outline the standard software and development toIT Application Services to be used in those environments. |
| Define who in IT Application Services should be contacted for further information. |