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.



26 lutego 2009

SCJP - Test z wątków

Przyszło mi właśnie do głowy takie pytanko testowe pod kątem SCJP - jaki będzie efekt uruchomienia poniższego kodu (odpowiedź do "wytestowania"):
public class ThreadTest {
public static void main(String[] args) {
Thread thread = new Thread(new MyRunnable(), "my thread");

thread.run();
}
}

class MyRunnable implements Runnable {
public void run() {
System.out.print(Thread.currentThread().getName());
}
}
  1. wyświetlenie napisu 'my thread'
  2. wyświetlenie napisu 'main'
  3. brak efektu - żaden napis nie zostanie wyświetlony
  4. program się nie skompiluje
  5. program się skompiluje ale uruchomienie zakończy się wyjątkiem

2 lutego 2009

Konferencja .NET w miejscu Javarsovii 2008

Koledzy ze społeczności .NET postanowili zorganizować konferencję. Impreza nazywa się Communities to Communities i planowana jest na 14 marca 2009 r. Ciekawostką jest, że odbędzie się ona w gmachu Wydziału Biologii Uniwersytetu Warszawskiego przy ulicy Miecznikowa 1 w Warszawie, a więc tam gdzie odbyła się Javarsovia 2008! Impreza organizowana jest przez grupy .NET i pokrewne z całej polski, w tym Warszawską Grupę .NET, Krakowską Grupę Developerów .NET, Poznańską Grupę .NET, Toruńską Grupę Deweloperów .NET, Wrocławską Grupę .NET i jeszcze kilka innych. Javarsovię 2008 organizowała sama jedna (ale za to jaka:) Warszawska Grupa Użytkowników Technologii Java i wypadło świetnie. .NETowcy mają przewagę liczebną; chyba pójdę i przekonam się jak wypadną jakościowo. Wstęp bezpłatny - chyba warto się przejść i poszerzyć nieco horyzonty.