Tạo mới và đóng gói một Module trong Openbravo(How To Create and Package a Module)

  Từ phiên bản 2.50 Openbravo ERP giới thiệu các khái niệm mới về Module. Module (Mô đun ) cung cấp cho các nhà phát triển với các phương tiện để có thể phát triển, đóng gói và phân phối công việc của họ một cách có cấu trúc và có kiểm soát. Đối với người dùng của Openbravo ERP, mô đun có thể tải về, cài đặt và cập nhật những phát triển tuỳ chỉnh. 
 Trong phần này mô tả cách làm thế nào để tạo ra và đóng gói một module mới. Nó được quan tâm đặc biệt vì nó mô tả bước đầu tiên cho tất cả các hướng dẫn sau này của người phát triển và việc phát triển tùy chỉnh Openbravo ERP nói chung.
I. Giới thiệu về Module
Nhiệm vụ của Module là:
    * Làm cho việc phát triển Openbravo ERP dễ dàng hơn bằng cách cho phép phân phối và tách riêng phát triển và bảo trì các tính năng tuỳ chọn.
    
* Cung cấp cho cộng đồng với một tập hợp phong phú các thành phần mở rộng để đáp ứng nhu cầu của họ mà không ảnh hưởng tới phiên bản gốc.
    
* Rút ngắn chu kỳ thực hiện bằng cách cho phép một hệ thống tích hợp để phát triển các chức năng cụ thể đáp ứng nhu cầu đặc trưng của một thị trường cụ thể.
 

   Module là một mảnh chức năng bổ sung có thể được triển khai tùy ý và độc lập trên nền Openbravo ERP. Ví dụ : các báo cáo bổ sung, cửa sổ bổ sung, kết nối, gói nội dung (bản dịch, biểu đồ của các tài khoản, danh sách các mã số thuế, các loại sản phẩm, vv).
  
Mô tả chi tiết về khái niệm Module trên Openbravo ERP, bạn tham khảo thêm tại  http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/Modularity
 
Trong bài viết này chỉ nói tới các loại module chuẩn, vì chúng là phù hợp nhất cho việc thực hiện các phát triển khác sau này. Có 2 loại module khác đó là  Industry Templates và Packs, không được nói tới ở đây.

  Tất cả các phát triển mới nên được thực hiện như một phần của một module. Chỉ có các Module được đánh dấu In Development mới có thể được sử dụng trong quá trình phát triển. Một module có thể bao gồm các phần mềm sau đây:
    
* Application dictionary components : Tất cả các ứng dụng từ điển phải gắn với một Module.
    * Software resource: Đây là những thành phần không được định nghĩa bởi Openbravo ERP. Ví dụ, Các lớp Java, thư viện, tài nguyên web (hình ảnh, vv), các file cấu hình, vv Để duy trì kết nối với Module,
Software resource cần phải được nằm trong thư mục module bên trong thư mục chính Openbravo ERP. Mỗi module có một thư mục riêng.
    
* Reference Data: Module có thể được phân phối với các thiết lập riêng dựa trên tài liệu tham khảo của doanh nghiệp, ví dụ, các loại sản phẩm, mã số thuế, vv. Các dữ liệu tham chiếu được định nghĩa trong datasets.

Quá trình phát triển một module có ba bước chính:


   1. Đăng ký module của bạn trong Application Dictionary và trong các kho lưu trữ trung tâm.
   
2. Phát triển các thành phần trong Module. Tùy thuộc vào đặc điểm kỹ thuật chức năng và thiết kế kỹ thuật của Module, nó có thể bao gồm chỉ một thành phần hoặc có sự kết hợp giữa các thành phần. Trong phần sau đây từng thành phần sẽ được mô tả cụ thể.
   
3. Xuất module ra file .obx và xuất bản nó trong kho lưu trữ trung trung tâm.

 

 Bước 1 và 3 là các bước thông dụng với tất cả các loại Module. Bước 2 phụ thuộc vào các yêu cầu của Module. Nó không thay đổi đáng kể từ cách bạn đã phát triển code Openbravo ERP trong phiên bản trước đến 2,50 nhưng một vài chi tiết mà bạn cần phải biết và được mô tả trong trong tài liệu này. Trong đó development task (tạo / cập nhật cơ sở dữ liệu, xây dựng và biên dịch các hệ thống, ...) đã có chút thay đổi để phù hợp với mô hình Module.
 Từ bây giờ, mỗi phần của source code Openbravo ERP thuộc về một Module, bao gồm cả phần nhân Openbravo ERP . Bạn nên làm tất cả những phát triển mới thông qua các Module, bao gồm các tùy chỉnh. 


