Cỏc đặc trưng

Một phần của tài liệu Nghiên cứu và phát triển các ứng dụng với cơ sở dữ liệu hướng đối tượng (Trang 52)

Truy nhập đồng thời bởi nhiều người dựng hoặc nhiều tiến trỡnh

FastObjects t7 được thiết kế cho việc truy cập đồng thời diện rộng tới cỏc cơ sở dữ liệu được điều khiển bởi Server cơ sở dữ liệu. Với cỏc ứng dụng ba tầng, FastObjects t7 hỗ trợ cỏc server ứng dụng phổ biến nhất, chẳng hạn như WebLogic, JBoss và Tomcat. Với cỏc ứng dụng hai tầng, FastObjects t7 cung cấp Server cơ sở dữ liệu, và cung cấp Client dưới hỡnh thức của một FastObjects t7 Client cú thể nhỳng được. Bất kể kiến trỳc nào được lựa chọn, cỏc chiến lược khoỏ của FastObjects t7 đảm bảo sự nhất quỏn đối tượng khi làm việc với nhiều người dựng hoặc nhiều tiến trỡnh.

Hướng đối tượng đầy đủ

FastObjects t7 hỗ trợ đầy đủ mụ hỡnh hướng đối tượng của cỏc giao diện, sự kế thừa, đa hỡnh thỏi và bao đúng của cỏc đối tượng và tập cỏc đối tượng. Khỏi niệm sử dụng lại mó trỡnh cuối cựng đó được cung cấp như mường tượng.

Vớ dụ, việc kế thừa là một trong những đặc trưng phức tạp và mạnh nhất của cỏc ngụn ngữ C++ và Java. Khú để tạo ra một thiết kế hướng đối tượng hiệu quả mà khụng cú kế thừa. FastObjects t7 hiểu một kiến trỳc kế thừa của một lớp, cho phộp thiết kế ứng dụng đa hỡnh thỏi hiệu quả bao gồm cả cơ sở dữ liệu. Với FastObjects t7, cú thể cú cỏc mụ hỡnh dữ liệu với tất cả cỏc mức phức tạp. Khụng cần thiết “phõn ró" một thiết kế của ứng dụng để ăn khớp với một cơ sở dữ liệu khụng hướng đối tượng.

FastObjects t7 cung cấp cho người phỏt triển khả năng to lớn trong việc làm cho cỏc đối tượng của cỏc lớp người dựng định nghĩa khả năng bền vững. Với FastObjects t7, sự thể hiện trong bộ nhớ của một đối tượng được chuyển thành một thể hiện đĩa, trong đú cỏc tham chiếu bộ nhớ được chuyển đổi thành cỏc định danh đối tượng cục bộ. Cơ chế này cho phộp những nhà phỏt triển lưu cỏc mối quan hệ đối tượng phức tạp theo một cỏch dễ dàng, đơn giản. Cỏc vấn đề ỏnh xạ đối tượng tới quan hệ phức tạp và đắt đỏ vốn cú trong khi làm việc với một cơ sở dữ liệu quan hệ được loại bỏ trong tớnh trọn vẹn của đối tượng.

Quản lý phõn luồng của dữ liệu phức tạp

Tiếp cận mà FastObjects t7 nắm giữ cho việc phõn luồng quản lý cỏc dữ liệu phức tạp phụ thuộc vào việc ứng dụng được viết trong Java hay C++.

Với cỏc ứng dụng Java, bộ tăng cường FastObjects t7 JDO byte-code tự động trớch ra tất cả cỏc thụng tin lược đồ cần thiết từ cỏc khai bỏo lớp của ứng dụng. Cỏc danh mục trong một file mụ tả bền vững được thực hiện để chỉ ra những lớp nào của ứng dụng cú khả năng bền vững. Bộ tăng cường FastObjects t7 xử lý cỏc file lớp và sửa đổi byte-code để hỗ trợ sự bền vững một cỏch tự động.

