JSP: Tổng quan về JSP

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Mô hình ứng dụng Java EE

Mô hình ứng dụng Java EE bắt đầu với ngôn ngữ lập trình Java và máy ảo Java. Khả năng linh hoạt, an toàn và năng suất phát triển đã tạo ra cơ sở cho mô hình ứng dụng. Java EE được thiết kế để hỗ trợ các ứng dụng thực hiện dịch vụ doanh nghiệp cho khách hàng, nhân viên, nhà cung cấp, đối tác và những người có nhu cầu hoặc đóng góp cho doanh nghiệp. Các ứng dụng như vậy rất phức tạp, có khả năng truy cập dữ liệu từ nhiều nguồn khác nhau và phân phối các ứng dụng cho nhiều khách hàng.

Để kiểm soát tốt hơn và quản lý các ứng dụng này, các chức năng kinh doanh để hỗ trợ những người dùng khác nhau được tiến hành ở tầng giữa. Cấp trung gian đại diện cho một môi trường được kiểm soát chặt chẽ bởi bộ phận công nghệ thông tin của doanh nghiệp. Tầng trung bình thường chạy trên các phần cứng máy chủ dành riêng và có quyền truy cập vào các dịch vụ đầy đủ của doanh nghiệp.

Mô hình ứng dụng Java EE xác định kiến ​​trúc để thực hiện các dịch vụ như là các ứng dụng nhiều tầng cung cấp khả năng mở rộng, khả năng tiếp cận và khả năng quản lý cần thiết cho các ứng dụng cấp doanh nghiệp. Mô hình này phân chia công việc cần thiết để thực hiện dịch vụ đa lớp thành hai phần: logic kinh doanh và trình bày được thực hiện bởi nhà phát triển và các dịch vụ hệ thống chuẩn do nền tảng Java EE cung cấp. Nhà phát triển có thể dựa vào nền tảng này để cung cấp các giải pháp cho các vấn đề cấp độ hệ thống cứng khi phát triển một dịch vụ đa tầng.

Các ứng dụng phân tán đa tầng

Nền tảng Java EE sử dụng mô hình ứng dụng phân tán nhiều ứng dụng cho các ứng dụng doanh nghiệp. Logic ứng dụng được chia thành các thành phần theo chức năng, và các thành phần ứng dụng khác nhau tạo nên một ứng dụng Java EE được cài đặt trên các máy khác nhau phụ thuộc vào tầng trong môi trường Java EE đa tầng mà thành phần ứng dụng thuộc về.

Hình dưới đây cho thấy hai ứng dụng Java EE đa tầng được chia thành các lớp được mô tả trong danh sách dưới đây. Các phần ứng dụng Java EE thể hiện trong hình 1-1 được trình bày trong các thành phần Java EE .

  • Các thành phần client-client chạy trên máy khách.

  • Các thành phần Web-tier chạy trên máy chủ Java EE.

  • Các thành phần cấp doanh nghiệp chạy trên máy chủ Java EE.

  • Phần mềm hệ thống thông tin doanh nghiệp (EIS) - cấp phần mềm chạy trên máy chủ EIS.

Mặc dù ứng dụng Java EE có thể bao gồm ba hoặc bốn lớp như thể hiện trong hình 1-1 , các ứng dụng nhiều tầng của Java EE thường được coi là các ứng dụng ba tầng vì chúng được phân bố qua ba địa điểm: máy khách, máy chủ Java EE, Và cơ sở dữ liệu hoặc các máy kế thừa ở cuối. Các ứng dụng ba lớp chạy theo cách này mở rộng mô hình khách hàng và mô hình máy chủ chuẩn hai tầng bằng cách đặt một máy chủ ứng dụng đa luồng giữa ứng dụng khách và bộ nhớ cuối.

Sơ đồ cấu trúc ứng dụng đa cấp, bao gồm cấp khách hàng, cấp độ trang web, cấp kinh doanh và cấp EIS.
Các ứng dụng đa tầng

Bảo mật

Trong khi các mô hình ứng dụng doanh nghiệp khác yêu cầu các biện pháp an ninh nền tảng cụ thể trong mỗi ứng dụng, môi trường bảo mật Java EE sẽ cho phép xác định các ràng buộc về bảo mật trong thời gian triển khai. Nền tảng Java EE làm cho các ứng dụng mang đến nhiều triển khai bảo mật bằng cách bảo vệ các nhà phát triển ứng dụng khỏi sự phức tạp của việc triển khai các tính năng bảo mật.

Nền tảng Java EE cung cấp các quy tắc kiểm soát truy cập khai báo tiêu chuẩn được xác định bởi nhà phát triển và giải thích khi ứng dụng được triển khai trên máy chủ. Java EE cũng cung cấp các cơ chế đăng nhập chuẩn để các nhà phát triển ứng dụng không phải thực hiện các cơ chế này trong các ứng dụng của họ. Ứng dụng tương tự hoạt động trong nhiều môi trường bảo mật khác nhau mà không cần thay đổi mã nguồn.

