Báo cáo Luận văn thạc sĩ: Dự án ClipackSRM - Tầng trình bày và tạo báo cáo

Luận văn thạc sĩ phân tích vnu projet clipacksrm, đánh giá thực trạng, chỉ ra hạn chế, đề xuất giải pháp khả thi cho thực tiễn., phục vụ nghiên cứu và ứng dụng thực tiễn

Trường đại học

IFI

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Báo cáo Dự án cuối khóa
60
3
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan luận văn thạc sĩ VNU projet ClipackSRM đột phá

Luận văn thạc sĩ về projet ClipackSRM là một đề tài nghiên cứu khoa học tiêu biểu, tập trung vào việc phát triển các giải pháp phần mềm doanh nghiệp trên nền tảng công nghệ J2EE. Công trình này không chỉ giải quyết các bài toán kỹ thuật phức tạp mà còn thể hiện năng lực ứng dụng các mô hình kiến trúc hiện đại vào thực tiễn. ClipackSRM là một phần mềm quản lý quan hệ nhà cung cấp (Supplier Relationship Management), được thiết kế đặc biệt cho ngành hàng tiêu dùng đóng gói (CPG). Mục tiêu chính của luận văn là xây dựng và tối ưu hóa hai thành phần quan trọng: Tầng Trình Bày (Presentation Layer) và một cơ chế tạo báo cáo khoa học tự động. Luận văn đi sâu vào việc áp dụng các công nghệ tiên tiến như XML/XSLT và XSL-FO để tạo ra một hệ thống linh hoạt, dễ bảo trì và có hiệu năng cao. Đây là một nghiên cứu điển hình (case study) xuất sắc cho các học viên cao học tại Đại học Quốc gia Hà NộiĐại học Quốc gia TP.HCM quan tâm đến lĩnh vực phát triển ứng dụng doanh nghiệp. Quá trình thực hiện, từ việc phân tích dữ liệu đến triển khai, đều tuân thủ các phương pháp nghiên cứu bài bản, đảm bảo tính khoa học và giá trị thực tiễn. Công trình này là một tài liệu tham khảo quý giá, cung cấp hướng dẫn viết luận văn chi tiết về cách xây dựng kiến trúc phần mềm ba tầng, quản lý trạng thái ứng dụng và tích hợp các công nghệ trình diễn web hiện đại.

1.1. Bối cảnh và tính cấp thiết của đề tài nghiên cứu

Trong bối cảnh công nghệ Internet thay đổi hoàn toàn phương thức kinh doanh truyền thống, các ứng dụng thương mại điện tử (e-commerce) và quản lý chuỗi cung ứng trở nên quan trọng hơn bao giờ hết. Dự án ClipackSRM ra đời nhằm đáp ứng nhu cầu tối ưu hóa quy trình phát triển sản phẩm và mua sắm cho ngành CPG. Luận văn thạc sĩ này giải quyết bài toán cốt lõi: làm thế nào để xây dựng một Tầng Trình Bày (Presentation Layer) hiệu suất cao, linh hoạt và một module tạo báo cáo động (PDF, Excel, XML) cho một ứng dụng J2EE phức tạp. Tính cấp thiết của đề tài nằm ở việc tìm kiếm giải pháp công nghệ tối ưu để tách biệt logic nghiệp vụ khỏi giao diện người dùng, giúp tăng tốc độ phát triển và đơn giản hóa quá trình bảo trì hệ thống.

1.2. Mục tiêu chính và đóng góp khoa học của luận văn

Mục tiêu chính của luận văn thạc sĩ vnu projet clipacksrm bao gồm: (1) Nghiên cứu và nắm vững kiến trúc tổng thể của ứng dụng ClipackSRM. (2) Thiết kế và triển khai Tầng Trình Bày sử dụng các công nghệ Java, XML/XSL. (3) Xây dựng cơ chế tạo báo cáo linh hoạt dưới các định dạng PDF, Excel, XML sử dụng XSL-FO. Đóng góp khoa học của luận văn thể hiện ở việc áp dụng thành công mô hình MVC (Model-View-Controller) kết hợp với XML/XSLT để giải quyết bài toán trình diễn dữ liệu, đồng thời xây dựng một kiến trúc tạo báo cáo dựa trên template (Datasheet Template) giúp người dùng cuối có thể tự định nghĩa các mẫu báo cáo mà không cần can thiệp vào mã nguồn. Kết quả nghiên cứu này mang lại giá trị thực tiễn cao cho các dự án phát triển phần mềm doanh nghiệp.

II. Thách thức kỹ thuật khi thực hiện luận văn ClipackSRM

