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.

6 marca 2009

Mam SCJP 6

Zebrałem się w sobie i poszedłem na egzamin. Co prawda uczyłem się pod kątem SCJP 5, ale stwierdziłem że... no cóż, SCJP 6 będzie lepiej wyglądało "w papierach" a różnice są nie wielkie więc nie powinno być problemów. Powiem szczerze, że nie przypominam sobie żeby jakiekolwiek z pytań które miałem na egzaminie odwoływało się do nowinek Javy 6. W sumie czuje się trochę zaskoczony tym egzaminem. Zaskoczony jestem w tym sensie, że raptem tylko 3-ech czy 4-ech odpowiedzi udzieliłem opierając się w dużej mierze na wyczuciu, zamiast li tylko na wiedzy, tymczasem jak się okazało popełniłem aż 9 błędów (na 72 pytania). Potwierdza to jedno - egzamin jest podchwytliwy i łatwo jest przeoczyć zmyłki i triki autorów egzaminu. Suma summarum zdałem uzyskując 87% punktów.