JINI is a distributed system architecture developed by Sun Microsystems that allows devices to dynamically join and detach from a network without configuration. It provides code mobility, is protocol agnostic by using Java interfaces, and enables leasing for network robustness and self-healing. The JINI architecture consists of services that can be discovered by clients using a lookup service. Services register with the lookup service and clients use proxies returned by the lookup service to directly invoke methods on services.