0% found this document useful (0 votes)
21 views4 pages

CrewWatch Application Modernization RFP

The document requests proposals to modernize the CrewWatch application by transitioning to a microservices architecture using React.js for the front-end and migrating the backend database from Oracle to PostgreSQL while merging three code bases into one unified code base.

Uploaded by

prasant.k
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views4 pages

CrewWatch Application Modernization RFP

The document requests proposals to modernize the CrewWatch application by transitioning to a microservices architecture using React.js for the front-end and migrating the backend database from Oracle to PostgreSQL while merging three code bases into one unified code base.

Uploaded by

prasant.k
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Request for Proposal (RFP): CrewWatch Application Rewrite

1. Introduction
This RFP invites proposals from vendors for the modernization of the CrewWatch application, shifting
from an Apache Wicket application with an Oracle backend to a more modern, scalable architecture.

2. Project Overview
CrewWatch, integral to our operations, currently operates on three different code bases for our distinct
customers. The application requires modernization to address existing limitations and to streamline its
architecture.

3. Objectives
The primary objectives of the rewrite are:

 Transition from the current monolithic architecture to a microservices-based approach.


 Replace the front-end technology with [Link] for a more responsive and maintainable user
interface.
 Migrate the backend database from Oracle to an ANSI-Compatible version with a proof-of-
concept instance of CrewWatch running in PostgreSQL.
o Migration process for existing customers from Oracle to an updated ANSI-Compatible
version of Oracle as well as being able to support PostgreSQL
 Merge the three existing code bases into a single unified code base.
 Implement configurable modules to cater to individual customer requirements.
 Enhance scalability, performance, and maintainability.

4. Technical Requirements
Front-end: Implementation of [Link] with MUI design system.

Back-end: Update to latest Spring Boot with database migration to an ANSI-Compatible version with a
proof-of-concept instance of CrewWatch running in PostgreSQL, with a focus on data integrity and
seamless transition.

Code Unification: Strategies for merging the three distinct code bases into one, ensuring minimal
disruption.
Customizability: Develop configurable modules or settings to tailor the application according to each
customer's specific needs.

Architecture: Shift to microservices to improve scalability and maintenance.

Security and Compliance: Adherence to the latest security standards and compliance requirements.

Testing and Deployment: Comprehensive testing, including unit, integration, and system tests, and a
robust CI/CD pipeline.

Below is a high level overview of the existing application size and structure.

Number Description Notes


Product
1 Current tech stack is outdated with no support for some,
architecture/design
· Wicket
· Spring 2.x [milestone version]
· JDK 1.8
· SOAP
· Oracle
· IBM MQ
· Jboss 6.3/7.4 Tomcat 9.54
Current UI framework is outdated and hard to maintain. Wicket
2 UI redesign
Responsive design for better mobile experience
3 UX architecture Screen mockups, BA review
5 Upgrade JDK As tech stack is upgraded, codebase needs to support latest JDK
Upgrade Quartz
6 26 jobs
scheduler/background jobs
7 Collection screens Most widely used screens in CrewWatch
8 Admin screens 33 Screens
9 IT Admin screens 5 screens in total
10 Random Screen 7 Screens
11 Follow Up Screens Screens 8 Screens
12 P-R-O Screens 2 screens
13 A-C-S Screens 2 Screens
14 Agency Screen 1 screen
15 DER screens 9 Screens
16 Manager screens 1 screen
Train And Employee
17 2 screens in total
Random screens
18 Assing Manager screens 2 screens in total
19 Guides Screns 5 screens in total
If we go with Postgres, make sure it is ANSI compatible; Some
20 SQL optimizations
performance tuning
Existing security model is hard to maintain. 8 roles. IDS
21 Role security redesign (AD/SM)integration(AuthN) AuthZ - RABC - Model after CrewPro
security
22 Code coverage Minimal or NO code coverage
23 Code Quality/Linting Run sonar scan to determine the code quality/linting.
24 Static Code analysis Fortify scans
25 Dynamic Code analysis GitHub advanced security - to address medium, high and critical CVEs
26 External Pen testing Penetration testing by internal & 3rd party certification
Comparative Testing -
27 Legacy vs New QA Automation to validate primary functions in both versions
28 External Integration Around 7 Integrations

5. Software Development Standards and KPIs


• Code coverage -> 60%

• Pass Sonar Scan for Critical and Blocker Issues

• Pass Fortify and Tenable (Static and Dynamic) Scan with no High & Critical issues

• No CVE vulnerability issues

• All CVEs > 9 are resolved

• All CVEs > 7 that are only library changes are resolved

• Branch code coverage > 60%

• No secrets (requires utilization of CyberArk at UP)

• All test cases reviewed and signed off by PST

• All automated test cases pass

• Automated test coverage of 100% depending on if all are automatable

• Artifacts - Documentation related to the project - Architecture, Design, any screen mockups, test
cases and /scenarios and monthly progress reports

6. Vendor Requirements
Expertise in [Link], Spring Boot, microservices architectures, and PostgreSQL.

Experience in merging multiple code bases into a unified system.

