Khả năng truy vấn như thế nào?

Một phần của tài liệu XÂY DỰNG hệ QUẢN TRỊ HYPERMEDIA HƯỚNG đối TƯỢNG (Trang 154)

32. FASTOBJECTS – FASTOBJECTS.NET COMPONENT

32.1.4. Khả năng truy vấn như thế nào?

Ngay từ khi ý tưởng về hệ quản trị cơ sở dữ liệu hướng đối tượng được hình thành thì ngôn ngữ truy vấn là một trong những yếu tố cần chú ý và ODMG (Object Database Management Group – www.odmg.org), nhóm đề xuất cơ sở dữ

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 155

liệu hướng đối tượng, đã đưa ra một ngôn ngữ truy vấn cho cơ sở dữ liệu hướng đối tượng là OQL (Object Query Language), như là ngôn ngữ chuẩn cho việc truy vấn các đối tượng trong một hệ cơ sở dữ liệu hướng đối tượng. Ngày nay hầu hết các hệ quản trị cơ sở dữ liệu hướng đối tượng đều lấy các tiêu chuẩn của ODMG như là tiêu chuẩn để thiết kế. Và FastObjects cũng không ngoại lệ, cũng dựa trên các tiêu chuẩn đó, và do đó nó cũng đã có được một bộ ngôn ngữ OQL cho riêng mình. Tuy nhiên với version 9.5.13.124 thì giới hạn của OQL còn rất hạn chế, do FastObjects vẫn đang trong giai đoạn phát triển nhưng điểm mạnh mà FastObjects làm được hiện nay là FastObjects đã tạo được sản phẩm OODBMS như là một component (phát triển trên .NET). Và với sản phẩm FastObject.NET thì việc mở rộng sử dụng OODBMS trở nên dễ dàng và mạnh hơn, đây là điều đáng mừng cho hướng phát triển của cơ sở dữ liệu hướng đối tượng. Ta có thể theo dõi một chút khả năng truy vấn của FastObjects thông qua ví dụ sau:

Hình 5. 24 - Thc hin câu truy vn bng query

Và không chỉ là OQL, FastObject đã tự tạo cho mình một ngôn ngữ hay nói đúng hơn là cách, khả năng truy vấn các đối tượng

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 156

trong cơ sở dữ liệu thông qua hệ thống các hàm rất tiện lợi và đơn giản, rất hướng đối tượng như sau:

Hình 5. 25 - Thc hin câu truy vn bng cách gi hàm 32.1.5. Database như là một bộ nhớ mở rộng

Tiếp theo ta sẽ nói đến ưu điểm của Versant, đó là giải quyết vấn đề bộ nhớ.

Như ta biết dữ liệu (data) là vô hạn do đó không gian lưu trữ của chúng ta sẽ ngày càng tăng lên, và như vậy việc thực thi các thao tác trên các đối tượng sẽ trở nên vô cùng nan giải nếu ta không có những phương pháp hữu hiệu trong việc quản lý cơ sở dữ liệu. Đây là một trong các vấn đề của một cơ sở dữ liệu hướng đối tượng và ta sẽ xem FastObject giải quyết như thế nào?

Cũng theo ODMG lời giải cho vấn đề này tương đối cũng nhiều, nhưng thông thường và hữu hiệu nhất là dùng mạng lưới các reference và dùng phương thức “load on demand” để thao tác trên các đối tượng của cơ sở dữ liệu. Có nghĩa là các đối tượng lưu trữ trên database không thực sự được đọc hết

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 157

vào bộ nhớ của máy tính mà nó chỉ được đọc một phần, và không chỉ có vậy, bộ nhớ không lưu trữ nội dung của đối tượng mà là các địa chỉ logic ánh xạ xuống địa chỉ vật lý thực sự của đối tượng được lưu trên đĩa. Điều này thực sự có giá trị đối với một cơ sở dữ liệu lớn.

32.2. Kh năng tích hp vi Visual Studio

Việc tạo khả năng trong suốt trong việc lưu trữ các đối tượng ra database chỉ xảy ra khi ta thiết lập khả năng cho phép nhúng các chức năng FastObjects vào trong project. Nhờ đó ta có thể tích hợp các pre- compile và nhúng các assemblies cần thiết của FastObjects để tạo khả năng persistent cho các đối tượng cần lưu trữ. Kết quả là sau mỗi tiến trình compile ta được tập tin chương trình thực thi đã tích hợp các khả năng của FastObjects, tiến trình này gọi là ‘enhanced’. Điều này rất quan trọng bởi nếu tập tin thực thi không được ‘enhanced’ nó sẽ

