Full HTML for

Basic foilset Directory Services for the Internet

Given by Roman Markowski at CPS714 Computational Science Information Track on June 7 99. Foils prepared July 6 99
Outside Index Summary of Material


This covers Distributed Object Directory Services
  • DNS
  • LDAP
  • JINI
  • LJNDI

Table of Contents for full HTML of Directory Services for the Internet

Denote Foils where Image Critical
Denote Foils where Image has important information
Denote Foils where HTML is sufficient

1 Distributed Objects Registration and Lookup Services
2 PPT Slide
3 Directory Service (1)
4 Directory Service (2)
5 Directory Service (3)
6 DNS - Domain Name Service (1)
7 DNS - Domain Name Service (2)
8 DNS - Domain Name Service (3)
9 DNS - Domain Name Service (4)
10 DNS - Domain Name Service (5)
11 DNS - Domain Name Service (6)
12 DNS - Domain Name Service (7)
13 DNS - Domain Name Service (8)
14 DNS - Domain Name Service (9)
15 LDAP (1)
16 LDAP (2)
17 LDAP (3)
18 LDAP (4)
19 LDAP (5)
20 LDAP (6)
21 LDAP (7)
22 LDAP (8)
23 LDAP (9)
24 LDAP (10)
25 LDAP (11)
26 LDAP (12)
27 LDAP (13)
28 LDAP (14)
29 JINI (1)
30 JINI (2)
31 JINI (3)
32 JINI (4)
33 JINI (5)
34 JINI Architecture (1)
35 JINI Architecture (2)
36 JINI Architecture (3)
37 JINI Architecture (4)
38 JINI Architecture (5)
39 JINI Architecture (6)
40 JINI Federation
41 JINI Discovery and Lookup (1)
42 JINI Discovery and Lookup (2)
43 JINI Discovery and Lookup (3)
44 JINI Leasing
45 JINI Packages
46 JINI Glossary
47 JINI and other Lookup Technologies
48 JINI More Info
49 JNDI (1)
50 JNDI (2)

Outside Index Summary of Material



HTML version of Basic Foils prepared July 6 99

Foil 1 Distributed Objects Registration and Lookup Services

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Roman Markowski
IS Manager
Northeast Parallel Architectures center
CPS 714 June 1999

HTML version of Basic Foils prepared July 6 99

Foil 2 PPT Slide

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index

HTML version of Basic Foils prepared July 6 99

Foil 3 Directory Service (1)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Directory Services play a vital role in Internet and Intranets by providing access to a variety of information about:
  • machines: IP addresses, operating systems, vendors, configuration
  • networks: subnets, LAN technologies
  • services: http servers, ftp servers, database servers, calendar servers
  • resources: printers, scanners, file systems
  • people: names, electronic and postal mail addresses, phone numbers, SSN, salary, pay grade, job title
  • contract or accounts information: contract numbers, addresses, due dates
Example of Directory Services
  • White Pages (Name, e-mail, address, phone, fax)
  • Yellow Pages (suppliers, vendors)

HTML version of Basic Foils prepared July 6 99

Foil 4 Directory Service (2)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Directory Service is a collection of software that is used to store information about an enterprise. It generally consists of at least one directory server and one or more directory clients
DNS is an example of of a well-known client-server directory. Service (information limited to IP addresses and names)
A true directory service is used to store virtually unlimited types of information
Each e-mail system has its own directory system which maps user's name to an e-mail address. These directories cannot exchange information
Problem: every enterprise is using too many directory services which do not share data between themselves (it is known as N+1 problem)

HTML version of Basic Foils prepared July 6 99

Foil 5 Directory Service (3)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
The concept of a global directory service was invented to provide a single, centralized repository of directory information that any application can access
  • Solution: X.500 ISO with its Directory Access Protocol, but limited to OSI communication layer that is not adopted by the Internet
  • Solution: LDAP, Lightweight Directory Access Protocol, which is running over TCP/IP, scalable, affordable
A directory service IS NOT
  • a file server
  • an ftp server
  • a web server
  • a relational database
A directory service is tuned for read operations (to maximize overall search performance)

HTML version of Basic Foils prepared July 6 99