Với cỏc ứng dụng C++, bộ xử lý FastObjects t7 sử dụng cỏc file header của ứng dụng để định nghĩa lược đồ cơ sở dữ liệu, và để sau đú khởi tạo mó trỡnh cần thiết để kết nối, lưu trữ, và khụi phục cỏc đối tượng trong cơ sở dữ liệu. Điển hỡnh nhất, cỏc lớp bao chứa nhận biết cơ sở dữ liệu được tạo bởi FastObjects t7 được sử dụng để quản lý cỏc mối quan hệ một-nhiều và nhiều-nhiều phức tạp được yờu cầu trong cỏc thiết kế C++.

Hỡnh 20. Bộ tiền xử lý FastObjects t7 C++ và việc phỏt sinh lược đồ

Điều hướng và khụi phục ở tốc độ cao

Cỏc đối tượng được lưu với cỏc tham chiếu sao cho ứng dụng cú thể được khụi phục nhanh chúng hiệu quả và tuõn theo đồ thị đối tượng. Việc điều hướng trực tiếp từ đối tượng tới đối tượng cho phộp chỳng ta cú thể truy cập một cỏch nhanh nhất tới dữ liệu. Cỏc tham chiếu được tự động chuyển thành cỏc định danh cơ sở dữ liệu khi một đối tượng được lưu trữ. Trong khi nạp đối tượng, ID đối tượng được sử dụng để nhanh chúng định vị đối tượng trong cơ sở dữ liệu. Hiệu suất cơ sở dữ liệu FastObjects t7 được tăng cường thờm nữa bằng một động cơ đỏnh chỉ số cho phộp nhà phỏt triển điều khiển đầy đủ thụng qua cỏc chỉ số được tạo ra cho mỗi lớp trong lược đồ. Cỏc chỉ số được sử dụng lõu dài trong kỹ nghệ cơ sở dữ liệu quan hệ để tăng tốc thời gian đỏp ứng ứng dụng và tổ chức biểu diễn dữ liệu. FastObjects t7 được thiết kế để sử dụng cựng cụng nghệ chỉ số cú trong cỏc hệ thống cơ sở dữ liệu

quan hệ, nhưng thay vỡ trỏ tới cỏc hàng trong một bảng, cỏc danh mục chỉ số FastObjects t7 trỏ tới một đối tượng trọn vẹn.

Truy cập đa luồng

Để truy cập đa luồng tới cơ sở dữ liệu, FastObjects t7 cho phộp người phỏt triển sử dụng nhiều giao tỏc với cỏc luồng khỏc nhau, do vậy cho phộp mỗi luồng ứng dụng sử dụng giao tỏc của riờng nú. Một chiến lược khoỏ mức đối tượng linh hoạt đảm bảo rằng cỏc đối tượng khụng được sửa đổi bởi nhiều giao tỏc ở cựng một thời điểm, do vậy đảm bảo tớnh nhất quỏn đối tượng.

Cỏc truy vấn

Liờn kết chặt chẽ với hệ thống chỉ mục là động cơ truy vấn cụng phu được tỡm thấy trong FastObjects t7. Động cơ truy vấn tự động lợi dụng cỏc chỉ số được định nghĩa cho lớp, cải tiến hiệu suất của cỏc ứng dụng. Để thực thi cỏc truy vấn đối với cơ sở dữ liệu FastObjects t7, chỳng ta cú thể sử dụng cỏc ngụn ngữ truy vấn chuẩn cụng nghiệp chẳng hạn như JDOQL hoặc OQL, hoặc cú thể sử dụng ngụn ngữ truy vấn lập trỡnh thuộc quyền sở hữu của nhà cung cấp.

Toàn vẹn dữ liệu

FastObjects t7 hỗ trợ đầy đủ cỏc chức năng toàn vẹn dữ liệu truyền thống chẳng hạn như cỏc giao tỏc, việc ghi nhật ký và việc khoỏ. Cỏc giao tỏc đảm bảo việc thi hành nguyờn tử của một thao tỏc, cú nghĩa là tất cả hoặc khụng cú gỡ của giao tỏc được ghi vào vị trớ lưu trữ ổn định.

Điều này đạt được bởi một file nhật ký, cú nghĩa là khi một giao tỏc được thực hiện, toàn bộ tập hợp những thay đổi của giao tỏc đầu tiờn được ghi tới file nhật ký và sau đú là tới file cơ sở dữ liệu. Nếu việc ghi nhật ký thất bại, khụng cú gỡ được ghi tới cơ sở dữ liệu. Nếu việc ghi cơ sở dữ liệu thất bại do một sự kiện khỏc thường