II. Tạo một Module.


Từ menu Application, chọn Application Dictionary || Module.--> Chọn nút New record để bắt đầu tạo mới một Module :


Lưu ý một số trường quan trọng sau : (Để biết thêm chi tiết xem mô tả trong bảng AD_Module):
    * Định dạng của trường Version ID là ba số cách nhau bởi hai dấu chấm.
    
Java Package là một định danh duy nhất của mô-đun của bạn và phù hợp với quy tắc đặt tên được mô tả trong Java Naming Conventions (names and package names). Hãy cẩn thận khi thiết lập giá trị này vì bạn không được phép thay đổi nó một lần khi module của bạn được đăng ký trong các kho lưu trữ trung ương. Nếu module của bạn bao gồm các file Java thì chúng phải được đóng gói trong Java Package hoặc trong các gói con của nó. Ví dụ về các gói Java cho module là: org.openbravo.examples.helloworld, com.yourcompany.yourPackage, org.yourfoundation.yourPackage.yourSubpackage, vv
    
* Tùy chọn  In Development cho biết rằng bạn đang phát triển Module. Chỉ có Module in development được thay đổi định dạng bởi các công cụ phát triển và hệ thống sẽ cảnh báo một lỗi nếu bạn  sửa một Module nào đó không được chọn in development.
    
* Tùy chọn  Default làm cho một module được chọn theo mặc định khi phát triển và khi các thành phần được chỉnh sửa trong Application Dictionary. Bạn có thể được phát triển nhiều hơn một module bất kỳ lúc nào, và tùy chọn default cho phép các module bạn muốn được chọn theo mặc định.
    
* Tùy chọn Translation Required nếu module của bạn có giao diện nhiều thành phần (cửa sổ, lĩnh vực) có yếu tố được dịch.

Các tab ở phía trên cùng của cửa sổ cho phép bạn để định nghĩa thêm module:
    * Include: được sử dụng bởi công nghệ templates/pack, và không được nói đến trong hướng dẫn này
    Dependency: định nghĩa sự phụ thuộc của module vào các module khác.
   
 * Translation: được sử dụng để hỗ trợ bản dịch, và không thảo luận thêm trong phần này.
    
Data Package: cho phép bạn nhóm các bảng với nhau. các Data Packape được sử dụng để xác định các gói phần mềm Java tạo ra Java code (các đối tượng doanh nghiệp).
    
DB Prefix:
    
Naming Exceptions: được sử dụng trong quá trình nâng cấp của phiên bản trước của Openbravo ERP. Nó không nên được sử dụng cho mục đích nào khác.
 Để mọi người có thể thấy được các tạo mới một module bây giờ chúng ta sẽ tạo ra một module Ví dụ, gọi là Openbravo examp. Chúng ta sẽ định nghĩa Module bằng cách sử dụng ba tab sau đây:

  • Dependency
  • DB Prefix
  • Data Package

  Ví dụ tôi nhập thông số như hình sau:


--> Sau đó nhấn nút Save để lưu lại
- Tiếp tục chuyển qua tab Dependency--> Nhấn vào nút Create new record để tạo mới một record. Bạn nhập các thông số như hình sau:


 Sau đó bạn nhấn nút Save

- Chuyển qua tab DB Prefix- > Nhấn vào nút Create new record , sau đó điền vào trường Name một tên tùy ý:

Để biết thêm chi tiết bạn có thể tham khảo mô tả bảng AD_Module_Dbprefix

- Chuyển qua tab Data Package -> Nhấn vào nút Create new record sau đó bạn nhập các thông tin trong trường name và trường java package như hình sau:


Cuối bạn nhấn nút Save để lưu lại

III. Phát triển các thành phần trong hệ thống của bạn

  Tại thời điểm này bạn đã sẵn sàng để phát triển các thành phần phần mềm cần thiết cho các chức năng của module. Trong khi phát triển các mối quan hệ với mô-đun được duy trì bằng nhiều cách khác nhau:

    