Foil 6 DNS - Domain Name Service (1)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Internet and TCP/IP service that maps network addresses , for example, 128.230.117.25, to an easy to remember names, such as merkury.npac.syr.edu
TCP/IP tools (like telnet, ftp, smtp) access DNS to locate names and resolve them into IP addresses
Names and numeric addresses are stored in many locations in a hierarchical structure. Each site has a domain name server that maintains information about the local hosts
Unix: /etc/hosts
Windows NT: \WinNT\system32\drivers\etc\hosts
127.0.0.1 localhost
128.230.117.25 merkury.npac.syr.edu merkury

HTML version of Basic Foils prepared July 6 99

Foil 7 DNS - Domain Name Service (2)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
ROOT
GOV
ORG
US
COM
NET
MIL
EDU
SYR
NPAC
NASA
FDA
NSF
MIT
SGI
SUN
IBM

HTML version of Basic Foils prepared July 6 99

Foil 8 DNS - Domain Name Service (3)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Critical component of the Internet; maps names to IP addresses; mail exchanger; global directory service
Unix clients use resolver to access DNS servers
DNS servers query each other to resolve names
Client
Local
DNS
Company
DNS
COM
DNS
Root
DNS
www.company.com

HTML version of Basic Foils prepared July 6 99

Foil 9 DNS - Domain Name Service (4)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
SGI Irix: /etc/resolv.conf
SUN Solaris: /etc/resolv.conf, nsswitch.conf
hostresorder local dns nis
search npac.syr.edu
nameserver 128.230.7.250
nameserver 128.230.164.130
nameserver 128.230.12
nameserver 128.230.7.250
nameserver 128.230.164.130
nameserver 128.230.12
search npac.syr.edu
hosts: files nis dns

HTML version of Basic Foils prepared July 6 99

Foil 10 DNS - Domain Name Service (5)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
BIND - Berkeley Internet Name Domain - most common DNS
DNS is a distributed database that resides on different domain servers. There are primary, secondary, and cash-only servers
  • Primary DNS server keeps the master copy of the entire (local) database both in memory and on disk
  • Secondary DNS server obtains a copy of the database from the primary server
  • Cash-only server: runs the name server software, but keeps no nameserver database files
DNS server can provide lots of information about a network (nodes, operating system, people responsible, mail servers)
DNS can provide "unwanted " information for
  • hackers
  • vendors' sales representatives
  • outside agents

HTML version of Basic Foils prepared July 6 99

Foil 11 DNS - Domain Name Service (6)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
nslookup (exists for Unix and WinNT)
> help
> set querytype=MX list mail servers and name servers
>npac.syr.edu
> set querytupe=NS list name servers
>npac.syr.edu
> set quarytype=A list IP addresses
>merkury.npac.syr.edu
> ls -d npac.syr.edu list all computers in the domain
> ls -a npac.syr.edu list all canonical names and aliases
> ls -t mx npac.syr.edu list all mx records
> set type=mx
> netscape.com all mail servers in the domanin
> set type=PTR
> 25.117.230.128.in-addr.arpa

HTML version of Basic Foils prepared July 6 99

Foil 12 DNS - Domain Name Service (7)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Standard resource records
  • A Address, converts hostname to an address
  • MX Mail Exchanger, IP addresses of any relevant mail server
  • PRT Pointer, converts address to a hostname
  • NS Name Server, identifies a domain's name server
  • CNAME Canonical NAME, defines an alias hostname
  • HINFO Host INFO, describes hardware and operating system
  • SOA Start Of Authority, marks the beginning of a zone's data, and defines parameters that affect the entire zone

HTML version of Basic Foils prepared July 6 99

Foil 13 DNS - Domain Name Service (8)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Dual- server DNS service allows to separate
  • Internal DNS server
  • External DNS server (limited version of information)
External DNS
  • must be registered (with Network Solutions, Inc.)
  • (A record) IP addresses of any publicly accessible systems (like Web and FTP servers)
  • (MX record) IP addresses of any relevant mail server
  • (PRT records) pointers and lookup entries

HTML version of Basic Foils prepared July 6 99

Foil 14 DNS - Domain Name Service (9)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Local
Client
Local
DNS
Query
Response
External
Client
External
DNS
A firewall prevents external clients from accessing the internal name server
This configuration offers 2 distinct views of the network

HTML version of Basic Foils prepared July 6 99