chẳng hạn như một đổ vỡ hệ thống, FastObjects t7 lặp lại việc ghi tới file cơ sở dữ liệu từ file nhật ký (tức là, làm lại theo nhật ký).

Thờm vào đú, tất cả cỏc đối tượng được ghi tới cơ sở dữ liệu FastObjects t7 được mó hoỏ với một kiểm tra tổng để đề phũng cỏc hỏng húc truyền thụng. Chẳng hạn khi một block đĩa hỏng, kiểm tra tổng sẽ nhận diện bất kỳ đối tượng nào bị ảnh hưởng bởi hỏng húc để đảm bảo ứng dụng khụng bao giờ sử dụng dữ liệu lỗi.

FastObjects t7 cho phộp người phỏt triển lựa chọn việc khoỏ tối ưu hoặc khụng tối ưu, tuỳ thuộc vào tỡnh trạng ứng dụng ở thời điểm bất kỳ nờu ra. Cỏc kiến trỳc đa người dựng hiện đại gia tăng thực thi với một kết hợp của việc khoỏ tối ưu hoặc khụng tối ưu, dẫn đến hiệu suất cao hơn và việc điều khiển tương tranh tối ưu.

Trong suốt và khụng cần bảo trỡ

FastObjects t7 được thiết kế để trở thành một hệ thống nhỳng, tự bao hàm, tức là được triển khai mà khụng cần sự tương tỏc người dựng cuối. Người dựng cuối của ứng dụng khụng nhận biết về cơ sở dữ liệu. Cơ sở dữ liệu FastObjects t7 chỉ là cỏc file được đúng gúi và được triển khai với ứng dụng Java hoặc C++. Mỗi khi được triển khai, một cơ sở dữ liệu FastObjects t7 sẽ làm việc mói mói mà khụng cú sự quản trị phớa ngoài vỡ nú đó được tớch hợp thụng minh cho việc quản lý khụng gian lưu trữ rỗi, duy trỡ chỉ số, phiờn bản lược đồ, phiờn bản đối tượng trong thời gian chạy, và nhiều hơn nữa.

Phỏt triển lược đồ

Cỏc đặc trưng phỏt triển lược đồ của FastObjects t7 bảo vệ người phỏt triển khỏi việc viết mó trỡnh cập nhật phức tạp khi phỏt triển ứng dụng. Cỏc ứng dụng đến sau thừa hưởng lợi ớch to lớn bởi vỡ cỏc đối tượng trong cơ sở dữ liệu được tự động di chuyển tới lược đồ mới. Bộ trộn lược đồ FastObjects e7 cho phộp trộn cỏc thay đổi lược đồ đó được thực hiện trong cỏc một hoặc nhiều nhỏnh lược đồ riờng rẽ quay trở lại vào trong một lược đồ chớnh. Với bộ trộn lược đồ chỳng ta cú thể cung cấp tựy

lạin cỏc phiờn bản lược đồ cho cỏc khỏch hàng đặc biệt và sau đú trộn cỏc thay đổi đú trở vào trong luồng tiến triển.

Với cỏc ứng dụng quản lý cỏc tiến trỡnh tới hạn (vớ dụ, cỏc dũng sản phẩm được tự động hoỏ), thời gian chết của cỏc cập nhật hoặc phiờn bản phần mềm phải được giữ ở mức nhỏ nhất hoặc thậm chớ phải được loại bỏ hoàn toàn. Việc sao lặp FastObjects t7 cú thể được sử dụng để thực hiện một việc phiờn bản trực tuyến trong một hệ thống đang chạy trở lại. Điều này cho phộp trỏnh hoàn toàn thời gian chết. Cơ sở dữ liệu đơn giản là duy trỡ sự làm việc.

FastObjects t7 giỳp ớch cho việc quản lý vũng đời của ứng dụng từ việc thiết kế tới việc phỏt hành (adsbygoogle = window.adsbygoogle || []).push({});

Mềm dẻo

