Thứ Hai, 8 tháng 8, 2016

Triển khai Deploy ứng dụng Enterprise Application trên server JBoss độc lập với các tool lập trình như Netbeans, Eclipse

MVC Pattern trên Web – Mô hình thiết kế ứng dụng theo dạng Model – View – Controller

Triển khai Deploy ứng dụng Enterprise Application trên server JBoss độc lập với các tool lập trình như Netbeans, Eclipse

Mục đích: Chủ đề của bài này đề cập đến chúng ta triển khai một gói ứng dụng enterprise application như thế nào vào server JBoss. Bên cạnh đó, chúng tôi đưa ra cách thức cấu hình cho server JBoss trên máy computer bình thường không lệ thuộc vào tool lập trình. Đây là một vấn đề mà mọi người lập trình phải nắm vững để viết hướng dẫn cài đặt cho người đi triển khai ứng dụng enterprise application. Ngoài ra, chúng tôi đề cập đến việc deploy ứng dụng tách biệt trên server JBoss

Triển khai Deploy ứng dụng Enterprise Application trên server JBoss độc lập với các tool lập trình như Netbeans, Eclipse

Mục đích: Chủ đề của bài này đề cập đến chúng ta triển khai một gói ứng dụng enterprise application như thế nào vào server JBoss. Bên cạnh đó, chúng tôi đưa ra cách thức cấu hình cho server JBoss trên máy computer bình thường không lệ thuộc vào tool lập trình. Đây là một vấn đề mà mọi người lập trình phải nắm vững để viết hướng dẫn cài đặt cho người đi triển khai ứng dụng enterprise application. Ngoài ra, chúng tôi đề cập đến việc deploy ứng dụng tách biệt trên server JBoss

Yêu cầu

  • Nắm vững các vấn đề liên quan đến EJB, cài đặt EJB
  • Nắm vững các vấn đề liên quan đến Web Container và cách cài đặt các ứng dụng web, cấu trúc của ứng dụng Web

Cấu trúc của ứng dụng enterprise application

untitled

  • Mô tả các thành phần của cấu trúc trên
    • Thư mục có tên application là thư mục chúng ta chứa các component bên trong và thông thường tên thư mục này chính là tên của project chúng ta đang thực hiện
    • Trong thư mục chính này chia thành 03 phần: Thành phần đóng gói deploy, thành phần gói web, thành phần gói ứng dụng
      • Thành phần gói ứng dụng – thư mục Jar
        • Chứa các thành phần liên quan đến ứng dụng – thành phần sẽ deploy đến application server
        • Bao gồm thư mục package chứa các tập tin class như object hay enterprise bean, các thành phần interface
        • Thư mục META-INF nới chứa tập tin cấu hình ejb-jar.xml, jboss.xml, và tập tin MANIFEST.MF chứa các thông tin liên quan đến việc giao tiếp và các thành phần thư viện bên ngoài (tương tự như chủ đề Triển khai ứng dụng trên Tomcat)
        • Toàn bộ các thành phần trong thư mục sẽ đóng thành gói jar
      • Thành phần gói Web – War
        • Tương tự như chủ đề Triển khai ứng dụng trên Tomcat
        • Toàn bộ các thành phần trong thự mục sẽ đóng thành gói war
      • Thành phần deploy đến ứng dụng
        • Thư mục Jar, khi thực hiện biên dịch phải đóng gói thành gói jar và đặt ra ngoài thư mục
        • Thư mục War, khi thực hiện biên dịch phải đóng gói thành gói war và đặt ra ngoài thư mục
        • Thư mục META-INF ngoài cùng chứa tập tin application.xml để xác định gói nào là war và gói là là jar (ejb-module)
        • Các thành phần này đóng lại thành gói ear để deploy trên server JBoss

