Table of Contents Previous Next


Table of Contents

Administering Oracle Tuxedo SCA Components
Oracle Tuxedo SCA Deployment Model
SCA Composite Configuration File
Listing 1‑1 Root Composite with Two Components
Listing 1‑2 SCA Composite Directory Hierarchy
Listing 1‑3 Directory Structure
SCA Component Configuration File
Listing 1‑4 ECHO.composite
Listing 1‑5 ECHOImpl.componentType
Listing 1‑6 UBBCONFIG File Example
Listing 1‑7 TOUPPER.composite file Example
Configuring Oracle Tuxedo SCA Components
Configuring an SCA ATMI Client
Listing 1‑8 Client Application Root Composite File
Listing 1‑9 Client Application Composite File
Configuring an SCA JATMI Client
Listing 1‑10 SCA JATMI Client Composite File Example
Configuring an SCA Workstation Client
Listing 1‑11 $APPDIR/root.composite
Listing 1‑12 $APPDIR/ECHO/ECHO.composite
Configuring an SCA Web Service Client
Listing 1‑13 $APPDIR/root.composite
Listing 1‑14 $APPDIR/calcClient/calcClient.composite
Listing 1‑15 GWWS Configuration File
Configuring an SCA ATMI Server
Listing 1‑16 $APPDIR/root.composite
Listing 1‑17 $APPDIR/Purchase.component/Purchase.composite
Listing 1‑18 $APPDIR/Purchase.component/PurchaseImpl.componentType
Configuring an SCA Web Service Server
Listing 1‑19 $APPDIR/root.composite
Listing 1‑20 $APPDIR/account/account.composite
Listing 1‑21 $APPDIR/account/AccountServiceImpl.componentType
Listing 1‑22 gwws.dep File
Configuring SCA Client Security
Oracle Tuxedo Application Domain Security
Listing 1‑23 $APPDIR/password.store $APPDIR/simple.app.composite
Listing 1‑24 $APPDIR/simpapp.client/simpapp.client.composite
Oracle Tuxedo Link-Level Security
Configuring Link-Level Encryption
Configuring Transport Layer Security
Listing 1‑25 Client Composite File
Administering Oracle Tuxedo SCA Components
Tracing the SCA ATMI Server and Client
Oracle Tuxedo TMTRACE
SCA Runtime, ATMI Service, and Reference Binding Tracing
Listing 1‑26 SCA Runtime Tracing Information ULOG File
Monitoring SCA ATMI Servers
Tracing SCA JATMI Clients
Listing 1‑27 Log File Contents
Oracle Tuxedo SCA Programming
Overview
SCA Utilities
SCA Client Programming
SCA Client Programming Steps
Setting Up the Client Directory Structure
Listing 2‑1 SCA Component Directory Structure
Listing 2‑2 root.composite Content
Developing the Client Application
Listing 2‑3 Interface Example
Listing 2‑4 Invocation Call Example
Notes: The invocation itself is equivalent to making a local call (as if the class were in another file linked in the program itself).
Composing the SCDL Descriptor
Listing 2‑5 SCDL Descriptor
Building the Client Application
Running the Client Application
Invoking Existing Oracle Tuxedo Services
Listing 2‑6 SCA Components Calling an Existing Oracle Tuxedo Service
Listing 2‑7 Generated Header
Listing 2‑8 Generated SCDL Reference
Handling TPFAIL Data
Listing 2‑9 Invocation Interruption Example
Listing 2‑10 /binding.atmi Definition
Listing 2‑11 SCDL Invocation Example
Listing 2‑12 ATMIBindingException.getData() Results
SCA Component Programming
Figure 2‑1 SCA Component and Oracle Tuxedo Server Mapping Rules
Figure 2‑1 SCA Component and Oracle Tuxedo Server Mapping Rules
SCA Component Programming Steps
Setting Up the Component Directory
Listing 2‑13 SCA Component Directory Structure
Listing 2‑14 root.composite Content
Developing the Component Implementation
Listing 2‑15 Component Implementation Interface
Listing 2‑16 Example (TuxServiceImpl.h):
Listing 2‑17 Example (TuxServiceImpl.cpp):
Listing 2‑18 componentType File Example
Composing the SCDL Descriptor
Listing 2‑19 Example SCDL Descriptor
Compiling and Linking the Components
Building the Oracle Tuxedo Server Host
SCA Python, Ruby, and PHP Programming
Prerequisites
SCA Python, Ruby, and PHP Programming Overview
Figure 2‑2 SALT SCA Python, Ruby, and PHP Programming Support Architecture
Python, Ruby, and PHP Client Programming
SCDL Clients
Python Clients
Ruby Clients
PHP Clients
Python, Ruby, and PHP Component Programming
SCDL Components
Listing 2‑20 Python Component in an SCA Composite
Listing 2‑21 PHP Component in an SCA Composite
Python Components
Listing 2‑22 Python Module File
Ruby Components
Listing 2‑23 Ruby Script File
PHP Components
Listing 2‑24 PHP Class
SCA Structure Support
SCA Structure Support Overview
SCA Structure Limitations
Using SCA Structure Description Files
Listing 2‑25 SCA Structure Description File
Listing 2‑26 Binary Structure Header File
Notes: scastructc32 and scastructc generate a binary file with suffix .V on Unix and suffix .VV on Windows.
Using tuxscagen to Generate Structures
SCA Remote Protocol Support
/WS
/Domains
SCA Binding
ATMI Binding
Listing 2‑27 ATMI Binding Pseudoschema
Java ATMI (JATMI) Binding
Listing 2‑28 ECHO Composite File
Listing 2‑29 ECHO Interface
Listing 2‑30 SCA Client Implementation
Python, Ruby, and PHP Binding
Python, Ruby, and PHP Binding Limitations
Web Services Binding
Listing 2‑31 Example SCA Component Service Exposed as a Web Service
Listing 2‑32 WSDF Entry
Listing 2‑33 Example Reference Accessing a Web Service
SCA Data Type Mapping
Listing 2‑34 C++ Interface Example
Listing 2‑34 C++ Interface Example
Run-Time Data Type Mapping
Simple Oracle Tuxedo Buffer Data Mapping
Multibyte String Data Mapping
a. Locale associated with the FLD_MBSTRING field, if present.
b. Locale associated with the MBSTRING or FML32 buffer.
c. Locale set in the environment of the SCA client or server.
Complex Return Type Mapping
Complex Oracle Tuxedo Buffer Data Mapping
Listing 2‑35 Interface Example
Listing 2‑35 Interface Example
SDO Mapping
Listing 2‑36 Schema
SCA Utility Data Type Mapping
C++ Parameter/Return Type and Oracle Tuxedo Buffer Type Mapping
C++ Parameter Type and Oracle Tuxedo Parameter Type Mapping
C++ Parameter Type and Oracle Tuxedo Complex Type Mapping
SDO Mapping
Listing 2‑37 XML Schema
Listing 2‑38 Binding
C Struct Mapping
Listing 2‑39 C Struct
Parameter and Return Types to Parameter-Level Keyword Restrictions
Python, Ruby, and PHP Data Type Mapping
Python Data Type Mapping
Notes: int (short), long, int (long), float (float) are allowed in the C++ to Python direction only. The Python runtime catches any overflow situation (e.g.: when copying a C++ long into a Python int).
Notes: int (short), long, int (long), float (float) are allowed in the C++ to Python direction only. The Python runtime catches any overflow situation (e.g.: when copying a C++ long into a Python int).
Python Parameters
Dictionaries
Listing 2‑40 Oracle Tuxedo Service Metadata Repository Entry for Python
Ruby Data Type Mapping
Notes: Ruby runtime may catch an overflow exception.
Notes: Ruby runtime may catch an overflow exception.
Ruby Parameters
Listing 2‑41 Oracle Tuxedo Service Metadata Repository Entry for Ruby
Notes: Using this notation is limited to local calls (no binding), or with using the ATMI binding between SCA components (that is, the <binding.atmi> element with no requires="legacy" attribute).
Hash
PHP Data Type Mapping
List of Parameters
Named Parameters
SCA Structure Data Type Mapping
SCA Structure and FML32 or FML Mapping
FML Field Naming Requirements
Long Element Truncation
SCA Structure and VIEW32, VIEW, X_OCTET, or X_C_TYPE Mapping
SCA Structure and Mbstring Mapping
TPFAIL Return Data
Listing 2‑42 <tuxsca.h> SCA Structure and Typedef Definition
Listing 2‑43 TPFAIL Example
SCA and Oracle Tuxedo Interoperability
SCA Transactions
SCA Security
Web Application Server Programming
Overview
Developing Native Oracle Tuxedo Web Applications
Developing Python Web Applications
Prerequisites
Usage
Example(s)
Stand-Alone Script/Application
Django-Based Application
Developing Ruby Web Applications
Prerequisites
Usage
Example(s)
Developing PHP Web Applications
Prerequisites
Usage
Example(s)
See Also
SCA Command Reference
buildscaclient
Name
Synopsis
Description
Parameters and Options
-c defaultcomponent
[-v]
[-k]
[-o name]
[-s scaroot]
[-f firstfiles]
[-l lastfiles]
[-S structurefiles]
Environment Variables
TUXDIR
CC
CFLAGS
CPPFLAGS
LD_LIBRARY_PATH (UNIX systems)
LIB (Windows systems)
Portability
Example(s)
See Also
buildscacomponent
Name
Synopsis
Description
Parameters and Options
[-v]
[-s scaroot]
[-f firstfiles]
[-l lastfiles]
-c {composite[,composite]|composite/component}
[-y]
[-k]
[-S structurefiles]
Environment Variables
TUXDIR
APPDIR
CC
CFLAGS
CPPFLAGS
LD_LIBRARY_PATH (UNIX systems)
LIB (Windows systems)
Portability
Example(s)
See also
buildscaserver
Name
Synopsis
Description
Parameters and Options
-o servername
-c compositename[,compositename]
[-v]
[-s scaroot]
[-w]
[-r rmname]
[-y]
[-k]
[-t]
[-S]
Environment Variables
TUXDIR
CC
CFLAGS
CPPFLAGS
LD_LIBRARY_PATH (UNIX systems)
LIB (Windows only)
Portability
Example(s)
Error Reporting
mkfldfromschema, mkfld32fromschema
Name
Synopsis
Description
Parameters and Options
-b basenumber
-i schema
-u schemaurl
-o outputfile
Portability
See Also
mkviewfromschema, mkview32fromschema
Name
Synopsis
Description
Options
-i schema
-u schemaurl
-o outputfile
Portability
See Also
scaadmin
Name
Synopsis
Description
Options
[-v ]
Commands
default [-m machine] [-g groupename] [-i srvid] ] [-s servername]
reload [-m machine] [-g groupname] [-i srvid] ] [-s servername]
printstats [-m machine] [-g groupname] [-i srvid] [-s servername]
verbose (v) [{off | on}]
help (h) [{command | all}]
echo (e) [{off | on}]
quit (q)
Interoperability
Environment Variables
TUXCONFIG
Portability
Example(s)
SCAHOST (5)
Name
Synopsis
Description
Parameters and Options
-w
-c composite
Portability
Example(s)
Listing 4‑1 SCAHOST Example
scapasswordtool
Name
Synopsis
Description
Parameters and Options
-i passwordidentifier
-[a|d]
Portability
See Also
scastructc32, scastructc(1)
Name
Synopsis
Description
Parameters and Options
-n
-d viewdir
-c { m | b }
-1 filename
-2 filename
Portability
See Also
scastructdis32, scastructdis
Name
Synopsis
Description
See Also
scatuxgen(1)
Name
Synopsis
Description
Options
-c composite file name
-i interface file name
-I inbuf
-O outbuf
-E outbuf
-s service name
-t string-type
-w
-n
-a
-v
Portability
Example
See Also
setSCAPasswordCallback(3c)
Name
Synopsis
Description
Return Values
Errors
[TPEPROTO]
[TPESYSTEM]
[TPEOS]
See Also
tuxscagen(1)
Name
Synopsis
Description
Parameters and Options
-s target-root-directory
-d<service-name>
-C <TUXEDO_cltname>
-u <TUXEDO_username>
-j <java_package_name>
-o <output_SCDL_filename>
-i <output_interface_filename>
-m <max-intf-arguments>
-y
-v
-h
-F
-c
-g a|i|s
[-trepository=<filename> | -tinfile=<metarepos.infile> | -tmetadata]
[-S]
Portability
Example
See Also
Oracle Tuxedo SCA Sample Applications
Basic Sample: simpappp
Other Uses
Advanced Sample: uBike
Other Uses
SCA Sample Using Web Services: calc client
Appendix A: Oracle Tuxedo SCA ATMI Binding Reference
SCA ATMI Binding Schema
Notes: The parameters "transactionalintent legacyintent" are not literal values. transactionalintent can be substituted with "suspendsTransaction" or "propagatesTransaction" or omitted. "legacyintent" can be substituted with "legacy" or omitted.
Notes: The parameters "transactionalintent legacyintent" are not literal values. transactionalintent can be substituted with "suspendsTransaction" or "propagatesTransaction" or omitted. "legacyintent" can be substituted with "legacy" or omitted.
Listing A‑1 SCA ATMI Binding Pseudoschema
SCA ATMI Binding Attributes Description
</binding.atmi/@requires>
</binding.atmi/tuxconfig>
</binding.atmi/map>
</binding.atmi/serviceType>
</binding.atmi/inputBufferType>, </binding.atmi/outputBufferType>, </binding.atmi/errorBufferType>
</binding.atmi/workStationParameters>
</binding.atmi/authentication>
</binding.atmi/fieldTablesLocation>
</binding.atmi/fieldTablesLocation32>
</binding.atmi/fieldTables>
</binding.atmi/fieldTables32>
</binding.atmi/viewFilesLocation>
</binding.atmi/viewFilesLocation32>
</binding.atmi/viewFiles>
</binding.atmi/viewFiles32>
</binding.atmi/remoteAccess>
</binding.atmi/transaction/@timeout>
Appendix B: Oracle Tuxedo SCA Schemas
ATMI and JTMI Binding Schema For C/C++
Listing B‑1 ATMI and JTMI Binding Schema For C/C++
Web Service Binding Schema
Listing B‑2 Web Service Binding Schema

Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.