# Product Roadmap

## January – February 2023 - <mark style="color:green;">Done</mark>&#x20;

### Action Item: New feature development - <mark style="color:green;">Done</mark>&#x20;

#### Task - 1: Monitoring application for OIP - Phase 1  - Karthikeyan/Bharathwaj&#x20;

**Sub-task 1:** Design for the application and sign off for development - 5 days (16 to 20 Jan) - Done \
**Sub-task 2:** Development of modules - 7 days (23rd Jan to 31st Jan)&#x20;

**Sub-task 3:** Unit testing of developed modules - 5 days (1st Feb to 7th Feb) \
**Sub-task 4:** UAT - 3 days (8th Feb to 10th Feb) \
**Sub-task 5:** Deployment and monitoring -  3 days - N.A&#x20;

To develop a robust reporting/alerting mechanism to bring down the manual efforts that the OIP team spends on monitoring. Phase 1 of the work will try to develop an application that will run outside of OIP and can go through SFTP/FTP and take the count of the files. It will have an alerting mechanism that can send technical failure emails to the respective team to take immediate action on the same. &#x20;

#### Task - 2: Looping multiple times inside an I-flow (2 Jan - 20 Jan) -  Karthikeyan Ramaswamy / Kanish&#x20;

To create a mechanism for multiple looping inside an I-flow for example, If an I-flow contains two different APIs which have different paginations then this will enable the creation of a subprocess which will be again a loop inside the same I-flow.&#x20;

**Sub-task 1:** Design for the application and sign off for development - 2 days - 2nd and 3rd Jan - Done \
**Sub-task 2:** Development of modules - 8 days - (4th Jan to 13th Jan) - Done&#x20;

**Sub-task 3:** Unit testing of developed modules - 3 days  (16th Jan to 18th Jan) - Done \
**Sub-task 4:** UAT - 2 days (19 and 20 Jan) - Done \
**Sub-task 5:** Deployment and monitoring -  3 days -  N.A - Done&#x20;

### Action Item: Refactoring / Re deployment - <mark style="color:green;">Done</mark>&#x20;

#### Task - 3: Redeploy OIP in the “Ubuntu” folder of the servers - Dec 26 - Jan 14 - Sruthy / Karthik / Bharathwaj Shankar&#x20;

To re-deploy OIP in the root folder named ubuntu which was identified in the security audit. Also, this will help archiving the log files.&#x20;

**Sub-task 1:** redeployment in staging - 2 days - Bharath/Karthik/Sruthy (Bharath will be doing this along with giving the KT to Karthik and Sruthy) - Dec 26,27 - Done&#x20;

**Sub-task 2:** redeployment in the prod - 2 days (Bharath will be doing this along with giving the KT to Karthik and Sruthy) - Jan 5,6 - Done&#x20;

**Sub-task 3:** redeployment in new-prod - 2 days  (Bharath will be doing along with giving the KT to Karthik and Sruthy) - Jan 9,10 - Done&#x20;

Tentative release date : Feb 13 (In OIP DEV server), Feb 15 (In Bizom Staging), Feb 23(In Bizom new prod)

## March – April 2023 - <mark style="color:green;">Done</mark>&#x20;

### Action Item: Capability showcase – Bharath/Karthik  - <mark style="color:green;">Done</mark>&#x20;

#### Task - 1: Microsite for showcasing OIP - Phase 1&#x20;

To create a microsite where we will highlight the capabilities of OIP as a product. The architecture that OIP follows provides information on adapters and the functional documentation of the adapters. Phase 1 includes basic structure, basic coverage of OIP, and information about important adapters.&#x20;

**Sub-task 1:** Start documenting the capabilities of OIP into a microsite.&#x20;

### Action Item: Migration – Karthik/ Bharath/Kanish - <mark style="color:green;">Done</mark>&#x20;

#### Task 2: Migration from Nashorn script engine to Graalvm&#x20;

To migrate the deprecated Nashorn library of Java 8 to graal-vm. This includes complete testing of the whole functionality with the new engine and fixing the bugs if any.&#x20;

## May 2023 - <mark style="color:green;">Done</mark>&#x20;

#### 1. Week 1-2: Encryption/Decryption with AES: Karthikeyan/Bharathwaj - <mark style="color:green;">Done</mark>&#x20;

Research and select appropriate libraries for AES encryption/decryption in Java.&#x20;

Implement AES encryption and decryption methods.&#x20;

Test encryption and decryption functions on sample data to ensure correctness.

#### 2. Week 3-4: Notification Microservice for OIP:  Karthikeyan/Bharathwaj - <mark style="color:green;">Done</mark>&#x20;

Define notification requirements.&#x20;

Design and implement a notification microservice.&#x20;

Integrate the microservice with the OIP application for sending notifications.

## June 2023 - <mark style="color:green;">Done</mark>&#x20;

#### 3. Week 1-2: Kafka Integration for OIP: Karthikeyan/Bharathwaj - <mark style="color:green;">Done</mark> &#x20;

Plan the integration of Kafka within the OIP architecture for event-driven communication.&#x20;

