Java EE6 - opinie?

0

Hejka!

od pewnego czasu zbieram się powoli do pisania aplikacji webowej. początkowo miało to działać na EE5 - baza MySQL, ejb3.0, może hibernate, na froncie GWT lub Wicket. mialem juz wstepne projekty mavenowe, prototyp powoli jest ukańczany. calosc miala chodzic na tomcacie.

no i tutaj niedawno sun wystrzelił z EE6. i zastanawiam się czy nie przeskoczyć na nowszą edycję i zmienić serwer na GlassFisha. Ogólnie jestem dość nowy w temacie i głównie boje się braku dokumentacji dla nowych technologii, ogolnej kompatybilnosci itd. Jak uważacie, jest sens pchać się w nowosci?

0
muniek44 napisał(a)

no i tutaj niedawno sun wystrzelił z EE6

Faktycznie, wyskoczyl nagle i bez zapowiedzi ;d

Technologie wchodzace w sklad EE6 sa bardzo dobrze udokumentowane, wystarczy sciagnac specyfikacje i przeczytac. Fakt, ksiazek "JPA2 for dummies" czy "Teach Yourself Web Beans in 12 lessons" jeszcze nie ma, czy popularnych "... in Action".
Jesli chodzi o kompatybilnosc, to EE6 jest wielkim krokiem naprzod jesli chodzi o integracje miedzy roznymi specyfikacjami wchodzacymi w jej sklad. JSR 299 (CDI czy jak kto woli Web Beans) wyglada bardzo ciekawie, ulatwia integracje miedzy np EJB a JSF, dostarcza bardziej rozbudowana dependency injection... Warto spojrzec na Bean Validation. Wiadomo, jak chcesz uzywac Wicketa czy GWT to mozesz, nikt nie broni Ci uzywac jakichs bibiotek nie wchodzacych w sklad EE, ale to juz pewnie wiesz.
Do naszego nowego projektu uzywamy wlasnie EE6, GF3 (przedtem Prelude), i z naszych doswiadczen wynika ze po prostu dziala jak ma dzialac.

Pytanie - aplikacje bedziesz mial z EJB3.x, ale odpalisz ja na tomcacie. Jak tego dokonasz? EJB wymagaja kontenera EJB, zatem jedyna opcja jaka bedziesz mial (jesli chcesz uzyc samego tomcata) to np apache OpenEJB czy jakis inny kontener ktory da sie wbudowac. Korzystanie z EJB to rowniez JTA, JMS itp, czego (goly) tomcat nie ma, dlatego potrzebujesz dodatkowego kontenera.
Co do Hibernate - miales zamiar uzywac jego natywnych API, czy uzywac JPA i jako providera miec Hibernate? Nawet jego tworcy (Gavi King, Emmanuel Bernard) uwazaja ze JPA to wlasciwa droga, i Hibernate 4 bedzie pakowany tak aby JPA (2?) bylo podstawowym interfejsem. Oczywiscie, Hibernate jest bogatszy niz JPA1 (i 2 tez), ale mozna uzywac JPA a tylko w razie koniecznosci korzystac z natywnych funkcjonalnosci. Traci sie jednak wtedy przenosnosc aplikacji do roznych providerow JPA (a kilku jest).

Podsumowujac, mi sie EE6 bardzo podoba, i jestem zadowolony ze pracuje w projekcie ktory z tego korzysta, uwaza to za bardzo ciekawe i przydatne doswiadczenie. Jestem ciakawy innych opinii.

0

no moze faktycznie niefortunnie uzylem tego "wyskoku" :P wot nie sledze uwaznie co sie tam na stronie SUNa dzieje i pojawienie się dla mnie EE6 bylo nowinką :)

dalej - co do EJB, do tej pory korzystałem z WebLogica, ale w sumie jestem oparty na wszelakie propozycje, jeśli jest coś wartego uwagi :) nauka czegos nowego nigdy nie zaszkodziła. i tak, masz rację, podstawą miał być JPA, ten hibernate jak pisałem - "może". tak naprawdę nie mam scisle ustalonych technologii z których muszę skorzystać, a to co przedstawiłem jest wstępnym zamysłem, który jak widać myślę jak ew. przeksztalcić :)

0
:: napisał(a)
muniek44 napisał(a)

no i tutaj niedawno sun wystrzelił z EE6

Faktycznie, wyskoczyl nagle i bez zapowiedzi ;d

Technologie wchodzace w sklad EE6 sa bardzo dobrze udokumentowane, wystarczy sciagnac specyfikacje i przeczytac. Fakt, ksiazek "JPA2 for dummies" czy "Teach Yourself Web Beans in 12 lessons" jeszcze nie ma, czy popularnych "... in Action".
Jesli chodzi o kompatybilnosc, to EE6 jest wielkim krokiem naprzod jesli chodzi o integracje miedzy roznymi specyfikacjami wchodzacymi w jej sklad. JSR 299 (CDI czy jak kto woli Web Beans) wyglada bardzo ciekawie, ulatwia integracje miedzy np EJB a JSF, dostarcza bardziej rozbudowana dependency injection... Warto spojrzec na Bean Validation. Wiadomo, jak chcesz uzywac Wicketa czy GWT to mozesz, nikt nie broni Ci uzywac jakichs bibiotek nie wchodzacych w sklad EE, ale to juz pewnie wiesz.
Do naszego nowego projektu uzywamy wlasnie EE6, GF3 (przedtem Prelude), i z naszych doswiadczen wynika ze po prostu dziala jak ma dzialac.
...

Hmmm, zastanawiam się właśnie na ile odejście od wybranego zestawu, np. pozbycie się jsf i zastąpienie np. wspominanym przez was Wicket może być kłopotliwe? Tracimy wsparcie itp, ale nigdzie nie mogę znaleźć informacji np. jak używać dependency injection (wspominany JSR-299) w wickecie. Jest wsparcie dla mechanizmu springa, guice itp. bibliotek natomiast o integracji z jee 6 nic nie znalazłem.

0

Hmmm, zastanawiam się właśnie na ile odejście od wybranego zestawu, np. pozbycie się jsf i zastąpienie np. wspominanym przez was Wicket może być kłopotliwe? Tracimy wsparcie itp, ale nigdzie nie mogę znaleźć informacji np. jak używać dependency injection (wspominany JSR-299) w wickecie. Jest wsparcie dla mechanizmu springa, guice itp. bibliotek natomiast o integracji z jee 6 nic nie znalazłem.

A rzucałeś okiem na implementację referencyjną JSF-299, czyli Welda? Oto, co jest napisane o Weldzie na oficjalnej stronie:

Keep in mind that CDI is the spec, of which Weld is a straight implementation (no frills). Weld also has some portable extensions for CDI where:

* it might be standardized in the future (Java SE), or
* to bring the core programming model to other web frameworks, such as Wicket.

W dystrybucji Welda znajduje się przykład, jak uzywać go w połączeniu z Wicketem, jest on omówiony w oficjalnej dokumentacji Welda: http://docs.jboss.org/weld/reference/1.0.0/en-US/html/weldexamples.html#numberguess-wicket

Przypuszczam, że po zapoznaniu się z przykładem wszystko powinno być dla Ciebie jasne :).

Nawiasem mówiąć, polecam zainteresować się kiedyś w wolnej chwili frameworkiem JBoss Seam, twórców Welda i JSR-299 i Hibernate. Jest to potężny i bardzo niedoceniony framework, z którego czerpano pełnymi garściami podczas tworzenia JSR-299 i JSF 2.0.

1 użytkowników online, w tym zalogowanych: 0, gości: 1