Przegląd możliwości API Google Wave

By móc pobawić się z Google Wave i dostępnym API trzeba mieć konto na wavesandbox (formularz zgłoszenia), na które trochę się czeka. Dokumentacja i wszystkie związane z nią materiały dostępne są na code.google.com, a tymczasowy katalog rozszerzeń do Google Wave znajdziemy na wave-samples-gallery.appspot.com. Z problemami dotyczącymi API możemy udać się na listę dyskusyjną google-wave-api.

Co można zrobić za pomocą API?

API Google Wave składa się z dwóch głównych elementów - API Rozszerzeń i API do integrowania Google Wave wewnątrz stron www i innych aplikacji.

Rozszerzenia (Extensions) służą do poszerzania funkcjonalności Google Wave dodają do fal mini-aplikacje, które wchodzą z nimi w interakcje. Można tworzyć roboty (robots) oraz gadżety (gadgets), które wchodzą w interakcje z falą i użytkownikiem tak jakby były uczestnikiem tej fali.

API umożliwiające integrację np. serwisów www z Google Wave (Wave Embedded API) tworzy drugą grupę, która jeszcze nie jest w pełni kompletna (m.in. ze względu na ograniczenia wersji testowej). Jednakże umożliwiają one wstawianie fal na stronach www wraz z podstawowym interfejsem. Fala może służyć do np. komentowania wpisu na blogu, czy publikowania treści.

Jak zbudowana jest Fala?

Budowanie rozszerzeń wymaga znajomości podstaw budowy fali i nazewnictwa poszczególnych jej elementów. Fala (Wave) to tematyczna rozmowa składająca się z jednego, lub większej ilości uczestników (participants). Fala jest dynamiczną encją przechowującą stan i dane historyczne. Jest to żywy twór, który jest modyfikowany na żywo przez uczestników. Fala służy jako kontener dla jednego lub większej ilości "waveletów" (falek ;-)) opisanych poniżej.

wavelet to tematyczna konwersacja rozpoczęta od fali (włączając początkową wiadomość). Wavelet służy jako kontener dla jednej lub większej iliści wiadomości określanych mianem blips. Wavelet jest podstawową jednostką dostępu do danych w fali. Wszyscy uczestnicy waveletu mają pełen dostęp odczyt/zaps do całej jego zawartości. Także zdarzenia jakie mają miejsce wewnątrz API Google Wave operują na tych encjach lub niżej.

Tworząc wavelet wewnątrz fali nie dziedziczysz żadnych praw dostępu od waveleta rodzica. W czasie życia Fali możesz tworzyć prywatne konwersacje, które będą oddzielnymi waveletami. Wavelet może być także stworzony i modyfikowany przez robota, jako jedynego uczestnika. To umożliwia robotom wykorzystanie waveletu do przechowywania prywatnych danych. Tego typu wavelety nigdy nie są widoczne dla użytkownika.

blip to podstawowa jednostka konwersacji i składa się z jednej wiadomości wyświetlanej w wavelecie. Blipy mogą być opublikowane lub mogą być szkicami. Blipy zarządzają swoją treścią poprzez swój "dokument" opisany poniżej. Blipy mogą także zawierać inne blipy jako dzieci tworząc hierarchię blików. Każdy wavelet składa się przynajmniej z jednego blipa-korzenia.

dokument (document) to treść dołączona do blipa. Dokument składa się z danych w formacie XML, które mogą zostać pobrane, zmodyfikowane lub stworzone przez API. Zazwyczaj manipulowanie danymi odbywać się będzie przez stosowne dane nakładkowe, niż bezpośrednią edycję XMLa.

waveEntities

Co to jest Robot i co potrafi?

Robot to zautomatyzowany uczestnik fali. Robot może czytać treść fali, w której uczestniczy, modyfikować zawartość fali, dodawać, czy usuwać uczestników i tworzyć nowe blipy i fale. Generalnie może on praktycznie to samo co każdy inny uczestnik fali.

Możesz wykorzystać robota do wykonywania czynności takich jak:

  • modyfikacja informacji w fali
  • interakcja z uczestnikami fali
  • komunikacja i synchronizacja wiadomości w fali z resztą świata lub z innymi falami
  • pobieranie lub modyfikowanie stanu w udziałach osób trzecich (np. bazy danych)
API robotów będzie jeszcze poszerzane umożliwiając coraz to nowsze zastosowania.

Tworzenie Robota wymaga biblioteki klienckiej (dostępnej na stronie z dokumentacją). Obecnie dostępne są biblioteki dla Javy i Pythona, a sam robot musi być umieszczony na Google App Engine. W wersji finalnej Google Wave roboty będzie można hostować na dowolnych serwerach, jak i będą dostępne biblioteki dla innych języków.

Co to jest Gadżet i co potrafi?

Gadżety to forma dodawania zewnętrznego kodu, któremu nie można ufać, do aplikacji Google. W API Fali gadżety są głównym mechanizmem dla programistów do zmiany wyglądu i funkcjonalności fali.

Większość gadżetów dla innych kontenerów niż Fala mogą w niej działać, jednak nie będą potrafiły wykorzystać zalet tej platformy. Gadżety pisane pod Google Wave mogą wchodzi w interakcję z Falą. Gadżety dla Fali mogą:

  • uzyskać dostęp do bardziej szczegółowego zarządzania stanem
  • uzyskać informacje o obecnym użytkowników i innych uczestnikach fali
  • działać bez problemów z mechanizmem Playback Fali

Gadżety to zazwyczaj proste dodatki, które ułatwiają określone aspekty konwersacji. Przykładowo gadżet może umożliwić uczestnikom Fali możliwość głosowania gdzie pójść na obiad.

Gadżet składa się z kodu client-side (XML, JavaScript, JSON itd.)

Co można osiągnąć integrując Google Wave z własną stroną?

API integracyjne (Wave Embedded API) umożliwia łatwo i szybko dodać narzędzia Fali do własnej strony. API Integracyjne umożliwia umieszczenie fali na dowolnej stronie wraz z jej interfejsem. Użytkownicy odwiedzający stronę mogą skorzystać z udostępnionej fali i dołączyć do niej wysyłając wiadomość, czy pomagając redagować artykuł. Taka fala pojawi się także w twojej skrzynce odbiorczej, co ułatwia agregowanie wszystkich konwersacji prowadzonych na różnych stronach za pomocą różnych fal.

API Integracyjne jest aktywnie rozbudowywane i do czasu premiery Google Wave znacząco zwiększy zakres swoich możliwości. Obecnie żeby móc skorzystać z fali na stronie www trzeba mieć konto w piaskownicy Google Wave. Docelowo planuje się wprowadzić także "anonimowego" użytkownika.

RkBlog

Google Wave, 7 August 2009

Comment article
Comment article RkBlog main page Search RSS Contact