Set up Kafka topics, producers, and consumers within the application.&#x20;

Implement Kafka messaging for relevant OIP components.

#### 4. Week 3-4: Elasticsearch Implementation: Karthikeyan/Bharathwaj - <mark style="color:green;">Done</mark> &#x20;

Identify specific job run and IIF building block data to be stored in Elasticsearch (ES).&#x20;

Set up an Elasticsearch cluster and define the appropriate index mappings.&#x20;

Integrate ES with the OIP application to store and retrieve relevant data.

## July 2023 - <mark style="color:green;">Done</mark>&#x20;

#### 5. Week 1-2: Java Migration (Java 8 to Java 17): Karthikeyan/Bharathwaj - <mark style="color:green;">Done</mark> &#x20;

Assess the existing codebase and libraries for compatibility with Java 17.&#x20;

Update and refactor code to adhere to Java 17 syntax and features.&#x20;

Conduct thorough testing to ensure the application functions correctly with the new Java version.&#x20;

#### 6. Week 3-4: Containerization with Docker: Karthikeyan/Isai - <mark style="color:green;">Done</mark> &#x20;

Containerize the OIP application using Docker.&#x20;

Create Docker images for each component of the application.&#x20;

Set up Docker Compose for managing multi-container deployments.

## August 2023 - <mark style="color:orange;">WIP</mark> (Interrupted by OIP scalability issues and Debezium POC, Azure BLOB POC)

#### 1. Week 1-2: OIP Application CI/CD Readiness: Karthikeyan/Bharathwaj - <mark style="color:orange;">WIP</mark>

Evaluate the current state of the OIP application and identify necessary changes for implementing CI/CD.&#x20;

Set up a version control system (Git) if not already in place.&#x20;

Create a basic CI pipeline for building the application and running initial tests.&#x20;

Research and choose a CI/CD tool (e.g., Jenkins, GitLab CI/CD) and set up the initial pipeline configuration.

#### 2. Week 3: Refactoring Automatic Retry: Karthikeyan/Bharathwaj - <mark style="color:orange;">WIP</mark>&#x20;

Analyze the existing automatic retry mechanism to be recreated for Beatroute.&#x20;

Refactor the code to make the automatic retry fully functional without relying on I-flows.&#x20;

Test the new retry mechanism thoroughly in a controlled environment.

## September 2023&#x20;

#### 3. Week 1-2: Implement Kafka for Step History: Karthikeyan/Bharathwaj&#x20;

Research and plan the integration of Kafka for storing step history records.&#x20;

Set up Kafka topics and producers within the Step History microservice application.&#x20;

Implement consumers to sync Kafka topic data to Elasticsearch to prevent data loss.

#### 4. Week 3-4: Clone and Delete Functionality: Karthikeyan/Bharathwaj&#x20;

Allocate extra time for detailed design and implementation of the clone and delete functionality. Test the functionality rigorously, considering various use cases and edge scenarios.&#x20;

Begin drafting comprehensive documentation for the clone and delete features.

## October 2023&#x20;

#### 5. Week 1-2: Implement Log Analysis with Logstash/Graylog:  Karthikeyan/Bharathwaj&#x20;

Research and choose between Logstash and Graylog for log analysis.&#x20;

Set up Logstash/Graylog to gather and analyze application logs.&#x20;

Integrate Logstash/Graylog with the OIP application to automate log analysis.

#### 6. Week 3-4: Power BI POC for OIP Monitoring Dashboard:  Karthikeyan/Bharathwaj&#x20;

Define the requirements and metrics to be displayed on the monitoring dashboard.&#x20;

Create a Proof of Concept (POC) using Power BI to visualize OIP application metrics.&#x20;

Gather feedback from stakeholders and make necessary adjustments to the dashboard.

## November 2023&#x20;

#### 7. Week 1-2: Complete and Optimize CI/CD Pipeline:  Karthikeyan/Bharathwaj&#x20;

Review and refine the CI/CD pipeline for the OIP application.&#x20;

Implement additional stages in the pipeline, such as testing and deployment to different environments.&#x20;

Optimize the pipeline for performance and reliability.

#### 8. Week 3-4: Final Testing and Documentation for Clone and Delete:  Karthikeyan/Bharathwaj&#x20;

Continue comprehensive testing of the implemented clone and delete functionality.&#x20;

Finalize detailed documentation for the clone and delete features, including setup instructions and troubleshooting guides.&#x20;

Conduct training sessions or workshops for the development and delivery teams on the new features and processes.

## December 2023&#x20;

#### Week 1: Angular Migration Planning and Environment Setup:  Karthikeyan/Bharathwaj&#x20;

Assess the current Angular 1.2 codebase and identify key dependencies.&#x20;

Research the migration process from Angular 1.2 to the latest version.&#x20;

Set up a development environment and version control for the migration process.

#### Week 2,3,4: Angular Migration:  Karthikeyan/Bharathwaj&#x20;

Begin the migration process by upgrading Angular and related dependencies incrementally.&#x20;

Update code, templates, and components to adhere to the latest Angular standards.&#x20;

Resolve any compatibility issues or deprecated features during the migration.