không có khả năng liên lạc với database.

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 158 Hình 5. 27 - B sung thuc tính “persistent” vào trong Visual Studio 2003

Thêm nữa, để bổ sung cho tính năng ‘transparent persistent’, tên của database và dictionary của database sẽ được xem như là Property của project. Sau khi chương trình được ‘enhanced’, Visual Studio sẽ tự động thiết lập thuộc tính còn lại để tạo khả năng liên lạc với database.

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 159 Hình 5. 28 -Toàn cnh kh năng tích hp ca FastObject.NET vào trong Visual

Studio 2003

32.3. H tr - Cài đặt

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 160

§ Microsoft NT 4.0, Windows 2000, Windows XP and Windows 2003 Server

§ Microsoft Windows CE (e7)

§ Linux Kernel 2.2 or greater

§ Solaris 7 / Solaris 8 / Solaris 9 (t7)

§ AIX 5.1 (t7)

§ HP-UX 11.0 (t7)

§ WindRiver VxWorks (e7)

32.4. Gii thiu FastObject.NET – phiên bn cho Microsoft .NET Framework .NET Framework

32.4.1. Giới thiệu

- FastObjects.NET một giải pháp của tập đoàn Poet đã đạt được các tiêu chuẩn của công nghệ Microsoft.NET. Nó thật sự cung cấp cho các nhà phát triển một giải pháp dễ dàng trong việc thay thế các cơ sở dữ liệu quan hệ bằng cơ sở dữ liệu hướng đối tượng. Do FastObjects.NET hỗ trợ cho chúng ta khả năng persistent của đối tượng một cách trong suốt lẫn việc quản lý trạng thái của các đối tượng hoàn toàn trong tầm tay của nhà phát triển. Với FastObjects.NET các nhà phát triển ứng dụng sẽ không còn phải lo lắng nhiều về dữ liệu cũng như vấn đề địa chỉ nơi chứa cơ sở dữ liệu của ứng dụng

- FastObjects.NET với sự tương thích Microsoft.NET thì khả năng tương thích và hỗ trợ các ngôn ngữ lập trình cũng được mở rộng thêm so với các dòng sản phẩm trước đây như FastObjects t7, FastObjects j7… FastObjects.NET làm việc với cả ngôn ngữ mô tả hình thức .NET IL

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 161

(Intermediate Language), vì vậy nó hỗ trợ ứng dụng trên C#, J#, Manage C++, VB.NET và bất kì ngôn ngữ lập trình IL nào. Cũng như ADO.NET, FastObject.NET làm việc ở cả 2 chế độ: connect và disconnect. Thêm nữa một trong những cái mạnh của FastObjects.NET trong việc mang ý nghĩa là hệ quản trị cơ sở hướng đối tượng là nó hỗ trợ hoàn toàn mô hình kế thừa mức quan niệm, các kiểu interface và tập hợp (collection) của .NET. Và cuối cùng nó thực sự tích hợp vào trong môi trường Visual Studio.NET bởi vì nó cho phép chúng ta cập nhật lại cơ sở dữ liệu một cách tự động mỗi khi chúng ta cập nhật và biên dịch (compile) lại code.

- Bằng kiến trúc của mình, FastObjects.NET có thể bảo đảm khả năng bảo toàn nguyên vẹn dữ liệu cho các nhà phát triển ứng dụng thông qua việc sử dụng các giao tác ACID. Thêm nữa, FastObjects.NET sẽ sử dụng mô hình dữ liệu của bạn như là lược đồ cơ sở dữ liệu, điều này sẽ giúp tạo khả năng dễ truy xuất, và tăng tốc độ truy xuất, truy vấn cho các “query engine.”

32.4.2. Kiến trúc

- FastObjects.NET là hệ thống gồm một server với những chức năng khá đầy đủ lo các thao tác với cơ sở dữ liệu và tập hợp các thư viện cho phía các ứng dụng khách (client). - Với FastObjects.NET thì ta có thể thấy dễ dàng hơn trong

việc phát sinh các lược đồ cho các lớp đối tượng một cách trực tiếp từ mô hình đối tượng. Hơn nữa ta có thể ánh xạ trực tiếp các mối quan hệ giữa các đối tượng với nhau một cách rất trực quan và không cần phải thiết kế thêm bất kì

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 162

lược đồ trung gian nào. Và các quan hệ đó cũng chính là mối quan hệ giữa các đối tượng lưu trữ ở database.

