Dokument EJB 3.0 Simplified API składa się z 12 rozdziałów, przy czym 12. rozdział jest dodatkiem o historii dokumentu. Znajomość zmian jakie następowały w dokumencie odzwierciedla bolączki z jakimi przyszło zmagać się twórcom specyfikacji, więc jego znajomość jest równie cenna, jak pozostałych. Natomiast, 11. rozdział jest wyłącznie zestawieniem odnośników do dalszych lektur, więc ten nam odpada. Pozostaje 11 rozdziałów do przeczytania.
Cały dokument to 60 stron pisany w dość przystępnej formie. Mam nadzieję, że moje relacje nie sprowadzą się do kopiowania części dokumentu, co jest nielegalne bez zgody autora (i jeśli zdarzy mi się to popełnić, zaraz proszę o przesłanie informacji).
Rozpoczynam od rozdziału Chapter 1: Introduction.
Celem EJB 3.0 jest:
- uproszczenie tworzenia komponentów EJB, m.in. poprzez uproszczenie EJB API, co zwiększa atrakcyjność specyfikacji
- zgodność z EJB 2.1, co umożliwia migrację do nowego środowiska bez konieczności przepisywania aplikacji
- możliwość jednoczesnego korzystania z EJB 2.1 i EJB 3.0
- wykorzystanie dobrodziejstw nowości Java SE 5 - annotacji, co pozwala na określanie znaczenia klasy/interfejsu w aplikacji bez konieczności utrzymywania zewnętrznych plików, których często trudno było utrzymać aktualne (bez stosowania rozwiązań pomocniczych jak XDoclet - kolejny otwarty projekt, który miał wpływ na specyfikację EJB3)
- zmniejszenie ilości klas/interfejsów do niezbędnego minimum, czyli powrót do korzeni języka Java, do specyfikacji JavaBeans, która była dostępna od jej pierwszych dni (ech, rzeczy proste zwykle pozostają niezauważane)
- usunięcie konieczności rozszerzania klas czy implementacji interfejsów, co przywiązywało nasze komponenty EJB 3.0 ze środowiskiem serwera aplikacyjego. Obecnie zwykła klasa realizująca specyfikację JavaBeans - POJO (ang. plain old java object) gra główne skrzypce.
- uproszczenie konstruowania powiązań między częściami aplikacji za pomocą annotacji, bez konieczności definiowania ich w plikach pomocniczych, np. ejb-jar.xml, web.xml, czy innych.
- wprowadzenie ustawień domyślnych, które można nadpisywać annotacjami, czy (opcjonalnie) deklaracjami w pliku ejb-jar.xml. W poprzedniej wersji specyfikacji wiele domyślnych ustawień było specyficznych dla serwera aplikacyjnego, co powodowało, że wykorzystana wartość domyślna mogła przyjmować różne wartości dla różnych serwerów.
- stworzenie JPA (Java Persistence API) dzięki, któremu zdefiniowano ujednoliconą warstwę zarządzania obiektami trwałymi, gdzie dostarcza się sterowników JPA (np. Hibernate) realizujących kontrakt (podobnie jak sterowniki JDBC w stosunku do JDBC).
- uproszczenie mechanizmu notyfikacji o sytuacjach wyjątkowych w aplikacji
Jednym słowem twórcy specyfikacji nauczyli się oddychać tym samym powietrzem, co projektanci i programiści ze świata rozwiązań otwartych, np. Spring Framework, czy Hibernate i zapożyczyli wiele z rozwiązań. Wpływy tych projektów widać, aż nadto (i stąd moje przekonanie, że Spring Framework+Hibernate nie wprowadza do naszych rozwiązań przemysłowych - tych opartych o standard Java EE 5 - niczego, czego nie byłoby już dostępnego w serwerze aplikacji). Nadeszła ponownie era Java EE.
Brak komentarzy:
Prześlij komentarz