piątek, 26 lutego 2010

Jboss 6.0 M2

Pojawiła się druga odsłona kolejnej wersji jboss'a. Co nowego niesie ze sobą. W skrócie servlet 3.0, Jpa 2 oraz resteasy. W sumie mi do pełni szczęścia brakuje jeszcze ejb3.1 w szczególności adnotacji @Singleton na enterprise beans.

Dzięki obsłudze servlet 3.0 oraz cdi (którego implementacja znalazła się w M1) zdecydowałem zrezygnować z google-guice w moim projekcie. Guice wykorzystuje głównie bioblioteka gwt-dispatch. Z racji tego że nie lubię korzystać ze zbyt wielu bibliotek zewnętrznych (utrudnia to maintenance) a guice był wymuszony poprzez gwt-dispatch postanowiłem napisać podobne rozwiązanie do gwt-dispatch tylko bazujące na servlet 3.0 oraz CDI. Jak będzie skończone zapewne coś o tym napisze.

Teraz natomiast chciałem napisać o czymś innym. Mianowicie zaraz po ściągnięciu i uruchomieniu M2, jboss wstał w czasie nie przekraczającym 30 sekund. Na moim sprzęcie "czysty" jboss jeszcze nigdy tak szybko nie wstawał. Pomyślałem więc że po zainstalowaniu mojej aplikacji również doświadczę przyspieszonego startu. Jakież było moje zdziwienie kiedy po deployu czas ten wydłużył się do circa 2 minut 40 sekund. Nie muszę wspominać że tak długo żaden jboss z moją aplikacją mi nie wstawał.

Problem tkwił właśnie w servlet 3.0, otóż mój ear zawiera a jakże war'a a ten w WEB-INF/lib zawiera sporo jarów. Podczas startu jboss skanuje wszystkie te jary i sprawdza czy nie ma w nich adnotacji charakterystycznych dla servlet 3.0. I to właśnie zabiera mu trochę czasu.

Teraz jeszcze nie używam servlet 3.0 więc interesuje mnie całkowite wyłaczenie skanowania w war. Aby to zrobić należy w katalogu WEB-INF umieścić plik jboss-scannning.xml o następującej treści :

<scanning xmlns="urn:jboss:scanning:1.0">
 <!-- Purpose:  Disable scanning for annotations in contained deployment. -->
 </scanning>


Oczywiście można w pełni kontrolować proces skanowania. Na razie ja wyłączam go całkowicie.

Pełny opis struktury tego pliku jest dostępny na stronach wiki jboss'a

środa, 3 lutego 2010

NKTalk - chyba trochę przesadzili

Kiedyś czytałem jakiś artykuł w blogosferze w którym przedstawiciel firmy będącej brokerem reklamowym narzekał na brak api w naszej klasie, podobnego w funkcjonalności do api facebook'a.

Brak tego api komplikuje przeprowadzanie ciekawszych niż li tylko banery lub konkurs akcji reklamowych. Można się spierać czy to dobrze czy źle. Ja tam za tym nie tęsknię. Jednakże jedno zdanie z wypowiedzi tego faceta zapamiętałem, mianowicie że Panowie z n-k czasami zachowują się jak założyciele google i uważają swoją firmę za polskiego google. Pomyślałem sobie, że pewnie trochę w tym przesady ale jak w każdej plotce jest może źdźbło prawdy.

Tyle tytułem wstępu a teraz do rzeczy. Niedawno aktywowałem z czystej ciekawości na swoim profilu w n-k ich odpowiedź na google talk, gg i inne tego typu usługi. Jakież było moje zdziwienie kiedy po aktywowaniu nktalk na dole pojawił się pasek z informacją :
Twoja przeglądarka nie obsługuje NKtalka ...
Nie byłoby w tym nic dziwnego, używam google chrome więc spodziewałem się że mogą być problemy. Zdziwiła mnie natomiast treść komunikatu.
Czyli co mam czekać aż google wyda poprawkę umożliwiającą obsługę nktalka ? Już zapewne w Mountain View powołali zespół który dniami i nocami pracuje nad obsługą nktalk naszej klasy.

Mało obeznany użytkownik mógłby dojść do wniosku że używa złej, przestarzałej przeglądarki. Że wina tego leży po stronie jego przeglądarki a nie tego że n-k po prostu olała silnik webkit i dlatego wyrzuca taki komunikat, którego treść można błędnie zinterpretować.

Ja doskonale rozumiem że nie sposób napisać aplikację webową na wszystkie przeglądarki dostępne na rynku ale to nie znaczy że jeśli moja aplikacja na jakiejś przeglądarce nie chodzi to znaczy że winna jest za to przeglądarka, winny takiemu stanu rzeczy jestem ja, programista i twórca aplikacji który świadomie wybrał takie a nie inne przeglądarki.

To tak jakby starać się uruchomić program z windows na linuksie i podczas próby uruchomienia program rzucałby komunikatem
Twój system operacyjny nie wspiera programu X
Czy nie wygląda to durnie ?
A nie prościej po prostu i zgodnie z prawdą napisać
NKTalk nie wspiera Twojej przeglądarki
Ale jak mniemam maczali w tym palce jacyś spece od marketingu (socjotechniki czy czego tam jeszcze), którzy uznali że tak brzmi wizerunkowo lepiej. A może to tylko zwykłe przeoczenie, literówka, czeski błąd ale mnie jakoś to razi.