An enterprise component-based software development system includes a
component platform with a number of development tools and services that
enable rapid and straightforward development of component-based systems.
The component platform describes a middle tier architecture for a
multi-tier, multi-user application. It defines the services and
facilities as well as the structure in which components can execute. It
helps to provide an extensible platform for the construction, management
and execution of component-based software. A messaging platform
facilitates communication between different computers. When a component
requests a service from another component, the request is serialized and
encoded into a platform-independent language such as XML. The XML-encoded
message is transmitted over the Internet using an HTTP protocol to a
receiving computer, which validates the message and delivers it to the
component providing the requested service. Since XML is a platform and
architecture independent language, requests processed in this way can be
used by a wide variety of disparate systems.