S-integrator 1.0
End to End Guide
Version 0.90
November 4, 2003
by Wayne M Osse
Table of Contents
1 Introduction 5
2 Quick Start 6
3 Installation 7
3.1.Requirements 7
3.1.1.Software 7
3.1.2.Hardware 7
3.2.Downloading 7
3.2.1.Release Builds 7
3.2.2.Intermediate Builds 8
3.2.3.Directories 8
3.3.Installing 8
3.3.1.Java Runtime Environment 9
3.3.2.Database 9
3.3.3.JDBC driver for your database 9
3.3.4.S-integrator 9
4 Running 10
4.1.Startup 10
4.1.1.Start via an environment variable 10
4.1.2.Start by modifying your current working directory 10
4.2.Shut Down 10
4.3.Testing 10
4.3.1.Admin Dashboard 11
4.3.1.1.Startup 11
4.3.1.2.Logging In 11
4.3.1.3.Checking Statistics 11
4.3.1.4.Getting a Statistics Report 11
4.3.1.5.Shut Down the Server 11
4.3.1.6.List Active Services 11
4.3.1.7.Testing a SOAP Service 12
4.3.2.Web Browser 12
4.3.2.1.Running the HelloWorld Service 12
4.3.3.Web Phone 12
4.3.4.Program the Client API 13
4.4.Built-in Service Stores 13
4.4.1.system 13
4.4.2.adminui 13
4.4.3.mainframetest 13
4.4.4.soaptest 13
4.4.5.public 13
4.5.Troubleshooting 13
5 Configuration 15
5.1.Server Configuration 15
5.1.1.Server Configuration File – server.xml 15
5.1.1.1.Server Attributes 15
5.1.1.2.Server Sample 15
5.1.1.3.Authentication Attributes 15
5.1.1.4.Authentication Sample 15
5.1.1.5.Logging Server Attributes 15
5.1.1.6.Logging Server Sample 15
5.1.1.7.Security Service Attributes 15
5.1.1.8.Security Service Sample 16
5.1.1.9.Parser Attributes 16
5.1.1.10.Log Attributes 16
5.1.1.11.Log Samples 16
5.1.2.Service Stores Configuration File – stores.xml 17
5.1.2.1.Service Store Attributes 17
5.1.2.2.Service Store Sample 17
5.2.Service Store Configuration 17
5.2.1.Service Description Files – *Services.xml, *.wsdl 17
5.2.1.1.Native Service Description Files 17
5.2.1.2.Native Service Description Sample 17
5.2.1.3.WSDL Files 18
5.2.2.Service Store Configuration File – store.xml 18
5.2.2.1.HTTP Entrances 18
5.2.2.2.JDBC Destinations 18
5.2.3.Multiple S-integrator Instances 19
6 Service Model 20
6.1.Services 20
6.2.Service Types 20
6.2.1.Atomic ServiceTM 20
6.2.2.Service AgentTM 20
6.2.3.Remote ServiceTM 20
6.2.4.Service FlowTM 20
6.3.Service Inputs and Outputs - Databags 20
7 Developing Services 22
7.1.Atomic Services 22
7.2.Service Agents 23
7.3.Remote Services 24
8 Integrating Software and Systems 25
8.1.Databases 25
8.2.Mainframes 25
8.3.Web Services 25
8.4.Listeners 25
8.4.1.TCP/IP 25
8.4.1.1.IP Host and Address Banning 25
8.5.Inbound Adapters 25
8.5.1.HTTP Inbound Adapter 25
8.5.1.1.IP Host and Address Banning 26
8.5.1.2.Content Filtering 26
8.5.2.SOAP Inbound Adapter 26
8.5.2.1.IP Host and Address Banning 26
8.5.2.2.Content Filtering 26
8.6.Outbound Adapters 26
8.6.1.JDBC Outbound Adapter 26
8.6.2.Mainframe Outbound Adapter 26
8.7.Protocol Support 27
8.7.1.SMTP 27
8.7.2.FTP 27
9 Deploying Services 28
9.1.Initial Deployment 28
9.2.Hot Deployment 28
10 System Services 29
10.1.Authentication, Registration and Session Management 29
10.1.1.Authentication 29
10.1.2.Registration 29
10.1.3.Session Management 29
10.1.4.Service Package Authorization 29
10.1.5.Service Authorization 29
10.1.6.Content Authorization 29
10.2.Authorization 29
10.3.Content Management 29
10.4.Configuration File Management 29
10.5.Administration 29
10.5.1.Server Health 30
10.5.2.Server Management 30
10.5.3.Scheduling 30
10.5.4.Service Management 30
10.5.5.Mail 30
10.5.6.Web Server 30
11 Client API 31
11.1.Interface 31
11.2.Sample 31
If you are in a hurry, just jump to the “Quick Start” section below and get going!
S-integrator is a open source, service-oriented integration server. Well, It is really a next-generation application server. S-integrator is service container that empowers services with inherent connectivity, integration and security capabilities. This is achieved by isolating the technology that makes a service connected, reusable and secure from the service implemntation. Think about that. A flexible service-oriented architecture must accommodate different inbound and outbound protocols and technologies, including web services. If you use S-integrator to write a service and expose it as a web service, and later want to provide access to it via another protocol or technology, you do not need to change your code, just add the outbound adapter and destination for that protocol or technology! A more likely scenario is that you have an existing service in an external system and you want to make it available initially through a legacy protocol, and then later expose it as a web service. This should be easy to do.
The ability to integrate is often hindered by obstacles that are not obvious. Integration products that require a multitude of other software packages, significant resources, a high price and/or special development licenses all contribute to slowing integration from taking palce, where the rubber meets the road. S-integrator provides a model that can accommodate a myriad of architectures that would have preciously been prohibitive due to cost and/or resource requirements. S-integrator is license under the GNU Lesser General Public License (LGPL), has a small footprint and very few requirements. This facilitates Rapid IntegrationTM, which our company has been providing to customers for almost 15 years.
Just a few notes for those interested. The name S-integrator represents “Service Integrator”. It is written completely in Java, except for one adapter written in 'C' (the Mainframe Adapter).
Experienced developers can follow the “Quick Start” instructions below to get up and running quickly.
Download and install a Java runtime, like JRE 1.2.2 or JSRE 1.4.2
Download and install MySQL if you don't have a database and JDBC driver.
Download and unpack the latest S-integrator runtimes
Adjust the JDBC destinations named SYSTEMDB and LOGINDB in
si-1.0x/servicestores/system/Svc-inf/store.xml
Open a shell prompt and change to the S-integrator “/si-1.0x/bin” directory
Set the SI_HOME environment variable to the S-integrator install directory
set SI_HOME=c:\si-1.04 (Windows)
SI_HOME=/usr/localbin/si-1.04 (Unix, Linux)
Start S-integrator by running the shell command for your platform:
%SI_HOME%\bin\startup (Windows)
$SI_HOME/bin/startup.sh (Unix)
sh $SI_HOME/bin/startup.sh (Linux)
Go to http://localhost:8080 in a web browser. If the web page loads, you have already executed a series of S-integrator services. Then log in as administrator with user id “si” and password “si”.
Experienced developers can follow the “Quick Start” instructions in the previous section to get up and running quickly. Detailed installation information and instructions are provided here.
Windows, Linux or Unix
Java Runtime 1.2.2 or higher
A Database – MySQL for example
A JDBC Driver for the Database – MySQL JDBC Drivers included
TCP/IP
Optional
JSSE for Java 1.2.2 - HTTPS support in AdminUI
Memory
per Server Instance 16-32 MB
per Service Store Future
per Active Service Future
HTTP Inbound Adapter Future
SOAP Inbound Adapter Future
JDBC Outbound Adapter Future
Mainframe Outbound Adapter Future
Disk Space
Installation 1 MB
per Server Instance 1 MB
Event Logging (Errors) 1 MB
Audit Logging (per Resquest) input + output + ~256
Release Builds of S-integrator are released periodically and announced. Each release build resides in its own directories and is available in zip and gzip formats. For example, the S-integrator 1.04 release is available at:
Binary: ftp://ftp.s-integrator.org/s-integrator-1.00/release/v1.04/
§§Source: ftp://ftp.s-integrator.org/s-integrator-1.00/release/v1.04/src/
Intermediate Builds of s-integrator are built periodically from the most
recent sources. These builds are available at:
Binary: ftp://ftp.s-integrator.org/s-integrator-1.00/intermediate/
Source: ftp://ftp.s-integrator.org/s-integrator-1.00/intermediate/src/
LICENSE LGPL Software License for this release
README.txt Readme file
RELEASE-NOTES-*.txt Release Notes for this release
RUNNING.txt Install & run instructions the server
bin/ Binary executables and scripts
classes/ Global classes
conf/ Configuration files
contentfilters/ Content filters for included Http adapter
lib/ Global classes in JAR files
logs/ Destination directory for log files
servicestores/ Service stores included with S-integrator
servicestores/adminui Administration web server Service Store
servicestores/system System Service Store
servicestores/mainframetest Mainframe Adapter test Service Store
servicestores/soaptest SOAP Adapter test Service Store
servicestores/public Public quick start Service Store
stats/ Contains statistics when used
temp/ Scratch directory for temporary files
work/ Scratch directory for working files
If you wish to build the S-integrator server from a source distribution, please consult the documentation in "BUILDING.txt" in that distribution.
If you wish to install and run a binary distribution of the S-integrator server, please consult the documentation here or the "RUNNING.txt" in the distribution.
S-integrator is implemented entirely in Java 1.2.2. In order to install and run this integration broker and service container, you must do the following:
Download a Java Runtime Environment (JRE) version 1.2.2 or later from http://java.sun.com/j2se/ (like JRE 1.2.2 or JSRE 1.4.2)
Install the JRE according to the instructions included with the release.
Download MySQL from http://www.mysql.com/downloads/mysql-4.0.html if you don't have a database and JDBC driver
Install the database according to the instructions included with the release
If you use the MySQL, the 3.x and 4.x JDBC drivers for MySQL are included, so you may skip this step.
You can download the MySQL JDBC driver from http://www.mysql.com/downloads/api-jdbc.html
§§
Install the JDBC driver according to the instructions included with the release.
Download a binary distribution of S-integrator from http://www.s-integrator.org/downloads.jsp
On a Windows platform, you will need si-1.0x.zip
On a Unix platform, you will need si-1.0x.tar.gz
Unpack the binary distribution into a convenient location so that the distribution resides in its own directory (conventionally named "S-integrator-1.0"). For the purposes of the remainder of this document, the symbolic name $SI_HOME or %SI_HOME% are used to refer to the full pathname of the release directory.
If you are using MySQL, from the command line, run the following command (%SI_HOME% is the S-integrator installation directory)
mysql < %SI_HOME%/bin/sidb.sql
Update the LOGINDB and SYSTEMDB destinations in the store.xml configuration file in the %SI_HOME%/servicestores/system/Svc_inf/ directory for the database and JDBC driver you are using.
There are two ways S-integrator 1.0 can be started:
Set the environment variable SI_HOME to the installation path of S-integrator 1.0
Execute the shell command
%SI_HOME%\bin\startup (Windows)
$SI_HOME/bin/startup.sh (Unix)
Execute the following shell commands
cd %SI_HOME%\bin (Windows)
startup (Windows)
cd $SI_HOME/bin (Unix)
/startup.sh (Unix)
There are two ways to stop S-integrator 1.0:
Via administrator web pages by logging in with the administrator id
Via the administrator GUI by logging in with the administrator id
You can test the S-integrator Installation in a number of ways.
Start the Admin UI Dashboard by doing the following:
Open a prompt and change to the S-integrator “bin” subdirectory
Set the SI_HOME environment variable to the install directory
Start AdminUI by running adminui.bat or adminui.sh
All of the following service calls require this log in to occur first.
Type in the User Id of “si” and Password of “si”
Click on the “Login” button
You will see login information in the “Response” window
In the “Service” list, choose the “LocalService” service
In the “Method” list, choose the “STAT” method
Click on the “Run” button
You will see statistics information in the “Response” window
In the “Service” list, choose the “LocalService” service
In the “Method” list, choose the “STATSREPORT” method
Click on the “Run” button
You will see a statistics report in the “Response” window
In the “Service” list, choose the “LocalService” service
In the “Method” list, choose the “SHUTDOWN” method
Click on the “Run” button
The server will shut down in five seconds
In the “Service” list, choose the “LocalService” service
In the “Method” list, choose the “LISTACTIVESERVICES” method
Click on the “Run” button
You will see a list of active services in the “Response” window
In the “Protocol” list, choose the “TCP” service
In the “Service” text box type “SP_Test”
In the “Method” text box, type “run”
In the “Port” text box type “8083” (soaptest listens on port 8083)
In the “Request Format” list, choose “FILE”
In the “Response Format” list, choose “FILE”
Click on the “Run” button
You should see SOAP response message in the “Response” window.
The adminui Service Store's WB_WebServer service implements S-integrator's own embedded web server. Go to http://localhost:8080 in a web browser. If the web page loads, you have already executed a series of S-integrator services (otherwise see the Troubleshooting chapter). Then log in as administrator with user id “si” and password “si”
Go to http://localhost:8083
Enter your name
Click on the “Submit” button
You will see the hello message in the “Service Results” table at the bottom of the page. Notice that you are an anonymous user. Services in the Public Service Package are available for anyone to run and do not require you to log in as a user. This is not true for administrative services.
The adminui Service Store's WB_WebServer service again provides web access. This test requires you to change the S-integrator adminui Service Store to listen on HTTP on an address that can be accessed from the Internet. Be sure to change your administrator password using HTML on the adminui Service Store first.
Go to http://localhost:8080/login.wml using a web phone that supports WML. If the web page loads, you have already executed a series of S-integrator services (otherwise see the Troubleshooting chapter). Then log in as administrator with user id “si” and password “si”
The Client API provides the developer with a very easy to use set of classes to call S-integrator services. See the Client API chapter.
The system Service Store contains services used by S-integrator itself and for managing the system.
The adminui Service Store contains services monitoring, managing and testing the system. It includes the WB_WebServer service which implements a simple web server for embedded S-integrator management.
The mainframetest Service Store contains sample services for exploring the Mainframe Outbound Adapter.
The soaptest Service Store contains sample services for exploring the SOAP Inbound Adapter.
The public Service Store provides a prebuilt Service Store to make developing services easy.
The most common issue is when another web server has laid claim to port 2050 (or 8080 for the administrative web service). This is the default HTTP port that S-integrator attempts to bind to at startup. To change this, open the file $SI_HOME/servicestores/system/Svc-inf/store.xml ($SI_HOME/servicestores/adminui/Svc-inf/store.xml for 8080) and search for '2050'. Change it to a port that isn't in use, and is greater than 1024, as ports less than or equal to 1024 require superuser access to bind to.
Restart S-integrator. Be sure that you replace the "2050" in the URL you're using to access S-integrator (or ”8080” for the admin ui). For example, if you change the port to 2000, you would request the URL http://localhost:2000/.
An "out of environment space" error when running the batch files in Win9X/ME-based operating systems.
Right-click on the STARTUP.BAT file. Click on "Properties" then on the "Memory" tab. For the "Initial environment" field, enter in something like 4096.
After you click apply, Windows will create shortcuts in the directory with which you can use to start and stop the container.
The 'localhost' machine isn't found. This could happen if you're behind a proxy. If that's the case, make sure the proxy configuration for your browser knows that you shouldn't be going through the proxy to access the "localhost" machine.
In Netscape, this is under Edit/preferences -> Advanced/proxies, and in Internet Explorer, Tools -> Internet Options -> Connections -> LAN Settings.
The server configuration file is located in the si-1.0x/conf directory and is called server.xml.
operatingMode “TEST” (always)
storeBase Service Store subdirectory
workDirectory Working file subdirectory
tempDirectory Temporary file subdirectory
debug ”All”, “Warnings” or “Errors”
<Server
operatingMode="TEST"
storeBase="servicestores"
workDirectory="work"
tempDirectory="temp"
debug="All">
serviceName “SA_Session” - Authentication service
<Authentication serviceName="SA_Session"></Authentication>
ipAddress host name to accept logging requests
ipPort port to accept logging requests
socketTimeout Timeout for logging requests
<LogServer
ipAddress="localhost"
ipPort="2060"
socketTimeout="0">
</LogServer>
adminUserId admin user id
adminPassword admin password
serviceBrokerProtocol Protocol to use for security services
serviceBrokerAddress Security Service Broker host name
serviceBrokerPort Security Service Broker port
<ServiceSecurity
adminUserId="si"
adminPassword="si"
serviceBrokerProtocol="HTTP"
serviceBrokerAddress="localhost"
serviceBrokerPort="2050">
</ServiceSecurity>
The parser entry is currently unused.
Event and Audit logs are provided for each Service Store. The built-in Logging Server provides a TCP listener for logging. Service Stores can alternatively use a file based log.
name Log file name prefix
type “event” or “audit”
className Log implementation class
locationType “tcp” or “file”
location “address:port” or unused
directory “directory within Service Store”
debug ”All”, “Warnings” or “Errors”
<Log
name="system_EventLog"
type="event"
className="com.indigotp.is.Log"
locationType="tcp"
location="localhost:2060"
directory="logs"
debug="Errors">
</Log>
<Log
name="system_AuditLog"
type="audit"
className="com.indigotp.is.Log"
locationType="tcp"
location="localhost:2060"
directory="logs"
debug=”Errors">
</Log>
<Log
name="soaptest_EventLog"
type="event"
className="com.indigotp.is.Log"
locationType="file"
location="."
directory="logs"
debug="All">
</Log>
The Service Stores configuration file is located in the si-1.0x/conf directory and is called stores.xml.
name Service Store name
storeBase Service Store subdirectory under the
servicestores subdirectory
<ServiceStore
name="system"
storeBase="system">
</ServiceStore>
The Service Store Services configuration files are located in the si-1.0x/servicestores/servicestorename/Svc-inf directory. Service description files must contain entries for services before they can be invoked. There are two types of service description files, S-integrator native and WSDL.
NAME Service name
DESCRIPTION Service Store text description
TYPE “Atomic”, “Agent”, “Remote” or “Flow”
METHODS Methods, descriptive
VERSION Service version
INTEREST Area of interest for Service
DESTINATION Class name of Service
PACKAGE Service Package name used for authorization
<SERVICES>
<SERVICE>
<NAME>UT_Utils</NAME>
<DESCRIPTION>Utilities Service Agent</DESCRIPTION>
<TYPE>Agent</TYPE>
<METHODS>run</METHODS>
<VERSION>1.0</VERSION>
<INTEREST>Utilities</INTEREST>
<DESTINATIONNAME>UT_Utils</DESTINATIONNAME>
<PACKAGE>Public</PACKAGE>
</SERVICE>
</SERVICES>
WSDL files are in the WSDL format.
The Service Store configuration file is located in the si-1.0x/servicestores/servicestorename/Svc-inf directory.
The Service Store's configuration file, store.xml, is located in the Svc-inf directory of the Service Store. It contains Entrances that describe what addresses to listen on. To listen on a TCP address or port different from the default, just change localhost:2050 to the address:port you want. Keep in mind that using a port below 1024 may require administrative rights on your machine. The system Service Store Entrance is shown below.
<Entrance clientAdapter="HTTP">
<Address location="localhost:2050"></Address>
</Entrance>
You will have to restart S-integrator for the changes to take effect.
JDBC Destinations have the following attributes in the Service Store's configuration file, store.xml, located in the Svc-inf directory of the Service Store
name Logical Destination Name
serverAdapter “JDBC” (always)
driverClassName JDBC Driver Class Name
connectionString JDBC Connection String
user Database User Id
password Database Password
compareType “STRCMP” (only for MySQL)
Below are the default JDBC Destination entries in the system Service Store:
<Destination
name="LOGINDB"
serverAdapter="JDBC"
driverClassName="org.gjt.mm.mysql.Driver" connectionString="jdbc:mysql:///si?user=siadmin&password=******" user="siadmin"
password="******"
compareType="STRCMP">
</Destination>
<Destination
name="SYSTEMDB"
serverAdapter="JDBC"
driverClassName="org.gjt.mm.mysql.Driver" connectionString="jdbc:mysql:///si?user=siadmin&password=******" user="siadmin"
password="******"
compareType="STRCMP">
</Destination>
To configure multiple S-integrator 1.0 instances, follow these steps.
In many circumstances, it is desirable to have a single copy of an S-integrator 1.0 binary distribution shared among multiple users on the same server. To make this possible, you must configure a SI_HOME environment variable that points to a directory that is unique to your instance.
When you do this, S-integrator 1.0 will calculate all relative references for files in the following directories based on the value for SI_HOME:
conf - Server configuration files (server.xml too)
logs - Log and output files
servicestores - Automatically loaded service stores
temp - Temporary files directories for service stores
work - Working directories for service stores
A service contains one or more methods and resides within a Service StoreTM. A Service Store has Service Store EntrancesTM and Service Store DestinationsTM. Services are processed as follows:
An Entrance accepts a service request and passes it to the Service Store that hosts the service
The Service Store calls the service method with the input parameters
The service method processes the input parameters and sets output parameters
The Service Store passes the output parameters back to the Entrance
The Entrance sends back the service response to the caller
There are four types of service as described below.
A stateless method within a Java class
A method with a Java class that does loads once and stays loaded. A smart or intelligent service.
A service that represents an external system call. A Remote Service uses the outbound adapter that the Destination is bound to
A sequence of services, each of which can be of any service type, including another Service Flow
S-integrator services access input and output parameters through input and output databags. It is the responsibility of the inbound adapter (Entrance) to convert adapter or protocol specific data to input and output databags so that the service has a simple, consistent interface to parameters. Databags are associative arrays with simple access methods. Normally, a service sets a number of output parameters using service-specific naming.
The “Body” output parameter can be used to package an entire response for convenience. It is also used when calling a Remote Service via a destination. This provides a standard interface for interacting with external systems through outbound adapters.
Services can optionally be static, but there is no requirement to be.
New methods have been added to simplify input and output parameter access.
String service.getInputParameter ( String strName ) ;
String service.setOutputParameter ( String strName
, String strValue
) ;
Object service.setOutputParameter ( String strName
, Object objValue
) ;
Previously, the following techniques were used to access input and output parameters.
service.databagInput.getDataString ( String strName
, String strDefaultValue
, boolean fUseDefaultValue
) ;
service.databagInput.getData ( String strName ) ;
service.databagOutput.add ( String strName
, Object objValue
) ;
Here is the simplest form of an S-integrator service.
import com.indigotp.is.*;
public class HelloWorld
{
public Service helloWorld ( Service service )
{
service.setOutputParameter ( "Body", "Hello World!" ) ;
return service ;
}
}
Now allow for an input parameter and check for errors. If a failure occurs, add an event log entry and set the result accordingly.
import com.indigotp.is.*;
public class HelloWorld
{
public Service helloWorld ( Service service )
{
String strName = null ;
strName = service.getInputParameter ( "Name" ) ;
if ( strName != null ) {
service.setOutputParameter ( "Body"
, "Hello from " + strName
) ;
}
else {
String strErrorCode = "300" ;
String strErrorText = "helloWorld - Name not provided" ;
service.log ( strErrorText, 1 ) ;
service.setResult ( "300", strErrorText ) ;
}
return service ;
}
}
A Service Agent implements “Thread” and the init() method in order to get the configuration for the service. Atomic services also get access to the service configuration, but it is provided as the ”ConfigData” input parameter to each service invocation. Service Agents otherwise look exactly like Atomic Services. Here is a sample of an S-integrator service agent.
import com.indigotp.is.*;
public class HelloWorld extends Thread
public static Service init ( Service service )
{
Properties propConfig = service.getConfiguration ( ) ;
}
public Service helloWorld ( Service service )
{
service.setOutputParameter ( "Body", "Hello World!" ) ;
return service ;
}
}
A Remote Service is Agent implements “Thread” and the init() method in order to get the configuration for the service. Atomic services also get access to the service configuration, but it is provided as the ”ConfigData” input parameter to each service invocation. Service Agents otherwise look exactly like Atomic Services. Here is a sample of an S-integrator service agent.
import com.indigotp.is.*;
public class HelloWorld extends Thread
public static Service init ( Service service )
{
Properties propConfig = service.getConfiguration ( ) ;
}
public Service helloWorld ( Service service )
{
service.setOutputParameter ( "Body", "Hello World!" ) ;
return service ;
}
}
Databases are integrated using JDBC drivers via the JDBC Outbound Adapter. This supports all major database products and many more. If you have a database and the corresponding JDBC driver, you can easily integrate it by
Adding the appropriate Adapter configuration entry in the adapters.xml file in the conf directory
Adding the corresponding Destination in the Service Store that will use this JDBC driver.
MySQL drivers are included in the distribution.
The Mainframe Outbound Adapter provides transactional integration for hosts systems like CICS and IMS. See the Mainframe Adapter section for more information.
S-integrator reads WSDL service descriptions and works in conjunction with the SOAP Inbound Adapter to accept SOAP web service requests.
The TCP/IP Listener listens for and accepts TCP connections and hands off to Inbound Adapters it is bound to. The HTTP and SOAP Inbound Adapters use it.
Host names and TCP/IP addresses that are to be blocked can be placed in their corresponding blocked files. These files can be configured in the TCP Listener or Inbound Adapters that use it like the HTTP and SOAP Inbound Adapters.
This adapter provides support for processing HTTP requests.
Host names and TCP/IP addresses that are to be blocked can be placed in their corresponding blocked files. These entries override the TCP Listener's.
This adapter allows for Content Filters to be added. An existing Virus Content Filter is provided for simple virus checking of some Nimda and Code Red viruses.
This adapter provides support for processing SOAP requests via HTTP. It extends the HTTP Inbound Adapter (one of the few cases of inheritance you will find in S-integrator).
Host names and TCP/IP addresses that are to be blocked can be placed in their corresponding blocked files. These entries override the TCP Listener's.
Since this adapter uses the HTTP Inbound Adapter, it also uses the same content filtering mechanism.
JDBC drivers are specified in a Service Store Destination with the corresponding JDBC Outbound Adapter. Additionally, there must be a corresponding Remote Service description entry in the Services file within that Service Store.
The Mainframe Adapter is written in 'C' and is available only for Windows platforms and requires an APPC gateway such as Microsoft Host Integration Server (HIS), the older Microsoft SNA Server or the IBM equivalents for the Windows platform.
SMTP is currently supported via the SmtpClient Class.
FTP is currently supported via the FtpClient Class.
Services are initially deployed by performing the following steps:
Place service Java class files into the Service Store's Svc-inf/classes directory and the Java JAR files into the Service Store's Svc-inf/lib directory.
Add a a service description entry into a service description file and place that file in the Service Store's Svc-inf directory. These can be in the form of native S-integrator XML service description entries or WSDL entries.
Atomic Services can be hot deployed by simply replacing the Java class and/or JAR files in the Service Store. The new class will be used the next time the service is called.
Future
Future
Future
Future
Future
Future
Future
Future
Future
Future
Future
Future
Future
Future
Future
Future
Future
Future
Future
Future
Copyright 2003 Indigo Technology Partners, Inc.