30 marca 2010

IBM WebSphere Application Server V8.0 Alpha ze wsparciem dla Java Enterprise Edition 6.0

Jeśli czegokolwiek kiedykolwiek sobie marzyłem, to pracować z narzędziami i produktami, które lubię - najlepiej, aby były ze stajni Java EE i to w młodych wydaniach, np. Java EE 5, albo obecnie Java EE 6.

Można powiedzieć, że w większości czasu to marzenie było wciąż tylko marzeniem i niestety przychodziło mi bawić się z fajnymi technologiami głównie poza firmą. Nie powiem, że nie znajdowałem sobie ciekawych zajęć w ramach tych nieciekawych, ale w dużej jednak mierze część mojej aktywności sprowadzała się do poszukiwania, a to miało swój pierwiastek traconych chwil na poszukiwanie nieznajdowanego :) Projekty były wystarczająco ciekawe, aby do pewnego stopnia mnie angażować (mimo tego nie zaniedbywałem swoich obowiązków i starałem się wykonywać moją pracę na najwyższych notach, co nie zawsze było tak odbierane), ale to co najbardziej mnie kręciło było poza nimi, gdzieś w zaciszu domowego kominka, podczas pracy z projektami spod parasola Apache Software Foundation, Eclipse.org, NetBeans.org, JBoss.org czy SpringSource.org z elementami innych kuźni oprogramowania, jak np. niezbyt popularny, ale mocny narzędziowo OW2 czy SourceForge.

Kiedy przeszedłem do IBMa wiedziałem jedno - będzie dużo softu. Tak dużo, że tylko w moim obszarze technologicznym - IBM WebSphere - jest tyle tego, że z większością dałem sobie spokój i umieściłem na półce "Nieosiągalne". Swój zakres działania zawęziłem do działki IBM WebSphere Business Process Management ze sztandarowym produktem IBM WebSphere Dynamic Process Edition, a od niedawna IBM WebSphere ILOG JRules 7.0. Z wersji na wersję jest coraz ciekawiej i tylko czekać, aż owe słodkości technologiczne wejdą do projektów w Polsce.

Najnowsze wydanie produktów z rodziny WebSphere oznaczone jest numerem 7. Mamy IBM WebSphere Application Server V7, IBM WebSphere ESB V7, IBM WebSphere Process Server V7 i jeszcze kilka innych środowisk uruchomieniowych a z nimi i programistycznych. Dużo trzeba czasu poświęcić na to, aby je wszystkie opanować i mimo moich 4 lat w IBMie wciąż jako mocną stronę uważam administrację nimi, a stronę programistyczną oceniam jedynie na mocne 3, albo powiedzmy (przy dobrym humorze oceniającego) na 4. Jest czym się zajmować. I to mnie kręci.

Z pojawieniem się wersji V7 wszedłem z produktami na poziom Java EE 5, co mój zachwyt wyniosło na poziom prawie, że uwielbienia (patrz: Z Pro JPA 2: zapytania natywne w SQL vs JP QL i peany nt. WAS V7). Czy to z powodu ciągłego oczekiwania, kiedy to IBM ze swoimi produktami dobije do najnowszych acz finalnych specyfikacji Java EE, czy coś zupełnie innego (może ciągła i niezauważalna indoktrynacja korporacyjna), ale ostatecznie mogę zaproponować moim klientom ciekawą platformę, której znajomość pozwala na wejście w bardzo interesujący obszar Java EE 5. A jak pieję z zachwytu! Takiego pracownika mogłaby pozazdrościć każda firma! :-)

Już słyszę głosy w stylu: "I co z tego, skoro Java EE 5 leży na półce od kilku lat, a już pojawiła się nowa odsłona Java EE 6?" I tu leży przyczyna dla mojego wpisu - IBM WebSphere Application Server V8.0 Alpha, która wnosi coś we wspomnianym temacie:

Continued programming model productivity and ease of use enhancements through support for portions of key Java Enterprise Edition 6.0 specifications.

oraz

Simplified development of server-side REST applications using Java API for RESTful Web Services (JAX-RS).

i

Ease of use and security enhancements for Java API for XML Web Services (JAX-WS)

Kiedy to przeczytałem, aż jęknąłem z zachwytu. Gdyby do tego dodać program IBM WebSphere Application Server V7 Feature Pack for OSGi Applications and Java Persistence API (JPA) 2.0 Open Beta wprowadzający w tajniki OSGi Blueprint service specification and Java EE 6 JPA 2.0 along with the ability, optionally, to assemble, deploy and manage applications as a collection of versioned OSGi bundles możnaby spędzić następne miesiące nic innego nie robiąc, jak tylko czytając specyfikacje i próbując sprawdzić ich możliwości i obietnice. A czyż nie tego nam trzeba do własnego rozwoju intelektualno-technologicznego, aby móc w projektach zastosować narzędzie stosowne do problemu?!

Ja poświęciłem się ostatnio rozpoznaniu IBM WebSphere ILOG JRules 7.0, czego namacalnym dowodem jest (angielskojęzyczny) dokument Getting Started with IBM WebSphere ILOG JRules 7.0.2 Trial - Installation. W tym tygodniu 5-dniówka szkoleniowa ZB300 Developing Business Rule Applications with IBM WebSphere ILOG JRules V7.0, aby podsumować to certyfikatem IBM Certified Application Developer - WebSphere ILOG JRules V7.0, więc umoczonym po pachy przez kolejne 2 tygodnie, ale kolejne....ach już nie mogę doczekać się kolejnych - już planuję je z JEE 6. Teraz możnaby napisać, że to obowiązek pracowniczy, a nie inicjatywa i to lubię :-)

A jak Wam idzie rozwój inżynieryjno-technologiczno-produktowy? Przez "inżynieryjno" rozumiem rozwój w kierunku znajomości technik projektowych ze wzorcami projektowymi czy technikami w stylu TDD, BDD czy inne *DD, "technologiczno" technologie w stylu Java EE czy Spring lub OSGi, a "produktowy" to nic innego jak sfera produktów realizujących daną technologie, np. GlassFish, JBoss AS, Geronimo, Mule czy inne morskie robale. Na pewno coś zaplanowaliście, ale jak z realizacją w tak słoneczne dni? Się niechce, co? I tym sposobem wykreślam kilku leniuchowiczów, którzy mogliby aplikować na to samo stanowisko, co ja! ;-)

p.s. Kiedy nie starczy czasu na czytanie i ewaluację produktów samodzielnie, warto rozważyć udział w konferencjach, np. poznański GeeCON 12-14 maja czy warszawska Javarsovia 26 czerwca. Ja będę na tej drugiej (zgadnij której), więc koniecznie musimy przegadać to i owo. Jakby tak połowa moich czytelników zawitała na Javarsovię osiągnęlibyśmy oczekiwane minimum. Ty będziesz, ja będę, wszyscy będą! Zapraszam.