Pages

Thứ Tư, 11 tháng 2, 2015

Giới thiệu về JBoss AS 7.x

Cuối cùng Oracle đã chứng nhận máy chủ ứng dụng JBoss của Red Hat đáp ứng các đặc tả của Java Enterprise Edition 6 Web Profile.
Chỉ sau một thời gian rất ngắn kể từ lần phát hành gần đây nhất của JBoss, máy chủ ứng dụng hàng đầu của Red Hat, hãng này đã tung ra phiên bản thử nghiệm cộng đồng đầu tiên cho thế hệ tiếp theo của JBoss - JBoss phiên bản 7.0 (có nickname là AS7), hôm thứ Ba 12/7/2011, Công ty thông báo.

AS7 sẽ là phiên bản đầu tiên của phần mềm được Oracle chứng nhận là đáp ứng tất cả các đặc tả của Java Enterprise Edition 6 (Java EE 6) Web Profile, do đã vượt qua các bài kiểm tra trong TCK (Technology Compatibility Kit). Theo Red Hat, JBoss 6 (phiên bản phát hành hồi tháng 12/2010) đã triển khai thực thi (implement) các đặc tả này, nhưng không đáp ứng các yêu cầu của Oracle.

Ngoài hỗ trợ Java EE 6, AS7 còn có một số cập nhật khác. Thời gian khởi động của chương trình đã được giảm xuống dưới 3 giây, ông Rich Sharples, Giám đốc quản lý sản phẩm của Red Hat nói. Các phiên bản cũ hơn có thể mất 1 phút hoặc lâu hơn để khởi động. Ngoài ra, Red Hat đã giảm lượng bộ nhớ mà JBoss có thể sử dụng xuống còn 120MB, giảm vài trăm MB.

Đối với các nhà phát triển, AS7 có thể thực thi dự án Arquillian nguồn mở (chi tiết về Arquillian có tại đây). Kế hoạch của Red Hat là phát hành phiên bản cuối cùng của AS7 vào cuối năm nay, và nhanh chóng theo sau với phiên bản 7.1. Cuối cùng, JBoss 7.1 sẽ được đưa vào phiên bản tiếp theo của Nền tảng Ứng dụng Doanh nghiệp JBoss (JBoss EAP).

Có thể tải về miễn phí phần mềm này từ website JBoss.


Trong bài viết này chúng tôi xin giới thiệu cho bạn về việc cài đặt, cấu hình một vài thông số cơ bản của JBoss Application Server (JBoss AS) version 7.x và kiến trúc mới của JBoss AS version 7.x này so với các version trước như 6.x, 5.x, 4.x …

– Đầu tiên bạn cần download JBoss AS tại http://www.jboss.org/jbossas/downloads/, bạn cần lưu ý gói download là dạng file nén và không có file cài đặt, vì server sẽ start thông qua giao diện dòng lệnh.
– Sau khi download bạn giải nén vào một thư mục nào, ví dụ ở đây sẽ dùng “JBOSS_HOME” để chỉ thư mục server được giải nén.
– Trong thư mục “JBOSS_HOME” sẽ chứa một số thư mục con như: appclient, bin, bundle, docs, domain, modules, welcome-content và standalone, trong phạm vi bài viết này sẽ không đề cập chi tiết chức năng của từng thư mục, vấn đề này sẽ được đề cập trong những bài viết tới.
– Bạn di chuyển vào thư mục “bin” bằng commandline(CMD) của Windows hay Terminal của Linux, và dùng lệnh:
  • standalone.bat # Windows users
  • $ standalone.sh # Linux/Unix users
– Nếu server start thành công thì bạn có thể xác nhận bằng địa chỉ http://localhost:8080 (đây là thông số cấu hình mặc định của JBoss)
– Khi bạn muốn đều chỉnh thông số cấu hình của server thì bạn có thể thực hiện bằng cách mở file “standalone.conf” đối với Linux và “standalone.conf.bat” đối với Windows trong thư mục “bin” của “JBOSS_HOME”, file này sẽ khai báo bộ nhớ mà server dùng và có nội dung:
  • if [ “x$JAVA_OPTS” = “x” ]; then
    JAVA_OPTS=”-Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000″
    JAVA_OPTS=”$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true”
    JAVA_OPTS=”$JAVA_OPTS -Djboss.server.default.config=standalone.xml”
    else
    echo “JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS”
    fi (dành cho Linux)
  • set “JAVA_OPTS=-Xms64M -Xmx512M -XX:MaxPermSize=256M” (dành cho Windows)
– Mặc định khi server start sẽ dùng một lượng bộ nhớ tối thiểu là 64MB cho “heap space” và tối đa là 512MB, bộ nhớ này thường chỉ được sử dụng trong môi trường test hay các ứng dụng nhỏ, còn đối với các ứng dụng lớn như J2EE thì bạn cần nâng bộ nhớ tối thiểu lên 1GB và bộ nhớ tối đa là 2GB hoặc nhiều hơn phụ thuộc vào ứng dụng của bạn, và lưu ý là đối với hệ điều hành 32 bit thì không thể thực thi 1 tiến trình (process) vượt quá 2GB, tuy nhiên trên hệ điều hành 64 bit thì không giới hạn việc đó
– Để stop server thì bạn đơn giản dùng “CTR+C” tại màn hình cmd hoặc terminal mà bạn đã dùng để start server
– Nếu bạn đã từng xài các version của JBoss AS trước như 6.x, 5.x, 4.x… thì bạn có thể ngạc nhiên về tốc độ khởi động của version 7.x so với các version trước đó, đó cũng chính là sự thay đổi hoàn về kiến trúc của server version 7.x theo hướng modular, dưới đây là hình ảnh về kiến trúc của server 7.x nói chung:
jboss-7x-architecture
– Trong kiến trúc ở hình trên bạn thấy các thư mục bên trong “JBOSS_HOME” chia thành 2 phần: bao gồm nhánh của standalone server và domain server
- Một JBoss domain dùng để quản lý và kết hợp nhiều instance của server lại với nhau, khi bạn dùng JBoss AS 7 trong chế độ domain thì server sẽ tạo ra nhiều JVMs riêng để phục vụ cho domain, mô hình sau sẽ giúp bạn hình dung rõ hơn
– Để run server trong chế độ domain đơn giản bạn chỉ cần chạy các file script domain.sh (Linux) hoặc domain.bat (Windows) trong thư mục “bin” của “JBOSS_HOME”
– Những lỗi thường gặp phải khi start server bằng CMD (Linux) là màn hình console hiện lên sau đó tắt ngay, nguyên nhân là bạn chưa thiết lập biến môi trường “JAVA_HOME”, để thiết lập biến môi trường bạn cần đọc bài viết này
– Trong bài viết tiếp theo chúng tôi sẽ hướng dẫn bạn cấu hình các thông số về IP, PORT để phục vụ cho việc deploy một ứng dụng trên standalone server và domain server ở các máy remote