jini (aka Apache River) is a SOA programming model that extends Java to create secure distributed systems consisting of clients and services. It allows for advanced distributed operations such as dynamic discovery, mobile code, and service groups (called federations).