Ktoś ma jakieś doświadczenie w ocenie BlazeDS i GraniteDS? Ciekawi mnie, co jest lepsze w integracji ze Spring/Hibernate.BlazeDS vs. GraniteDS
Odpowiedz
Jeśli szukasz tylko prostych wywołań RPC i wiadomości, poszedłbym z Blaze. Implementacje są bardziej dojrzałe i lepiej sprawdzone, zwłaszcza w odniesieniu do przesyłania wiadomości. Przesyłanie wiadomości w Granite opiera się na komecie i wciąż jest całkiem nowe z tego, co pamiętam. Więcej szczegółów poniżej ...
Blaze DS to w zasadzie stos obejmujący RPC i kilka prostych usług przesyłania wiadomości za pośrednictwem protokołu HTTP. Integracja ze sprężyną jest łatwo osiągalna za pomocą implementacji FlexFactory SpringFactory: wystarczy wpisać nazwę klasy, a znajdziesz kod. Nie oferuje żadnego dodatkowego wsparcia dla rzeczy związanych z Hibernowaniem.
Granit DS dynamicznie rozwija się pod względem funkcji. Bardziej konkuruje z LCDS niż Blaze DS. Obejmuje on możliwość analizowania wykresów obiektów Hibernuj i radzenia sobie z leniwymi serwerami proxy w czysty sposób. Mają też narzędzie o nazwie "Tide", które tworzy analog sesji w kliencie Flex, aby zapewnić wyjątkowość jednostek. Mają także wyraźne wsparcie dla usług dostępnych za pośrednictwem Spring, EJB3 i Seam. Granite ma również narzędzie do generowania klas AS3 z klas Java (chociaż nie jest trudno napisać samemu, jeśli chcesz).
Pracowałem z Granite około rok temu i miałem pewne problemy z uzyskaniem go poprawnie analizować wykresy obiektów; Flash Player rzucił kilka nieprzyjemnych wyjątków niskiego poziomu. Domyślam się, że dokumentacja i wdrożenie dojrzewają od tego czasu, więc nie są to już problemy. Jednak wciąż jestem trochę niezdecydowany, aby go polecić, ponieważ natknąłem się na problemy i przejście na Blaze natychmiast rozwiązało je bez żadnych problemów.
Kilka uwag boczne na komentarze Cliffa:
- GraniteDS zostało utworzone pod koniec 2006 roku, o rok wcześniej BlazeDS. Jest szeroko stosowany w wymagających środowiskach produkcyjnych i może być uważany za dojrzały i sprawdzony niż BlazeDS.
- Przesyłanie komunikatów GraniteDS zostało wprowadzone w wersji 1.0 (pod koniec 2007 r., Kilka tygodni po pierwszym wydaniu BlazeDS), teraz jest bardzo dojrzałe i sprawdzone w wymagających środowiskach produkcyjnych.
- Wyjątki Flash odtwarzacza napotkane przez Cliff są generalnie spowodowane brakiem skompilowania wszystkich wygenerowanych klas AS3 w pliku SWF. Jest to tylko kwestia użycia opcji kompilatora Flex, która wymusza włączenie tych brakujących klas, które są częścią modelu wykresu danych i wymagane w czasie deserializacji, ale nie są jawnie używane w kodzie MXML/AS3.
- Większość GraniteDS użytkowników pochodzących z BlazeDS/LCDS ponieważ te dwie ramy nie mają do czynienia z prawidłowo złożonych modeli danych (brak lub wadliwe wsparcie lazy-loading, złe izolacji transakcji, itp)
Więc, IMHO, chyba że tworzysz małą aplikację z dość trywialnym modelem danych, powinieneś udać się do GraniteDS.