ArchitectureP6 Web Services Employs Web-based Technology The P6 Web Services platform employs Web-based technology to handle requests from external programs. External client programs use P6 Web Services by creating a request and sending it to the application server using the SOAP protocol which is essentially XML over HTTP. Having received the request, P6 EPPM invokes whatever business logic is required to service the request. The client application need not understand the semantics of this processing. Responses or requests from P6 EPPM simply follow the same path in reverse. Contract First Approach P6 Web Services uses a contract first approach in which WSDL files are used to describe itself to requesting applications. The WSDL uses the Document/Literal Wrapped style to describe the services and their operations. The Document/Literal Wrapped style indicates that Web services exchange messages as SOAP envelopes that contain a message body and an optional message header. The message body is comprised of an XML document that is constrained by a WSDL description of the web service. Furthermore, the message body contains an operation name that defines the outer wrapper element for both the request and response messages. The contract first approach is supported by a broad-based set of tools, promotes stability, and enables you to generate your own API. Protocols and Processing Modes P6 Web Services supports both asynchronous and synchronous processing of requests over either of the HTTP or HTTPS protocols. Your client program can use any combination of HTTP, HTTPS , asynchronous, or synchronous protocols and processing modes to invoke any of the operations. The current version uses WS-Security UsernameToken Profile to authenticate your client program's requests by default. You can also choose to configure P6 Web Services to use SAML tokens for authentication. Previous versions of P6 Web Services used HTTP cookies for authentication. Although the use of HTTP cookies is deprecated, support for HTTP Cookies has been maintained in the current version to avoid rendering code that you wrote against earlier versions incompatible with the current version. However, UsernameToken Profile is the preferred method of authentication. Additionally, P6 Web Services supports the use of clustering for load balancing. It uses MTOM attachments for import/export operations. |