Designed & Implemented the prototypes/proof of concept of ConXtra's Multi-Server P2P XML/http based middleware solution for a Travel Exchange, consisting of the following components or sub-systems:
User API/Server:
An XML based multi-threaded socket server that in addition to providing local XML services forwards (communicates as a Client) some XML request to the Central and Vendor Servers. This system can live behind a secure firewall as all XML messages are send via http request. The system supports optional authentication, and encryption.
The environment consisted of: Java.
Central Server:
An XML/http based server to support the data replication, user authentication, 'm'-to-'n' communication from 'm' Vendor Servers to 'n' User API/Servers.
The environment consisted of: Java & C++.
Vendor Servers:
XML/http based servers to support the Vendor based requests from User API/Servers. For the prototypes/proof of concepts, real-time flight availability is supported.
The environments consisted of: Java & C++.
Two Vendors were implemented:
SABRE:
SABRE host access was facilitated by use of the SNS HOOK technology to two SABRE TAs (Emulators). The SABRE specific Java code effectively operates in a screen-scrape mode.
(Demo accessible from the Web)
Continental:
Continental host access was facilitated by a Dual-Client DCOM bridge. The Continental specific Java code operates on a delimited data stream.
Some key technologies and sub-systems used in the above are:
XML Sub-system:
A completely validating XML parser (internally developed similar to DXML), that supports a simplified version of XPath. The parser is implemented via validation encoded Java files. These validating Java files are generated via a DTD parser. The Java files and the DTD parser support and implement: low-level, high-level, and custom data types. These data types are represented via Extensibility's DataTypes4DTDs.
Encryption Sub-system:
A Patent-free Asymmetric (public/private key - El Gamal) & Symmetric (private key - Blowfish) cryptography library.
JDBC
ISAPI http bridge
Load Balancer