Monday, January 23, 2006

What is JNDI

JNDI (Java Naming and Directory Interface) provides a common interface that allows the user to access existing service like DNS, LDAP, RMI, CORBA. It provides an abstraction that hides the implementation details of various naming and directory services. The advantage is that multiple directory services can co-exist and interface with the same JNDI client.

Transactions

In the context of a distributed system, transactions have to be "ACID". ACID properties are defined as follows:

  • Atomicity - A transaction either commits or rollsback. If it commits, all the changes take effect. If a transaction rolls back, all changes are undone.
  • Consistency - A transaction always leads to the correct transformation of the system without endangering the integrity of the system
  • Isolation - Concurrent transactions are isolated from the changes made by other incomplete transactions
  • Durability - If a transaction commits, all the changes will be persisted and not undone. This means it will survive system failure.