- FastObjects.NET Server liên lạc với các ứng dụng khách (application client) thông qua giao thức TCP/IP. Và đối với các ứng dụng được thiết kế dù là 2 lớp (two-tiers) hay 3 lớp (three-tiers) đi nữa thì Server cũng sẽ quản lý được tất cả các giao tác trên các ứng dụng đó tuần tự bằng cách đưa ra các điều khiển khoá (lock) đối với các đối tượng.

- Vấn đề lưu trữ đối tượng mức vật lý?

- Các đối tượng được lưu trên hệ thống tập tin của FastObjects Server. Lý do là để tăng cường tốc độ truy xuất. Đồng thời kĩ thuật cache đã được xử dụng để tăng tốc độ xử lý cho Server.

- FastObjects.NET được thiết kế để nhúng vào ứng dụng một cách gần như hoàn toàn trong suốt (transparent) và cung cấp cho ứng dụng khả năng thao tác quản lý các dữ liệu phức tạp mà không cần phải tốn thêm thời gian và chi phí nào trong việc thiết kế mô hình đối tượng. Bên cạnh đó FastObjects.NET còn cung cấp cho các nhà quản trị cơ sở dữ liệu các hàm API như là công cụ trợ giúp trong công tác DBA (Database Administrator) chẳng hạn như khả năng sao lưu cơ sở dữ liệu, gộp cơ sở dữ liệu…

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 163 Hình 5. 29 - Kiến trúc liên h gia FastObjects và .NET Application

Hình 5. 30 – Quy trình phát sinh code và tiến hành enhance 32.4.3. Thông tin kĩ thuật

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 164

Managed C++ J#

VB.NET

Ay IL-capable language

Memory FootPoint 5.5MB

Storage Network Fastobjects Server Local File System

Develop Platforms Microsoft.NET

Compilers Visual Studio 2003 (7.1) .NET Framework 1.1 .NET Environment .NET Framework 1.1 Client Deployment OS Microsoft Windows Object Server Deployment OS Microsoft Windows

RedHat Linux Sun Solaris HP-UX

32.5. Mt s lưu ý

32.5.1. Vấn đề phiên bản

- Do điều kiện không cho phép, ta chỉ có thể download phiên bản Trial cho sản phản FastObject.NET component mà thôi.

- Ta có thể download phiên bản trial ở địa chỉ sau :

http://www.fastobjects.com/us/FastObjects_PandS_NET_a .asp

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 165

- Mỗi phiên bản trial download ta sẽ có serial key riêng để tạo nên các tập tin license, trong khi cài đặt ta có thể tạo trực tiếp hoặc có thể tạo sau khi cài đặt cũng được.

32.5.2. Vấn đề cài đặt

- Do là phiên bản trial nên nó có một số lỗi về cài đặt đối với hệ điều hành WindowsXP/2K/NT, sau khi cài đặt FastObjects không thiết lập được đường dẫn biến môi trường đến các DLL runtime của mình được, cho nên sẽ

gây ra lỗi nghiêm trọng trong quá trình runtime và compile. Đó là ta không thể tạo database trong môi trường Visual Studio 2003, và cũng không thể chạy chương trình có thao tác đến cơ sở dữ liệu hướng đối tượng FastObjects Database, FastObjects sẽ báo lỗi Stack Dump.

- Để khắc phục lỗi này, ta thiết lập lại biến môi trường trong session làm việc của hệ điều hành trong registry là có thể tạo được database và chạy ứng dụng ở bất kì thư mục nào mà không cần chép theo các DLL runtime.

32.5.3. Vấn đề runtime

- Sau khi cài đặt mà không chạy được ví dụ hoặc bị báo lỗi thì phải tiến hành sửa lỗi cài đặt của FastObjects như đã nói ở trên.

- Hoặc nếu như không tiến hành sửa lỗi thiết lập biến môi trường thì khi chạy ta phải chép tất cả các DLL trong thư mục <RootDir><FastObjecs_NET_Trial\bin\runtime> vào trong thư mục chứa trình ứng dụng cần chạy thì ta mới chạy được.

- Chú ý: chúng ta đang tiến hành và kiểm tra dựa trên phiên bản FastObjects.NET 9.5.13.124.

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 166

33. NG DNG