Foil 15 LDAP (1)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Lightweight Directory Access Protocol
  • network directory service used for storing, retrieving and searching network information
  • components, resources, services and users are defined as objects using a hierarchical database model
  • in several aspects LDAP can be treated as a special purpose DBMS. LDAP is NOT and inexpensive DBMS
  • developed by University of Michigan in conjunction with IETF (Internet Engineering Task Force)
  • technology is relatively young; till 1996 treated as a research project

HTML version of Basic Foils prepared July 6 99

Foil 16 LDAP (2)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
LDAP - IEFT standard based on OSI X.500 protocol for directory and resources management. LDAP allows users to create, delete, modify and query network directories form Web browsers.
X.500 Directory Service editions: 1988, 1993, 1997
LDAP v 2 is based on X.500 edition 1988
LDAP v 3 is based on X.500 edition 1993
LDAP is using TCP instead of OSI components as its transport protocol
LDAP = X.500 Lite (TCP used for transport)

HTML version of Basic Foils prepared July 6 99

Foil 17 LDAP (3)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
In 1988 OSI defined a powerful X.500 global directory service OSI based; OSI is abandoned now
  • X.500 standard defines hierarchical directory structure for administrative domains; general purpose directory service
  • difficult, complex implementation, lack of products on the market
  • reading and querying operations (searching) are presumed to occur more frequently than additions and modifications
  • based on hierarchical structure of names rather than a relational architectural model
  • Database: DIT (Directory Information Tree) is composed of data objects; object are identified in similar way as in MIB (Management Information Base) databases (example: user1.npac.su.us)
  • DAP - Directory Access Protocol for client to server queries
  • DSP - Directory Service Protocol for server to server queries

HTML version of Basic Foils prepared July 6 99

Foil 18 LDAP (4)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
LDAP was developed to provide clients with a lightweight method of accessing X.500 databases eliminating DAP (OSI Directory Access Protocol). DAP creates so much overhead that is not practical.
LDAP will help navigate but will not replace X.500
LDAP can be used to communicate with any attribute based directory, including X.500
It evolved as a standalone protocol: LDAP is a client-server product
  • LDAP client -> LDAP server <-> database
  • TCP 389 port is used
  • TCP 636 is used for encrypted LDAP

HTML version of Basic Foils prepared July 6 99

Foil 19 LDAP (5)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
LDAP v1 1993 (implemented in the University on Michigan)
LDAP v2 1995 RFC 1777,1823,1959 (also implemented in the University of Michigan)
  • strings based on ASCII characters rather than Unicode
  • insecure, clear-text password-based authentication
  • no extensibility
LDAP v3 December 1997 RFC 2222, 2251-2256
  • Unicode UTF-8 encoding replaced ASCII strings
  • improves performance, scalability, security, support for international character sets
  • security take advantage of X.509 strong authentication

HTML version of Basic Foils prepared July 6 99

Foil 20 LDAP (6)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Directory Tree Overview
o=npac.syr.edu
ou=people
ou=groups
ou=servers
uid=roman
cn=systems
cn=admin
The entry in an LDAP directory service are often visualized as
a tree-like structure. The design of the Tree structure is very
important (root, branches, etc)
DSE
o=ist.syr.edu
referral

HTML version of Basic Foils prepared July 6 99

Foil 21 LDAP (7)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Syntax for making LDAP queries from a Web browser
  • ldap://hostname.domain:port/query
  • ldap://ldap.bigfoot.com/sn=markowski,c=US
    • sn - surname
    • cn - person's full name
    • o - name of an organization
    • ou -name of an organizational unit
    • l - represents a locality: city, department name
    • c - 2 letter country code
    • dc - domain component
Problem: the same query executed on different LDAP servers containing similar information can return very different results

HTML version of Basic Foils prepared July 6 99

Foil 22 LDAP (8)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Directory Tree - visualized as tree-like structure
  • (LDAP server can manage more than one directory tree)
Distinguished Name - uniquely identifies a directory entry:
  • comma separated "attributes" and "values"
  • uid=roman,ou=people,o=npac.syr.edu
Relative Distinguished Name - the left-most value
  • uid=roman
Suffix - identifies directory-tree's root entry
  • o=npac.syr.edu
Root Distinguished Name (treated as directory super-user)
  • cn=Directory Manager (default)
Root Entry - first entry in the directory tree
  • o=npac.syr.edu
Base DN - search point, entry from which search will occur

HTML version of Basic Foils prepared July 6 99