Các thành phần của Java EE

Các ứng dụng Java EE được tạo thành từ các thành phần. Một thành phần Java EE là một đơn vị phần mềm có chức năng được lắp ráp vào một ứng dụng Java EE với các lớp và tệp liên quan và liên lạc với các thành phần khác.

Đặc tả Java EE xác định các thành phần Java EE sau:

  • Ứng dụng khách và applet là các thành phần chạy trên máy khách.

  • Các thành phần công nghệ Java Servlet, JavaServer Faces và JavaServer Pages (JSP) là các thành phần web chạy trên máy chủ.

  • Các thành phần Enterprise JavaBeans (EJB) là các thành phần kinh doanh chạy trên máy chủ.

Các thành phần Java EE được viết bằng ngôn ngữ lập trình Java và được biên soạn theo cùng cách với bất kỳ chương trình nào trong ngôn ngữ. Sự khác nhau giữa các thành phần Java EE và các lớp Java tiêu chuẩn là các thành phần Java EE được lắp ráp vào một ứng dụng Java EE được xác minh để được hình thành tốt và phù hợp với đặc tả Java EE và được triển khai vào sản xuất, nơi chúng được chạy Và được quản lý bởi máy chủ Java EE.

Trình khách Java EE

Một máy khách Java EE có thể là một máy khách web hoặc ứng dụng khách.

Web client

Một khách hàng web bao gồm hai phần: (1) các trang web động chứa nhiều loại ngôn ngữ đánh dấu (HTML, XML, v.v.) được tạo ra bởi các thành phần web chạy trong trình duyệt web, và (2) một trình duyệt web, Làm cho các trang nhận được từ máy chủ.

Một khách hàng web đôi khi được gọi là một khách hàng mỏng . Khách hàng mỏng thường không truy vấn cơ sở dữ liệu, thực hiện các quy tắc kinh doanh phức tạp, hoặc kết nối với các ứng dụng cũ. Khi bạn sử dụng một máy khách mỏng, các hoạt động nặng như vậy sẽ được tải xuống các hạt cà phê của doanh nghiệp đang chạy trên máy chủ Java EE, nơi chúng có thể tận dụng an ninh, tốc độ, dịch vụ và độ tin cậy của các công nghệ phía máy chủ Java EE.

Applet

Một trang web nhận được từ lớp web có thể bao gồm một applet nhúng. Một applet là một ứng dụng khách nhỏ được viết bằng ngôn ngữ lập trình Java thực hiện trong máy ảo Java được cài đặt trong trình duyệt web. Tuy nhiên, các hệ thống khách hàng có thể sẽ cần Java Plug-in và có thể là một tệp chính sách bảo mật cho applet để thực hiện thành công trong trình duyệt web.

Các thành phần Web là API được ưa thích để tạo một chương trình khách hàng web vì không cần các tệp chính sách bảo mật hoặc các tệp chính sách bảo mật trên các hệ thống khách hàng. Ngoài ra, các thành phần web cho phép thiết kế ứng dụng sạch hơn và mô đun hơn bởi vì chúng cung cấp một cách để lập trình riêng biệt cho các ứng dụng từ thiết kế trang web. Nhân viên tham gia thiết kế trang web do đó không cần phải hiểu cú pháp ngôn ngữ lập trình Java để làm công việc của họ.

Ứng dụng khách

Một ứng dụng khách chạy trên một máy client và cung cấp một cách cho người dùng để xử lý các tác vụ đòi hỏi một giao diện người dùng phong phú hơn hơn có thể được cung cấp bởi một ngôn ngữ đánh dấu. Thông thường nó có một giao diện người dùng đồ họa (GUI) được tạo từ API Swing hoặc Tóm tắt Công cụ Bộ công cụ (AWT), nhưng có thể thực hiện giao diện dòng lệnh.

Ứng dụng khách hàng trực tiếp truy cập vào các hạt nhân của doanh nghiệp đang chạy trong tầng kinh doanh. Tuy nhiên, nếu yêu cầu ứng dụng đòi hỏi nó, ứng dụng khách hàng có thể mở một kết nối HTTP để thiết lập truyền thông với một servlet đang chạy trong tầng web. Ứng dụng khách viết bằng ngôn ngữ khác Java có thể tương tác với các máy chủ Java EE 5, cho phép nền tảng Java EE 5 tương tác với các hệ thống kế thừa, các máy khách và các ngôn ngữ không phải là Java.

Kiến trúc thành phần JavaBeans

Các tầng máy chủ và khách hàng cũng có thể bao gồm các thành phần dựa trên kiến ​​trúc thành phần JavaBeans (các thành phần JavaBeans) để quản lý luồng dữ liệu giữa một ứng dụng khách hoặc applet và các thành phần chạy trên máy chủ Java EE, hoặc giữa các thành phần máy chủ và cơ sở dữ liệu. Các thành phần JavaBeans không được xem là các thành phần Java EE theo đặc tả Java EE.