Việc thực hiện luận văn thạc sĩ vnu projet clipacksrm đối mặt với nhiều thách thức kỹ thuật đặc thù của các ứng dụng doanh nghiệp quy mô lớn. Thách thức lớn nhất là thiết kế một Tầng Trình Bày vừa phải đảm bảo tốc độ phản hồi nhanh, giao diện hấp dẫn, năng động, vừa phải dễ dàng bảo trì và mở rộng. Các giải pháp truyền thống như JSP thuần túy thường trộn lẫn mã Java và HTML, gây khó khăn cho việc phân chia công việc giữa đội ngũ thiết kế và lập trình viên. Thêm vào đó, hệ thống cần hỗ trợ đa ngôn ngữ (quốc tế hóa - i18n) và cho phép người dùng nhập/xuất dữ liệu một cách linh hoạt, đòi hỏi một cơ chế quản lý dữ liệu và định dạng chuẩn hóa. Một thách thức quan trọng khác là xây dựng module tạo báo cáo. Các báo cáo doanh nghiệp thường có bố cục phức tạp, yêu cầu phân trang, đầu trang, chân trang (header/footer) và phải được xuất ra các định dạng phổ biến như PDF. Việc tạo các tệp PDF từ dữ liệu động trong một ứng dụng Java đòi hỏi phải tìm hiểu và tích hợp các thư viện chuyên dụng như Apache FOP, đồng thời thiết kế một quy trình xử lý hiệu quả. Quá trình bảo vệ luận văn đòi hỏi tác giả phải chứng minh được tính tối ưu và khả thi của các giải pháp đã chọn, từ việc sử dụng ORM (Object-Relational Mapping) cho tầng dữ liệu đến việc áp dụng các mẫu thiết kế (design patterns) trong tầng nghiệp vụ.

2.1. Vấn đề về hiệu năng và khả năng bảo trì Tầng Trình Bày

Hiệu năng và khả năng bảo trì là hai yếu tố sống còn đối với Tầng Trình Bày. Một giao diện chậm chạp sẽ làm giảm trải nghiệm người dùng, trong khi một cấu trúc mã nguồn phức tạp sẽ làm tăng chi phí bảo trì. Vấn đề đặt ra là làm sao để tách biệt hoàn toàn logic xử lý dữ liệu (Model) và logic hiển thị (View). Luận văn đã phân tích các nhược điểm của việc sử dụng JSP đơn thuần và đề xuất giải pháp tích hợp XML và XSLT vào kiến trúc MVC. Cách tiếp cận này giúp các nhà thiết kế web có thể làm việc trên các tệp XSL (định dạng giao diện) độc lập với các lập trình viên Java xử lý logic nghiệp vụ, từ đó cải thiện đáng kể quy trình làm việc và chất lượng sản phẩm cuối cùng.

2.2. Yêu cầu về một cơ chế tạo báo cáo khoa học linh hoạt

Nhu cầu tạo báo cáo khoa học và báo cáo nghiệp vụ từ dữ liệu hệ thống là một yêu cầu tất yếu. Thách thức ở đây là xây dựng một cơ chế không chỉ tạo ra các báo cáo PDF có định dạng chuyên nghiệp mà còn phải cho phép người dùng (không phải lập trình viên) có thể tùy chỉnh nội dung và bố cục của báo cáo. Luận văn đề xuất một giải pháp sáng tạo dựa trên "Datasheet Template". Người dùng có thể định nghĩa các mẫu báo cáo bằng cách chọn các thuộc tính, hình ảnh và thông tin cần hiển thị. Hệ thống sẽ sử dụng công nghệ XSL-FO để áp dụng các mẫu này vào dữ liệu thực tế và tạo ra các tệp PDF tương ứng. Giải pháp này đáp ứng được yêu cầu về tính linh hoạt và khả năng mở rộng.

III. Hướng dẫn cấu trúc luận văn Kiến trúc 3 tầng tối ưu

Một trong những điểm cốt lõi của luận văn thạc sĩ vnu projet clipacksrm là việc thiết kế và triển khai kiến trúc ứng dụng đa tầng (multi-layer). Cấu trúc luận văn được tổ chức rõ ràng theo ba tầng chính: Tầng Bền Bỉ (Persistence Layer), Tầng Nghiệp Vụ (Business Layer) và Tầng Trình Bày (Presentation Layer). Kiến trúc này giúp phân tách rõ ràng các mối quan tâm (separation of concerns), tăng cường khả năng tái sử dụng mã nguồn và đơn giản hóa việc bảo trì. Tầng Bền Bỉ chịu trách nhiệm tương tác với cơ sở dữ liệu. Thay vì sử dụng JDBC và các câu lệnh SQL thuần túy, luận văn đã áp dụng kỹ thuật Object-Relational Mapping (ORM) thông qua thư viện Oracle Toplink. ORM giúp ánh xạ các đối tượng Java với các bảng trong cơ sở dữ liệu một cách tự động, làm cho mã nguồn trở nên trong sáng và độc lập với hệ quản trị cơ sở dữ liệu. Tầng Nghiệp Vụ là nơi chứa đựng toàn bộ logic xử lý của ứng dụng. Tầng này hoạt động như một trung gian, nhận yêu cầu từ Tầng Trình Bày, xử lý và tương tác với Tầng Bền Bỉ để lưu trữ hoặc truy xuất dữ liệu. Luận văn sử dụng các mẫu thiết kế như Factory để quản lý việc tạo và chuyển đổi giữa các đối tượng dữ liệu (PState) và đối tượng nghiệp vụ (BO). Cuối cùng, Tầng Trình Bày, thành phần được tập trung nhiều nhất, chịu trách nhiệm tạo ra giao diện người dùng trên trình duyệt. Việc áp dụng thành công kiến trúc 3 tầng là một kết quả nghiên cứu quan trọng, cho thấy năng lực thiết kế hệ thống của tác giả.