Foil 23 LDAP (9)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
LDAP is an Internet standard protocol for accessing and updating online directory information. Includes:
  • LDAP information model (defines kind of data)
  • LDAP naming model
  • LDAP functional model
  • LDAP security model
LDAP provides:
  • Access and Security (authorization and authentication info)
  • Network Resources (hosts, file servers, printers)
  • Currently supported services: NIS, NIS+, DNS

HTML version of Basic Foils prepared July 6 99

Foil 24 LDAP (10)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Schema: total set of "objectClasses" and "attributes". It is a framework for naming rules, structure rules, content rules, entry definitions
LDAP server comes with a standard schema of hundreds of object classes and attributes. Standard schema can be extended but not deleted. Object classes can use "inheritance" to define total list of attributes. Some attributes are required, other are optional

HTML version of Basic Foils prepared July 6 99

Foil 25 LDAP (11)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Security Policy
  • defines how and who can access and change data
  • users must "authenticate" when "binding" to the directory
    • password based authentication
    • certificate based authentication
  • anonymous access is possible
  • Access Control Lists: permissions (read, write, search, add, delete), filters, users, groups
  • LDAPS - SSL encrypted LDAP connections
LDAP v2 security using Kerberos version 4
LDAP v3 uses Simple Authentication and Security Layer (for Authentication, Integrity, Confidentiality)

HTML version of Basic Foils prepared July 6 99

Foil 26 LDAP (12)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Replication (for fault tolerance, load balancing)
  • supplier and consumer servers
  • cascading is possible; referrals are also possible
  • replication can be complete or partial (sub-tree)
  • synchronization of the directory database
How to create contents:
  • create flat, ascii LDIF file and import it, or
  • use directory gateway
LDAP client
  • directory server gateway (apache + cgi scripts, etc)
  • command line utilities: ldapsearch, ldapmodify, ldapdelete

HTML version of Basic Foils prepared July 6 99

Foil 27 LDAP (13)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
LDAP can be bound to several languages (Java, JavaScript, ODBC, VBasic)
Well-known open source projects (Apache, FreeBSD, Linux, Perl, Sendmail, TCL, Python) all work on LDAP interfaces
Netscape provides Software Developer Kits (SDKs) to help write clients and tools (Java, C)
Open LDAP project: fully featured, open source LDAP suite of application and development tools
Schema standardization is progressing
The standard (IETF LDAP) won't be stable until sometime in 2000
http://www.umich.edu/~dirsvcs/ldap/doc/guides/slapd/index.html

HTML version of Basic Foils prepared July 6 99

Foil 28 LDAP (14)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
LDAP servers available from
  • Netscape (Netscape Directory Server)
  • IBM (LDAP server for OS/390, DSS)
  • Novell (Novell Directory Server)
  • Microsoft (Windows NT 5.0 support, Active Directory)
  • JavaSoft (Java Naming and Directory Interface)
Communicator 4.x can make LDAP client queries
Some public LDAP Internet services
  • ldap://ldap.bigfoot.com
  • ldap://ldap.four11.com
  • ldap://ldap.whowhere.com
  • ldap://ldap.infoscape.com

HTML version of Basic Foils prepared July 6 99

Foil 29 JINI (1)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Simple, Object-oriented, Java-based, Network-centric service architecture
Pronounced "Gee-nee": set of services and protocols
Java's "write once, run everywhere" philosophy can be the way to simplify network design
A Jini-compliant device (disk tower) connects directly to an IP-based network
  • other nodes on the network will detect the device and will download the drivers required directly from the device
  • any computer with JVM can run the driver
Java language is assumed to be everywhere

HTML version of Basic Foils prepared July 6 99

Foil 30 JINI (2)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Today we have attach disks to a file server. We need "drivers" for all devices and all flavors of operating systems. Tomorrow (with Jini) we will plug the disks directly to the network
This will work with
  • hardware: disk dowers, cameras, printers, scanners
  • software services: email gateways, etc.
Both hardware and software are services
  • Everything is an object
  • Everything is accessed through an interface
Very general picture: in future digital TV, phone, computer, DVD player can (will) communicate via Jini

HTML version of Basic Foils prepared July 6 99

Foil 31 JINI (3)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Today's networks are too complex
Jini enables spontaneous networking
  • Plug in and join
  • Unplug and heal