* Trực tiếp: ví dụ một cửa sổ trực tiếp liên quan đến một module cụ thể.
    
* Gián tiếp: một bảng thuộc về một gói dữ liệu mà lại thuộc về một module.
    
* Theo tên: một thủ tục lưu trữ mới được liên kết thông qua các module của nó với tiền tố DB_Prefix của module.


IV. Tạo thư mục chứa source module

 Để phát triển các code Java bạn cần một thư mục src bên trong module cụ thể của bạn:



  Các gói phần mềm Java trong thư mục nguồn nên bắt đầu với các Java package Java của module. Vì vậy, đối với trường hợp này org.openbravo.examp.test và org.openbravo.examp.app đều là những gói hợp lệ.
 Nếu sử dụng Eclipse, thêm thư mục src các module mới được tạo ra để tạo đường dẫn của project Eclipse (Java Build Path):
 


IV. Export một Module
 Export một module là tạo ra một thư mục chứa các module của bạn trong thư mục gốc Openbravo ERP và tạo ra các file XML thích hợp để đưa vào mô-đun hoàn chỉnh. Modules không được đánh dấu là
In Development không được Export - Lưu ý rằng bạn phải chọn vào tùy chọn In Development khi bạn định nghĩa 1 module mới, nếu không nó sẽ không được Export.
 Khi Module đã được hoàn thành (hoặc để cung cấp kết quả trung gian), Mở cửa sổ dòng lệnh và chuyển đến thư mục source của Project Openbravo ERP sau đó thực hiện lệnh
   ant export.database.

  - Lệnh Export database sẽ Export tất cả các Task chỉ ở module được thiết lập là in Development
  - Do ở đây chúng ta không có bất kỳ phát triển thêm nào nên chỉ có các cấu trúc thư mục tương ứng và các file XML mô tả module được tạo ra vào thời điểm này.

 Openbravo ERP xác nhận  database và module artifacts của một module khi module được export và đóng gói. tham khảo more information on the database validation step.
 Để mô tả chi tiết Task export.database và các module khác có liên quan đến server ant xem thêm tại database ant tasks và mô tả về module ant task.

V. Đóng gói một Module
 Bước cuối cùng trong quá trình này là đóng gói các module và phân tán nó thông qua các kho lưu trữ hoặc chuyển nó cho một ai đó.

 Để đóng gói một module, thực hiện lệnh ant package.module -Dmodule=<modulePackageName> 
 Trong trường hợp tên module là examp, lệnh sẽ là:
 ant package.module -Dmodule=org.openbravo.examp
 Kết quả của lệnh package.module sẽ gần giống như sau:

$ ant package.module -Dmodule=org.openbravo.examp
Buildfile: build.xml

package.module:
[echo] Validating Module...
[validateModules] 0 [main] WARN SystemValidation - Validation successfull no warnings or errors

obx.export.database:

obx.export.config.script:

BUILD SUCCESSFUL
Total time: 48 seconds
 
  Nếu quá trình đóng gói thực hiện thành công, một tập tin .obx sẽ được tạo ra . Trong ví dụ này tên tập tin tạo ra là: org.openbravo.examp-1.0.0.obx


V. Deploying/Compiling một module (Biên dịch và triển khai một Module)
  Sau khi bạn đã tạo ra một tập tin obx . Bước cuối cùng là biên dịch và triển khai nó. Cài đặt một module biên dịch các mã nguồn Java, bản sao các tập tin có liên quan đến thư mục ứng dụng web (hình ảnh, vv) và cũng có thể cập nhật cơ sở dữ liệu

- Các bước để bạn cài đặt một Module trong Openbravo ERP:

  1. Log in với quyền System Administrator.
  2. Từ Application menu, chọn General setup || Application || Module Management.
  3. Chọn Module và click Install Now.
  4. Thực hiện theo các hướng dẫn trên màn hình để xây dựng lại các ứng dụng và khởi động lại máy chủ Tomcat.

 - Bạn cũng có thể cài đặt một module từ dòng lệnh, sử dụng server ant:
    ant smartbuild -Dlocal=no
 

0 Nhận xét:

Đăng nhận xét

Rất mong các ý kiến của các bạn khi đọc bài viết này !