3.1. Tầng Persistence Giải pháp ORM với Oracle Toplink

Tầng Bền Bỉ (Persistence) được xây dựng dựa trên khái niệm Mapping objet-relationnel (O/R Mapping). Luận văn sử dụng Oracle9iAS Toplink, một framework ORM mạnh mẽ. Công cụ "Toplink Mapping Workbench" cung cấp giao diện đồ họa để các nhà phát triển định nghĩa các quy tắc ánh xạ giữa lớp Java và bảng dữ liệu. Các quy tắc này được lưu trong các tệp tin mô tả (descriptor files) dạng XML. Khi ứng dụng chạy, Toplink Persistence Manager sẽ đọc các tệp tin này để tự động chuyển đổi các đối tượng Java thành các câu lệnh SQL và ngược lại. Giải pháp này giúp ẩn đi sự phức tạp của việc tương tác với cơ sở dữ liệu, cho phép lập trình viên tập trung vào logic nghiệp vụ.

3.2. Tầng Business Quản lý logic với đối tượng BO và PState

Tầng Nghiệp Vụ (Business) đóng vai trò trung tâm, điều phối luồng dữ liệu giữa tầng trình bày và tầng bền bỉ. Luận văn đã thiết kế hai loại đối tượng chính: đối tượng PState (Persistence State) và đối tượng BO (Business Object). Các đối tượng PState là các đối tượng Java được ORM (Toplink) ánh xạ 1-1 với các bảng trong cơ sở dữ liệu. Tuy nhiên, Tầng Trình Bày thường yêu cầu dữ liệu được tổng hợp từ nhiều đối tượng PState khác nhau. Do đó, các đối tượng BO được tạo ra để đóng gói thông tin một cách hoàn chỉnh và phù hợp hơn. Mẫu thiết kế Factory được sử dụng để quản lý việc tạo và chuyển đổi giữa hai loại đối tượng này, đảm bảo cấu trúc luận văn chặt chẽ và logic.

3.3. Tầng Presentation Áp dụng mô hình MVC Model View Controller

Để quản lý sự phức tạp của giao diện người dùng, Tầng Trình Bày được xây dựng dựa trên mẫu thiết kế MVC. Mô hình này chia ứng dụng thành ba phần: Model (lưu trữ trạng thái và dữ liệu), View (hiển thị dữ liệu), và Controller (xử lý yêu cầu từ người dùng). Trong luận văn này, Controller (StateMachine) nhận các yêu cầu HTTP, tương tác với tầng nghiệp vụ để cập nhật Model (ModelView), và sau đó chọn một View (ViewLayerJSP) thích hợp để trả về kết quả cho người dùng. Cách tiếp cận này giúp tách biệt logic nghiệp vụ khỏi giao diện, làm cho hệ thống trở nên linh hoạt và dễ quản lý. Đây là một phương pháp nghiên cứu tiêu chuẩn nhưng được áp dụng rất hiệu quả.

IV. Phương pháp triển khai Tầng Trình Bày trong luận văn

Phần trọng tâm của luận văn thạc sĩ vnu projet clipacksrm là việc triển khai chi tiết Tầng Trình Bày. Thay vì chỉ dựa vào JSP, luận văn đã tích hợp công nghệ XML/XSLT như một giải pháp đột phá để tách biệt hoàn toàn dữ liệu và cách trình bày. Luồng hoạt động được mô tả trong Figure 7: Workflow de transformation XSL. Tầng nghiệp vụ sẽ tạo ra các gói dữ liệu dưới dạng tài liệu XML. Sau đó, một bộ xử lý XSLT (như Xalan) sẽ sử dụng các tệp tin biểu định kiểu XSL để biến đổi tài liệu XML này thành các định dạng đầu ra mong muốn như HTML, PDF hoặc thậm chí là một tài liệu XML khác. Cách tiếp cận này mang lại nhiều lợi ích: cấu trúc ứng dụng rõ ràng, phối hợp tốt với kiến trúc MVC, và cho phép các nhà thiết kế giao diện làm việc độc lập với các nhà phát triển backend. Việc thay đổi giao diện chỉ đơn giản là chỉnh sửa hoặc thêm mới các tệp XSL mà không ảnh hưởng đến logic nghiệp vụ. Luận văn cũng trình bày chi tiết việc xây dựng các module chức năng quan trọng khác cho Tầng Trình Bày, bao gồm cơ chế quốc tế hóa, chức năng nhập/xuất dữ liệu, và menu đa cấp động. Mỗi chức năng đều được thiết kế cẩn thận, sử dụng các phương pháp nghiên cứu phù hợp và được minh họa bằng các sơ đồ UML chi tiết.

