Kỹ Sư Java Backend Triển Khai Dự Án Lớn BPM/CRM
Mô tả công việc
Mô tả về công việc: Triển khai các ứng dụng BPM và CRM cho lĩnh vực tài chính/ngân hàng
Tổng quan công việc
Công việc bao gồm thiết kế quy trình nghiệp vụ (BPM), quản lý quan hệ khách hàng (CRM), tối ưu hiệu suất, bảo mật, và triển khai trên môi trường containerized (Docker, Kubernetes).
Vai trò Java Backend tập trung vào phát triển, tích hợp, và triển khai các ứng dụng BPM và CRM trong một hệ thống doanh nghiệp (triển khai cho Bank) sử dụng các công nghệ như Java, Spring Boot, BPMN 2.0, và các thành phần cơ sở dữ liệu/message broker (MySQL, Postgresql, Kafka, v.v.).
Chi tiết công việc
Triển khai ứng dụng BPM (Business Process Management):
Phân tích và thiết kế quy trình: Làm việc với đội ngũ kinh doanh để hiểu yêu cầu quy trình, sử dụng BPMN 2.0 để mô hình hóa và thiết kế quy trình kinh doanh (ví dụ: quy trình phê duyệt, tự động hóa tác vụ).
Giám sát và tối ưu: Tích hợp Grafana để theo dõi hiệu suất quy trình, sử dụng Vert.x để xử lý tải cao, và tối ưu logic với RxJava2.
Quản lý luồng dữ liệu: Sử dụng Kafka để xử lý luồng sự kiện thời gian thực trong quy trình BPM, đảm bảo thông báo qua Email/Telegram/SMS được gửi đúng lúc.
Tích hợp API: Phát triển và kết nối Internal API Gateway (RxJava2) để đảm bảo các quy trình BPM giao tiếp hiệu quả với frontend và các hệ thống khác.
Phát triển backend: Sử dụng Java và Spring Boot để xây dựng các microservices hỗ trợ BPM, phát triển các tính năng trong Engine BPM (Reborn tự phát triển).
Bảo mật:
Áp dụng JWT và SSL/TLS để bảo vệ dữ liệu quy trình, sử dụng RSA để mã hóa thông tin nhạy cảm.
Triển khai ứng dụng CRM (Customer Relationship Management):
Giao diện API: Phát triển RESTful API để kết nối CRM với frontend (ReactJS) và các hệ thống bên ngoài, đảm bảo bảo mật với JWT.
Bảo mật và giám sát: Áp dụng SSL/TLS, giám sát hiệu suất qua Grafana, và đảm bảo tuân thủ các tiêu chuẩn bảo mật (RSA, Hashed Messages).
Tích hợp dữ liệu: Sử dụng JOOQ hoặc Hibernate để viết truy vấn SQL, kết nối với Elasticsearch để tìm kiếm khách hàng nhanh chóng, và Redis để cache dữ liệu thường dùng.
Phát triển tính năng CRM: Xây dựng các module như quản lý khách hàng, theo dõi tương tác, và báo cáo, sử dụng Spring Boot và tích hợp với cơ sở dữ liệu MySQL/PostgreSQL.
Xử lý luồng dữ liệu: Triển khai Kafka để quản lý thông báo hoặc cập nhật dữ liệu khách hàng theo thời gian thực.
Triển khai và bảo trì: Viết Dockerfile để container hóa ứng dụng CRM, cấu hình Kubernetes (K8S) để quản lý pod, và sử dụng Bash Scripts để tự động hóa triển khai.
Kỹ năng và yêu cầu
Bảo mật: Hiểu biết về SSL/TLS, JWT, RSA.
Kỹ thuật: Thành thạo Java, Spring Boot, BPMN 2.0, RxJava2, Vert.x; hiểu biết về MySQL, PostgreSQL, Kafka, Redis, Elasticsearch, và JOOQ.
Phân tích nghiệp vụ: Khả năng làm việc với đội ngũ kinh doanh để thiết kế và tối ưu quy trình BPM.
Công cụ triển khai: Kinh nghiệm với Docker, Kubernetes, và Bash Scripts.
Giám sát: Sử dụng Grafana để theo dõi và tối ưu hiệu suất.
Trách nhiệm bổ sung
Tham gia thử nghiệm (testing) và khắc phục lỗi (bug fixing) để đảm bảo ứng dụng BPM và CRM hoạt động ổn định.
Ghi lại tài liệu kỹ thuật và quy trình để hỗ trợ bảo trì lâu dài.
Hỗ trợ đội ngũ DevOps trong việc triển khai và bảo trì ứng dụng trên môi trường sản xuất.
Yêu cầu công việc
Back Services:
Spring Boot: Framework phổ biến để xây dựng ứng dụng Java một cách nhanh chóng, với các tính năng như auto- configuration, dependency injection, và tích hợp dễ dàng với RESTful API
Java: Ngôn ngữ lập trình chính cho backend, cung cấp khả năng phát triển mạnh mẽ, đa luồng, và phù hợp với các ứng dụng doanh nghiệp.
Vert.x: Framework không đồng bộ, sự kiện- driven, lý tưởng cho các ứng dụng cần xử lý tải cao với hiệu suất tối ưu.
BPM Design: Công cụ hoặc quy trình thiết kế quy trình kinh doanh, hỗ trợ backend trong việc triển khai logic nghiệp vụ phức tạp.
RxJava2: Thư viện reactive programming, hỗ trợ xử lý luồng dữ liệu bất đồng bộ và phản ứng theo thời gian thực.
JSON/XML/...: Định dạng dữ liệu chính để trao đổi giữa backend và các thành phần khác (frontend, API, v.v.).
Grafana: Công cụ giám sát và phân tích dữ liệu, có thể được tích hợp để theo dõi hiệu suất backend.
BPMN 2.0: Chuẩn mô hình quy trình kinh doanh (Business Process Model and Notation), được sử dụng để thiết kế và tự động hóa quy trình, có thể tích hợp với các engine như Camunda hoặc jBPM.
Email/Telegram/SMS
: Các kênh thông báo, yêu cầu backend tích hợp để gửi thông điệp qua API hoặc service riêng.
JWT: JSON Web Token, được sử dụng cho xác thực và ủy quyền trong các API backend.
Storages, Caches and Message Broker:
Redis (if need): Cache in- memory, cải thiện hiệu suất truy cập dữ liệu, tích hợp qua Spring Data Redis.
Kafka: Hệ thống message broker phân tán, dùng để xử lý luồng dữ liệu lớn, backend Java sẽ sử dụng Kafka Client API để sản xuất và tiêu thụ message.
Elasticsearch: Công cụ tìm kiếm và phân tích dữ liệu, backend Java có thể dùng REST API hoặc Spring Data Elasticsearch để tích hợp.
JOOQ: Thư viện Java để viết truy vấn SQL một cách type- safe, hỗ trợ backend trong việc tương tác với cơ sở dữ liệu.
MySQL/PostgreSQL: Cơ sở dữ liệu quan hệ để lưu trữ dữ liệu cấu trúc, backend Java sẽ viết các truy vấn và tích hợp qua JDBC hoặc ORM (như Hibernate).
API Gateway:
Internal API Gateway (RxJava2): Gateway nội bộ sử dụng RxJava2, nơi backend Java sẽ phát triển các microservices và tích hợp qua API này.
Quyền lợi
Hưởng các phúc lợi khác theo duy định của dự án, chế độ nghỉ dưỡng, công tác phí
Thu nhập tương xứng với năng lực của ứng viên (Đàm phán khi phỏng vấn)
Được làm việc với đội ngũ năng động, linh hoạt, sẵn sàng giúp đỡ lẫn nhau trong công việc, để cùng nâng cao trình độ
Có lộ trình phát triển bản thân rõ ràng
Được làm việc với các chuyên gia hàng đầu về công nghệ mới nhất hiện nay và đang hot trend (Số hóa quy trình doanh nghiệp BPM)
Cập nhật gần nhất lúc: 2025-12-10 07:00:04









