AirAvailability WebServer sample (OTA Air Availability - ALCS Air Availability Bridge) README Copyright IBM Corporation, 2012 US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. NOTE: Before using this information and the product it supports, read the general information under "NOTICES" in this document. CONTENTS ________ This file includes the following information: 1.0 Introduction 2.0 PreRequisites/Dependency 3.0 Installing/CONTENT 4.0 Notices 4.1 Trademarks 4.2 Warranty 4.3 Third Party License and Terms 1.0 INTRODUCTION This sample WebService accepts an Air Availability Request Message and returns an Air Availability Response Message in accordance with the OpenTravel Alliance Message specification. This AirAvailability Webservice package includes the OpenTravel Alliance org.opentravel.ota._2003._05 java package that was part of download from the http://www.opentravel.org/specifications/Default.aspx website. *************************************************************************************************** * Purpose: * *************************************************************************************************** This WebService sample 1. Demonstrates how an Open Travel Alliance (OTA) Air Availability Request (OTA_AirAvailRQ message) can be translated into an IBM ALCS (AirLine Control System) Air Availability Request, 2. Demonstrates how that translated request can be sent to a target ALCS system for processing and 3. Demonstrates how the ALCS Response can then be translated into an OTA Air Availability Response (OTA_AirAvailRS message) and returned to the caller. See http://www.opentravel.org/ for information regarding the goals of open travel messaging. See http://www.opentravel.org/Specifications/Default.aspx for access to the OTA Specification and Message Users Guide. *************************************************************************************************** * Parameters: * *************************************************************************************************** Input: OTA_AirAvailRQ (OTA Air Availability Request Message - xml) Output: OTA_AirAvailRS (OTA Air Availability Response Message - xml) ______________________________ 2.0 PREREQUISITES *************************************************************************************************** * Dependency on the ALCS WAS OLA EJB * *************************************************************************************************** The AirAvailability WebServer sample is dependent on a mechanism for issuing/receiving ALCS Air Availability Requests. This is accomplished by an ALCS EJB that uses the WAS Optimized Local Adapter (OLA) Interface (see WebSphere Localized Adapter selection on the ALCS Guides and Samples Web Page). The WebService connects into the EJB via java EJB annotation. The EJB must be deployed on the same system as ALCS and must be used on the same system running WebSphere that is receiving the WebService Request. The WebService must be added as a managed module to the EJB. 3.0 INSTALLING/CONTENT The download contains two files. The AirAvailability.war file contains the executable code and the AirAvailability.zip contains the source code. Directory structure of AirAvailability.zip file: The Rational Application Developer (RAD) project interchange zip file is structured as follows: o .settings directory - files used by RAD in creating/managing the project o README directory - This readme file and sample input and output xml messages. Note: Input and output message filenames come in pairs. Input (request) message filenames end in RQx (where x is a number), and the corresponding output (response) message filename ends in RSx (where x is the same number). o src - java source code for the Web Service o WebContent - xsd and wsdl file(s) that define the xml message content and the Web Service processing attributes. A sample html file is also included. Note: Additional entries exist. Items such as .classpath, .factory and .project are used by Rational Application Developer to manage the build process. *************************************************************************************************** * Contents/Setup * *************************************************************************************************** 1) Add the WAR file as a managed module to the ALCS OLA EJB on a system where the EJB was already installed in WebSphere. 2) Sample Input/Output : a) OTA_AirAvailRQ1.xml -- Valid Air Availability Request TPE-LAX, Result in OTA_AirAvailRS1.xml b) OTA_AirAvailRQ2.xml -- Missing or Invalid Destination Location Code Result in OTA_AirAvailRS2.xml c) OTA_AirAvailRQ3.xml -- Valid Air Availability Request JFK-LAX, Result in OTA_AirAvailRS3.xml d) OTA_AirAvailRQ4.xml -- Missing or Invalid DepartureDateTime Code, Result in OTA_AirAvailRS4.xml e) OTA_AirAvailRQ5.xml -- Missing or Invalid Origin Location Code, Result in OTA_AirAvailRS5.xml f) OTA_AirAvailRQ6.xml -- /INPUT CITY/AIRPORT CODE INVALID>, Result in OTA_AirAvailRS6.xml g) OTA_AirAvailRQ7.xml -- Valid Air Availability Request TPE-LAX, and JFK-LAX, Result in OTA_AirAvailRS7.xml 3) Sample HTML file - There is sample WebPage that can be used to invoke the WebService. It resides within the AirAvailability/WebContent directory. The name is GetAvailability.html. To use the WebPage you must first change the line - var url = "http://xxxx:nnnn/AirAvailability/AirAvailService". The value xxxx should be replaced with the name of your URL and the value nnnn should be replaced with the port number listening for the application request. Once you change the line you should rebuild and re-install the AirAvailability WAR file. ________________________ 4.0 NOTICES ___________ This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this information in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this information. The furnishing of this information does not grant you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A For license inquiries regarding double-byte character set (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to: Intellectual Property Licensing Legal and Intellectual Property Law IBM Japan Ltd. 1623-14, Shimotsuruma, Yamato-shi Kanagawa 242-8502 Japan The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS INFORMATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the information. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this information at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact: IBM Corporation Department 31BA/Building 008 Mail Drop P369 2455 South Road Poughkeepsie, NY 12601-5400 U.S.A Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee. 4.1 Trademarks IBM, the IBM logo, and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml. ****************************************************************************** * NOTE TO AUTHOR: See the "Special attributions list" on the Copyright and * trademark information page * (http://www.ibm.com/legal/us/en/copytrade.shtml#section-special). * If your information includes any of these non-IBM trademarks, include the * appropriate special attribution statement. Use a separate paragraph for each * special non-IBM company. In each attribution statement, list only the * special non-IBM trademarks that the information actually uses. For example, * if this README contains a reference to Microsoft, Windows and Linux, add the * following special attribution statements: * Linux is a registered trademark of Linus Torvalds in the United States, * other countries, or both. * * Microsoft and Windows are trademarks of Microsoft Corporation in the * United States, other countries, or both. ****************************************************************************** 4.2 Warranty This package is provided on an "as is" basis. There are no warranties, express or implied, including the implied warranties of merchantability and fitness for a particular purpose. IBM has no obligation to provide service, defect correction, or any maintenance for the package. IBM has no obligation to supply any updates or enhancements for the package to you even if such are or later become available. 4.3 Third Party License and Terms Open Travel Alliance Specifications Terms of service: ====================================================================== AUTHORIZATION TO USE SPECIFICATIONS AND DOCUMENTATION IMPORTANT: The OpenTravel Alliance ("OpenTravel") Message Specifications ("Specifications"), whether in paper or electronic format, are made available subject to the terms stated below. Please read the following carefully as it constitutes a binding Agreement, based on mutual consideration, on you and your company as licensee ("You"). 1. Documentation. OpenTravel provides the Specifications for voluntary use by individuals, partnerships, companies, corporations, organizations, and other entities at their own risk. The Specifications and any OpenTravel supplied supporting information, data, or software in whatever medium in connection with the Specifications are referred to collectively as the "Documentation." 2. License Granted. 2.1. OpenTravel retains all of its rights, including copyrights, in and to the Documentation. OpenTravel grants to You this non-exclusive license to use the Documentation, subject to the conditions stated below. All use by You of the Documentation, and any prior versions of the Documentation, is subject to this Agreement. 2.2. You may copy and download the Documentation, modify the Documentation solely to allow for implementation of Your individual or proprietary software products or services, bundle the Documentation with Your individual or proprietary software, and/or distribute and sublicense the Documentation for use in such bundled configurations. 2.3. You must reference, in a commercially reasonable location, that the OpenTravel Documentation is used in connection with Your applicable products or services, in part or in whole, whether modified or not, and subject to the terms of this Agreement. You may include truthful and accurate statements about Your relationship with OpenTravel or other use of the Documentation. 2.4. Under no circumstances may You change or modify the Specification itself, develop a new standard or specification from the Documentation, or state or imply that any of Your works, products, or services based on the Documentation are endorsed or approved by OpenTravel. 2.5. You must include the OpenTravel copyright notice in connection with any use of the Documentation. Any uses of the OpenTravel name and trademarks are subject to the terms of this Agreement and to prior review and approval by OpenTravel. 2.6. Nothing in this Agreement shall be interpreted as conferring on You or any other party any other interest in or right or title to the Documentation. Nothing in this Agreement shall be interpreted as in any way reducing or limiting OpenTravel's right, title, and interest in the Documentation. 3. NO WARRANTIES; LIMITATIONS ON LIABILITY 3.1. ANY DOCUMENTATION PROVIDED PURSUANT TO THIS NON-EXCLUSIVE AGREEMENT IS PROVIDED "AS IS" AND NEITHER OPENTRAVEL NOR ANY PERSON OR ENTITY THAT HAS CONTRIBUTED TO THE CREATION, REVISION, OR MAINTENANCE OF THE DOCUMENTATION MAKES ANY REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. 3.2. OPENTRAVEL AND EACH PERSON AND ENTITY THAT HAS CONTRIBUTED TO THE CREATION, REVISION, OR MAINTENANCE OF DOCUMENTATION HEREBY DISCLAIM ANY AND ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF NON-INFRINGEMENT, TITLE, MERCHANTABILITY, FITNESS FOR ANY PARTICULAR PURPOSE, AND THOSE ARISING FROM A COURSE OF DEALING OR USAGE OF TRADE. 3.3. TO THE MAXIMUM EXTENT ALLOWED UNDER APPLICABLE LAW, NEITHER OPENTRAVEL NOR ANY PERSON OR ENTITY THAT HAS CONTRIBUTED TO THE CREATION, REVISION, OR MAINTENANCE OF THE DOCUMENTATION SHALL BE RESPONSIBLE OR LIABLE TO YOU OR YOUR AFFILIATES WITH RESPECT TO ANY SUBJECT MATTER OF THIS AGREEMENT OR YOUR USE OF THE DOCUMENTATION UNDER ANY CONTRACT, NEGLIGENCE, STRICT LIABILITY, OR OTHER THEORY: (A) FOR ANY INDIRECT, INCIDENTAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES INCLUDING, BUT NOT LIMITED TO, LOSS OF PROFITS OR BUSINESS INTERRUPTION, EVEN IF NOTIFIED OF THE POSSIBILITY OF SUCH DAMAGES; OR (B) ANY AMOUNT OF DAMAGES UNDER ANY CAUSE OF ACTION IN EXCESS OF TEN DOLLARS. THE FOREGOING LIMITATIONS, EXCLUSIONS, AND DISCLAIMERS SHALL APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, EVEN IF ANY REMEDY FAILS ITS ESSENTIAL PURPOSE. YOU AGREE NOT TO FILE A LAWSUIT, MAKE A CLAIM, OR TAKE ANY OTHER FORMAL OR INFORMAL ACTION AGAINST OPENTRAVEL AND YOU RELEASE ANY CLAIM (KNOWN OR UNKNOWN NOW EXISTING OR LATER ARISING) AGAINST OPENTRAVEL OR ANY PERSON OR ENTITY THAT HAS CONTRIBUTED TO THE CREATION, REVISION, OR MAINTENANCE OF THE DOCUMENTATION BASED UPON YOUR ACQUISITION, USE, DUPLICATION, DISTRIBUTION, OR EXPLOITATION OF THE DOCUMENTATION. 4. The foregoing liability limitations shall apply to and be for the benefit of OpenTravel, any person who has contributed to the creation, revision or maintenance of the documentation, and any member of the board of directors, officer, employee, independent contractor, agent, partner, or joint venturer of OpenTravel or such person. 5. No Update Obligation. Nothing in this Agreement shall be interpreted as requiring OpenTravel to provide You with updates, revisions or information about any development or action affecting the Documentation. 6. Application to Successors and Assignees. This Agreement shall apply to the use of the Documentation by any of Your successors or assignees. 7. Term. The term of this Agreement shall continue, unless terminated by OpenTravel. OpenTravel may terminate this Agreement immediately upon Your breach of this Agreement and, upon such termination You will cease all use duplication, distribution, and/or exploitation of the Documentation in any manner. You agree that the terms of this Agreement shall amend and supercede any Agreement that You have previously entered with the OpenTravel regarding Documentation that You have downloaded. 8. Restricted Rights. Any Documentation that is used for or on behalf of the United States of America, its agencies and/or instrumentalities ("U.S. Government"), is provided with Restricted Rights. Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c) (1) and (2) of the Commercial Computer Software - Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is the OpenTravel™ Alliance. 9. Interpretation and Choice of Forum. The law of the Commonwealth of Virginia and any applicable Federal law shall govern this Agreement. Any disputes arising from or relating to this Agreement shall be resolved in the courts of the Commonwealth of Virginia, including Federal courts. You consent to the jurisdiction of such courts and agree not to assert before such courts any objection to proceeding in such forum. 10. License to OpenTravel. 10.1. You hereby grant to OpenTravel and each OpenTravel Member Company (as defined by the OpenTravel Membership Agreement) and its Affiliates a non-exclusive, irrevocable, non-transferable, royalty-free, worldwide license under Your and Your company’s Affiliates’ Necessary Claims to make, have made, use, import, offer to sell, and otherwise distribute and dispose of Compliant Portions, with the right to sublicense to other Member Companies and their Affiliates. 11. The following terms shall have their indicated meaning: “Compliant Portions” means those specific portions of products (hardware, software, or combinations thereof) that implement and are compliant with the OpenTravel Specifications. “Necessary Claims” means claims of a patent, patent application, or provisional patent application that (a) are owned or controlled by You and/or Your Affiliates, including, without limitation, any patent or patent application that claims the benefit of the filing date of such patents, patent applications, or provisional patent applications, and (b) are necessarily infringed by implementing all or portions of an OpenTravel Specification. A claim is necessarily infringed only when it is not possible to avoid infringing such claim because there is no technically and commercially reasonable alternative for implementing those portions of the OpenTravel Specification within the bounds of the Scope. Notwithstanding the foregoing, necessary claims do not include any claims that if licensed would require a payment of royalties by You to an unaffiliated third party unless the OpenTravel first agrees to pay any and all of such royalties. “OpenTravel Specification” means any adopted draft specification promulgated by the OpenTravel. “Scope” means the protocols, data formats, schema, and electrical signaling characteristics disclosed in or required by an OpenTravel Specification, excluding those specifications merely referenced in an OpenTravel Specification that were developed and publicized outside of the OpenTravel. 12. Acceptance. Your acceptance of this Agreement will be indicated by Your affirmative acquisition, use, duplication, distribution, or other exploitation of the Documentation. If you do not agree to these terms, please cease all use of the Documentation now. 13. Questions. Questions about the Agreement should be directed to the Executive Director at valyn.perini@opentravel.org