4.1. Kỹ thuật dùng XML XSLT để tạo giao diện người dùng

Việc sử dụng XML/XSLT là một kỹ thuật cốt lõi. Thay vì để các trang JSP trực tiếp gọi logic nghiệp vụ và nhúng mã Java, hệ thống sẽ có một Controller trung tâm (FrameControllerJSP). Controller này sẽ gọi đến các lớp xử lý (State) để lấy dữ liệu. Dữ liệu này được đóng gói trong một đối tượng Model, sau đó được chuyển đổi thành một chuỗi XML. Cuối cùng, ControllerJSP sử dụng một bộ xử lý XSLT để áp dụng một tệp XSL tương ứng lên dữ liệu XML, tạo ra mã HTML cuối cùng và gửi về trình duyệt. Sơ đồ tuần tự trong Figure 10 đã mô tả rất rõ luồng xử lý này, từ lúc người dùng gửi yêu cầu cho đến khi nhận được trang HTML hoàn chỉnh.

4.2. Cơ chế quốc tế hóa và nhập xuất dữ liệu linh hoạt

Để hỗ trợ đa ngôn ngữ, luận văn đã thiết kế một cơ sở dữ liệu riêng cho việc quốc tế hóa, bao gồm các bảng Locales, CategoriesTranslations (tham khảo Figure 12). Hệ thống cho phép quản trị viên thêm các bản dịch cho mọi yếu tố giao diện và nội dung. Bên cạnh đó, chức năng nhập/xuất dữ liệu được xây dựng dựa trên định dạng XML. Hệ thống có thể xuất dữ liệu ra các tệp XML hoặc Excel và ngược lại, cho phép người dùng nhập dữ liệu từ một tệp XML. Một tệp DTD (Document Type Definition) được sử dụng để xác thực cấu trúc của tệp XML đầu vào, đảm bảo tính toàn vẹn dữ liệu. Đây là một phần quan trọng trong việc phân tích dữ liệu và trao đổi thông tin.

4.3. Xây dựng menu động đa cấp bằng XML XSL và JavaScript

Luận văn trình bày một giải pháp thông minh để tạo menu động đa cấp. Dữ liệu của menu (các mục, cấp độ, liên kết) được lấy từ cơ sở dữ liệu và đã được quốc tế hóa. Dữ liệu này sau đó được chuyển thành một tài liệu XML có cấu trúc cây (Figure 21). Một tệp XSL đặc biệt được viết để biến đổi XML này thành mã HTML và JavaScript, sử dụng thư viện CoolMenus để hiển thị menu tương tác trên trình duyệt. Workflow được mô tả trong Figure 20. Giải pháp này cho phép quản trị viên dễ dàng tùy chỉnh menu từ cơ sở dữ liệu mà không cần thay đổi mã nguồn, thể hiện tính linh hoạt cao của hệ thống.

V. Bí quyết tạo báo cáo PDF tự động từ Template với XSL FO

Một đóng góp đặc biệt giá trị của luận văn thạc sĩ vnu projet clipacksrm là việc xây dựng một cơ chế tạo báo cáo động và chuyên nghiệp. Trong khi HTML/CSS phù hợp cho việc hiển thị trên trình duyệt, chúng không đủ mạnh để tạo ra các tài liệu phân trang chất lượng cao như báo cáo in ấn. Luận văn đã giải quyết vấn đề này bằng cách sử dụng XSL-FO (XSL Formatting Objects), một ngôn ngữ của W3C được thiết kế đặc biệt để mô tả bố cục trang in. Luồng xử lý tổng thể được thể hiện trong Figure 22: Workflow de Transformation XSL FO. Quy trình bắt đầu bằng việc chuyển đổi các đối tượng Java (BO objects) thành một nguồn dữ liệu XML. Sau đó, một bộ xử lý XSLT-FO (sử dụng Apache FOP) sẽ áp dụng một biểu định kiểu XSL-FO lên nguồn XML này để tạo ra một tài liệu FO. Cuối cùng, tài liệu FO được xử lý để tạo ra các định dạng đầu ra như PDF, RTF. Điểm sáng tạo của giải pháp này là cơ chế "Datasheet Template". Người dùng có thể tự thiết kế các mẫu báo cáo bằng cách chọn các trường dữ liệu, hình ảnh, đầu trang, chân trang thông qua một giao diện web. Thông tin này được lưu lại dưới dạng một template. Khi cần tạo báo cáo cho một sản phẩm cụ thể, hệ thống sẽ lấy dữ liệu của sản phẩm đó và áp dụng template đã được định nghĩa sẵn, tạo ra một báo cáo PDF hoàn chỉnh. Kết quả nghiên cứu này được minh họa rõ nét qua Figure 30, cho thấy một ví dụ báo cáo sản phẩm chuyên nghiệp do hệ thống tạo ra.

5.1. Giới thiệu công nghệ XSL FO và bộ xử lý Apache FOP

XSL-FO là một ngôn ngữ dựa trên XML dùng để định nghĩa các đối tượng định dạng (formatting objects) như trang, khối văn bản, bảng, hình ảnh. Nó cho phép kiểm soát chi tiết các thuộc tính trình bày như lề, phông chữ, ngắt trang, đầu trang/chân trang. Apache FOP (Formatting Objects Processor) là một công cụ mã nguồn mở, có vai trò như một bộ xử lý nhận đầu vào là một tài liệu XSL-FO và tạo ra các định dạng đầu ra, phổ biến nhất là PDF. Luận văn đã tích hợp thành công Apache FOP vào ứng dụng J2EE để thực hiện tác vụ này.

5.2. Quy trình thiết kế Datasheet Template và tạo nguồn XML

Luận văn mô tả chi tiết quy trình tạo một "Datasheet Template". Người dùng sử dụng một giao diện đồ họa (Figure 25) để chọn các thông tin cần hiển thị trong báo cáo, bao gồm thông tin chung, các đặc tính kỹ thuật và hình ảnh sản phẩm. Các lựa chọn này được lưu vào cơ sở dữ liệu thông qua cơ chế ORM của Toplink. Khi một báo cáo cần được tạo, hệ thống sẽ lấy dữ liệu của sản phẩm và dữ liệu của template, sau đó sử dụng một module đặc biệt (DatasheetTemplateReader) để chuyển đổi các đối tượng Java này thành một luồng sự kiện SAX (Simple API for XML). Luồng sự kiện này tương đương với một tài liệu XML và được đưa trực tiếp vào bộ xử lý XSL-FO, giúp tối ưu hiệu năng bằng cách không cần tạo tệp XML trung gian.

5.3. Sơ đồ tuần tự và kết quả tạo báo cáo PDF thực tế

Sơ đồ tuần tự trong Figure 29 mô tả chi tiết luồng hoạt động khi người dùng yêu cầu tạo một báo cáo. DatasheetTemplateServlet nhận yêu cầu, gọi các Manager tương ứng để lấy dữ liệu sản phẩm và template. DatasheetGenerator sẽ tổng hợp các thông tin này và FOPManager sẽ điều phối quá trình chuyển đổi từ đối tượng Java sang XML và cuối cùng là PDF bằng Xalan và Apache FOP. Kết quả nghiên cứu cuối cùng là một tệp PDF chuyên nghiệp, có bố cục rõ ràng, chứa đầy đủ thông tin sản phẩm theo đúng mẫu template mà người dùng đã định nghĩa. Đây là một minh chứng thuyết phục cho sự thành công của giải pháp.

VI. Đánh giá kết quả luận văn và hướng phát triển tương lai

Tóm tắt luận văn cho thấy công trình đã hoàn thành xuất sắc các mục tiêu đề ra. Tác giả đã nghiên cứu, thiết kế và triển khai thành công hai module quan trọng cho hệ thống ClipackSRM: Tầng Trình Bày và Cơ chế tạo báo cáo. Việc áp dụng kiến trúc 3 tầng, mô hình MVC, và các công nghệ XML/XSL/XSL-FO không chỉ giải quyết được các thách thức kỹ thuật mà còn tạo ra một hệ thống có cấu trúc chặt chẽ, linh hoạt và dễ bảo trì. Các kết quả nghiên cứu không chỉ mang tính lý thuyết mà có tính ứng dụng thực tiễn cao, được minh chứng qua các chức năng hoàn chỉnh như giao diện động, menu đa cấp, quốc tế hóa, và đặc biệt là khả năng tạo báo cáo PDF từ template. Luận văn là một tài liệu tham khảo chất lượng cao, cung cấp hướng dẫn viết luận văn và triển khai ứng dụng doanh nghiệp cho sinh viên và các nhà phát triển. Việc tuân thủ các quy định luận văn thạc sĩ VNU được thể hiện qua cấu trúc bài bản, trích dẫn tài liệu tham khảo rõ ràng và phương pháp trình bày khoa học. Các hội đồng chấm luận văn chắc chắn sẽ đánh giá cao tính mới, tính sáng tạo và giá trị thực tiễn của công trình này. Các tài liệu như thế này có thể được tìm thấy và tham khảo tại thư viện số VNU hoặc cổng thông tin đào tạo VNU.

6.1. Những thành tựu chính và giá trị thực tiễn của đề tài

Thành tựu nổi bật nhất của luận văn thạc sĩ này là việc xây dựng thành công một kiến trúc Tầng Trình Bày linh hoạt, tách biệt hoàn toàn logic và giao diện. Điều này giúp tối ưu hóa quy trình làm việc nhóm và giảm chi phí bảo trì. Thành tựu thứ hai là cơ chế tạo báo cáo PDF dựa trên template, mang lại cho người dùng cuối khả năng tùy biến cao. Giá trị thực tiễn của đề tài nằm ở việc cung cấp một bộ giải pháp kỹ thuật đã được kiểm chứng, có thể áp dụng trực tiếp vào các dự án quản lý dự án phần mềm doanh nghiệp khác, đặc biệt là các hệ thống xây dựng trên nền tảng J2EE.