Các thành phần JavaBeans có các thuộc tính và đã  và thiết lập các phương pháp để truy cập các thuộc tính. Các thành phần JavaBeans được sử dụng theo cách này thường rất đơn giản trong việc thiết kế và thực hiện nhưng phải phù hợp với các quy ước đặt tên và thiết kế được vạch ra trong kiến ​​trúc thành phần JavaBeans.

Java EE Server Communications

Hình sau cho thấy các yếu tố khác nhau có thể tạo nên tầng lớp khách hàng. Máy khách truyền thông với tầng nghiệp vụ đang chạy trên máy chủ Java EE trực tiếp hoặc, như trong trường hợp khách hàng đang chạy trong trình duyệt, bằng cách truy cập các trang JSP hoặc các servlet đang chạy trong lớp web.

Sơ đồ giao tiếp giữa máy khách và máy chủ.  Ứng dụng khách hàng trực tiếp truy cập vào lớp kinh doanh.  Trình duyệt, trang web và applet truy cập vào lớp web.
Thông tin máy chủ

Ứng dụng Java EE của bạn sử dụng trình duyệt dựa trên trình duyệt mỏng hoặc ứng dụng khách dày. Trong việc quyết định sử dụng nào, bạn cần phải lưu ý đến sự đánh đổi giữa việc giữ các chức năng trên máy khách và gần với người dùng (khách hàng dày dạn) và dỡ bỏ nhiều chức năng nhất có thể cho máy chủ (thin client). Bạn có nhiều chức năng hơn để tải lên máy chủ, thì việc phân phối, triển khai và quản lý ứng dụng càng dễ dàng; Tuy nhiên, giữ nhiều chức năng hơn cho khách hàng có thể làm cho trải nghiệm người dùng cảm nhận tốt hơn.

Các thành phần Web

Các thành phần web của Java EE là servlet hoặc các trang được tạo ra bằng công nghệ JSP (JSP pages) và / hoặc công nghệ JavaServer Faces. Servlet là các lớp ngôn ngữ lập trình Java tự động xử lý các yêu cầu và xây dựng các câu trả lời. Các trang JSP là các văn bản dựa trên văn bản thực hiện như các servlet nhưng cho phép tiếp cận tự nhiên hơn để tạo ra nội dung tĩnh. Công nghệ JavaServer Faces được xây dựng dựa trên các servlet và công nghệ JSP và cung cấp khuôn khổ thành phần giao diện người dùng cho các ứng dụng web.

Các trang HTML tĩnh và applet được đi kèm với các thành phần web trong quá trình cài đặt ứng dụng nhưng không được coi là các thành phần web bằng đặc tả Java EE. Các lớp tiện ích phía máy chủ cũng có thể được gói kèm với các thành phần web và, như các trang HTML, không được coi là các thành phần web.

Như thể hiện trong hình dưới đây, tầng web, giống như lớp client, có thể bao gồm một thành phần JavaBeans để quản lý đầu vào của người dùng và gửi đầu vào đó đến các hạt nhân doanh nghiệp đang chạy trong tầng nghiệp vụ để xử lý.

Sơ đồ giao tiếp giữa máy khách và máy khách thể hiện chi tiết các thành phần JavaBeans và các trang JSP trong lớp web.
Ứng dụng Web Tier và Java EE

Thành phần doanh nghiệp

Mã doanh nghiệp, là logic để giải quyết hoặc đáp ứng nhu cầu của một lĩnh vực kinh doanh cụ thể như ngân hàng, bán lẻ, hoặc tài chính, được xử lý bởi các hạt nhân doanh nghiệp đang chạy ở cấp kinh doanh. Hình sau cho thấy cách thức một bean doanh nghiệp nhận dữ liệu từ các chương trình khách hàng, xử lý nó (nếu cần thiết) và gửi nó đến hệ thống thông tin doanh nghiệp cấp để lưu trữ. Một doanh nghiệp đậu cũng lấy dữ liệu từ lưu trữ, xử lý nó (nếu cần thiết), và gửi nó trở lại chương trình khách hàng.

Sơ đồ truyền thông giữa máy khách và máy khách thể hiện chi tiết các thực thể, hạt phiên, và các hạt đậu tin nhắn trong tầng kinh doanh.
Các cấp độ kinh doanh và EIS

Lớp hệ thống thông tin doanh nghiệp

Hệ thống thông tin doanh nghiệp xử lý phần mềm EIS và bao gồm các hệ thống cơ sở hạ tầng doanh nghiệp như lập kế hoạch nguồn lực doanh nghiệp (ERP), xử lý giao dịch máy tính lớn, các hệ thống cơ sở dữ liệu và các hệ thống thông tin kế thừa khác. Ví dụ, các thành phần ứng dụng Java EE có thể cần truy cập vào các hệ thống thông tin doanh nghiệp để kết nối cơ sở dữ liệu.

Nguồn: http://docs.oracle.com/javaee/5/tutorial/doc/bnaay.html

» Tiếp: Java EE Containers
« Trước: Giới thiệu JSP
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!