Ali Jodat.

ALI / JAVA BACKEND

Backend Engineering for Real Business Needs

Senior Java Backend Developer

I’m Ali Jodat, a backend developer focused on Java and Spring. I work on API design, service integration, access management, and enterprise applications. My experience includes building new capabilities and modernizing legacy systems while maintaining compatibility.

Developer with a Java logo on the laptop and floating Git, MongoDB, and Spring Boot logos in turquoise
Java / Spring / Backend
About Me DESIGN · BUILD · MODERNIZE

FROM LEGACY APPLICATIONS TO MODERN SERVICES

About Me

My focus is server-side development in the Java ecosystem, from legacy applications built with JSP, Struts, and Hibernate to services powered by Spring Boot.

My work covers service communication, authentication and authorization, message processing, workflow execution, and data management. When choosing a solution, I consider deployment constraints, maintenance complexity, and actual business requirements.

I enjoy learning and evaluating new technologies, especially when they can solve a specific architectural or development problem.

Areas of Focus

  • Backend development with Java and Spring Boot
  • REST API design and implementation
  • Enterprise application and service integration
  • Authentication and authorization with Spring Security and Keycloak
  • Maintenance and modernization of legacy Java systems
  • Workflow execution and decision management
  • Asynchronous communication and message processing
  • Relational and document database integration

PROBLEMS AND IMPLEMENTATION DETAILS

Selected Engineering Work

Expand an entry to explore its technical scope.

01Workflow Management ServiceIn DevelopmentDeveloping a Flowable-based service for deploying and executing BPMN processes and managing DMN decisions. The work focuses on runtime process definitions, version management, and connecting automated workflow steps to application services.JavaSpring BootFlowableBPMNDMN

Technical scope

  • Deploying BPMN XML without requiring files on disk
  • Storing process definitions and versions in Flowable’s repository
  • Connecting service tasks to application beans through delegates
  • Designing APIs for deployment, process initiation, and task completion
  • Developing DMN decision-definition management capabilities
  • Evaluating migration of running process instances to newer process versions
02Shared Gateway CapabilitiesWorking on shared capabilities at the service entry layer, including downstream communication, request rate limiting, error handling, and request context propagation.Spring BootSpring SecurityWebClientRestTemplateBucket4jActuator

Technical scope

  • Implementing and configuring rate limiting with Bucket4j
  • Managing CORS and forwarded headers
  • Standardizing HTTP communication with downstream services
  • Configuring timeouts and handling communication failures
  • Transferring large files with attention to memory usage
  • Integrating Spring-based monitoring tools
03Legacy Enterprise Application ModernizationWorking on the incremental modernization of a Java application with legacy dependencies, focusing on component compatibility and introducing new capabilities alongside the existing architecture.JavaSpring FrameworkStrutsJSPHibernateJBossCAS

Technical scope

  • Upgrading Spring within a legacy application
  • Integrating Spring MVC with Struts and JSP
  • Maintaining compatibility with existing authentication mechanisms
  • Resolving dependency conflicts and runtime issues
  • Handling character encoding, file uploads, and HTTP responses
  • Working within a legacy JBoss and Servlet environment
04Identity and Access IntegrationDeveloping and integrating identity and access capabilities with Keycloak and Spring Security, including work on a shared library to simplify Keycloak integration across applications.KeycloakSpring SecurityOAuth2LDAPJava

Technical scope

  • Securing APIs using OAuth2 Resource Server
  • Implementing role- and authority-based access control
  • Integrating with Keycloak through its Admin Client
  • Connecting authentication infrastructure with LDAP
  • Designing reusable interfaces for use across projects

THE TECHNOLOGY ECOSYSTEM

Technical Skills

Primary Language
Java
Core Frameworks
Spring BootSpring FrameworkSpring MVC
Security and Identity
Spring SecurityOAuth2KeycloakLDAP
Data Access
HibernateJPASpring Data
Databases and Caching
OracleMongoDBRedisSQL Server
Service Communication
RESTWebClientRestTemplateWebSocket
Messaging
RabbitMQActiveMQ
Workflows and Business Rules
FlowableBPMNDMNDrools
Batch Processing and Scheduling
Spring BatchSpring IntegrationQuartz
Monitoring and Resilience
Spring Boot AdminActuatorResilience4jBucket4j
File Storage
MinIOS3-compatible APIs
Tools and Runtime Environments
MavenGitLabLinuxNginxTomcatJBoss
Legacy Technologies
StrutsJSPServletHibernate 3

THROUGHOUT DESIGN AND DEVELOPMENT

How I Work

01

Choose technologies based on the problem and deployment constraints

02

Consider maintenance and troubleshooting throughout implementation

03

Include error handling and monitoring early in the design

04

Use prototypes to evaluate unfamiliar technologies

05

Favor incremental, controlled migration for legacy systems

LET’S DISCUSS WORKING TOGETHER

Get in Touch

Get in touch to discuss opportunities in Java backend development, service design, and enterprise application modernization.

Back to the top