Java Architect-Struts Framework

Overview

Remote
$60 - $70
Contract - W2
Contract - 12 Month(s)

Skills

Java
Architect
Struts
hibernate
JSP
Angular

Job Details

Java Architect/ Engineer Salem, Oregon, 97302 12 Months

** Remote work/Telecommuting will be contingent upon the key person providing their own adequate office equipment and connectivity. **


Requirement:

  • Seeks highly skilled Java Architect and Developer with expert-level knowledge of and experience with software architecture, design, development, integration, and testing.
  • Key Person must have experience modernization a legacy Java Struts architecture to a new, modern architecture using today s best practices and industry standards.
  • Key Person must understand and adhere to existing system architecture standards within the existing eXPRS system Java Struts framework.
  • Key Person must write clean, efficient, and maintainable code across multiple layers of the eXPRS system codebase.
  • Key Person must have the ability to solve highly complex problems within an existing large monolithic enterprise system.
  • Key person must work collaboratively with other architects within the client, as well as other Software Reliability Engineers, Quality Assurance teams, senior development staff, and business analysis teams.
  • Key person must analyze existing data structures and maintain integrity of data standards and models while expanding and optimizing the interactions within the database and integrations with other systems using SQL, stored procedures, batch processes, etc., in accordance with business, data security and regulatory requirements.

Scope:

  • Team is requesting evaluation and proof of concept of a replacement of the existing eXPRS Java Struts framework and introduction of a new, modern, responsive UI framework. eXPRS currently uses an outdated version of Java Struts that lacks modern features and best practices and has known vulnerabilities. Struts has its own set of maintenance challenges. Over time, eXPRS has grown in technical debt, slowing down maintenance and debugging. Managing Struts-based code has become overly cumbersome, causing the eXPRS M&O backlog to grow and become difficult to manage at the speed for which the business is requiring.

Other problems with Struts include:

  • Struts follows a tightly coupled architecture, where changes in one part of the application can impact other parts.
  • Struts doesn t seamlessly integrate with other technologies like ORM (Object-Relational Mapping) or dependency injection.
  • Struts lacks robust tag libraries for creating dynamic views. Developers often end up writing custom tags or using JSP (JavaServer Pages) directly.
  • Struts can become a bottleneck in high-traffic applications due to its heavyweight nature.
  • Struts-based applications might lack modern UX features, such as responsive design, dynamic content loading, or smooth transitions.
  • Introducing a new UI framework will enhance user experience, improve maintainability, increase performance, strengthen security, reduce technical debt, align with current best practices, and offer better community support.

Other advantages of moving to a more modern UI framework include:

  • Modern UI frameworks provide loosely coupled modules. This modularity allows developers to work on specific components without affecting the entire system.
  • Newer frameworks offer better integration options, making it easier to work with databases, APIs, and other services.
  • Modern UI frameworks provide better support for templating engines, making view development more efficient.
  • New UI frameworks are designed with performance and scalability in mind, optimizing resource usage and handling concurrent requests efficiently.
  • A new UI framework allows developers to create engaging and user-friendly interfaces.
  • Newer frameworks prioritize security and provide better mechanisms for input validation, authentication, and authorization.
  • A modern UI framework typically offers better developer tools, IDE support, and faster development cycles.
  • Developers can focus on business logic rather than dealing with framework intricacies.
  • The proof of concept is intended to evaluate the existing Struts application to understand its architecture, components, and dependencies, identify the target UI framework, and prove the new architecture that will be used across the entire eXPRS application. The following activities will be completed as part of the proof of concept:
  • Research alternative frameworks or technologies that can replace Struts. Consider factors like community support, features, and ease of migration.
  • Select a representative part of the eXPRS application to work with during the PoC.
  • Install necessary tools, libraries, and dependencies for the new framework (e.g., Spring Boot, Micronaut, or another choice).
  • Adapt the existing Struts code to the new framework. Replace Struts-specific components (e.g., actions, forms, and configuration files).
  • If the new framework offers additional features, implement them in the PoC.
  • Ensure data flows correctly between the new components.
  • Evaluate the security features of the new framework. Test for vulnerabilities and ensure proper input validation.
  • Write unit tests for the migrated components.
  • Test interactions between the new components and existing ones.
  • Assess the performance impact of the replacement.
  • Work with key technical architects, and lead staff to ensure the new framework adheres to client standards, allows for long term maintainability, flexibility, expansion, and portability.

Tasks: Contractor s Key Person shall:

  • Develop and deliver updates to eXPRS application to introduce new modern UI framework. This includes software code changes and documentation.
  • Complete and document required work to write enhanced UI, correct defects, and deliver code modifications
  • Draft and deliver Technical Specifications documents that meet the technical requirements.
  • Participate in regular planning and review meetings with Authorized Agency s Solution Development and Delivery (SDD) eXPRS team.
  • Write and review the test plans and test scripts and make necessary changes as needed.
  • Perform unit testing to ensure requirements are met and changed code works as specified.
  • Follow Authorized Agency s existing requirements management, design, development and issue tracking processes and development standards (including naming conventions).
  • Document in the Azure DevOps tracking system any issues identified in testing and their resolution taken to resolve the issues.
  • Conduct end to end system testing as well as end to end system integration testing.

Required skills and experience:

  • A highly skilled Java developer with expert-level knowledge and experience with WebSphere Liberty 9 and Java 11
  • Proficiency with HTML, CSS, and Javascript (10+ years of experience)
  • J2EE (10+ years of experience)
  • Eclipse (10+ years of experience)
  • A solid grasp of frameworks like React, Angular, or Vue.js
  • Knowledge of emerging technologies like Web Components
  • Understanding of responsive and adaptive design principles
  • Expert understanding of IBM DB2 UDB systems and concepts (10+ years of experience)
  • Proficient with Eclipse IDE Liberty 9 Plug In
  • Proficient with Git source control concepts
  • Bachelor's degree in area of specialty
  • At least six years of equivalent experience in the field or in a related area