Phát triển hệ thống quản lý văn bản trong doanh nghiệp dựa trên công nghệ microservices

73 7 0
Phát triển hệ thống quản lý văn bản trong doanh nghiệp dựa trên công nghệ microservices

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN PHÁT TRIỂN HỆ THỐNG QUẢN LÝ VĂN BẢN TRONG DOANH NGHIỆP DỰA TRÊN CÔNG NGHỆ MICROSERVICES Môn: Đồ án Lớp: SE122.N11.PMCL Giảng viên: Nguyễn Trịnh Đông Sinh viên: Nguyễn Anh Kiệt – 19520666 Ngơ Văn Phóng– 19520834 Thành phố Hồ Chí Minh, tháng 12 năm 2022 Mục lục Chương 1: Tổng quan 1.1 Mục đích nghiên cứu 1.2 Đối tượng nghiên cứu 1.3 Phạm vi đề tài Chương 2: Cơ sở lý thuyết công nghệ 2.1 Cơ sở lý thuyết 2.1.1 Tổng quan nghiệp vụ quản lý văn doanh nghiệp 2.1.2 Tổng quan kiến trúc vi dịch vụ (Microservices) 2.1.2.1 Giới thiệu 2.1.2.2 Ưu nhược điểm kiến trúc microservices 2.1.2.3 Vì nên ứng dụng kiến trúc microservices vào việc xây dựng hệ thống lớn 2.1.2.4 Giao tiếp service với nhau: 10 2.1.2.5 Các thành phần microservice: 11 2.1.3 2.2 Domain-driven design 11 2.1.3.1 Mơ hình miền (Domain model) 12 2.1.3.2 Bối cảnh giới hạn (Bounded context) 13 2.1.3.3 Thực thể (Entity) 14 2.1.3.4 Đối tượng giá trị (Value object) 14 2.1.3.5 Tập hợp (Aggregrate) 15 2.1.3.6 Kho lưu trữ (Repository) 16 2.1.3.7 Dịch vụ (Service) 17 2.1.3.8 Từ ngữ thông dụng (Ubiquitous language) 18 2.1.3.9 Factories 19 Công nghệ 2.2.1 20 Ngơn ngữ lập trình 20 2.2.1.1 Giới thiệu Java 20 2.2.1.2 Giới thiệu Javascript 21 2.2.2 Cơ sở liệu 21 2.2.2.1 PostgreSQL 21 2.2.2.2 MongoDB 22 2.2.3 Framework/Thư viện - Phóng 2.2.3.1 23 ReactJS 23 2.2.3.2 Java Spring Boot 23 2.2.4 Kiểm thử 24 2.2.5 Bảo mật 25 2.2.6 Triển khai 26 Chương 3: Phân tích yêu cầu hệ thống 27 3.1 Yêu cầu chức 27 3.2 Yêu cầu phi chức 27 3.3 Phân tích use case 28 3.3.1 Sơ đồ use case 28 3.3.1.1 Sơ đồ use case tổng quan 28 3.3.1.2 Quản lý văn 29 3.3.1.3 Quản lý thư mục 29 3.3.1.4 Quản lý tài khoản 30 3.3.1.5 Quản lý phòng ban 30 3.3.2 Danh sách tác nhân hệ thống 30 3.3.3 Danh sách use case 31 3.3.4 Đặc tả use case 32 3.4 3.3.4.1 Đăng nhập 32 3.3.4.2 Xem danh sách tài khoản 32 3.3.4.3 Tạo tài khoản 33 3.3.4.4 Sửa tài khoản 34 3.3.4.5 Tạo phòng ban 35 3.3.4.6 Xem phòng ban 35 3.3.4.7 Cập nhật phòng ban 36 3.3.4.8 Xóa phịng ban 37 3.3.4.9 Tạo thư mục 38 3.3.4.10 Cập nhật thư mục 38 3.3.4.11 Xóa thư mục 39 3.3.4.12 Xem thư mục 40 3.3.4.13 Tạo văn 40 3.3.4.14 Cập nhật văn 41 3.3.4.15 Xóa văn 42 3.3.4.16 Xem lịch sử chỉnh sửa văn 42 3.3.4.17 Khôi phục phiên cũ văn 43 Sơ đồ 3.4.1 44 Đăng nhập email password 44 3.4.2 Tạo tài khoản 45 3.4.3 Sửa tài khoản 46 3.4.4 Tạo phòng ban 47 3.4.5 Xóa phịng ban 47 3.4.6 Tạo thư mục 48 3.4.7 Xóa thư mục 48 3.4.8 Lấy thư mục văn thư mục 49 3.4.9 Tạo văn 49 3.4.10 Cập nhật văn 50 3.4.11 Xem lịch sử chỉnh sửa văn 50 3.4.12 Khôi phục phiên cũ văn 51 Chương 4: Thiết kế vi dịch vụ 4.1 51 Kiến trúc hệ thống 51 4.1.1 Tác nhân hệ thống 51 4.1.2 Kiến trúc tổng quan 52 4.1.3 Sơ đồ triển khai hệ thống 52 4.2 Đặc tả vi dịch vụ 4.2.1 53 Account service 53 4.2.1.1 Giới thiệu tổng quan 53 4.2.1.2 Sơ đồ tổng quan hệ thống 54 4.2.1.3 Sơ đồ tổ chức liệu 54 4.2.1.4 Danh sách API 54 Authentication service 55 4.2.2 4.2.2.1 Tổng quan Authentication service 55 4.2.2.2 Công nghệ sử dụng 55 4.2.2.3 Sơ đồ tổng quan hệ thống 55 4.2.2.4 Sơ đồ tổ chức liệu 56 4.2.2.5 Danh sách API 56 4.2.3 Department service 56 4.2.3.1 Giới thiệu tổng quan 56 4.2.3.2 Công nghệ sử dụng 57 4.2.3.3 Sơ đồ tổ chức liệu 58 4.2.3.4 Danh sách API 58 Document service 58 4.2.4 4.2.4.1 Giới thiệu tổng quan 58 4.2.4.2 Công nghệ sử dụng 59 4.2.4.3 Sơ đồ tổ chức liệu 59 4.2.4.4 Danh sách API 60 4.2.5 Document revision service 61 4.2.5.1 Giới thiệu tổng quan 61 4.2.5.2 Công nghệ sử dụng 61 4.2.5.3 Sơ đồ tổ chức liệu 62 4.2.5.4 Danh sách API 62 Chương 5: Thiết kế giao diện ứng dụng 63 5.1 Giao diện đăng nhập 63 5.2 Giao diện trang chủ dành cho người quản lý 64 5.3 Giao diện trang chủ người dùng 64 5.4 Giao diện xem thông tin văn trang chủ 65 5.5 Giao diện quản lý người dùng 65 5.6 Giao diện tạo người dùng 66 5.7 Giao diện chỉnh sửa thông tin người dùng 67 5.8 Giao diện quản lý văn 68 5.9 Giao diện thêm phòng ban 68 5.10 Giao diện tạo folder văn 69 5.11 Giao diện tạo folder 69 5.12 Giao diện chi tiết văn 70 5.13 Giao diện bình luận văn 70 5.14 Giao diện xem lại phiên văn 71 Chương 6: Kết luận hướng phát triển 72 6.1 Kết đạt 72 6.2 Hạn chế 72 6.3 Hướng phát triển 72 Tài liệu tham khảo 73 Chương 1: Tổng quan 1.1 Mục đích nghiên cứu Hiện nay, việc quản lý văn trở thành vấn đề quan trọng doanh nghiệp hay lĩnh vực Quản lý văn hiệu có lợi ích to lớn sau giúp tăng hiệu cơng việc Khi có hệ thống quản lý văn tốt, người dùng dễ dàng tìm kiếm truy cập văn cần thiết mà khơng cần phải tìm kiếm nhiều nơi khác không cần phải chép văn Điều giúp tăng hiệu công việc giảm thiểu thời gian cho việc tìm kiếm văn Ngồi cịn giúp tăng độ tin cậy xác thơng tin: Khi có hệ thống quản lý văn tốt, người dùng dễ dàng kiểm tra xác nhận thông tin văn Điều giúp tăng độ tin cậy xác thông tin công ty Quan trọng hơn, cịn giúp tăng khả lưu trữ truy cập từ xa: Hệ thống quản lý văn điện tử cho phép người dùng lưu trữ truy cập văn từ đâu lúc Điều giúp tăng khả lưu trữ truy cập nhân viên công ty Tuy nhiên, việc quản lý văn doanh nghiệp Việt Nam có điểm bất cập sau: - Khơng có liên kết văn bản: Trong trình lưu trữ văn bản, văn thường lưu trữ theo cấu trúc cố định khơng có liên kết văn Điều dẫn đến khó khăn việc tìm kiếm sử dụng văn - Thiếu đồng hóa: Vì khơng có liên kết văn nên khó để đồng hóa thơng tin văn - Thiếu khả lưu trữ truy cập từ xa: Trong hệ thống quản lý văn cũ, người dùng phải đến trực tiếp văn phòng để truy cập văn phải chép văn gửi qua điện thoại email để truy cập từ xa Do đó, cần giải pháp để khắc phục hạn chế việc quản lý văn doanh nghiệp 1.2 Đối tượng nghiên cứu Đối tượng nghiên cứu phần mềm quản lý văn doanh nghiệp, tổ chức cá nhân sử dụng phần mềm để quản lý tài liệu văn họ Phần mềm quản lý văn sử dụng lĩnh vực khác kinh doanh, dịch vụ, nghiên cứu khoa học, giáo dục cơng tác trị Những người sử dụng phần mềm nhân viên phận khác doanh nghiệp tổ chức, cá nhân tự người có nhu cầu quản lý văn cá nhân họ Phần mềm quản lý văn giúp người sử dụng tìm kiếm quản lý tài liệu văn cách hiệu quả, giúp họ làm việc nhanh hiệu 1.3 Phạm vi đề tài Phạm vi đề tài nghiên cứu phần mềm quản lý văn doanh nghiệp bao gồm: • Phân tích nhu cầu u cầu người sử dụng phần mềm quản lý văn • Khám phá giải pháp phần mềm quản lý văn có thị trường đánh giá tính khả thi chúng doanh nghiệp • Xây dựng mơ hình thiết kế phần mềm quản lý văn cho doanh nghiệp • Thực việc phát triển tích hợp phần mềm vào hệ thống doanh nghiệp • Đánh giá hiệu suất tính khả thi phần mềm quản lý văn sau sử dụng doanh nghiệp • Đề xuất giải pháp cải tiến nâng cao hiệu suất phần mềm quản lý văn doanh nghiệp Đề tài ứng dụng thử nghiệm mơi trường giáo dục, phịng ban trường đại học Sau mở rộng vào quản lý doanh nghiệp Chương 2: Cơ sở lý thuyết công nghệ 2.1 Cơ sở lý thuyết 2.1.1 Tổng quan nghiệp vụ quản lý văn doanh nghiệp Quản lý văn phần quan trọng hoạt động doanh nghiệp, văn nguồn thông tin quan trọng hoạt động doanh nghiệp Nghiệp vụ quản lý văn bao gồm hoạt động liên quan đến sản xuất, lưu trữ, quản lý truy cập văn doanh nghiệp Mục tiêu quản lý văn đảm bảo văn doanh nghiệp lưu trữ cách an toàn dễ dàng truy cập, đồng thời cung cấp cho nhân viên doanh nghiệp cách dễ dàng truy cập sử dụng văn Để quản lý văn hiệu quả, doanh nghiệp cần phải xây dựng hệ thống quản lý văn hợp lý, bao gồm quy trình tiêu chuẩn để sản xuất, lưu trữ truy cập văn Hệ thống cần bao gồm công cụ phần mềm hỗ trợ việc quản lý văn Hiện nay, quản lý văn doanh nghiệp trở nên quan trọng phức tạp với phát triển công nghệ tăng cao nhu cầu lưu trữ văn Do đó, doanh nghiệp bắt đầu sử dụng công cụ quản lý văn điện tử để giúp họ quản lý lưu trữ văn cách hiệu Các công cụ quản lý văn điện tử thường bao gồm chức tạo chỉnh sửa văn bản, lưu trữ tìm kiếm văn bản, chia sẻ văn với nhóm người dùng khác, quản lý phiên văn Ngoài ra, cơng cụ quản lý văn điện tử cịn giúp doanh nghiệp tuân thủ quy định bảo mật văn quản lý quyền truy cập vào tài liệu Tuy nhiên việc áp dụng cơng cụ quản lý văn cịn chưa nhiều chưa đào tạo dẫn đến việc quản lý văn khơng khoa học Vì cần có giải pháp quản lý văn tiện lợi dễ sử dụng mà mang đến hiệu cao 2.1.2 Tổng quan kiến trúc vi dịch vụ (Microservices) 2.1.2.1 Giới thiệu Microservices kiến trúc phần mềm mà hệ thống xây dựng từ nhiều dịch vụ nhỏ, đơn lẻ độc lập với Mỗi dịch vụ tập trung vào tác vụ cụ thể triển khai, vận hành bảo trì riêng biệt Các dịch vụ giao tiếp với thông qua giao diện API (Application Programming Interface) 2.1.2.2 Ưu nhược điểm kiến trúc microservices Điểm mạnh kiến trúc microservices khả linh hoạt khả mở rộng dễ dàng Mỗi dịch vụ phát triển bảo trì riêng biệt, giúp cho việc phát triển phần mềm trở nên hiệu Nó giúp cho việc triển khai vận hành phần mềm trở nên đơn giản hơn, dịch vụ triển khai vận hành riêng biệt máy chủ khác Tuy nhiên, kiến trúc microservices có số khuyết điểm Nó làm tăng số lượng giao diện API liên kết dịch vụ, điều làm tăng khó khăn việc quản lý hệ thống 2.1.2.3 Vì nên ứng dụng kiến trúc microservices vào việc xây dựng hệ thống lớn Đối với hệ thống lớn với số lượng người dùng lớn có khả phát triển mở rộng tương lai, Microservices lựa chọn tốt nhiều lần so với kiến trúc truyền thống Monolithic Kiến trúc microservices kiến trúc phát triển phần mềm mà chức hệ thống chia thành nhiều dịch vụ nhỏ độc lập, dịch vụ xây dựng, triển khai quản lý riêng biệt Điều có lợi ích sau: • Dễ dàng mở rộng: Vì dịch vụ độc lập nên dễ dàng để mở rộng thay đổi dịch vụ mà khơng ảnh hưởng đến dịch vụ khác • Khả chịu đựng cao: Vì dịch vụ triển khai riêng biệt nên dịch vụ bị lỗi khơng ảnh hưởng đến dịch vụ khác Điều giúp hệ thống có khả chịu đựng cao khơng bị ngừng hoạt động • Dễ dàng vận hành bảo trì: Vì dịch vụ triển khai quản lý riêng biệt nên dễ dàng để vận hành bảo trì dịch vụ cách riêng biệt 2.1.2.4 Giao tiếp service với nhau: Trong kiến trúc microservices, microservices giao tiếp với thông qua giao diện API (Application Programming Interface) Mỗi microservice có nhiều giao diện API để trao đổi liệu tương tác với microservice khác • Có hai cách để microservices giao tiếp với nhau: • Giao tiếp trực tiếp: Một microservice gửi yêu cầu đến giao diện API microservice khác, sau nhận phản hồi từ microservice Giao tiếp thơng qua xử lý tin nhắn: Các microservices gửi nhận tin nhắn từ xử lý tin nhắn RabbitMQ Apache Kafka Bộ xử lý tin nhắn làm trung gian microservices chuyển tiếp tin nhắn tới microservice đích Việc sử dụng giao diện API cho phép microservices làm việc độc lập với khơng phụ thuộc vào cách lập trình microservice khác Nó cho 10 document trùng tên Hiện document quản lý loại văn xuôi, tương lai DocHero phát triển thêm văn liệu kiểu bảng 4.2.4.2 Công nghệ sử dụng 4.2.4.3 Sơ đồ tổ chức liệu 59 4.2.4.4 Danh sách API Phương Tên API Quyển hạn Mô tả thức Administrator POST Create folder Manager Employee GET PUT DELETE Get all items in folder by folderId Update folder Delete folder Create document Lấy danh sách document Manager folder folder cụ Employee thể Administrator Thay đổi thông tin Manager folder (Tên folder, đường Employee dẫn folder) Administrator Xóa folder vả folder, Manager document khỏi hệ Employee thống Manager Employee Administrator GET Get document detail Manager Employee Administrator PUT Update document Manager Employee Administrator DELETE Delete document Manager Employee PUT Update document parent folder hệ thống Administrator Administrator POST Tạo folder Administrator Manager Employee 60 Tạo document folder Lấy chi tiết thông tin văn Thay đổi, cập nhật nội dung, tiêu đề, bình luận văn tạo revision cho văn Xóa document khỏi hệ thống Thay đổi đường dẫn document 4.2.5 Document revision service 4.2.5.1 Giới thiệu tổng quan Document revision service thành phần hệ thống DocHero chịu trách nhiệm quản lý phiên văn Thông tin chi tiết văn lưu trữ service Nếu document có thay đổi, document revision service lưu lại phiên cũ document, sau cập nhật phiên cho văn Service gần khơng sử dụng nhiều từ phía client, sử dụng document service 4.2.5.2 Cơng nghệ sử dụng 61 4.2.5.3 Sơ đồ tổ chức liệu 4.2.5.4 Danh sách API Phương Tên API Quyển hạn Mô tả thức PUT Revert to previous revisions Administrator Manager Employee Lấy lại phiên cũ văn Lưu chi tiết văn vào hệ thống Nếu chi tiết văn PUT Save document revision Administrator Manager Employee có sửa đổi, service tạo phiên cập nhật document với phiên API nên gọi thông qua API document Khởi tạo document PUT Initial document revision Administrator Manager Employee revision Được sử dụng người dùng tạo văn API nên gọi thông qua API document 62 GET Get list revisions of document Administrator Manager Employee Lấy danh sách phiên văn API nên gọi thông qua API document Lấy thông tin chi tiết Get detail revision of GET document by document ID and revision ID văn dựa vào document Administrator ID document revision Manager ID API bổ trợ cho Employee chức khôi phục lại viên trước văn Chương 5: Thiết kế giao diện ứng dụng 5.1 Giao diện đăng nhập 63 5.2 Giao diện trang chủ dành cho người quản lý 5.3 Giao diện trang chủ người dùng 64 5.4 Giao diện xem thông tin văn trang chủ 5.5 Giao diện quản lý người dùng 65 5.6 Giao diện tạo người dùng 66 5.7 Giao diện chỉnh sửa thông tin người dùng 67 5.8 Giao diện quản lý văn 5.9 Giao diện thêm phòng ban 68 5.10 Giao diện tạo folder văn 5.11 Giao diện tạo folder 69 5.12 Giao diện chi tiết văn 5.13 Giao diện bình luận văn 70 5.14 Giao diện xem lại phiên văn 71 Chương 6: Kết luận hướng phát triển 6.1 Kết đạt Sau tháng nghiên cứu thực dự án, nhóm chúng em đạt thành tựu định sau - Cách xây dựng web Reactjs, Framework tiếng - Cách xây dựng server Restful API sử dụng Spring Boot - Cách lập trình với ngơn ngữ Typescript Java - Nghiên cứu, thiết kế triển khai kiến trúc microservice sử dụng Spring Cloud - Nâng cao khả làm việc nhóm - Sử dụng cơng cụ phát triển phần mềm Postman, VSCode; SVN như: Github, Gitlab, Intellij IDEA 6.2 Hạn chế Ngoài kết trên, ứng dụng cịn có nhiều hạn chế: - Ứng dụng bị - Server xử lý chậm có nhiều request lúc - Chưa có tập trung cho việc cấu hình server - Nghiệp vụ quản lý văn cịn chưa xác, mang tính tham khảo học hỏi - Giao diện cịn thơ, chưa bắt mắt người dùng 6.3 Hướng phát triển Vì hệ thống cịn nhiều thiếu sót, nên nhóm chúng em đề xuất cải tiến cho hệ thống phiên sau Thêm tính nhập xuất văn thành file - Thêm tính quản lý văn cho file excel - Thêm chế xử lý lỗi microservices - Đưa tảng lên tảng điện toán đám mây AWS AZURE - Phát triển thêm tính phân quyền người dùng cách rõ ràng đầy đủ - Thêm chức chữ ký điện tử - Thêm nhiều công cụ để chỉnh sửa văn - Cải thiện lại giao diện để dễ sử dụng 72 Tài liệu tham khảo [1] Spring Boot! (Getting Started) (2021, July 30) https://spring.io/projects/spring-boot [2] What are microservices? (n.d.) Microservice Documentation https://microservices.io/ [3] ReactJS Documentation | Concepts, Guides, and Reference (n.d.) ReactJS https://reactjs.org/ [4] P.G (2017, May 12) Postgres Https://Postgres.Dev/ Retrieved May 12, 2022, from https://www.postgresql.org/ [5] Docker | Get started With Docker (n.d.) Using Docker https://www.docker.com/ [6] B (2020, December 22).Building Microservices Using An API Gateway DEV Community https://www.nginx.com/blog/building-microservices-using-an-apigateway/ [7] What is design Pattern (2017, October 20) Engineering.Grab.Com Retrieved June 12, 2022, from https://www.freecodecamp.org/news/the-basic-design-patterns-alldevelopers-need-to-know/ 73 ... việc quản lý văn Hiện nay, quản lý văn doanh nghiệp trở nên quan trọng phức tạp với phát triển công nghệ tăng cao nhu cầu lưu trữ văn Do đó, doanh nghiệp bắt đầu sử dụng công cụ quản lý văn điện... 2.1.1 Tổng quan nghiệp vụ quản lý văn doanh nghiệp Quản lý văn phần quan trọng hoạt động doanh nghiệp, văn nguồn thông tin quan trọng hoạt động doanh nghiệp Nghiệp vụ quản lý văn bao gồm hoạt... cầu hệ thống 3.1 Yêu cầu chức • Quản lý lưu trữ văn bản: Hệ thống cần có khả lưu trữ quản lý văn theo chuyên mục, loại văn người tạo văn • Tìm kiếm văn bản: Hệ thống cần có tính tìm kiếm văn

Ngày đăng: 01/02/2023, 21:11

Tài liệu cùng người dùng

Tài liệu liên quan