- Design and implement a layered architecture for BPM applications, ensuring modularity, scalability, and flexibility.
- Define and document architecture specifications, including presentation, service, BPM, business rules, data access, and integration layers.
- Utilize Java-based frameworks (e.g., Spring MVC, Spring Boot) to develop the presentation and service layers.
- Implement BPM solutions using JBPM, Camunda, or Flowable to automate workflows and business processes.
- Integrate business rules engines (e.g.,Drools) to manage and modify business logic.
- Oversee the data access layer using JPA,Hibernate, or Spring Data JPA to ensure efficient database interactions.
- Choose appropriate database technologies (MySQL, PostgreSQL, MongoDB) for optimal performance and scalability.
- Develop the integration layer using Spring Integration or Apache Camel to facilitate external system interactions (e.g., CRM, ERP).
- Implement messaging solutions with Apache Kafka or RabbitMQ to support asynchronous communication and event-driven architecture.
- Set up orchestration engines to automate service coordination and task execution.
- Implement monitoring and analytics solutions (e.g., Grafana, Prometheus) to track performance metrics and process efficiency.
- Design an API Gateway to manage incoming requests and ensure secure routing.
- Architect microservices for independent development and deployment, promoting scalability and maintainability.
- Implement security protocols (e.g., Spring Security, OAuth2) to safeguard applications and data.
- Ensure compliance with relevant standards and regulations in the banking/financial domain.
- Establish a CI/CD pipeline using tools like Jenkins or GitLab CI for automated testing and deployment.
- Facilitate containerization with Docker and orchestration with Kubernetes for streamlined deployments.
Requirements
- 5+ years of experience in software development with a strong focus on Java and BPM technologies.
- Proven experience designing and implementing layered architectures and microservices.
- Strong expertise in BPM tools (JBPM,Camunda, or Flowable) and business rules engines (Drools).
- Familiarity with integration frameworks (Spring Integration, Apache Camel) and messaging systems (Kafka,RabbitMQ).
- Proficient in database technologies (MySQL,PostgreSQL, MongoDB) and ORM frameworks (Hibernate, JPA).