Logical Application component is an encapsulation of application functionality that is independent of a particular implementation. As such, it is a replaceable part of a system. It encapsulates its contents and exposes its functionality through a set of interfaces. An application component performs one or more application functions. It may collaborate with other application components through the application interfaces of those components.