MultiXTpm Application Server - Release Notes

MultiX Network Applications Development Toolkit.
Copyright (C) 2007, Moshe Shitrit, Mitug Distributed Systems Ltd., All Rights Reserved.

This file is part of MultiX.

MultiX is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
MultiX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program;
if not, write to the:
Free Software Foundation, Inc.,
59 Temple Place,
Suite 330,
Boston,
MA 02111-1307
USA

Author contact information:
msr@mitug.co.il
MultiXTpm helps application developers to build large scalable systems that can span multiple processes and multiple hosts. This release contains the Application Server core components and application projects that demonstrate the use MultiXTpm Application Server and its capabilities.

This distribution contains the following Visual Studio 2008 Solutions/Directories:

Each project in each solution contains make files in order to build the projects on Linux systems

MultiXTpm Application Server Projects

MultiXTpm Application Server solution contains the following projects:
  • MultiX - This project builds the base DLL that enables all inter process communication, session management, communication handling, timers, queues etc. Some of the header files in the “include” directory under MultiXTpm Application Server directory, contain documentation that can be produced using Doxygen. Every process that is incorporated in the Application Server environment, needs to link to the MultiX DLL.
  • MultiXTpm - MultiXTpm is the actual Application Server, queues manager and load balancer. As mentioned before, it links to the MultiX DLL. Almost all traffic in the system pass thru MultiXTpm (except when sending messages between processes that share the same session). MultiXTpm is responsible for starting and stopping all processes that are part of the Application Server. It monitors the state of the processes and if finds out that a process has terminated for no reason, it will restart it. MultiXTpm reads its configuration from an xml file.
  • MultiXTpmATL - It is like MultiXTpm only that it is wrapped in an ActiveX Control. This enable running an instance of MultiXTpm in a container application. As an ActiveX Control it exposes some COM interface so it can be activated from some COM or OLE client. MultiXTpmService uses that interface.
  • MultiXTpmService - A Windows service that be started and stopped using the service manager. It can be installed multiple times and can run multiple instances of MultiXTpm using a separate configuration file for each instance. It uses MultiXTpmATL to start and stop instances of MultiXTpm.
  • gSoapForMultiX - This DLL contains only the default gSoap functions required by some parts of the Application Server. It contains functions like: soap_init, soap_new and so on. It is used when some parts of the Application Server need to initialize a soap structure and there is no other DLL that exports the required functions. MultiXTpm itselft uses gSoap for handling Web Service calls for configuration and control.
  • MultiXgSoapSupport - This DLL encapsulates all the functionality of interfacing to the sockets and HTTP. It contains 2 main objects, one that buffers all http data on the input until a full request is received and then it forwards the whole message to the application. It also handles the sending of the response to the client. The other object serializes the SOAP data to and from buffer. MultiXTpm process uses this DLL.
  • MultiXTpm Application Wizard - A Visual Studio 2005 Application Wizard, it creates a skeleton application with all the required classes and files in order to start developing a MultiXTpm based application.
  • MultiXTpmAdmin - A Visual Studio 2005 Web Application, it used to control and configure MultiXTpm running instances.

MultiXTpm Simple System Projects

MultiXTpm Simple System solution contains the following projects:
  • MultiEchoClient - This project builds a client application that uses MultiX Simplified API.
  • MultiEchoServer -This project builds a server application that uses MultiX Simplified API.

A Description of this solution can be found Here

MultiXTpm gSoap Enhancer Projects

MultiXTpm gSoap Enhancer solution contains the following projects:
  • MultiXWSFE - This project builds the front end application used to handle all HTTP/SOAP interactions with remote Web Service Clients.
  • MultiXWSServer - This project builds the backend application used to load the Web Services DLLs and execute the requests.
  • gSoapCalculator - This projects builds the sample calculator web service.
  • gSoapCalculatorClient - This is a .NET project written in C#. Its purpose is to test the Calculator Web Service.
  • gSoapDimeServer - A sample gSoap Dime Server implemented as DLL that can be used by MultiXTpm gSoap Enhancer.
  • gSoapEchoClient - A Sample gSoap standalone client to communicate with the gSoapEchoServer.
  • gSoapEchoServer - A sample gSoap Echo Server implemented as DLL that can be used by MultiXTpm gSoap Enhancer.

A Description of this solution can be found Here

MultiXTpm Generic Multiplexer Projects

MultiXTpm Generic Multiplexer solution contains the following projects:
  • MultiplexerClientFE - This project builds the front end application used to handle all interactions with remote client applications.
  • MultiplexerServerFE - This project builds the front end application used to handle all interactions with remote servers thru predefined number of opened connections.
  • MultiplexerShared - This is a DLL that contains all the logic for handling protocol details and queues management.

A Description of this solution can be found Here

Download information

MultiXTpm Application Server is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

MultiXTpm Application Server is distributed in source code format and it supports: Windows OS, Linux, Solaris and HP Nonstop Server OSS.

The source code is packed in ZIP file and can be downloaded from SourceForge.net.

To Access the Download Page at SourceForge.net you may click Here
or
Navigate to http://sourceforge.net/projects/multixtpm

Contact information

For more information, Bug Reports, Feature Requests, and Support Requests, please use:
SourceForge.net tracker
or
SourceForge.net Project Forums
or
MultiXTpm group at Yahoo Groups.
or
you may send an email to: Moshe Shitrit