XX1 Server Overview

The XX1 XML Application Server is a high performance transaction server that can be used for data distribution, document exchange and business procedure processing. Messages and business functions are normalized and standardized in form of XML Business Object Documents ("BOD") according to the recommendations of the Open Applications Group Integration Specification (OAGIS). The root node of the document designates the business function or message with a corresponding version number as attribute. The Message flow is directed through XML Transaction Control Headers ("TC") - they can be client or server driven. BODs are defined and published through XML Schemas ("XSD"). The Simple Object Access Protocol ("SOAP") interface implements the following methods that contain the BODs and TCs:

  • GetSession - obtains a session context (optional)
  • Transaction - executes a BOD using session context or none (stateless)
  • ReleaseSession - releases a session obtained with GetSession

The overall design is consistent with Web Services recommendations. Data and business process integrity is preserved at all times. The XX1 Server framework is highly modular and provides comprehensive support for adding technologies and implementing new standards. Data sources and legacy systems of any type and format (such as EDI) can be integrated easily in short time frames at moderate costs using the XX1 Server SDK and productivity tools. The XX1 Server software was entirely written in ANSI C++ and is available for Windows, Linux and UNIX platforms.



XX1 Server Components

The XX1 server consists of the following components:

Hub- and Spoke Transaction Engine "XXE"

XXE is the core engine that handles the transaction dispatch, manages client sessions and loads all the other components. XXE implements powerful platform independent core functionalities like

  • error logging
  • live tracing
  • XML/DOM processing
  • XPATH expression evaluation
  • date format conversion
  • fast XML-Table look-up services
  • provider multi-casting.

XX1 ships with one ore more default modules for each component. The customer or 3rd parties may develop and integrate additional modules as needed.



Provider Adapter

Provider adapters are modules that handle the connection to data and service providers. They may connect to databases or legacy host systems. The default adapters shipped with XX1 Server are the SOAP-Proxy, HTTP and Ghost. Additional adapters available are implementations for the XX1 Travel SDK for Amadeus, Galileo/Apollo, Sabre and Worldspan and many more.



Transformation Services

Transformation Services are modules that handle the transformation of data structures and formats. They are typically XML/DOM Parser with XPATH and XSLT processor implementations. The default services shipped with XX1 Server are:

  • AXSL
  • Microsoft MSXML 4 or 6 (Windows only)
  • Oracle 9i XSLT (Unix only)
  • libxslt (Linux only)



Scripting Engine

The Scripting Engine allows creating business processes and invoking the Transformation Services. The XX1 Server provides 2 default engines:

  • JavaScript - based on the Mozilla SpiderMonkey 1.7. JavaScripts are preloaded and compiled into a binary format at startup for performance improvement.
  • XBatch (simple XML batch processor).



External Interfaces

External Interfaces are used by the client application to communicate with the XX1 Server. The XX1 server provides a SOAP interface as default module, but there are also different types of interfaces that are configurable to communicate with XX1. SSL encryption and certificate handling is supported. A selection of currently available XX1 interfaces:

  • SOAP/SOAPSSL: default for XX1 Travel SDK
  • HTTP/HTTPS: can run as webserver accepting HTTP GET/POST and returning HTML pages
  • EDIFACT: can accept and return EDIFACT format
  • Scheduler interface: can trigger time- or event driven activities on XX1

The XX1 SOAP interface supports:

The XX1 Client SDK contains APIs and tools for various platforms that use this SOAP interface and helps the customer to facilitate client application development on any platform and programming language of choice.



Transaction Filter

The Transaction Filter can hook into transactions before and after they are processed by XXE. The Filter may advise the server to stop, suspend and resume processing as well as alter parameter and result values. The default filters shipped with XX1 are "XXSecurity" for user access security and transaction auditing.



Database Connectors

Database Connectors ("DBC") are SQL database connectivity implementations that can be used as JDBC-like objects from the JavaScript engine or called from XSL extension functions. The default DBC shipped with XX1 is MSADO (Windows only). Connections to MSSQL, Postgres and MySQL are possible.



Process Agent

Process Agents are the actual program executables that run the core engine. The default executables shipped with XX1 are a Windows Service or a UNIX/Linux Daemon, which can also be executed in a console.