Provide reliable networks
  • Individual services more reliable
  • System independence from any single point of failure
Designed for the network
  • Code and Data move, as appropriate
Above all, simplicity: use the network as easy as using a phone

HTML version of Basic Foils prepared July 6 99

Foil 32 JINI (4)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Defines object interactions, not implementations
Helps in developing reliable, distributed applications
Service is defined by one or more Interfaces
  • service has a front-end proxy object which implements Java interfaces
  • clients only know about Java interfaces
Set of services includes: devices, software services, business objects, etc
Jini requires Java at the network (services identified by Java type; proxies may need code downloaded)

HTML version of Basic Foils prepared July 6 99

Foil 33 JINI (5)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Jini network is built on top of Java software infrastructure; It enables all types of devices to work together without extensive planning or human intervention
Jini eliminates the need for configuring devices or installing drivers; Jini allows devices to dynamically establish communication across a network.
Everything from digital cameras, cellular phones PVs, VCRs, CD players to home appliances is capable of certain level of network intelligence

HTML version of Basic Foils prepared July 6 99

Foil 34 JINI Architecture (1)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Jini is a collection of services (hardware, software, or both)
When "a Service" connects to the network, it sends a small "hello" packets (512 bytes) to announce its existence
Jini "Lookup Service" notices this packet and query the service to discover it capabilities, and makes this info available for other devices on the network
Then the Service registers with the Lookup Service, it provides a proxy object
When a client wants to use a service (for example scanner) it asks the Lookup Service to provide info about available services (the Lookup service provides a copy of the proxy object. The client makes calls to the proxy object that arranges to do the work)

HTML version of Basic Foils prepared July 6 99

Foil 35 JINI Architecture (2)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
When the Lookup Service does not exist, the client broadcasts a request for services to register with it (the client can act like its own lookup service)
The "Lookup Service" is just another Jini service
Java's Remote Method Invocation is the heart of Jini. RMI provides communication and security for Jini clients and servers.
RMI extends objects to the network
The entire Jini core code is 48 KB. The Java Archive (JAR) with the whole version of Jini is under 70 KB

HTML version of Basic Foils prepared July 6 99

Foil 36 JINI Architecture (3)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
3 layer Jini architecture: simplicity of object-oriented design
Java Spaces
Other
Transaction
Manager
Lookup
Discovery
Join
JVM ( RMI Included)
Jini
Infrastructure
Java - allows
to share the core
Services

HTML version of Basic Foils prepared July 6 99

Foil 37 JINI Architecture (4)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Lookup Service
Discovery Request
Discovery Response
Service
Proxy
Object
Service registration
Jini Service
(scanner)
Service Registration

HTML version of Basic Foils prepared July 6 99

Foil 38 JINI Architecture (5)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Jini
Client
Lookup Service
Discovery Request
Discovery Response
Lookup Request
Service
Proxy
Object
Lookup Response
Service Lookup

HTML version of Basic Foils prepared July 6 99

Foil 39 JINI Architecture (6)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Jini Client
Jini Service
(scanner)
Service
Proxy
Object
Client / Service Interaction

HTML version of Basic Foils prepared July 6 99

Foil 40 JINI Federation

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Federation: Jini network, a group of cooperation objects
RMI extends objects to the platform
  • Allows moving code and data
  • Merges agent technology with traditional RPC
Federation through Discovery, Join, and Lookup
  • Provides the place for services to advertise
  • Provides the mechanism for finding that place
Leaving the Jini Federation
  • Services can cancel Lookup registration
  • A registration lease can run out
  • No administer is required

HTML version of Basic Foils prepared July 6 99

Foil 41 JINI Discovery and Lookup (1)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Discovery and Lookup is the key component of the Jini infrastructure
Network service
  • for finding other network services "workgroup"-scale, not the entire Internet
not a naming or directory service
  • X.500, LDAP, DNS, NDS, RMI registry
Focus is on types, not names
  • yellow pages, not white pages

HTML version of Basic Foils prepared July 6 99

Foil 42 JINI Discovery and Lookup (2)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
The new service connected to the network announces its presence by broadcasting 512-byte packet
The Lookup service answers by requesting more information (a proxy object) describing the service, and interface that clients will use to communicate with the service
The proxy object is valid for specified interval. When expires, it must be renewed or removed (this solves the problem of vanishing services)

HTML version of Basic Foils prepared July 6 99

