úterý 20. září 2011

BeeScale Gadget a využití BeeScale API

Nedávno přibylo k BeeScale cloudu Deltacloud API, kterým je možné jednoduše ovládat vlastní vServery v cloudu RESTful stylem. Nad tímto API lze vybudovat různé aplikace pro ovládání BeeScale a jednou z nich je BeeScale Gadget.

BeeScale Gadget je malá aplikace určená na plochu operačního systému Windows. Umožňuje uživateli nepřetržitě sledovat stav vlastních vServerů a provádět nad nimi dostupné operace. Aplikaci si můžete stáhnout na webu BeeScale.

BeeScale Gadget je naprogramován počítačovými jazyky HTML, CSS a JavaScript, přičemž kód v Javascriptu zastává logiku aplikace. Díky RESTful stylu BeeScale API je dotazování z JavaScriptu velice jednoduchou záležitostí -- pomocí univerzální JavaScriptové knihovny jQuery a AJAXových volání získává BeeScale Gadget aktuální informace a zasílá požadavky do BeeScale přímočaře, mimojiné také díky XML struktuře předáváných dat (aneb ono X v ajaX).

Podívejme se na konkrétní příklad využití BeeScale API javascriptovým/jQuery/AJAX voláním.
$.ajax({
  url: api_url + "instances",
  type: "GET",
  username: username,
  password: api_key,
  success: function(xml) { vm_list_success(xml); },
  error: function() { vm_list_error(); }
});
Zde voláme pomocí jQuery AJAXové volání, do kterého vkládáme entry point BeeScale API, volíme HTTP metodu (GET), zadáváme uživatelské jméno a heslo pro HTTP autentikaci (heslem se zde rozumí API klíč) a nakonec přidáváme callbacky na úspěch a neúspěch. Při úspěšném volání získáme data ve formátu XML, které poté můžeme velmi elegantně zpracovávat pomocí jQuery například takto:
$(xml).find('instance').each(function(index, instance) {
  var id = $(xml).attr('id');
  //...
});
Stejně snadno se pak i do API zapisuje. Stačí jen zvolit jinou metodu volání a případně přiložit potřebná data a volání je hotovo. Komunikace s BeeScale API je skutečně jednoduchá a lze provádět z libovolného počítačového jazyka, který dokáže zprostředkovat HTTP volání a zpracování XML dat.

Žádné komentáře:

Okomentovat