6.2. Hạn chế của luận văn và đề xuất hướng nghiên cứu tiếp theo

Mặc dù đạt được nhiều thành công, luận văn vẫn có thể có một số hạn chế như chưa đi sâu vào các vấn đề tối ưu hóa hiệu năng ở mức độ tải lớn hoặc các khía cạnh về bảo mật. Hướng nghiên cứu tiếp theo có thể tập trung vào việc áp dụng các framework JavaScript hiện đại (như React, Angular) cho Tầng Trình Bày để cải thiện hơn nữa trải nghiệm người dùng. Ngoài ra, cơ chế tạo báo cáo có thể được mở rộng để hỗ trợ nhiều định dạng phức tạp hơn và tích hợp các công cụ phân tích dữ liệu và trực quan hóa mạnh mẽ hơn. Việc nghiên cứu tích hợp với các hệ thống CI/CD (Continuous Integration/Continuous Deployment) cũng là một hướng đi tiềm năng để tự động hóa quy trình kiểm thử và triển khai.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

22/07/2025
Luận văn thạc sĩ vnu projet clipacksrm

Trích đoạn nội dung tài liệu

Institut de la Francophonie pour l'Informatique Rapport du stage Projet “ClipackSRM” La couche de Présentation Génération de rapports Responsable du stage: Erwan Tesson Chef de Projet Stagiaire: Mai Thuy Nga Etudiante de Promotion 7, IFI LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DEPA Rapport de Projet de Fin d’Etudes Clipack TABLE DES MATIERES REMERCIEMENTS. OBJECTIF DU STAGE. ENVIRONNEMENT DE STAGE .9 CHAPITRE 2 : ARCHITECTURE ET SOLUTION DU PROJET. ARCHITECTURE DE L’APPLICATION CLIPACKSRM.

DESCRIPTION DES COMPOSANTS DE L’ARCHITECTURE. COUCHE DE PERSISTANCE. Persistance avec Object Relational Mapping (ORM). Oracle9iAS Toplink.

COUCHE DE PRESENTATION. Le modèle MVC. Appliquer le modèle MVC dans l’application Clipack. Valider Document XML avec DTD.19 CHAPITRE 3 : IMPLEMENTATION DE LA COUCHE DE PRESENTATION.

VUE DU CLIENT AVEC XML/XSL. Diagramme de état/activité. L’interface du client dans ClipackSRM. Les diagrammes de séquences et de classes.

MECHANISME D’INTERNATIONALISATION DE CLIPACK. IMPORTER/EXPORTER DE DONNEES. Exporter données en document XML et Excel. Importer des données utilisant Document XML.

MENU MULTI-NIVEAUX AVEC XML/XSL ET JAVASCRIPT/CSS. Les caractéristiques de Menu multi-niveaux .37 CHAPITRE 4 : MECANISME POUR GENERER DES RAPPORT A PARTIR DE “TEMPLATE ». PAGINATION DES DOCUMENTS ET DES RAPPORTS.40 MAI Thuy Nga 2/60 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DEPA Rapport de Projet de Fin d’Etudes Clipack 2. ARCHITECTURE XSL-FO.