- Ta có thể thấy một điều là dữ liệu (data) là phần rất quan trọng đối với một ứng dụng, nó làm cho ứng dụng trở nên có nghĩa hơn. Chính vì vậy mà việc quản lý các dữ liệu một cách sao cho hiệu quả nhất cũng trở thành vấn đề vô cùng quan trọng. Cũng như việc chọn lựa sử dụng hệ quản trị cơ sở dữ liệu nào cho việc lưu trữ, khai thác dữ liệu cho phù hợp với chương trình cũng là một trong những lựa chọn khó. Và ngày nay hệ quản trị cơ sở dữ liệu Microsoft SQL Server với việc sử dụng mô hình cơ sở dữ liệu quan hệ là sự lựa chọn thông thường và phổ biến nhất đối với với các ứng dụng cỡ vừa.

- Bởi lý do đó mà ngày nay hệ quản trị cơ sở dữ liệu hướng đối tượng được dùng trong các lĩnh vực mà bài toán nó đặt ra tương đối phức tạp ở cấu trúc các đối tượng cũng như quan hệ giữa chúng. Đơn cử như bài toán chi tiết máy, quản lý các hồ sơ bệnh án trong bệnh viện… Đặc biệt nó thực sự hữu hiệu trong bài toán về phần mềm đồ hoạ như phần mềm AutoCAD.

34. LI KT

- Qua trên ta có thể thấy được việc lựa chọn một hệ quản trị cơ sở dữ liệu và mô hình cơ sở dữ liệu nào là tùy vào tính chất của ứng dụng mà ta xây dựng và phát triển. Bất kì hệ quản trị nào cũng có mặt mạnh và yếu của nó, không có hệ quản trị nào là hoàn hảo cả, do đó vấn đề còn lại là ta lựa chọn hệ quản trị nào phù hợp nhất cho ứng dụng.

- Với một hệ quản trị cơ sở dữ liệu hướng đối tượng tốt ta có thể dễ dàng xây dựng, phát triển và mở rộng ứng dụng mang nhiều tính chất hướng đối tượng, và nhất là ứng dụng đó dược xây dựng trên một ngôn ngữ lập trình hướng đối tượng. Tuy nhiên ta có thể thấy do tính chất còn non trẻ và chưa phát triển một cách mạnh mẽ nên cơ sở dữ liệu hướng đối tượng chưa thực sự phổ biến và áp dụng rộng rãi trong các ứng dụng thực tế.

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 167

Hiện nay nó chỉ được áp dụng nhiều trong các ứng dụng mang tính chất chuyên dụng, với các bài toán mang tính chất phức tạp về quan hệ mà thôi. Do đó tuy có thể coi cơ sở dữ liệu hướng đối tượng đã tạo được bước ngoặc trong việc tích hợp được với ngôn ngữ lập trình hướng đối tượng (FastObjects.NET) nhưng nó cũng cần có thời gian để xây dựng, phát triển thêm và tạo được lòng tin cũng như chứng tỏ khả năng của nó đối với các nhà phát triển ứng dụng, phần mềm. Và ta hy vọng rằng cơ sở dữ liệu hướng đối tượng ngày càng được phát triển và có một chỗ đứng đúng với khả năng của nó trong thị trường cơ sở dữ liệu cũng như ngôn ngữ lập trình mà nó dựa trên để xây dựng: “Ngôn ngữ lập trình hướng đối tượng”.

KHOA CNTT –

ĐH KHTN

Sinh viên thc hin: Cao Th Thu Liên - Nguyn Thế Vũ Trang 168

CHƯƠNG 6:

TNG KT

35. KT QU ĐẠT ĐƯỢC

Quá trình nghiên cứu đề tài “Xây dựng hệ quản trị hypermedia hướng đối tượng” đạt được một số kết quả như sau:

- Tìm hiểu các hệ quản trị cơ sở hướng đối tượng Versant, FastObjects, và sử dụng FastObjects.NET để lưu trữ dữ liệu cho hệ hypermedia hướng đối tượng cần xây dựng.

- Tìm hiểu phương pháp thiết kế hypermedia hướng đối tượng OOHDM và vận dụng nó để:

o Xây dựng hệ quản trị hypermedia hướng đối tượng

§ Quản lý sự kết nối của các client

§ Thực hiện các yêu cầu lưu trữ hoặc truy xuất dữ liệu từ client

§ Các lớp tầng lưu trữ theo mô hình OOHDM

§ Sử dụng FastObjects.NET để lưu trữ dữ liệu o Xây dựng bộ công cụ hỗ trợ phương pháp OOHDM:

§ Công cụ thiết kế lớp - tạo cơ sở dữ liệu: giao diện trực quan, thể

Một phần của tài liệu XÂY DỰNG hệ QUẢN TRỊ HYPERMEDIA HƯỚNG đối TƯỢNG (Trang 154)

Tải bản đầy đủ (PDF)

(178 trang)