Default Engine Usage

The default engine implementation delegates all requests to the user defined class defined within the application deployment which contains the application definition implemented by the engine.

Note that this engine type exposes the 'raw' middleware API which may be appropriate for applications which expose one or two interfaces and which define a limited number of partners. It can also be used for testing extension implementations which require a 'mocked' engine. For more complex interactions, we recommend using an alternative engine type.

This page is intended to be used as a reference. For more information regarding how engine components are declared and used, please see the the user guide.

Example

<deployment xmlns="http://bluestemsoftware.org/specification/eoa/1.0/deployment">
  <components>
    <wsdl:description xmlns:wsdl="http://www.w3.org/ns/wsdl" targetNamespace="http://com.mycompany/eoa/1.0" xmlns:tns="http://com.mycompany/eoa/1.0">
      <wsdl:binding name="myEngine1SOAP11Binding" type="http://www.w3.org/ns/wsdl/soap" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" wsoap:version="1.1" wsoap:protocol="http://www.w3.org/2006/01/soap11/bindings/HTTP" />
      <wsdl:binding name="myEngine1SOAP12Binding" type="http://www.w3.org/ns/wsdl/soap" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" wsoap:version="1.2" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/" />
      <wsdl:service name="myEngine1Service" interface="tns:myInterface">
        <wsdl:endpoint name="myEndpoint1" binding="tns:myEngine1SOAP11Binding" address="http://localhost:8081/eoa/ws/myEngine1/myEngine1Service/myEndpoint1/">
          <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
            <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
              <wsp:Policy>
                <wsam:NonAnonymousResponses />
              </wsp:Policy>
            </wsam:Addressing>
          </wsp:Policy>
        </wsdl:endpoint>
        <wsdl:endpoint name="myEndpoint2" binding="tns:myEngine1SOAP12Binding" address="http://localhost:8081/eoa/ws/myEngine1/myEngine1Service/myEndpoint2/" xmlns:whtp="http://www.w3.org/ns/wsdl/http" whtp:authenticationScheme="digest" whtp:authenticationRealm="foo">
          <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
            <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
              <wsp:Policy>
                <wsam:NonAnonymousResponses />
              </wsp:Policy>
            </wsam:Addressing>
          </wsp:Policy>
        </wsdl:endpoint>
      </wsdl:service>
      <ext:engine xmlns:ext="http://bluestemsoftware.org/specification/eoa/1.0/component/wsdl/ext" name="myEngine1" application="tns:myApplication">
        <ext:actor role="http://some/role" service="tns:myEngine1Service" />
      </ext:engine>
    </wsdl:description>
  </components>
  <providers>
    <engine xmlns="http://bluestemsoftware.org/specification/eoa/ext/engine/default/1.0" xmlns:tns="http://com.mycompany/eoa/1.0" name="tns:myEngine1">
      <partners>
        <engineReference engineName="tns:myEngine1">
          <serviceReference serviceName="tns:myEngine1Service">
            <endpointReference endpointName="myEndpoint1">
              <!-- configures servlet for inbound requests. credentials retrieved from credential store -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="myhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>basic</dns:scheme>
                  <dns:realm>foo</dns:realm>
                </dns:authInfo>
              </wsp:Policy>
              <!-- configures clients for aysnc responses. passwords retrieved from credential store -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="localhost" port="8082" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>basic</dns:scheme>
                  <dns:realm>bar</dns:realm>
                  <dns:user>engine1</dns:user>
                </dns:authInfo>
                <dns:authInfo host="localhost" port="8083" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>basic</dns:scheme>
                  <dns:realm>baz</dns:realm>
                  <dns:user>engine1</dns:user>
                </dns:authInfo>
                <!-- note that the following is the default configuration and is included only for testing purposes -->
                <dns:authInfo host="localhost" port="8084" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:none />
                </dns:authInfo>
              </wsp:Policy>
            </endpointReference>
            <endpointReference endpointName="myEndpoint2">
              <!-- 
                whttp attributes defined on referenced endpoint configure servlet which handles
                inbound requests, i.e. 'digest' and 'foo'. credentials retrieved from credential
                store
              -->
              <!-- configures clients for aysnc responses. passwords retrieved from credential store -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="localhost" port="8082" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>digest</dns:scheme>
                  <dns:realm>bar</dns:realm>
                  <dns:user>engine1</dns:user>
                </dns:authInfo>
                <dns:authInfo host="localhost" port="8083" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>digest</dns:scheme>
                  <dns:realm>baz</dns:realm>
                  <dns:user>engine1</dns:user>
                </dns:authInfo>
                <!-- note that the following is the default configuration and is included only for testing purposes -->
                <dns:authInfo host="localhost" port="8084" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:none />
                </dns:authInfo>
              </wsp:Policy>
            </endpointReference>
          </serviceReference>
        </engineReference>
        <engineReference engineName="tns:myEngine2">
          <serviceReference serviceName="tns:myEngine2Service">
            <endpointReference endpointName="myEndpoint1">
              <!-- configures client for outbound requests. password retrieved from credential store -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="localhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>basic</dns:scheme>
                  <dns:realm>bar</dns:realm>
                  <dns:user>engine1</dns:user>
                </dns:authInfo>
              </wsp:Policy>
              <!-- configures servlet for async responses. credentials retrieved from credential store -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="myhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>basic</dns:scheme>
                  <dns:realm>foo</dns:realm>
                </dns:authInfo>
              </wsp:Policy>
              <!-- overrides port on default wsa:ReplyTo address generated by ws-addressing feature -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                  <wsp:Policy xmlns:wsaf="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/addressing/policy/1.0">
                    <wsam:NonAnonymousResponses wsaf:replyTo="http://localhost:8081/eoa/ws/myEngine1/myEngine2/myEngine2Service/myEndpoint1/" />
                  </wsp:Policy>
                </wsam:Addressing>
              </wsp:Policy>
            </endpointReference>
            <endpointReference endpointName="myEndpoint2">
              <!-- 
                supplements whttp attributes defined on referenced endpoint which configure client
                which handles outbound requests, i.e. 'digest' and 'bar'. password retrieved from
                credential store
              -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="localhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:user>engine1</dns:user>
                </dns:authInfo>
              </wsp:Policy>
              <!-- configures servlet for async responses. credentials retrieved from credential store -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="myhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>digest</dns:scheme>
                  <dns:realm>foo</dns:realm>
                </dns:authInfo>
              </wsp:Policy>
              <!-- overrides port on default wsa:ReplyTo address generated by ws-addressing feature -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                  <wsp:Policy xmlns:wsaf="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/addressing/policy/1.0">
                    <wsam:NonAnonymousResponses wsaf:replyTo="http://localhost:8081/eoa/ws/myEngine1/myEngine2/myEngine2Service/myEndpoint2/" />
                  </wsp:Policy>
                </wsam:Addressing>
              </wsp:Policy>
            </endpointReference>
          </serviceReference>
        </engineReference>
        <engineReference engineName="tns:myEngine3">
          <serviceReference serviceName="tns:myEngine3Service">
            <endpointReference endpointName="myEndpoint1">
              <!-- configures client for outbound requests. password retrieved from credential store -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="localhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>basic</dns:scheme>
                  <dns:realm>baz</dns:realm>
                  <dns:user>engine1</dns:user>
                </dns:authInfo>
              </wsp:Policy>
              <!-- configures servlet for async responses. credentials retrieved from credential store -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="myhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>basic</dns:scheme>
                  <dns:realm>foo</dns:realm>
                </dns:authInfo>
              </wsp:Policy>
              <!-- overrides port on default wsa:ReplyTo address generated by ws-addressing feature -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                  <wsp:Policy xmlns:wsaf="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/addressing/policy/1.0">
                    <wsam:NonAnonymousResponses wsaf:replyTo="http://localhost:8081/eoa/ws/myEngine1/myEngine3/myEngine3Service/myEndpoint1/" />
                  </wsp:Policy>
                </wsam:Addressing>
              </wsp:Policy>
            </endpointReference>
            <endpointReference endpointName="myEndpoint2">
              <!-- 
                supplements whttp attributes defined on referenced endpoint which configure client
                which handles outbound requests, i.e. 'digest' and 'baz'. password retrieved from
                credential store
              -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="localhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:user>engine1</dns:user>
                </dns:authInfo>
              </wsp:Policy>
              <!-- configures servlet for async responses. credentials retrieved from credential store -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="myhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>digest</dns:scheme>
                  <dns:realm>foo</dns:realm>
                </dns:authInfo>
              </wsp:Policy>
              <!-- overrides port on default wsa:ReplyTo address generated by ws-addressing feature -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                  <wsp:Policy xmlns:wsaf="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/addressing/policy/1.0">
                    <wsam:NonAnonymousResponses wsaf:replyTo="http://localhost:8081/eoa/ws/myEngine1/myEngine3/myEngine3Service/myEndpoint2/" />
                  </wsp:Policy>
                </wsam:Addressing>
              </wsp:Policy>
            </endpointReference>
          </serviceReference>
        </engineReference>
        <engineReference engineName="tns:myEngine4">
          <serviceReference serviceName="tns:myEngine4Service">
            <endpointReference endpointName="myEndpoint1">
              <!-- configures client for outbound requests. password retrieved from credential store -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="localhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:none />
                </dns:authInfo>
              </wsp:Policy>
              <!-- configures servlet for async responses. credentials retrieved from credential store -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="myhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>basic</dns:scheme>
                  <dns:realm>foo</dns:realm>
                </dns:authInfo>
              </wsp:Policy>
              <!-- overrides port on default wsa:ReplyTo address generated by ws-addressing feature -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                  <wsp:Policy xmlns:wsaf="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/addressing/policy/1.0">
                    <wsam:NonAnonymousResponses wsaf:replyTo="http://localhost:8081/eoa/ws/myEngine1/myEngine4/myEngine4Service/myEndpoint1/" />
                  </wsp:Policy>
                </wsam:Addressing>
              </wsp:Policy>
            </endpointReference>
            <endpointReference endpointName="myEndpoint2">
              <!-- 
                no whttp attributes defined on referenced endpoint. the following assertion is
                therefore required to enable outbound transport. no authentication required.
              -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="localhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:none />
                </dns:authInfo>
              </wsp:Policy>
              <!-- configures servlet for async responses. credentials retrieved from credential store -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <dns:authInfo host="myhost" xmlns:dns="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/transport/http/policy/1.0">
                  <dns:scheme>digest</dns:scheme>
                  <dns:realm>foo</dns:realm>
                </dns:authInfo>
              </wsp:Policy>
              <!-- overrides port on default wsa:ReplyTo address generated by ws-addressing feature -->
              <wsp:Policy xmlns:wsp="http://www.w3.org/ns/ws-policy">
                <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
                  <wsp:Policy xmlns:wsaf="http://bluestemsoftware.org/specification/eoa/ext/feature/ws/addressing/policy/1.0">
                    <wsam:NonAnonymousResponses wsaf:replyTo="http://localhost:8081/eoa/ws/myEngine1/myEngine4/myEngine4Service/myEndpoint2/" />
                  </wsp:Policy>
                </wsam:Addressing>
              </wsp:Policy>
            </endpointReference>
          </serviceReference>
        </engineReference>
      </partners>
    </engine>
  </providers>
</deployment>