1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu JNDI và dịch vụ quản lí trên cosnaming của corba

4 169 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 166,66 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tìm hiểu JNDI và dịch vụ quản lí trên CosNaming của Corba Bởi: Khoa CNTT ĐHSP KT Hưng Yên JNDN và dịch vụ Naming của Corba Kiến trúc JNDI cung cấp một hệ thống đặt tên chuẩn độc lập API

Trang 1

Tìm hiểu JNDI và dịch vụ quản lí trên CosNaming của

Corba

Bởi:

Khoa CNTT ĐHSP KT Hưng Yên

JNDN và dịch vụ Naming của Corba

Kiến trúc JNDI cung cấp một hệ thống đặt tên chuẩn độc lập API được xây dựng bởi một điều khiển hệ thống đặt tên đặc biệt Lớp này giúp ta cách ly ứng dụng từ nguồn

dữ liệu thực tế, và bởi vậy nó không có ý nghĩa với các ứng dụng truy nhập một LDAP, RMI, DNS, hay dịch vụ khác Nói cách khác, JNDI là độc lập (của) bất kỳ sự thi hành dịch vụ thư mục đặc biệt nào, và bất kỳ thư mục nào có thể được sử dụng miễn là bạn cung cấp dịch vụ (hay các điều khiển) cho nó như hình sau:

Cấu trúc của JNDI

Điều này là ghi nhớ quan trọng về JNDI, nó cung cấp cả một giao diện lập trình ứng dụng (API) lẫn một giao diện nhà cung cấp dịch vụ (SPI) Điều này thực sự có ý nghĩa –

Trang 2

các ứng dụng đang phát triển, bạn không cần phải lo lắng về JNDI SPI Bạn chỉ cần chắc chắn rằng bạn có một nhà cung cấp dịch vụ cho mỗi naming hay thư mục bạn muốn sử dụng

Cũng dựa vào đặc tả JNDI của Java nhưng Corba xây dựng một cơ chế lưu trữ tên và tham chiếu của đối tượng khác với dịch vụ Naming của RMI

Corba phân ra khái niệm NamingContext và NamingCompoment tương tự khái niệm file và thư mục mà ta vẫn quen thuộc

Namingcontext là một đối tượng có khả năng dẫn tham chiếu đến một NamingCompoment hay NamingContext khác NamingContext được đặt tên dựa vào NamingCompoment

NamingCompoment là một thành phần chứa tên (tương tự nhãn hoặc tên file) có khả năng ràng buộc tên với một đối tượng bất kỳ nào đó (đối tượng phải là đối tượng Corba)

NamingCompoment và NamingContext quan hệ với nhau theo cấu trúc hình cây tương

tự cấu trúc cây thư mục của hệ thống tệp trên đĩa Hình 3.4 là một ví dụ về cách lưu trữ của dịch vụ COS Naming trong Corba Dịch vụ này chính là chương trình tnameserv.exe

mà ta đã có dịp tìm hiểu qua khi cài đặt chương trình in ra chuỗi “hello Corba”

Trang 3

Mô hình ràng buộc và lưu trữ đối tượng của dịch vụ COS Naming

Như bạn thấy ở hình trên Market là một đối tượng NamingContext Nó cho phép tìm

ra 3 thành phần tên: stock, shelf và penel Bản thân stock, shelf là hai NamingContext Stock chứa hai thành phần mang tên Toys và Fruit Shelf chứa một thành phần mang tên Book Đối tượng Object A được ràng buộc với tên Toys trong khi đối tượng Object B Object C được ràng buộc bởi tên Fruit và Book

Thử hình dung COS Naming là một cây thư mục Nếu đứng từ Market để tham chiếu đến đối tượng Object A bạn phải chỉ đường dẫn như sau: Market\sotck\Toys Muốn tham chiếu đến Object C bạn chỉ đường dẫn Market\panel hoặc Market\shelf\book Tuy nhiên bạn đang đứng ở vị trí Stock bạn chỉ cần tham chiếu đến Object A theo cách: stock\toys

Đó chính là ngữ cảnh (context) mà bạn sẽ gặp sau này trong dịch vụ của Corba Với một đối tượng tuỳ theo mà ta có cách truy xuất theo tên của đối tượng khác nhau

Trang 4

Các hàm cơ bản

• Tạo NamingContext:

◦ new_context()

◦ New_bind_context(NameComponent[] path)

• Hủy NamingContext:

◦ Destroy()

• Lấy về đối tượng NamingContext:

◦ resolve_initial_references(ObjectId id)

◦ Resolve(NameComponent[] path)

• Tạo một bind

◦ Bind(NameComponent[] path, Object obj)

◦ Bind_context(NameComponent[] path, NameContext nc)

◦ Rebind(NameComponent[] path, Object obj)

• Hủy một bind

◦ Unbind(NameComponent[] path)

• Liệt kê các binding trong một context

List(NameContext nc, BindingList bl, BindingIterator bt)

Ngày đăng: 31/12/2015, 10:55

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w