AlpineBits Developer's Getting Started Guide  This document is a quick getting started guideline for ​ developers​ that are implementing the AlpineBits interface.

Context  ● make  sure  you  understand  what  AlpineBits  ​ is  (a  definition  of  an  interface  for  the  exchange  of  touristic  data  based  on  ​ OTA​ )  and  what  AlpineBits  ​ is  not  (a  particular  service or database or software).  ● get the 2014­04 AlpineBits release kit!  ○ dl from ​ http://download.alpinebits.org/AlpineBits_2014­04.zip  ○ the latest release is the one from 2014­12­23 (see pdf)  ○ contains the document (59 page PDF), example files and schema files  ● understand  what  we  mean  when  we  say  ​ client  (the  software   than  initiate  the  comunication with a request) and ​ server​  (the software that answers with a response)  ● understand  what  kind  of  information  can  be  transmitted  ­  for   this  workshop  consider  the parts "FreeRooms" and "GuestRequests" in particular 

Getting started with the docs  ● ● ● ● ● ●

read chapter 1 :)  read chapter 2  take your time, do not underestimate this  think about error handling and logging from the beginning  AlpineBits uses HTTPS (POST requests with multipart­form data)  server  guys:   think  about  getting  a  "officially"  signed  certificate   soon  to  test  with  different clients 

AlpineBits Developer's Getting Started Guide

22/01/2015

Page 1/3 

● client guys: make sure your client accepts CAs used by the servers  ● authentication is HTTP basic auth  ● what  platform  do you  use? How does your platform handle this  (for the client case / for  the server case)?  ○ scripting languages (e.g. PHP) can make use of ​ libcurl​  to do this  ○ .NET  should  have  a  HTTPClient  class  that  can  handle  this  and  one AlpineBits  member has written ​ this software​  and ​ this software​  you might find useful  ○ etc...  ● read chapter 3: the so called house keeping actions  ● do a test setup, e.g. sending getVersion  ● here​  is a very simple PHP sketch to run a client/server in PHP 

FreeRooms and GuestRequests  ● decide what feature you need  ● have a quick look to the first paragraphs of chapters 4.1 and 4.2 

XML  ● the actual "payload" is XML  ● if  you  didn't  already:  get  to  know  XML  and related concepts/technologies (well­formed  documents, validation, ...)  ● you  need  to  parse  XML,  every  platform  supports  this  with  different  strategies  /  APIs:  i.e. SAX, DOM, you might (or might not) want to use XPath  ● how does you database look? existing schema? new schema? ORM? native XML 

OTA / AlpineBits Schemas  ● the  AlpineBits  schema  is  a  subset  of  the  OTA  schema  (​ Open  Travel   Alliance​ ),  currently we use OTA 2010A  ● OTA is large and vast: ​ this tool​  is handy to browse the OTA schema  ● validation: how can you validate on your platform (e.g. xmllint under Linux)?  ● get  the  OTA   XSD  files  (from  the  OTA  site)  and  the  AlpineBits  schema  (from  the  ALpineBits  kit),  AlpineBits  is  a  strict  subschema  of  OTA,  during  test   you  should  validate  against  both  (this  way  we  can  trap  errors  in  our  schema),  during  production  you might want to validate only against AlpineBits  ● besides,  XSD,  we  also  provide  a  schema  in  another  language  (RelaxNG),  you  might  wish to use  ● TIS provides an online validator at ​ http://alpinebits.testingmachine.eu/validator you can  use  if  you  don't have any tools handy (please do not use this tool in an automated way  in production, because it is not running on a server that can manage high traffic) 

FreeRooms  ● read chap 4.1  ● pay  attention  to  the  responses:  we  have  3   levels:  Errors  (data  is  bad,  server  cannot  process   request,  tx  failed)  /  Warnings  (data  is  good,  but  server  cannot  process  AlpineBits Developer's Getting Started Guide

22/01/2015

Page 2/3 

request,  e.g.  data  too  far  in  the  future,  tx  failed)  +  Advisories  (data  good,  processing  OK, but there is some nagging)  ● we  use  the  OTA  code  tables  (you  can  find  the  XLS  file   in  the  OTA  kit)  for  errors/warnings/advisories,  please  use  a  human  readable  description  that  helps  debugging  ● when you test, please do not use real­world data to avoid mixups  ● AlpineBits  lets  you  use  deltas  vs. full  syncs,  but  some  partners  require  deltas and will  get upset if you send the full sync at each exchange 

GuestRequests  ● read chap 4.2  ● note  that  GuestRequests  can  be:  "Anfragen",  "Buchungen",  "Stornos",  not  only  "Anfragen"  ● this  particular  payload  has  "4"  message  types:  client  request,  server  response,  client  ack, server response (success)  ● note  the  use  of  SelectionCriteria  is  meant  to  be   used  as  a  check  to  be  send  sporadically  or   recover  from  data  lost  at  the  client,  but  also  note  the  server  ist  not  required to keep records forever 

General info  ● each chapter contains a "implementation tips" section, that is useful for implementators  ● we use ​ this forum / mailing list​  for our discussions 

AlpineBits Developer's Getting Started Guide

22/01/2015

Page 3/3 

AlpineBits Developer's Getting Started Guide -