Cách cấu hình và thiết lập cho Server JBoss trên máy tính

  • Yêu cầu:
    • Đã cài đặt hoàn tất JDK (ở đây chúng tôi dùng JDK 6 update 22)
    • Đã tải gói JBossx.xx.zip (ở đây chúng tôi dùng phiên bản từ 4 trở lên) từ trang chủ của JBoss (địa chỉ http://jboss.org/)
    • Ở đây chúng tôi triển khai trên hệ điều hành Windows
  • Thiết lập biến môi trường đến máy ảo java (tương tự như chủ đề Triển khai ứng dụng trên Tomcat)
  • Cài đặt JBoss và cấu hình cho JBoss
    • Giải nén gói zip đến thư mục bất kỳ trong ổ cứng. Ở đây chúng tôi giải nén vào thư mục như hình bên dưới

    • Cài đặt biến môi trường cho JBoss
      • Tạo biến môi trường với Variable Name là JBOSS_HOME và variable value là nơi cài đặt JBOSS
      • Nhấn OK

    • Chúng ta đã cài đặt biến môi trường cho JBOSS. Thông tin biến môi trường trong hệ thống sẽ như sau

    • Chúng ta test kiểm tra server JBoss như sau
      • Dùng cmd di chuyển đến thư mục bin của JBoss

      • Nhấn Enter để di chuyển đến thư mục bin, trong thư mục bin có các tập tin như sau

      • Chúng ta gõ lệnh run.bat

      • Nhấn Enter thì server sẽ khởi động (server console – JBoss)

        • Lưu ý :
          • Khung màu đỏ là địa chỉ port của Tomcat server (ở đây là 8080)
          • Khung màu xanh là application của Server JBoss khởi động. Port nền của JBoss là 1099
          • JBoss tích hợp cả tomcat server lẫn JBoss application server, do vậy các chức năng của Tomcat đều có trong server JBoss nhưng chúng không tách biệt server trên các tier, do vậy JBoss có thể gọi Web Application Server
      • Chúng ta kiểm tra lần nữa bằng cách mở Browser, gõ url: http://localhost:port, ở đây sẽ là http://localhost:8080

    • Để chỉnh sửa port deploy cho server chúng ta làm như sau
      • Để chỉnh sửa port của web – tomcat
        • Thư mục conf của thư mục thư mục đường dẫn JBOSS_HOME\server\default\deploy\jboss-web.deployer\ (ở đây chúng tôi ví dụ là C:\Programming\jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\)
        • Chúng ta mở tập tin server.xml, tìm HTTP/1.1 và thay đổi giá trị port như mong muốn

      • Để chỉnh sửa port application server – Jboss
        • Thư mục conf của thư mục thư mục đường dẫn JBOSS_HOME\server\default\deploy\conf\ (ở đây chúng tôi ví dụ là C:\Programming\jboss-4.2.3.GA\server\default\conf\)
        • Chúng ta mở tập tin jboss-service.xml, tìm 1099 và thay đổi giá trị port như mong muốn

      • Lưu file lại, stop server nếu đang chạy và start server lại thì port mới sẽ cập nhật
    • Để stop server chúng ta cũng có thể dùng tổ hợp phím Ctrl + C trên màn hình server console
    • Cửa sô xuất hiện dòng cuối cùng như sau thể hiện việc deploy hoàn tất, chúng ta nhấn Y để hoàn tất

Deploy toàn bộ ứng dụng ear vào server JBoss

  • Yêu cầu: server bắt buộc phải start thành công và màn hình lệnh khởi động không phát sinh bất kỳ lỗi nào
  • Thư mục deploy ứng dụng là thư mục JBOSS_HOME\server\default\deploy
  • Thư mục nêu trên là nơi chúng ta sẽ chép gói ear vào trong thư mục này
  • Cơ chế thực hiện
    • Khi chép gói ear vào server tự động giải nén tạo thành thành phần tương tự trong thư mục JBOSS_HOME\server\default\tmp và cache web tại thư mục JBOSS_HOME\server\default\work tương tự như Tomcat
    • Các thành phần trong thư mục deploy giữ nguyên không được giải nén gì cả
  • Ví dụ: chúng tôi deploy gói như sau
    • Thư mục deploy như sau

    • Chép gói datasource jboss-ds.xml (bước này áp dụng cho các ứng dụng có kết nối DB) vào thư mục deploy

    •  Chúng ta thấy trên server console

    • Chúng ta deploy gói ear vào trong thư mục deploy

    • Server  console hiển thị như sau

      • Hệ thống deploy tuần tự gói jar, war, cuối cùng ear
    • Thư mục tmp deploy xuất hiện như sau

    • Cache server xuất hiện như sau

    • Chúng ta testing trên Browser như sau

      • Tên context path phải chính xác như tên thư mục tạo ra và có phân biệt hoa thường
  • Để undeploy ứng dụng, đơn giản chúng ta xóa gói ear và jboss-ds.xml (nếu có) trong deploy (lưu ý nhớ đóng tất cả trình duyệt lại)
    • Kết quả trên màn hình server console

  • Trên đây chúng ta đã hoàn tất được deploy gói ear. Tuy nhiên trong thực tế các ứng dụng phải được deploy trên từng tier nghĩa là gói web – war phải được deploy trên web server, gói jar – application phải deploy trên application server. Đặc biệt các server này không cùng nằm một nơi, do vậy chúng ta phải deploy tách gói riêng biệt. Chúng ta tiếp tục học kinh nghiệm qua phần tiếp theo
  • Đặc điểm jboss giải nén gói war trong thư mục tmp dẫn đến khi upload thông tin trong gói web sẽ biến mất, do vậy chúng ta phải thực hiện deploy tách gói và tạo context cho ứng dụng web thực hiện thao tác trong vùng không gian của nó

Deploy tách gói jar và war trên JBoss

  • Chúng ta thực hiện deploy theo tuần tự như sau
    • Deploy tập tin datasource jboss-ds.xml như đã nêu trên
    • Deploy gói jar vào server, cụ thể vào thư mục deploy, màn hình server sẽ như sau

    • Bước tiếp theo, chúng ta không deploy gói war mà deploy thư mục .war. JBoss đặt biệt khi thấy thư mục .war, JBoss chỉ nhận context là tên thư mục và bỏ đi phần war và áp dụng cơ chế đó trên gói web
      • Để thực hiện điều này, toàn bộ thư mục war chúng ta đừng đóng gói nhưng phải đặt thêm tên thư mục có đuôi .war
      • Đối với netbeans chúng ta chép toàn bộ phần thư mục web trong thư mục build của gói war hay giải nén vào thư mục .war tương ứng

      • Chép thư mục này vào thư mục deploy

      • Kết quả trên server console vẫn tương tự như bước gói ear

    • Chúng ta testing trên Browser như sau

    • Khi undeploy phải thực hiện xóa cả 3 thành phần datasource jboss-ds.xml (nếu có), tập tin jar, và thư mục .war đã deploy

Trên đây là một số nội dung liên quan đến việc sử dụng server JBoss trong thực tiễn, cách thiết lập cấu hình để triển khai ứng dụng. Chúng tôi chia sẻ và mong sự góp ý chân thành của quí vị.

Không có nhận xét nào:

Đăng nhận xét