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.