Web services networks are rapidly evolving technology architectures allowing applications to tap into a variety of services in an extremely efficient and cost effective manner. Web services enable cost-effective and efficient collaboration among entities within an enterprise or across enterprises. Web or application services are network addressable computing resources that exchange data and execute processes. Essentially, Web services are applications exposed as services over a computer network and employed by other applications using Internet standard technologies, such as XML, SOAP, WSDL, etc. Accordingly, Web applications can be quickly and efficiently assembled with services available within an enterprise LAN or external services available over open computer networks, such as the Internet.
A Web services network can be deployed across an enterprise LAN or across a Wide Area Network, such as the Internet. A typical Web services network includes at least one network services broker that is operative to receive a service request and route the service request to the appropriate resource. A broker is a specially configured server or cluster of servers acting as an intermediary for Web service requests and responses. As Web services network usage increases, however, the broker can become a bottleneck. To ease this bottleneck, the prior art solution is simply to add additional processing power to the broker (e.g., additional servers), which is costly, inefficient, and fails to leverage the enterprise's investments in its existing network infrastructure. Moreover, the centralized nature of the broker creates reliability concerns in that failure of the broker disables the applications accessing services through it. Accordingly, U.S. application Ser. No. 09/990,722 discloses a distributed Web services network architecture that, among other things, alleviates the bottleneck and point-of-failure concerns discussed above.
Administration of Web services networks often requires the logging and analysis of vast amounts of data relating both to the service endpoints, as well as the health and status of the Web services network itself. For example, Web services often involve Service Level Agreements that specify a required level of service, sometimes expressed relative to certain performance metrics, such as downtime, uptime, latency, failure rates, and the like. SLA compliance monitoring, therefore, involves maintaining a vast array of data, often collected by a large number of control points implementing Web services network functionality. SLA compliance data, however, is just one of a variety of information relating to Web services networks, where it is desirable to log and analyze the data, such as data relating to the operation and health of the Web services network itself.
In addition, often for reporting and analysis purposes, the messages associated with a web service invocation are logged and stored in their entirety. Accordingly, as one can imagine, a vast amount of data is created by these informational requirements. While certain analysis tasks however may require examination of entire messages, other analysis tasks may only require examination of certain elements of messages, such as request and response headers. Still further, a particular analysis task may require examination of requests in their entirety, but only the headers associated with the resulting responses. Still further, these informational requirements may change depending on the Web- or application-service being invoked, and even the specific operations associated with the Web- or application-service. For example, data relating to certain message types in a web service invocation may be of interest, while other message types may not be of interest. Prior art data logging technologies, however, do not allow for such granular control over what log information is extracted and stored during operation of the web services network infrastructure. This circumstance often results in the storage of large amounts of data that is ultimately never used. While this does not seem to be a pressing problem in smaller networks, large network environments produce vast amounts of information, increasing the cost and complexity of storing and analyzing the resulting log data.
In light of the foregoing, a need in the art exists for methods, apparatuses and systems that enables granular control of logging policy to enhance the efficiency of data logging in computer network environments. Embodiments of the present invention substantially fulfill this need.