Foil 43 JINI Discovery and Lookup (3)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Finding other network services (by service type or attributes)
  • each service registers with attributes which allow discrimination between services of the same type
  • generic attributes: name, location, manufacturer, model
  • printer: b/w or color, resolution (dpi), speed (ppm), paper size (letter, legal, envelope)
  • attributes:
    • can be defined by service itself or administrator
    • can have multiple values for some attributes
    • can have co-dependent values
Incremental browsing: by service type, by attribute set class, by attribute value

HTML version of Basic Foils prepared July 6 99

Foil 44 JINI Leasing

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
A client requests access to the service for a certain duration
Introduces time to resource allocation
  • Allocation requests for a duration
  • Grant duration <= request duration
Leases can be
  • renewed (granter choice)
  • cancelled (holder choice)
  • exclusive or nonexclusive - depending on the type of the service
Leases can expire - this solves the problem of sevrices become unavailable

HTML version of Basic Foils prepared July 6 99

Foil 45 JINI Packages

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Net.jini.admin administration services
net.jini.discovery handles discovery process
net.jini.entry common code for entries that Jini stores
net.jini.event handles remote events; event delivery over net
net.jini.lease manages leases
net.jini.lookup objects related to the lookup service
net.jini.lookup.entry objects and beans that represent service information
net.jini.transaction transaction support
net.jini.transaction.server managing transactions

HTML version of Basic Foils prepared July 6 99

Foil 46 JINI Glossary

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
RMI: core of Jini communication; object oriented RPC system; allows make Java objects available across a network
Discovery: the process a service uses to notify the Jini federation that it is available (followed by Join process)
Join: the process a service uses to inform Federation about itself
Federation: Jini network, a group of cooperation objects
Java Spaces: a standard service that provides one way to store objects; a network objects repository
Proxy Object: a remote Jini object. The Lookup service holds the local proxy object and provides it to clients
Transaction: a client attempt an operation on multiple objects (allows multi-object coordination)

HTML version of Basic Foils prepared July 6 99

Foil 47 JINI and other Lookup Technologies

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Jini software is an infrastructure that runs on top of a Java platform to create a federation of virtual machines
The lookup service in Jini is very powerful: it uses the Java platform type system as the namespace. This means that is stores not fixed name-value pairs, but objects and objects graphs (the actual behavior of an object)
You can search for an object or service based on a desired behavior, not just on its name; after finding it you immediately know how to use it
SLP - Service Location Protocol, mechanism for dynamically finding services on the network (lack of code mobility as in Jini)
IMS - Information Management Service, similar to Jini but limited to searching by name-value pairs only

HTML version of Basic Foils prepared July 6 99

Foil 48 JINI More Info

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
Jini requires JDK 1.2, known as Java 2
Jini software is just Java software code
Jini competitors: Microsoft Transaction Server
http://java.sun.com/products/jini/
  • home page, overview, FAQ
http://www.sun.com/jini/
http://java.sun.com/products/jini/specs/index.html
  • specification
http://java.sun.com/products/jdk/rmi/index.html
  • RMI

HTML version of Basic Foils prepared July 6 99

Foil 49 JNDI (1)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
JNDI stands for Java Naming and Directory Interface
Developed by JavaSoft, with SunSoft, IBM, HP, Netscape, Novell
JNDI is a generic directory API specified in the Java that provides directory and naming functionality to Java applications
  • defined to be independent of any specific directory service implementation
  • directories , new and existing ones can be accessed in a common way
  • various directory and naming service drivers can be plugged in
From a user's perspective, there is one namespace consisting of composite names. The organization can use LDAP, NDS, NIS, etc
Any Java application that needs to access information about users, machines, networks and services should use JNDI
Different directories have different ways of dealing with security. JNDI allows for applications to work with directory specific security systems

HTML version of Basic Foils prepared July 6 99

Foil 50 JNDI (2)

From Directory Services for the Internet CPS714 Computational Science Information Track -- June 7 99. *
Full HTML Index
JNDI provides an excellent object-oriented abstraction of directory and naming. Developers using JNDI can produce queries that use LDAP or other access protocols to retrieve results (JNDI SPI - Service Provider Interface)
Java Application
JNDI Implementation manager
LDAP
NDS
JNDI-RMI
LDAP
JNDI API
JNDI SPI

© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Tue Jul 6 1999