Với cỏc ứng dụng dựa trờn web mềm dẻo lớn, FastObjects t7 cung cấp sự thi hành cộng thờm thụng qua đặc trưng chỉ đọc của nú. FastObjects t7 cú thể triển khai một quan hệ server “master” đọc-ghi với một số lượng bất kỳ cỏc server “slave” chỉ đọc để đạt được một kiến trỳc mềm dẻo, hiệu suất cao. Dữ liệu trờn cỏc server “slave” được đồng bộ hoỏ một cỏch tự động khi cỏc giao tỏc được cam kết trờn server “master”.

Cỏc ứng dụng Java cú thể sử dụng chức năng FastObjects Active Java Cache để cải tiến sõu sắc sự thi hành của cỏc ứng dụng nặng về đọc. Active Java Cache giữ cỏc đối tượng đọc gần đõy cục bộ trờn server ứng dụng, do vậy server ứng dụng cú thể cung cấp đối tượng mà khụng đọc lại đối tượng từ server cơ sở dữ liệu. Điều này giảm đỏng kể giao thụng server cơ sở dữ liệu cho cỏc đối tượng đọc thường xuyờn.

FastObjects t7 cũng đưa ra một đặc trưng Incremental Backup nú cho phộp một tiếp cận thực tế hoặc thiết thực hơn cho việc sao lưu thường xuyờn dữ liệu chứa trong cỏc cơ sở dữ liệu được triển khai quy mụ rộng. Khi kớch thước cơ sở dữ liệu tăng lờn, việc sao lưu cơ sở dữ liệu thường xuyờn trở nờn cấp bỏch hơn và khú thực

hiện hơn. Đặc trưng FastObjects t7 Incremental Backup cho phộp chỳng ta chỉ lưu trữ những thay đổi cơ sở dữ liệu đó xảy ra từ lần sao lưu đầy đủ hoặc phụ trội cuối cựng. Kết quả là cỏc file sao lưu phụ trội nhỏ hơn sau đú được đặt vào mụi trường sao lưu lõu dài và được bảo quản cho đến khi cần đến lần sao lưu đầy đủ tiếp theo.

Sao lặp và khắc phục lỗi

Cỏc hệ thống sẵn sàng cao được thiết kế bằng việc sử dụng cỏc đặc trưng FastObjects t7 Replication. Khi cỏc cơ sở dữ liệu được sao lặp cú những thay đổi, thỡ những thay đổi này được ghi tới cả server cơ sở dữ liệu chớnh và thứ cấp bằng việc sử dụng một tỏc tử sao lặp được tổ chức theo mạng lưới. Cỏc sao lặp cú thể được thiết lập bằng việc sử dụng một hệ thống nội bộ hoặc cỏch xa hàng nghỡn dặm. Cỏc tỏc tử sao lặp được cấu hỡnh để hoặc là đồng bộ hoặc là khụng đồng bộ phụ thuộc vào những đũi hỏi thiết kế ứng dụng.

Mó hoỏ dữ liệu

FastObjects t7 sẽ bảo vệ dữ liệu khỏi việc truy cập trộm hoặc trỏi phộp thụng qua việc mó hoỏ tuỳ chọn của cỏc thụng tin được lưu trong cơ sở dữ liệu.

Mó hoỏ truyền thụng

FastObjects t7 sẽ bảo vệ những truyền thụng giữa ứng dụng với Server cơ sở dữ liệu thụng qua việc mó hoỏ dựa trờn SSL cho phộp tuỳ chọn.

Tớch hợp dịch vụ giao tỏc J2EE

FastObjects t7 cung cấp cho cỏc nhà phỏt triển Java và cỏc ứng dụng sự tớch hợp vào trong J2EE Transaction Service qua FastObjects Resource Adapters cỏi tuõn theo giao diện J2EE Connector Architecture (JCA). JCA là một cỏch chuẩn để cắm một dịch vụ nào đú, chẳng hạn như một hệ thống cơ sở dữ liệu, vào trong một server ứng dụng tuõn theo J2EE.

Chương 3. Phõn tớch thiết kế hướng đối tượng

Một phần của tài liệu Nghiên cứu và phát triển các ứng dụng với cơ sở dữ liệu hướng đối tượng (Trang 52)