Figure 1 illustrates how the Oracle SALT gateway is used in the Oracle Tuxedo framework.Figure 2 describes an application based on SCA assembly and programming model. The application contains many services, offered by SCA components. These components include components hosted in an SCA container as well as existing components accessed from SCA components.Figure 2 SCA ApplicationOracle SALT provides an HTTP server plug-in (mod_tuxedo for Apache/Oracle HTTP Server and tux_nsapi for iPlanet) that forwards HTTP requests to Tuxedo services. Replies from Oracle Tuxedo services are then sent back to HTTP clients such as web browsers by the same plug-in.In addition, Oracle SALT provides a System Server (WEBHNDLR) that is capable of running PHP, Python and Ruby web applications, such as Symfony (PHP), Django (Python) and Rails (Ruby).Figure 3 shows a high-level view of the Oracle SALT Web application server architecture.Release 10g R3 (10.3)Oracle SALT 10g Release 3 (10.3) introduced the following features:SCA provides a new programming model that aims at simplifying component re-use and seamless communications between components. The SALT 10g Release 3 (10.3) SCA container enables new programming model and leverages the most valued Oracle Tuxedo features (such as reliability, availability, scalability, and performance). Oracle SALT 10g Release 3 (10.3) introduces the following SCA features:
• Development and runtime tools: Commands to build and deploy SCA clients and servers as well as commands for runtime administration. For more information, see the SALT 10g Release 3 (10.3) Command Reference Guide.Automatically discover service contract information at run time. The generated information can be put into metadata repository automatically or to a file which can then be loaded manually into the metadata repository using the tmloadrepos utility. For more information, see Configuring an Oracle SALT Application in the Oracle Salt Administration Guide.Release 11g R1 (11.1.1.1.0)For more information, see Oracle SALT SCA Programming in the Oracle SALT Programming guide.For more information, see Oracle SALT SCA Programming in the Oracle SALT Programming guide.Release 11g R1 (11.1.1.2.0)Oracle SALT 11g Release 11g R1 (11.1.1.2.0) introduced the following features:Inbound support is not be necessary as SOCKS proxies incoming connections without listening endpoints being aware of it. For more information, see the Oracle SALT Deployment File Reference in the Oracle SALT Reference Guide.The wsdlcvt command is enhanced to connect to a SOCKS proxy server. For more information, see the Oracle SALT Command Reference in the Oracle Salt Reference Guide.Release 11g R1 (11.1.1.2.2)Oracle SALT 11g Release 11g R1 (11.1.1.2.2) introduces the following features:The Web Services Description Language (WSDL) is an XML-based specification that describes a Web service. A WSDL document describes Web service operations, input and output parameters, and how a client application connects to the Web service. Oracle SALT provides two utilities (tmwsdlgen and wsdlcvt) to map Oracle Tuxedo applications and Web Service WSDL descriptions.To support external Web Service applications, external WSDL documents need to be converted. The Oracle SALT conversion utility, wsdlcvt, converts external WSDL documents to Oracle Tuxedo specific definition files (SALT Web Service Definition file, Oracle Tuxedo Service Metadata Repository Definition file and FML32 Field Table Definition file).Oracle SALT dynamic languages system server (WEBHNDLR), takes requests sent by the Web server plug-in (mod_tuxedo or tux_nsapi) and processes them using PHP, Python or Ruby Web applications (no Oracle Tuxedo-specific API required).
• mod_tuxedo: this module forwards requests from Apache or Oracle HTTP Server to Tuxedo.
• tux_nsapi: this NSAPI plug-in forwards requests from iPlanet Web Server to Oracle Tuxedo.Figure 4 illustrates a generic inbound Web service call.Web service applications can be imported into an Oracle Tuxedo domain, advertised as Oracle Tuxedo services through the GWWS server, and invoked from Oracle Tuxedo applications. SALT converts and maps each wsdl:operation as a particular Oracle Tuxedo service. The GWWS server advertises the mapped services (called SALT proxy services), and accepts Oracle Tuxedo ATMI requests from Oracle Tuxedo applications.Figure 5 illustrates a generic outbound Web service call.Oracle SALT also allows you to connect two different Oracle Tuxedo domains using GWWS servers as an alternative to using /T domain. The GWWS server in the calling domain works in an outbound direction, the GWWS server in the receiving domain works in an inbound direction.
Note: This should be set up manually. The Oracle Tuxedo Service Metadata Repository infrastructure does not currently provide automatic propagation between Oracle Tuxedo domains.Figure 6 illustrates how to use Oracle SALT to connect two domains.Two GWWS servers should not be used to create connections within the same Oracle Tuxedo domain, see Figure 7. Also, a single GWWS server cannot connect to itself, see Figure 8.In either scenario, the GWWS server advertises the same Oracle Tuxedo services which are already advertised by other application servers. This might result in dead-loop service dispatching.Oracle SALT provides an infrastructure that allows developing components that conform to the Services Component Architecture (SCA) specification. These components may interact natively, or leverage the performance and high-availability of the Oracle Tuxedo framework, by communicating using a native ATMI binding, a WorkStation protocol based binding, or a Web-Services binding as shown in Figure 9.Figure 9 SCA to SCA CommunicationNewly developed SCA components can interact with existing Oracle Tuxedo ATMI services by using the ATMI binding, as shown in Figure 10.Conversely, existing Oracle Tuxedo clients can interact with newly-developed SCA components by being exposed with the ATMI binding, as shown in Figure 11.
3.
5.
•
•
•
•
•
• For more information, see:
http://specs.xmlsoap.org/ws/2004/09/policy/ws-policy.pdf
http://specs.xmlsoap.org/ws/2004/09/policy/ws-policyattachment.pdfFor more information, see:
http://specs.xmlsoap.org/ws/2005/02/rm/ws-reliablemessaging.pdf http://specs.xmlsoap.org/ws/2005/02/rm/WS-RMPolicy.pdfhttp://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0.pdf
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0.pdfhttp://www.oasis-open.org/committees/download.php/16790/wss-v1.1-spec-os-SOAPMessageSecurity.pdf
http://www.oasis-open.org/committees/download.php/16782/wss-v1.1-spec-os-UsernameTokenProfile.pdf
http://www.oasis-open.org/committees/download.php/16785/wss-v1.1-spec-os-x509TokenProfile.pdfFor more information, see:
http://www.osoa.org/download/attachments/35/SCA_ClientAndImplementationModelforCpp_V0.95.pdf?version=1For more information, see:
http://www.osoa.org/download/attachments/35/SCA_AssemblyModel_V096.pdf?version=1For more information, see:
http://www.osoa.org/download/attachments/35/SCA_TransactionPolicy_V1.0.pdf?version=1For an explanation of how to install the product, refer to the Oracle SALT Installation GuideFor an explanation of how to configure and administer the product, refer to the Oracle SALT Administration GuideFor an explanation of how to program with SALT, refer to the Oracle SALT Programming Guide