Can be thought of allowing any application in the enterprise access to business logic that exists anywhere else in the enterprise. Generally this takes the form of some sort of distributed object based system. For example a Java EJB, which controls user access levels, may be used by a variety of applications within an enterprise.