Tamino Communication Method Review : XTS, TCP/IP, WebServer,

Hi:
I am reviewing the communication method used by Tamino server. Here is some of my thought as well as some questions
There is a couple of methods to communicate with Tamino’s X-Machine in following combination:
Setup:
- Tamino Database is running on machine “A”
- Apache Webserver is running on machine “B”
- A java application accessing the Tamino database is running on machine “C”
- XTS server running on machine “A” (Even it can be running on another machine)
Communication Method:
1) Through a web server
Request from the java app on “C” is sent to the webserver “B”, which in turn decides to use
either XTS server on “A” or just native TCP/IP, as configured, to connect to Tamino DB on “A”
- Tamino on “A”
- If want to use XTS, should be configured to use the XTS server on “A”
by adding:
# Software-AG–Tamino XML Server–(Thu Sep 23 13:18:47 MDT 2004)–
49.187.0.0 SAGXTSDSport
123.123.123.123 SAGXTSDShost
to /etc/hosts. “123.123.123.123” is the IP address of XTS server “A”
“49.187.0.0” is a constant from Software AG
- Use Manager to configure whether a database want to be connected using
XTS or native TCP/IP. You specify information about the database ports
XML port (for native TCP/IP communication) and XML XTS port (for XTS
communication), through database’s Properties->Ports. Setting either
port to zero will disable that type of communication. If you leave the
entries unchanged, Tamino will default to XTS.
Question: There is another property of database server, called communication method,
you can choose from TCP/IP, TCP/IP and XTS, and XTS. What is the property
used for. Is this a reduntant property to the port property, which is
- Web server on “B”
- If want to use XTS, should be configured to use the XTS server on “A”
by adding:
# Software-AG–Tamino XML Server–(Thu Sep 23 13:18:47 MDT 2004)–
49.187.0.0 SAGXTSDSport
123.123.123.123 SAGXTSDShost
to /etc/hosts. “123.123.123.123” is the IP address of XTS server “A”
“49.187.0.0” is a constant from Software AG
- if “B”==“A”
- if you have web server running before you install Tamino database
server, you don’t need to do anything, the Tamino installation will
do the configuration to the apache appropriate. Basically, it will
add following lines to httpd.conf:
## BEGIN Software AG, Tamino
# added at Fri Nov 22 15:01:15 MET 2002
Include “…/X_Port/Apache2_64/TaminoApache.conf”
## END Software AG, Tamino
and in “…/X_Port/Apache2_64/TaminoApache.conf”, you will see:
<Location /tamino>
SetHandler ino
SAG “<SAG_ROOT>”
Regfile “<SAG_ROOT>/common/rgs/REGFILE”

The line containing REGFILE identifies the location of the configuration
file that is used by Tamino to store various items of information such
as access information for databases. The specification of this location
is required when neither XTS (Extended Transport System) is used nor the
address (host/port) of the Tamino server is specified in the Apache configuration
- if you need to configure a web server which is installed after the
Tamino installation, you will need to either add the above lines to httpd.conf
or do the Tamino installation again(the X-Port portion only)
mentioned above? Whenther I need to toggle both properties to configure
the database use XTS or TCP/IP?
- if “B”!=“A”
- Run the Tamino installation on this machine, selecting only web server configuration
- If native TCP/IP connection will be used, add following lines to httpd.conf
<Location /tamino/mydb>
SetHandler ino
Host xyz.abc.de
Port 4711