GENERATEUR DE RAPPORTS AVEC XSL-FO (FOP). Création de Datasheet Template. Générer la source XML à partir de objets Java (DatasheetTemplate). Rapport Datasheet Template avec XSL-FO.52 LE FICHIER XSL POUR LE MENU MULTI NIVEAU.52 LE FICHIER XSL FO POUR LES RAPPORTS .60 MAI Thuy Nga 3/60 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DEPA Rapport de Projet de Fin d’Etudes Clipack TABLE DES FIGURES Figure 1: Diagramme Multi couches dans ClipackSRM__________________________ 10 Figure 2: Architecture des ClipackSRM composants ____________________________ 11 Figure 3: Architecture ORM _______________________________________________ 13 Figure 4: Un exemple d’utilisation pattern Factory avec les objets BO et PState ______ 15 Figure 5: Modèle MVC ___________________________________________________ 16 Figure 6: Design Pattern MVC dans ClipackSRM ______________________________ 17 Figure 7: Workflow de transformation XSL ___________________________________ 20 Figure 8: Diagramme de état/activité ________________________________________ 21 Figure 9: L’interface du client dans ClipackSRM ______________________________ 22 Figure 10: Diagramme de séquences pour la couche de présentation ________________ 23 Figure 11: Diagramme de classes pour la couche de présentation __________________ 24 Figure 12: Schéma relationnel de la base de données pour la localisation ____________ 27 Figure 13: Diagramme de séquences pour la localisation _________________________ 28 Figure 14: Schéma pour Exporter Catégories (XML/Excel)________________________ 29 Figure 15: L’exemple du module Export de Catégories vers Excel __________________ 31 Figure 16: Export dans le format XML (généré par ClipackSRM) __________________ 32 Figure 17: Export vers Excel (généré par ClipackSRM) __________________________ 32 Figure 18: L’exemple du module Importer de Catégories _________________________ 33 Figure 19: Le menu multi-niveaux ___________________________________________ 36 Figure 20: Génération de menu multi-niveaux __________________________________ 37 Figure 21: Le schéma pour le document XML multi-niveaux _______________________ 38 Figure 22: Workflow de Transformation XSL FO _______________________________ 41 Figure 23: Workflow du module Génération de rapports__________________________ 42 Figure 24: Utilisation d’outil «Toplink Mapping Workbench» _____________________ 43 Figure 25: Interface de la création d’un Datasheet Template ______________________ 44 Figure 26: Diagramme de séquence de création DatasheetTemplate avec Toplink______ 45 Figure 27: Le diagramme de classes pour générer la source XML à partir de objets Java 47 Figure 28: Diagramme de séquences pour générer la source XML à partir de objets Java48 Figure 29: Diagramme de séquences pour générer un rapport _____________________ 49 Figure 30: Un exemple de rapport d’un Produit (générer par Clipack) ______________ 50 MAI Thuy Nga 4/60 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DEPA Rapport de Projet de Fin d’Etudes Clipack Remerciements Je tiens tout d’abord à remercier Messieurs Marc Dufour et Erwan Tesson de m’avoir donné la chance d’intégrer la société Clipack ainsi de leurs soutiens et de leur confiance.

Je cite plus particulièrement Monsieur Laurent Foret ingénieur développeur Clipack d’avoir été présent pour répondre à mes questions. Il m’a beaucoup aidé à comprendre les problèmes techniques. Je remercie également Monsieur Laurent Berteau responsable informatique pour ses conseils et ses soutiens tout au long de mon stage. J’exprime mon entière reconnaissance à ma famille et mes amis pour leurs aides, leurs encouragements.

MAI Thuy Nga 5/60 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DEPA Rapport de Projet de Fin d’Etudes Clipack Résumé Ce rapport rend compte du stage que j’ai pu effectué pendant 6 mois dans la société Clipack. Dans ce temps, j’ai déjà participé à l’équipe de développement du projet ClipackSRM, c’est un logiciel utilisant les technologies Internet pour optimiser les pratiques Achats en particulier pour le secteur CPG, Consumer Packaged Goods : agro-alimentaire, pharmacie, cosmétique, etc. D'abord, je présente l'architecture de couches du projet, les choix de conception et d'implémentation effectués dans chaque couche. Ensuite, je développe la couche de Présentation et les modules concernant comme la localisation d'interface, l'importer/exporter de données entre client et système.

En fin, je construis un mécanisme pour générer les rapports en utilisant la technologie XSL-FO Abstract This thesis has reported my working as the final practice for 6 months at Clipack Company. During this time, I have involved in a development team of the project ClipackSRM, pure-internet software enables your enterprise to optimize Product Development and Purchasing processes for Consumer Product Goods The first assignment, I present the project’s layering architecture, the reasonable selection of the design and implementation for each layer. Then, I develop the Presentation layer and its related modules such as Interface localization, import/export data between client and system. And last, I construct the reporting mechanism using XSL-FO technology that supports the system to define and generate a printable report for its entities MAI Thuy Nga 6/60 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DEPA Rapport de Projet de Fin d’Etudes Clipack CHAPITRE 1 : INTRODUCTION 1.

Problématique La tendance traditionnelle est changée complètement par les technologies Internet. On a créé un marché sans frontière sur l’Internet où permet tous les clients de chercher et acheter des marchandises à leur bureau, particulièrement ces transactions ont lieu dans le temps réel. Ces applications sont appelées « e-commerce application » et utilisées sur la plat-forme Web. ClipackSRM est une de ces applications dédié aux industries du secteur CPG-Consumer Packaged Goods (agroalimentaire, cosmétique, pharmacie, électronique grand public, etc.)…, elle fournit des outils pour aider fournisseurs et clients à mieux se comprendre afin d’élaborer plus efficacement leurs produits.

Le but est d’établir une relation gagnant-gagnant par l’intermédiaire de ce système de communication ouvert. Cette application utilise la technologie J2EE, son architecture est divisée en trois couches principales: • Couche de présentation • Couche métier • Couche de persistance La couche de présentation est responsable de créer l’interface utilisateur, c’est à dire générer et diffuser les pages Web affichées sur un navigateur. Elle joue un rôle très important dans toute l’application, elle doit s’adapter à quelques critères comme le temps d’affichage, l’attirance, le dynamisme,. Nous voudrons donc trouver un mécanisme pour construire une couche de présentation avec la meilleure performance De plus, nous souhaitons ajouter un nouveau module qui est responsable de générer des rapports sous forme des fichiers PDF, XML … 2.

