Website Assessment and Architecture Improvements Enhance Operational Performance
Project at a Glance |
RDA analyzed and modified architectural elements of various Web-based Java applications
for a student loan servicer. The deliverables included an enhanced architecture, process assessment documents,
weekly status reports, and organizational recommendations. This helped our client improve performance in developing,
deploying, and maintaining their Web-based applications.
|
About Our Client
RDA's client provides billing, accounting, and data processing services for Federal Perkins and institutional
loans issued by over 550 colleges and universities in the United States, Puerto Rico, and the Virgin Islands. They have over
700,000 borrowers and over $2 billion of assets. As part of its offerings, this company provides a set of Web-based tools for
its customers (colleges and universities) and borrowers (students).
Background
During the 20 months prior to this project, RDA's client outsourced the development of a number of front-end applications
for schools, lending institutions and borrowers to see their data. These applications were developed by three different outside
vendors, using JRun and Websphere. They were experiencing problems in developing, deploying, maintaining, and updating several of
these Web-based applications.
Solution Detail
RDA reviewed a subset of the Web applications in order to assess current performance and operational issues, and examined the
underlying application architecture's ability to meet future product/services initiatives. The summary report, delivered as a
result of the assessment, included a series of architecture as well as process and procedure recommendations that would need to
be implemented by an outside source and a number of suggestions that could be handled internally.
After the assessment, RDA addressed the following issues:
- Use of Stateful Session Beans
- Use of fine-grained method invocation
- Session/State/Cache Management
- Exposed JSP pages
- Static Variable Initialization
- EJB remote interfaces cached in the HTTP session
- Default values for ejb-jar configuration parameters
- JDK format class thread/synchronization issues
Additionally, RDA provided mentoring and guidance to assist our client in implementing various process and procedure changes.
Deliverables from the project included:
- Executive Summary and Detailed Architecture and Process assessment documents.
- Weekly Status Report showing all tasks performed and hours worked for each consultant on the project. This allowed the company to closely track progress and cost.
- List item 2
- Modified architectural elements and code base that effectively addressed the above listed issues.
- Assistance with establishing guidelines for automated build and unit testing, build promotion, Configuration Management, and project development processes.
Benefits
In addition to the technical deliverables associated with this project, RDA's client benefited from the organizational recommendations made by RDA, including the following:
- Add a dedicated Network Administrator. This was a crucial function that was not being effectively addressed. With the number of Web sites and end users being supported, there was a critical need for someone to manage and maintain all of their hardware needs. This was one of the major reasons for the current lack of confidence in a repeatable promotion solution.
- Add at least one more Web development resource. Based on the development workload and the number of enhancements, bug fixes, and wish list items, the development staff was undersized.
- Implement a Build Master position. This is one of the most crucial aspects of effectively managing code promotion and CM. This person is empowered to decide whether and when code is promoted to the next environment. Without this position and the necessary empowerment, regression test suites, automated build processes, CM, and production quality are all in jeopardy.
- Add a dedicated Web Administrator. This person acts as the central point of contact for ensuring that all the companies' websites are installed properly and are continually operating at peak performance.
Technically Speaking
RDA made the following application recommendations:
- Refactor the application architectures to apply the J2EE best practices and design patterns. Focus primarily on the EJB layer, transaction management, and data caching. Use the redesigned architecture as the basis for the J2EE applications and enforce a consistent architecture across the applications: mycampusloan, system 3i, and iPromise.
- Revisit the selection of the JRun application server. Our assessment could find no JRun specific API calls and we were quite confident they did not exist since the Development environments were run on Apache. JRun is very rarely used in production environments and does not contain many of the performance tuning tools and advantages of other available products. It should be considered a declining technology and should be replaced.
- Develop more complete architecture, design, and coding standards documentation. Back fitting these to the existing applications may not be practical, but enforcing good standards going forward is crucial.
To improve the Software Development Life Cycle (SDLC) Process, RDA recommended and assisted our client with the following improvements:
- Establish a well documented flexible SDLC process
- Establish rigid Configuration Management (CM) Procedures
- Develop a Regression Test Suite
- Implement a Continuous Automated Build Process
- Change the Build Promotion Process
- Promote Production builds on a less frequent basis