Ability to create customizable solutions for different clients within a single application.

Proven track record in similar modernization projects.

7. Proposal Submission
Proposals should include:

 Methodology for the front-end, back-end migration, and code unification.


 Plan for creating customizable modules for different clients.
 Proposed project timeline, milestones, and cost breakdown.
 Case studies of similar projects.
 Team composition and experience.

8. Evaluation Criteria
Proposals will be evaluated based on:

 Compliance with technical and customization requirements.


 Experience in similar projects.
 Cost-effectiveness and project timeline.
 Innovation and approach to problem-solving.

Common questions

Powered by AI

Automated testing and Continuous Integration/Continuous Deployment (CI/CD) pipelines play a pivotal role in the CrewWatch application modernization by ensuring reliability, efficiency, and speed in the development lifecycle. Automated testing, including unit, integration, and system tests, provides quick feedback on code changes, facilitating early detection and resolution of bugs. A robust CI/CD pipeline enables seamless deployment and integration processes, reducing manual intervention and enhancing the ability to swiftly deliver updates and improvements while ensuring that each release maintains the high standards set forth by the project's software development standards and KPIs.

Replacing the current User Interface framework is necessary because the existing UI technology, based on Wicket, is outdated and difficult to maintain. A redesign using React.js will facilitate a more responsive and maintainable interface, improving user experience particularly in terms of responsiveness and ease of maintenance. Modernizing the UI is crucial for enhancing mobile experiences and aligning with contemporary design standards.

The primary objectives of the CrewWatch application modernization project include transitioning from a monolithic architecture to a microservices-based approach, replacing the front-end technology with React.js, migrating the backend database from Oracle to an ANSI-Compatible version with a proof-of-concept instance of CrewWatch running in PostgreSQL, merging three existing code bases into a unified code base, and implementing configurable modules to meet individual customer requirements. Additionally, the project aims to enhance scalability, performance, and maintainability of the application.

Merging the three existing code bases into a single unified code base is important for several reasons. It simplifies the application’s architecture, reducing redundancy and streamlining development and maintenance processes. This unification will lead to enhanced efficiency in updating and deploying new features, as well as ensuring consistency across all versions of the application. It also minimizes the risk of discrepancies and eases customization for different clients, ultimately contributing to better resource management and cost-effectiveness in the long term.

Configurability plays a crucial role in the new CrewWatch application as it allows the software to cater to individual customer requirements. By developing configurable modules or settings, the application can be tailored to meet specific needs without altering the core code base, thereby maintaining the integrity and functionality of the application across different client implementations. This flexibility is emphasized to enhance user satisfaction, improve market competitiveness, and accommodate future changes without significant rework, making the application scalable and adaptable to diverse client environments.

The upgrade from Oracle to PostgreSQL is motivated by the desire to adopt an ANSI-Compatible system that supports modern features and is more adaptable to changing requirements. PostgreSQL offers an open-source, flexible, and scalable solution that is aligned with the project's objectives of enhancing performance and maintainability. Additionally, the migration includes a proof-of-concept instance to validate the feasibility and advantages of using PostgreSQL, particularly its compatibility with microservices and modern architectures. This transition is part of a broader effort to modernize the application's backend technologies.

Integrating external applications with the CrewWatch system offers benefits such as expanded functionality and improved workflow efficiency, allowing the CrewWatch system to leverage third-party tools and data effectively. This integration can provide a competitive advantage by enhancing the system's capabilities without complete in-house development. However, challenges include ensuring compatibility between systems, managing security risks, and maintaining performance levels. Coordinating data flows and ensuring consistent uptime across integrated services are also complexities to consider. Successful integration will require careful planning, robust APIs, and effective management of authentication protocols.

Meeting the code coverage and quality requirements specified in the CrewWatch project's RFP is significant for guaranteeing that the application is reliable, maintainable, and secure. A 60% code coverage target ensures that a substantial portion of the code is tested, reducing the likelihood of bugs. Passing critical code quality checks, such as Sonar Scan and Fortify, ensures that the code base is free from critical vulnerabilities and adheres to industry best practices. These measures are essential for maintaining high standards and fulfilling compliance requirements, ultimately delivering a robust and secure application.

The proposal recommends enhancing security in the CrewWatch application by redesigning the role security model to make it easier to maintain. Specifically, it calls for integration with IDS (AD/SM) for authentication and adopting a Role-Based Access Control (RBAC) model inspired by CrewPro security. Furthermore, adherence to recent security standards, static and dynamic code analysis (using Fortify and Tenable), and external penetration testing are emphasized to address vulnerabilities and ensure compliance.

To ensure minimal disruption during the transition to a microservices architecture, the proposal emphasizes a gradual migration strategy. This involves maintaining data integrity and ensuring a seamless transition. The use of a proof-of-concept instance running on PostgreSQL is suggested to validate the new architecture. Additionally, thorough testing, including unit, integration, and system tests, is recommended to identify and resolve issues early in the process. Employing a robust CI/CD pipeline will aid in efficiently managing deployment stages and facilitating quick rollback if necessary.

You might also like