12 marca 2009

TIBCO General Interface – Warstwa widoku dla SOA

O projekcie TIBCO GI dowiedziałem się kilka dni temu. Początkowo sceptyczny w końcu postanowiłem spróbować i przekonać się ile to jest warte. Przedrostek TIBCO mógłby sugerować że chodzi o produkt komercyjny, ale nie tym razem; GI dostępny jest na licencji BSD. Zasadniczo rzecz ujmując GI to biblioteka DHTML (JavaScript + HTML) służąca do budowy aplikacji klasy RIA. Biblioteka sama w sobie jest dosyć niezła, tzn. bogata w dobrze wykonane, ładne i funkcjonalne komponenty typu AJAXowego, ale to dopiero początek zalet. To co mnie w GI zachwyciło to IDE, tj. TIBCO General Interface Builder. Przyznam, że nigdy jeszcze czegoś takiego nie widziałem (może mało widziałem) – IDE wykonane jako aplikacja WWW! Tych którzy chcieli by ewentualnie w tym momencie zakończyć lekturę artykułu – zgorszeni – uspokajam! Jest to naprawdę kawał świetnej roboty… nie, nie pracuje dla TIBCO:) Zacząć przygodę z GIem jest niezwykle łatwo. Wystarczy ze strony General Interface Developer Center pobrać dystrybucję w postaci pliku ZIP, rozpakować i uruchomić GI Builder otwierając w przeglądarce plik GI_Builder.html. Nie trzeba żadnego serwera aplikacyjnego ani nawet serwera WWW. GI Builder to aplikacja DHTML. Zachęcam do przejrzenia filmików dostępnych na stronach Developer Center aby zorientować się jak to wygląda. Dla tych którzy nie poczują dopóki sami nie spróbują przygotowano krótki kurs (ang. tutorial) w którym opisano krok po kroku jak zbudować prostą aplikację opartą na wywołaniu usługi sieciowej (ang. web service). To jest właśnie to co mnie w GIu urzekło najbardziej – łatwość z jaką możemy wywoływać usługi sieciowe i prezentować użytkownikowi wyniki tych wywołań. Poniżej ilustracja pokazująca jak takie wywołanie się definiuje.


Na koniec jeszcze uzasadnienie dla tytułu dzisiejszego artykułu. Dlaczego napisałem, że TIBCO General Interface to warstwa widoku dla SOA? Ano dlatego że uważam że świetnie nadaje się do budowania małych aplikacji wspierających interakcje użytkowników z procesami (poprzez usługi) ale do budowy większych aplikacji monolitycznych już nie koniecznie. Wyobraźmy sobie, że jednym z kroków procesu biznesowego w firmie dla której implementujemy rozwiązanie jest weryfikacja pewnych danych w drodze kontaktu z klientem. Wszystko czego potrzebujemy to formatka która wyświetli listę takich zadań – zadań weryfikacji danych – oraz formatka ze szczegółami pojedynczej sprawy i guzikami odpowiadającymi możliwym wynikom weryfikacji. Oczywiście wspomnianą listę i szczegóły sprawy pobieramy wywołując usługę sieciową. W taki sam sposób zapisujemy wynik weryfikacji.

Brak komentarzy: