Tìm hiểu JNDI dịch vụ quản lí CosNaming Corba Tìm hiểu JNDI dịch vụ quản lí CosNaming Corba Bởi: Khoa CNTT ĐHSP KT Hưng Yên JNDN dịch vụ Naming Corba Kiến trúc JNDI cung cấp hệ thống đặt tên chuẩn độc lập API xây dựng điều khiển hệ thống đặt tên đặc biệt Lớp giúp ta cách ly ứng dụng từ nguồn liệu thực tế, ý nghĩa với ứng dụng truy nhập LDAP, RMI, DNS, hay dịch vụ khác Nói cách khác, JNDI độc lập (của) thi hành dịch vụ thư mục đặc biệt nào, thư mục sử dụng miễn bạn cung cấp dịch vụ (hay điều khiển) cho hình sau: Cấu trúc JNDI Điều ghi nhớ quan trọng JNDI, cung cấp giao diện lập trình ứng dụng (API) lẫn giao diện nhà cung cấp dịch vụ (SPI) Điều thực có ý nghĩa – cho ứng dụng bạn tương tác với naming hay dịch vụ thư mục phải nhà cung cấp dịch vụ JNDI cho naming dịch vụ thư mục đặc biệt – giống trình điều khiển JDBC kế thừa giá trị giao diện JDBC cho hệ thống liệu đặc biệt Như 1/4 Tìm hiểu JNDI dịch vụ quản lí CosNaming Corba ứng dụng phát triển, bạn không cần phải lo lắng JNDI SPI Bạn cần chắn bạn có nhà cung cấp dịch vụ cho naming hay thư mục bạn muốn sử dụng Cũng dựa vào đặc tả JNDI Java Corba xây dựng chế lưu trữ tên tham chiếu đối tượng khác với dịch vụ Naming RMI Corba phân khái niệm NamingContext NamingCompoment tương tự khái niệm file thư mục mà ta quen thuộc Namingcontext đối tượng có khả dẫn tham chiếu đến NamingCompoment hay NamingContext khác NamingContext đặt tên dựa vào NamingCompoment NamingCompoment thành phần chứa tên (tương tự nhãn tên file) có khả ràng buộc tên với đối tượng (đối tượng phải đối tượng Corba) NamingCompoment NamingContext quan hệ với theo cấu trúc hình tương tự cấu trúc thư mục hệ thống tệp đĩa Hình 3.4 ví dụ cách lưu trữ dịch vụ COS Naming Corba Dịch vụ chương trình tnameserv.exe mà ta có dịp tìm hiểu qua cài đặt chương trình in chuỗi “hello Corba” 2/4 Tìm hiểu JNDI dịch vụ quản lí CosNaming Corba Mô hình ràng buộc lưu trữ đối tượng dịch vụ COS Naming Như bạn thấy hình Market đối tượng NamingContext Nó cho phép tìm thành phần tên: stock, shelf penel Bản thân stock, shelf hai NamingContext Stock chứa hai thành phần mang tên Toys Fruit Shelf chứa thành phần mang tên Book Đối tượng Object A ràng buộc với tên Toys đối tượng Object B Object C ràng buộc tên Fruit Book Thử hình dung COS Naming thư mục Nếu đứng từ Market để tham chiếu đến đối tượng Object A bạn phải đường dẫn sau: Market\sotck\Toys Muốn tham chiếu đến Object C bạn đường dẫn Market\panel Market\shelf\book Tuy nhiên bạn đứng vị trí Stock bạn cần tham chiếu đến Object A theo cách: stock\toys Đó ngữ cảnh (context) mà bạn gặp sau dịch vụ Corba Với đối tượng tuỳ theo mà ta có cách truy xuất theo tên đối tượng khác 3/4 Tìm hiểu JNDI dịch vụ quản lí CosNaming Corba Các hàm • Tạo NamingContext: ◦ new_context() ◦ New_bind_context(NameComponent[] path) • Hủy NamingContext: ◦ Destroy() • Lấy đối tượng NamingContext: ◦ resolve_initial_references(ObjectId id) ◦ Resolve(NameComponent[] path) • Tạo bind ◦ Bind(NameComponent[] path, Object obj) ◦ Bind_context(NameComponent[] path, NameContext nc) ◦ Rebind(NameComponent[] path, Object obj) • Hủy bind ◦ Unbind(NameComponent[] path) • Liệt kê binding context List(NameContext nc, BindingList bl, BindingIterator bt) 4/4 ... lưu trữ dịch vụ COS Naming Corba Dịch vụ chương trình tnameserv.exe mà ta có dịp tìm hiểu qua cài đặt chương trình in chuỗi “hello Corba 2/4 Tìm hiểu JNDI dịch vụ quản lí CosNaming Corba Mô.. .Tìm hiểu JNDI dịch vụ quản lí CosNaming Corba ứng dụng phát triển, bạn không cần phải lo lắng JNDI SPI Bạn cần chắn bạn có nhà cung cấp dịch vụ cho naming hay thư mục... ngữ cảnh (context) mà bạn gặp sau dịch vụ Corba Với đối tượng tuỳ theo mà ta có cách truy xuất theo tên đối tượng khác 3/4 Tìm hiểu JNDI dịch vụ quản lí CosNaming Corba Các hàm • Tạo NamingContext: