The examples in the subsequent sections illustrate the
following aspects of PHP for SCA:
-
How PHP annotations are used to define PHP classes as SCA
components, and how annotations are used to define the
services.
-
How an SCA component can be exposed as a Web service
-
How an SCA component can consume a Web service, whether
provided by another SCA component or by some other service which
knows nothing of SCA
-
How an SCA component can call another SCA component locally
(within the same process and on the same call stack)
-
How a client script which is not an SCA component can use the
getService call to obtain a proxy for an SCA component.
-
How data structures such as Addresses, or Puchase Orders,
are represented as Service Data Objects, and handled.
-
How SCA components are deployed, and in particular how and
when WSDL is generated for a service.
-
How parameters are always passed by value (and not by
reference) between components, even when the calls are local.
This ensures that the semantics of a call do not change depending on
the location of a component.
-
How positional parameters to a service are supported, even
when the underlying WSDL is document literal wrapped, and
naturally supports only named parameters.
-
How business and runtime exceptions are handled.