

Waldemar Kot,
Główny inżynier systemowy w Oracle
O prelegencie: Jest pasjonatem technologii middleware i Java. Pracuje jako inżynier systemowy w Oracle Polska, do którego trafił w wyniku akwizycji BEA Systems. Zajmuje się doradzaniem Klientom w Europie Środkowej i Wschodniej w wyborze technologii middleware dla realizowanych przez nich projektów z zakresu budowy i integracji aplikacji oraz budowy rozwiązań klasy SOA, EDA i BPM. Specjalizuje się w technologiach middleware związanych z Java, J2EE/JEE oraz Spring, a także technologiach telekomunikacyjnych związanych z IMS (IP Multimedia Subsystem), takich jak SIP, SIP Servlet, czy telecom web services. Stara się także aktywnie uczestniczyć w rozwoju społeczności Java w Polsce. Jest dumnym członkiem Warszawa Java User Group.
Temat: Asynchroniczność, współbieżność i rozproszone przetwarzanie w Java EE
- przykłady z użyciem technologii middleware Oracle: WebLogic Server,
EclipseLink/TopLink JPA i Coherenc
Język: Polski
Abstrakt: Możliwość podziału większego zadania na niezależne i wykonywane równolegle
fragmenty pozwala skrócić czas oczekiwania na odpowiedź oraz w lepszym
stopniu wykorzystać zasoby serwera – zwłaszcza typowych dzisiaj
wieloprocesorowych i wielordzeniowych maszyn. Często też zachodzi potrzeba,
aby wykonywanie zadań było inicjowane niezależnie od żądań generowanych
przez użytkowników aplikacji. Java EE jest zorientowana wokół paradygmatu
żądanie/odpowiedź. Bezpośrednie stosowanie mechanizmów zarządzania wątkami
udostępnianych przez Java SE także jest niezalecane. Wbrew (powszechnemu
niestety) mitowi, nie znaczy to jednak, że aplikacje w środowisku Java EE
nie mogą wykorzystywać asynchronicznego i współbieżnego przetwarzania. Jedną
z możliwości jest skorzystanie z Work Manager i Timer API, udostępnianych od
kilku lat przez wiodące serwery aplikacyjne J2EE/Java EE. Te interfejsy
programistyczne znajdą się także w następnej wersji specyfikacji Java
Enterprise Edition – Java EE 6.
Przetwarzanie może być także rozproszone, tzn. wiele maszyn może
współpracować w ramach grid’u. Grid może obejmować zarówno maszyny
wykonujące określony kod (przetwarzanie danych), jak i maszyny przechowujące
dane (data grid). Pozwala to podnieść wydajność dostępu do danych, poprzez
jego zrównoleglenie, a także przeniesienie części danych z bazy danych do
pamięci. Grid pozwala przy tym utrzymać wysoki poziom niezawodności poprzez
różne mechanizmy klastrowania danych i ich utrwalania.
Ciekawy jest także pomysł połączenia standaryzacji i prostoty technologii
persystencji danych, realizowanych przez Java Persistence API (JPA) z
klastrowaniem, skalowalnością i rozproszonym przetwarzaniem, oferowanymi
przez technologie data grid.
Podczas wystąpienia będą prezentowane praktyczne przykłady skorzystania z
wyżej wymienionych mechanizmów do budowy zaawansowanych aplikacji
serwerowych Java EE, przy pomocy technologii middleware Oracle.