Replace mydb by the name of the database. Replace xyz.abc.de by the fully
qualified hostname (i.e. hostname and domain name) on which the database
server is running, and replace 4711 by the number of the database’s XML port.
You can find this port via Tamino Manager (in the Alter Parameters dialog of
the database properties).
Each time you create a new Tamino database you must make an appropriate entry
in the Apache configuration file httpd.conf then restart your web server.
If you uninstall Tamino, please note that the above entries in the Apache
httpd.conf file must be removed manually.
- Or, if you wish to install the Tamino Apache module that is provided on the
Tamino CD on a machine other than the machine where the Tamino XML Server is
installed, you can start the Tamino installation on that machine, selecting
the “Custom” installation and the option “X-Port”.
- Java app on “C”
- You don’t need to configure anything, since it only in charge of sending
request to the webserver, which in turn will handle the communication with
Tamino server.
- You have to make sure all the required jar files are there though
"A", “B”, “C” can denote the same machine or different machine
*
2) Doesn’t through a web server, XTS is the only option
- On “A”, configure the /etc/hosts file by adding:
# Software-AG–Tamino XML Server–(Thu Sep 23 13:18:47 MDT 2004)–
49.187.0.0 SAGXTSDSport
123.123.123.123 SAGXTSDShost
to /etc/hosts. “123.123.123.123” is the IP address of XTS server “A”
“49.187.0.0” is a constant from Software AG
- ON “C”, configure the /etc/hosts file by adding:
# Software-AG–Tamino XML Server–(Thu Sep 23 13:18:47 MDT 2004)–
49.187.0.0 SAGXTSDSport
123.123.123.123 SAGXTSDShost
to /etc/hosts. “123.123.123.123” is the IP address of XTS server “A”
“49.187.0.0” is a constant from Software AG
- On “C”, the directory containing the library libmodwsl.so has to be added to the environment
variable LD_LIBRARY_PATH which is usually done by calling the setup script /opt/sag/sagenv.new.
- On “C”, the option -Djava.protocol.handler.pkgs=com.softwareag.tamino.db.protocols has to be
supplied at startup to the Java application, i.e. the JVM. And the DB uri has to change to
Question: I tried this method, I have java app running on the same machine with Tamino server,
and I modified the /etc/hosts file accordingly, and set the LD_LIBRARY_PATH, and run the
java app using the option “-Djava.protocol.handler.pkgs=com.softwareag.tamino.db.protocols”
it failed and create a log file:xts00000.log
in file:
16:27:51 Trace: (Module:xtsloader Line:81) LoadDriver Library=libxtstcp2.so failed rc=7
16:27:51 Trace: (Module:pxts Line:2495) Failure Loading Protocol Handler 0

I am sure that that file libxtstcp2.so is in the same dir as libmodwsl.so, what is the problem

Hope you can find this helpful and respond with my questions.

XML port … XML XTS port
> Setting either port to zero will disable that type of communication. If you leave the
> entries unchanged, Tamino will default to XTS.
> **Question: There is another property of database server, called communication method, ?
> What is the property used for.

This property is new in Tamino v42. We introduced it, because choosing the desired
communication method via setting port numbers was not very user friendly. Now you can specify
what type of communication you want. Tamino itself picks appropriate port numbers, if you do
not specify them. You can still specify the port numbers, if you need specific values.

Furthermore, the property ?communication method? is used to specify, whether XTS
communication will be encrypted (value ?SSL?) or not (value ?XTS?).

Please see Tamino v42 documentation, manual ?Communications Guide? for more information.

> libmodwsl.so ? failed ? xts00000.log
> 16:27:51 Trace: (Module:xtsloader Line:81) LoadDriver Library=libxtstcp2.so failed rc=7
> ?
> libxtstcp2.so is in the same dir as libmodwsl.so, what is the problem

XTS dynamically loads some of its libraries. It uses the environment variable ?SAG? to locate them. Looks like ?SAG? is not pointing to an installation of SAG internal products. This environment variable is created during Tamino installation. On Unix and Linux systems, it can be set via script ?sagenv.new?.

I tried to run sagenv.new before I run the java app. And I also check that now $SAG point to the my Tamino installation dir. However, the same problems still occurs. Also, I have to mention, in addition to the log file I mentioned before, actually there is another log file, content like this (not complete)
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0x0
Function=[Unknown.]
Library=(N/A)

NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.


Current Java thread:
at com.softwareag.tamino.db.api.invocation.wsl.WSL.submit(Native Method)
at com.softwareag.tamino.db.api.invocation.wsl.TWSLInvocation.doGetInvoke(Unknown Source)
at com.softwareag.tamino.db.api.invocation.wsl.TWSLInvocation.doInvokeReal(Unknown Source)
at com.softwareag.tamino.db.api.invocation.wsl.TWSLInvocation.doInvoke(Unknown Source)
at com.softwareag.tamino.db.api.invocation.TAbstractInvocation.doTemplateInvoke(Unknown Source)
- locked <0x44a60168> (a com.softwareag.tamino.db.api.invocation.wsl.TWSLInvocation)
at com.softwareag.tamino.db.api.invocation.TAbstractInvocation.invoke(Unknown Source)
at com.softwareag.tamino.db.api.invocation.TAbstractInvocation.checkServerAvailabilityAndVersion(Unknown Source)
at com.softwareag.tamino.db.api.connection.TConnectionImpl.construct(Unknown Source)
at com.softwareag.tamino.db.api.connection.TConnectionImpl.(Unknown Source)
at com.softwareag.tamino.db.api.connection.TConnectionFactory.newConnection(Unknown Source)
at XMLGreeting.main(XMLGreeting.java:50)



#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot™ Client VM (1.4.2_01-b06 mixed mode)
#