![]() |
![]() |
![]() |
![]() |
![]() |
Figure 1 illustrates how the SALT gateway is used in the Oracle Tuxedo framework.SALT provides access to existing Tuxedo servers using a simplified HTTP format, following a principle more commonly known as REpresentational State Transfer (REST). In order to use REST, two new sections will need to be configured in SALTDEPLOY: HTTP/Network to specify the HTTP and/or HTTPS (SSL) port that the gateway will use to listen for REST requests, and HTTP/Services to specify which Tuxedo services are to be exposed and how; the combination of REST service name (arbitrary choice that will identify a REST servicein the calling URL) + HTTP method (GET/POST/DELETE/PUT) will map to the actual Tuxedo service so that CRUD principles can be expressed.
• A client program sends an HTTP message to GWWS. This message contains the verb (GET, POST, PUT or DELETE), headers (content-type, etc.) and URL.
• "GWWS uses the verb to determine what to do with data: for GET or DELETE, the query string is used to construct a request for the actual Tuxedo service, for POST or PUT, the post data is used.
• The URL part of the request is used to determine the service to be called: for example, a call such as 'POST http://host:1234/myService' results in GWWS assembling a request for the Tuxedo service mapped to by the 'myService' name in SALTDEPLOY (e.g., 'myService' with GET method may map to a Tuxedo service named BALANCE), converting the reply from FML32 to JSON (assuming service returns FML32) and sending it back to the caller.Figure 2 REST in GWWS ArchitectureRelease 10g R3 (10.3)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). SALT 10g Release 3 (10.3) introduces the following SCA features:
• 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 a SALT Application in the SALT Administration Guide.Release 11g R1 (11.1.1.1.0)For more information, see SALT SCA Programming in the SALT Programming guide.For more information see, Configuring WS_TX Support in the SALT Configuration guide and WS-TX Interoperability in SALT Interoperability.Release 11g R1 (11.1.1.2.0)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 SALT Deployment File Reference in the SALT Reference Guide.The wsdlcvt command is enhanced to connect to a SOCKS proxy server. For more information, see the SALT Command Reference in the SALT Reference Guide.Release 11g R1 (11.1.1.2.2)SALT 11g Release 11g R1 (11.1.1.2.2) introduces the following features:Release 12c R1 (12.1.1)SALT 12c Release 12c R1 (12.1.1) introduces the following features:SALT 12c provides an HTTP-based configuration tool to expose existing Oracle Tuxedo services as Web services without manually editing configuration files. It allows you to learn service definitions for existing Oracle Tuxedo services, edit service definitions in metadata repository, and create Web services definitions and SALTDEPLOY files through an easy to use graphical user interface.For more information, see Configuring Oracle Tuxedo Web Services/Configuring Security Features in the SALT Configuration Guide.For more information, see Data Type Mapping and Message Conversion in the SALT Programming Guide.
Note: Release 12c R2 (12.1.3)SALT 12c Release 2 (12.1.3) introduces the following features:For more information, see Enabling the SALT Configuration Tool, REpresentational State Transfer (REST) Option in the SALT Configuration Guide.For more information, see Enabling the SALT Configuration Tool, Custom HTTP Headers in the SALT Configuration Guide.For more information, see Configuring Oracle Tuxedo Web Services/Configuring Security Features in the SALT Configuration Guide.For more information, see XML-to-Tuxedo Data Type Mapping for External Web Services in Data Type Mapping and Message Conversion Services of the SALT Programming Guide.For more information, see Enabling the SALT Configuration Tool, MIB Class Interface in the SALT Configuration Guide.Enhanced usability is provided by using an attribute field within a complexType element in a WSDL for accessing external Web services. complexType attribute fields are mapped “one-by-one” to corresponding FML32 fields.Release 12c R2 (12.2.2)SALT 12c Release 2 (12.2.2) introduces the following features:This feature enables use application specific headers in SOAP messages when accessing Tuxedo services using SOAP/http. This feature leverages the existing tpsetcallinfo() and tpgetcallinfo() APIs to place/retrieve data into/from the SOAP header for inbound/outbound directions.For more information, see tpsetcallinfo(), tpgetcallinfo(), Enabling the SALT Configuration Tool, Custom SOAP Headers in the SALT Configuration Guide.RECORD buffer type is now supported in SALT. RECORD buffer type is a flexible way to correctly and completely represent COBOL copybook records.RECORD buffers are used in SALT to expose mainframe transactions and ART Transactions as Web services and to access Web services from these transactions.For more information, see Using Oracle Tuxedo Service Metadata Repository for SALT, and Tuxedo-to-XML Data Type Mapping for Oracle Tuxedo Services.SALT includes tools, such as wscobolcvt, which allow to import COBOL copybook and create metadata repository artifacts, WSDL and other required configuration to expose mainframe transactions as Web services. Similarly, tools allow import of a WSDL for external Web service and create required artifacts for mainframe transactions to access external Web services.For more information see, wscobolcvt, SALT Mainframe Transaction Publisher, and XML-to-Tuxedo Data Type Mapping for External Web Services.
• For more information see Configuring Oracle Tuxedo Web Services, Configuring Security 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. 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 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).Figure 3 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 4 illustrates a generic outbound Web service call.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 5 illustrates how to use SALT to connect two domains.Two GWWS servers should not be used to create connections within the same Oracle Tuxedo domain, see Figure 6. Also, a single GWWS server cannot connect to itself, see Figure 7.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.The Web Service client user agent, usually a web browser, attaches a Security token with valid SAML assertions to a SOAP message using WSS: SOAP Message Security by placing assertion elements inside a <wsse:Security> header and sending the request to GWWSas shown in Figure 8Figure 8 SAML Single Sign-On
3.
5.
•
•
•
•
•
• http://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.pdf
•
•
•