Motivation Après avoir fini le cours DEPA en Informatique à l’IFI, nous faisons un stage d’une durée de six mois environ. Il y a deux types du stage: développement ou recherche Depuis longtemps, les applications d’entreprise m’intéressent beaucoup. Pour attirer plusieurs clients, ces logiciels doivent faire concurrence aux autres, ils ont donc des solutions optimisées de technologie. Clipack est une jeune société, son orientation est de faciliter les relations B2B (Business-to- Business) dans le domaine des achats, son application développée en Java s’appuie sur une base de données accessible sur Internet et mise à jour en temps réel par et pour les utilisateurs C’est la raison pour laquelle j’ai choisi le premier type de stage et participé à l’équipe de développement du projet ClipackSRM.

Cela m’apporte certains intérêts: - Acquérir rapidement une réelle compétence pratique dans la conception d'applications J2EE - Apprendre les nouvelles technologies concernées par le projet: XML, XSL et XSL-FO, Oracle, designs pattern … - Acquérir les expériences de travail en équipe MAI Thuy Nga 7/60 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DEPA Rapport de Projet de Fin d’Etudes Clipack 3. Objectif du stage Effectué dans le cadre du DEPA, ce stage a pour but de découvrir les responsabilités, les contraintes mais aussi le déroulement d’un projet de sa conception à sa réalisation. C’est l’occasion également de mieux appréhender les différents aspects de la vie professionnelle. Concrètement, mes travaux à Clipack sont: - Saisir le business de l’application ClipackSRM - Faire des recherches avec l’architecture du projet.

- Concevoir les modules logiciels utilisant UML - Implémenter les deux parties ci-dessous utilisant les technologies Java, XSL/XML. o La couche de présentation de l’application o Le mécanisme génère des rapports sous forme PDF, Excel, XML - Intégrer dans le projet 4. Environnement de stage 4. Société Clipack Clipack est une société dédiée à l’optimisation de la gestion des achats d’article complexes (carton, plastique, aluminium, etc.) grâce aux technologies Internet.

Créée à la fin de l’année 2000, Clipack est aujourd’hui une équipe d’une dizaine de personnes disposant d’une double expérience de terrain dans le domaine des achats techniques complexes (emballages notamment) et une expertise technologique de pointe Les actionnaires principaux de Clipack sont constitués de fonds d'investissement indépendants ayant pour objectifs d’assurer de façon pérenne le développement d’une entreprise innovante dans un secteur en pleine mutation.  Institut Régional de Développement Industriel  Socri Clipack a reçue dès début 2001 la qualification d' " entreprise innovante " de la part de l’Anvar (Agence Nationale de Valorisation de la Recherche) qui participe en outre à son développement à travers des aides financières significatives. Le Conseil Régional d’Aquitaine a également soutenue financièrement l’entreprise dès ses débuts Clipack a conclu divers partenariats afin d’approfondir son expertise métier et technologique, notamment avec ;  Ecole Supérieure d’Ingénieurs en Emballage et Conditionnement.  Oracle MAI Thuy Nga 8/60 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DEPA Rapport de Projet de Fin d’Etudes Clipack 4.

Projet ClipackSRM ClipackSRM est un logiciel de Supplier Relationship Management dédié aux industries du secteur CPG-Consumer Packaged Goods (agroalimentaire, cosmétique, pharmacie, électronique grand public, etc. Il est destiné particulièrement à traiter les questions de création des spécifications techniques et d’achats des articles concernés. ClipackSRM est un logiciel collaboratif utilisant pour la communication entre utilisateurs les technologies Internet. Il est proposé sous forme de modules pour adresser différentes fonctionnalités :  PackStudio : pour administrer l'application et, en particulier, modéliser les règles qui seront appliquées par les autres modules.

 PackDesign : pour spécifier collaborativement (en interne et avec les fournisseurs) ses articles en respectant un ensemble de règles (métier, validation, etc.  PackSpecs : pour gérer toutes les spécifications (techniques, logistiques, qualité, etc.) des articles achetés. PackSpecs permet de visualiser facilement les informations pertinentes et de les mettre en forme.  PackIntelligence : pour analyser les données sous une forme synthétique (tableaux, graphiques, statistiques, etc.) et prendre les bonnes décisions de développement et d’achat de produits complexes  PackTender : pour mettre en concurrence les fournisseurs (RFI, RFQ, appels d’offres, enchères inversées, etc.

PackTender peut être utilisé seul ou se connecter à d’autres opérateurs (places de marché, outils de e-sourcing, etc.)  PackOrder : pour lier le système de commandes de l’entreprise avec les spécifications techniques des articles et l’enrichir avec des fonctions de gestion collaborative d’évènements MAI Thuy Nga 9/60 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DEPA Rapport de Projet de Fin d’Etudes Clipack CHAPITRE 2 : ARCHITECTURE ET SOLUTION DU PROJET 1. Architecture de l’application ClipackSRM Aujourd’hui, les applications Web, et surtout les applications d’entreprise, sont de plus en plus complexes et variées.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