Tổng quan về Hibernate: Một Framework ORM cho Java

MỤC LỤC

Hibernate

Hibernate là giải pháp ORM (Object/Relational mapping) OpenSource cho các ứng dụng Java, cung cấp một framework cho việc mapping giữa mô hình hướng đối tượng và các CSDL quan hệ truyền thống. • Sử dụng các tài liệu XML để cấu hình kết nối dữ liệu và mapping giữa các lớp đối tượng Java và các bảng trong CSDL. • Sử dụng ngôn ngữ truy vấn dữ liệu hướng đối tượng mạnh, cú pháp rất giống với ngôn ngữ chuẩn SQL.

Được hình thành từ SessionFactory, Session thể hiện nội dung được duy trì của Hibernate. Do đó Session được sử dụng để query, cũng như các thao tác insert, update, delete trên dữ liệu. Các đối tượng Persistence được sử dụng cùng với Session, khi Session đóng, chúng được giải phóng và sẵn sàng phục vụ cho tầng ứng dụng.

Ngoài JDBC, Hibernate hỗ trợ một số Connector trong một số trường hợp kết nối đặc biệt khác, ví dụ: JTA trong trường hợp kết nối tới nhiều CSDL,. • Mỗi bảng trong CSDL quan hệ tương ứng với một lớp đối tượng của ứng dụng, do đó cần có một Bean cho mỗi bảng trong CSDL. • Để Hibernate biết một object được mapping như thế nào với table trong CSDL, phải cung cấp tập tin đặc tả gọi là mapping file giữa property của object với field trong table.

Theo quy ước của Hibernate, các mapping file này có đuôi là .hbm.xml và phải hợp lệ với DTD (Document Type Definition) mà Hibernate đã đưa ra. Có thể nói tập tin này được load lên đầu tiên khi “khởi động” Hibernate. - PÔJO file với các thuộc tính (tương ứng các field trong CSDL) - Các phương thức get/set.

HQL - Hibernate Query Language - Ngôn ngữ truy vấn hướng đối tượng - Cú pháp gần với SQL.

Web Services

SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô tả thông tin về dịch vụ, SOAP cho phép người dùng triệu gọi một service từ xa thông qua một message XML. UDDI dùng cho cả người dùng và SOAP server nó cho phép đăng ký dịch vụ để người dùng có thể gọi thực hiện service từ xa qua mạng, hay nói cách khác một service cần phải được đăng ký để cho phép các client có thể gọi thực hiện. Bên cạnh đó để cho các service có tính an toàn, toàn vẹn và bảo mật thông tin trong kiến trúc web service chúng ta có thêm các tầng Policy, Security, Transaction, Management giúp tăng cường tính bảo mật, an toàn và toàn vẹn thông tin khi sử dụng service.

Người sử dụng hay các chương trình có thể quy ước định dạng các tag XML để giao tiếp với nhau.Thông tin cần truyền tải được chứa trong các tag XML, ngoài ra không chứa bất cứ thông tin nào khác về cách sử dụng hay hiển thị những thông tin ấy. Do Web Service là sự kết hợp của nhiều thành phần khác nhau, do đó Web Services sử dụng các tính năng và đặc trưng của các thành phần này để giao tiếp với nhau. • Loại thông tin: những thao tác, những tham số, và những kiểu dữ liệu gồm có giao diện của web service, cộng với tên cho giao diện này.

Để có thể sữ dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thông tin về cách sử dụng dịch vụ và biết được đối tượng cung cấp dịch vụ. UDDI định nghĩa một số thành phần cho biết trước các thông tin này để cho phép các client truy tìm và nhận lại những thông tin yêu cầu sử dụng web services. • Trang trắng - White pages: chứa thông tin liên hệ và các định dạng chính yếu của web services, chẳng hạn tên giao dịch, địa chỉ,… Những thông tin này cho phép các đối tượng khác xác định được service.

Vì những đặc trưng này, nó không quan tâm đến công nghệ gì được sử dụng để thực hiện miễn là người dùng sử dụng các message theo định dạng XML. Nhưng công nghệ liên quan tới Java thực sự đưa Web Services phát triển mạnh trong thể giới của mình, không chỉ là Sun Microsystems, công ty tạo ra Java, triển khai các công nghệ, mà còn có nhiều nhà cung cấp khác như BEA, IBM,. Với Java, Web Services tận dụng khả năng giải quyết vấn đề của các ứng dụng lớn trên các hệ điều hành khác nhau cho chúng giao tiếp với nhau.

• SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô tả thông tin về dịch vụ, SOAP cho phép người dùng triệu gọi một service từ xa thông qua một message XML. • UDDI dùng cho cả người dùng và ̣ SOAP server, nó cho phép đăng ký dịch vụ để người dùng có thể gọi thực thi các hàm , các chức năng của web service hay nói cách khác một service cần phải được đăng ký để cho phép các client có thể gọi thực hiện. • Bên cạnh đó chúng ta cũng phải quan tâm đến việc làm sao để cho các service có tính an toàn, toàn vẹn và bảo mật thông tin trong web services nhất là các service liên quan đến giao dịch thương mại và tài chính.Chúng ta sẽ tìm hiểu nội dung này trong các phần tiếp theo.

Portal

Định nghĩa chung về Portal: Portal là một cổng thông tin cung cấp tập hợp nhiều dịch vụ cho người dùng như tìm kiếm thông tin, hỗ trợ hoạt động nghiệp vụ, email, forum,. Đối với người dùng có thể Portal chỉ là một website thông thường qua trình duyệt nhưng nó là một "siêu website", một điểm đích quy tụ hầu hết các thông tin, dịch vụ mà người dùng cần. Ở góc độ khách hàng hay đối tác kinh doanh thì portal chính là kênh thông tin nơi doanh nghiệp tiếp xúc, trao đổi và thực hiện giao dịch với đối tác, khách hàng của mình.

Khi một doanh nghiệp nào đó có portal thì tất cả mọi giao dịch đều được thực hiện trên một giao diện duy nhất nhưng thông tin được thể hiện theo ý thích đến tận cá nhân người sử dụng. • Thông tin được quản lý bởi portal đa dạng (text, media,..) phải được phân loại và sắp xếp các theo các chủ đề, phục vụ cho việc tìm kiếm, tránh tình trạng quá tải thông tin. Thuật ngữ này được sử dụng để chỉ những portal mà nội dung thông tin cũng các dịch vụ của nó bao trùm nhiều chủ đề, nhiều lĩnh vực, do vậy nó mang tính diện rộng, phục vụ cho nhiều loại khách hàng khác nhau.

Corporate portal thường được dùng bởi các nhân viên trong một cơ quan hay tổ chức sử dụng để chia sẻ thông tin với nhau, cộng tác với nhau để cùng giải quyết một công việc, qua đó nâng cao năng suất lao động và hiệu quả giải quyết công việc của mình. Có rất nhiều mô hình của commercial portal, như B2B portal thực hiện các giao dịch điện tử giã các doanh nghiệp, B2C thực hiện mua/bán hàng hóa giữa khách hàng và doanh nghiệp, Tourism portal để phục vụ ngành công nghiệp du lịch, và v.v. Cung cấp các “cổng hành chính công điện tử” để chính quyền (Trung ương và địa phương) thực hiện các chức năng của mình đối với dân chúng thông qua việc cung cấp thông tin và các dịch vụ hành chính công.

Hầu hết các Portal Framework đều cung cấp một chuẩn các giao diện ứng dụng lập trình (API) có tính mở, nhờ đó người phát triển hệ thống có thể sử dụng để gắn các ứng dụng và dịch vụ vào khung của Portal. Các API này được biết với tên là Portlet, là một công cụ cho phép người phát triển đăng ký các thành phần khác nhau với một khung Portal, bằng cách đó có thể tùy biến và tạo ra Portal của riêng mình. • Quản lý thời gian sống của các portlet cài đặt trong hệ thống (khởi động và loại bỏ các portal không cần thiết để giải phóng bộ nhớ cho hệ thống).

Java Specification Request 168 - JSR 168 là chuẩn để viết Portlet cho các Portal xây dựng trên nền tảng công nghệ Java (JSR 168 còn được gọi là Portlet API). Với chuẩn này, bất kỳ ai cũng có thể phát triển các Portlet bằng cách tuân theo và đăng ký là một thành phần của Portal, do đó ứng dụng có thể chạy tương thích trên Portal Framework mà mình sử dụng. Ngoài việc cung cấp framework mạnh cho người phát triển customize, thêm mới các portlet nghiệp vụ của mình, các Portal framework trên công nghệ Java nói riêng và Portal framework nói chung đều được tích hợp một số Portlets thông dụng như: Mail, Forum, Calendar, Library,.