Jan 22, 2015 - service or database or software). ○ get the 201404 .... is bad, server cannot process request, tx failed) / Warnings (data is good, but server cannot process ... we use ​this forum / mailing list​ for our discussions. AlpineBits ...

203KB Sizes 2 Downloads 232 Views

Recommend Documents

getting started guide (PDF) - AlpineBits tools for developers
AlpineBits is (of course) language agnostic. • on https://github.com/alpinebits/code-snippets we collect code snippets (currently there is something in C# and in PHP, contributions welcome). • try to see what your environment offers (e.g. libcurl

getting started guide (PDF) - AlpineBits tools for developers
$endpoint is the server's https-url. $cu = curl_init($endpoint); curl_setopt($cu, CURLOPT_RETURNTRANSFER, true); curl_setopt($cu, CURLOPT_POST, true); curl_setopt($cu, CURLOPT_HTTPAUTH,. CURLAUTH_BASIC);. # note https is mandatory! curl_setopt($cu, C

AlpineBits Developer's Getting Started Guide -
Jan 22, 2015 - This document is a quick getting started guideline for ​developers​that ... scripting languages (e.g. PHP) can make use of ​libcurl​ to do this.

Getting started guide - cloudfront.net
Getting started guide. Go to https://openstax.org/adoption? to fill out our two-minute survey and let us know you've adopted OpenStax or are recommending it as ...

Picasa Getting Started Guide
Picasa is free photo management software from Google that helps you find, edit ... To modify what folders on disk Picasa scans for photos, select “Folder Manager” on the ..... Works with an existing Gmail account from Google (not included with.

Getting Started Guide -
NACSCORP — enough for 10% of your class enrollment — so your students can have the option of purchasing a low-cost print version of their book if they prefer. ... Email [email protected] and we'll respond within one business day.

GSA Getting Started Guide
Configuration worksheet—information you will need. Chapter 2 Install, Configure, Crawl, and Search. Installing the GSA. Configuring crawl. Configuring crawler access. Checking crawler progress. Using search for the first time. Troubleshooting commo

AdSense Getting Started Guide
These ads created by advertisers are automatically matched to the content of ... We recommend using larger and wider ad sizes, which tend to perform best. ... It might take about 10 minutes before AdSense shows up on your website. .... *You have the

GSA Getting Started Guide
The first step is to connect your GSA to the network and a notebook computer. ... 10. Version 7. Checking crawler progress. After you have configured the crawler ...

Getting-Started-Guide-Scratch2-CHT.pdf
Page 2 of 17. http://scratch.mit.edu Scratch. 䂶!莚!枫!磥. SCRATCH ฎӞ圵纷ୗ承᥺牐ਙ虏֦胼䄪獺֢ᛔ૩ጱ԰㵕硲Ԫ牏. 㵕向牏蝿瞁牏ᶅ禼޾聅蔩֢ߝ牐. Type to enter text.

Google Ad Manager Getting Started Guide - Bulbrokers.com
HTML and JavaScript that is necessary to integrate one or more ad slots on a ... J. (Optional) Apply targeting criteria. K. (Optional) Under 'Delivery Rate', select ...

Getting Started with Contract4J
are using it on your own risk. Submitting any suggestions, or similar, the ... Go to the Contract4J web-page and download the latest release. In my case it is ... Selecting the JAR files to add to the Contract4J library project's build path.

Background Getting Started - GitHub
four reference projects for building Moai: vs2008, vs2010, Android/NDK and Xcode. ... phone simulator: we've only exposed the desktop input devices supported ...

Getting Started with Contract4J
Go to the Contract4J web-page and download the latest release. In my case it is ... Selecting the JAR files to add to the Contract4J library project's build path.

Getting Started Services
Camera Technique. LIVE HANGOUTS. Digital Darkroom. Jessicka Kohad 2 others. Outdoor Gear Talk. - Hangout. +1. C +2. Moro -. Add a comment... P surt a hangout. Search. ABOUT. Barbara Veloso 23OPM - Landscape Photography. UPCOMING EVENTS. Photo walk 20

Docx4j - Getting Started
o PDF export o OpenDoPE processing. • Capabilities provided by docx4j enterprise edition (as to which see above). • Where you need to work in both Java and .NET, and ... example, French, Chinese, Spanish…), please let us ...... We say “indica

Getting Started - GitHub
Breakpoints are defined by CSS3 media queries, which can either go directly in your CSS (using the. @media directive), or in your stylesheet tags (using the media attribute). The Breakpoint Manager builds on this by letting you also define a copy of

SER - Getting Started
functionality, such as voice mail, can only be implemented by using external applications. ..... having a modular architecture, SER is able to have a core that is very small, fast, and stable. ...... do anything you need to fit your business needs.

Getting Started with CodeXL - GitHub
10. Source Code View . ..... APU, a recent version of Radeon Software, and the OpenCL APP SDK. This document describes ...... lel_Processing_OpenCL_Programming_Guide-rev-2.7.pdf. For GPU ... trademarks of their respective companies.

Getting Started with Go - GitHub
Jul 23, 2015 - The majority of my experience is in PHP. I ventured into Ruby, ... Compiled, Statically Typed, Concurrent, Imperative language. Originally ...

Getting Started Guide.pdf
Sign in. Page. 1. /. 4. Loading… Page 1 of 4. Page 1 of 4. Page 2 of 4. Page 2 of 4. Page 3 of 4. Page 3 of 4. Getting Started Guide.pdf. Getting Started Guide.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying Getting Started Guide.pdf.