2009-01-09 8 views

Antwort

11

Wenn Sie nur für einfache RPC und Messaging suchen, würde ich mit Blaze gehen. Die Implementierungen sind ausgereifter und besser bewährt, insbesondere in Bezug auf Messaging. Das Messaging in Granite basiert auf Comet und ist immer noch ziemlich neu von dem, woran ich mich erinnere. Weitere Details unter ...

Blaze DS ist im Grunde ein Stapel, der RPC und einige einfache Messaging-Dienste über HTTP enthält. Die Integration mit Spring erfolgt einfach mit der SpringFactory-Implementierung von FlexFactory: google einfach den Klassennamen und Sie werden den Code finden. Es bietet keine zusätzliche Unterstützung für Dinge im Zusammenhang mit dem Hibernate.

Granit DS wächst schnell in Bezug auf Funktionen. Es konkurriert mehr mit LCDS als Blaze DS. Es beinhaltet die Fähigkeit, Hibernate-Objektgraphen zu parsen und mit Lazy Proxies sauber umzugehen. Sie haben auch ein Tool namens "Tide", das im Flex-Client ein Analog einer Sitzung erstellt, um die Eindeutigkeit von Entitäten sicherzustellen. Sie haben auch explizite Unterstützung für Dienste, die über Spring, EJB3 und Seam verfügbar gemacht werden. Granite hat auch ein Dienstprogramm zum Generieren von AS3-Klassen aus Ihren Java-Klassen (obwohl dies nicht schwer ist, sich selbst zu schreiben, wenn Sie möchten).

Ich habe vor etwa einem Jahr mit Granite gearbeitet und hatte einige Probleme damit, Objektgraphen korrekt zu analysieren. Der Flash Player würde einige böse Low-Level-Ausnahmen auslösen. Meine Vermutung ist, dass die Dokumentation und Implementierung seither gereift sind, so dass diese keine Probleme mehr sind. Allerdings bin ich immer noch ein bisschen zögerlich, es zu empfehlen, da ich Probleme hatte und zu Blaze wechselte, löste sie sofort ohne Probleme.

1

Ein paar Randnotizen auf Cliff Bemerkungen:

  1. GraniteDS wurde Ende 2006 ins Leben gerufen, um ein Jahr vor BlazeDS. Es wird häufig in anspruchsvollen Produktionsumgebungen eingesetzt und könnte mindestens so ausgereift und bewährt sein wie BlazeDS.
  2. GraniteDS Messaging wurde in der Version 1.0 (Ende 2007, wenige Wochen nach der ersten Veröffentlichung von BlazeDS) eingeführt und ist jetzt auch in anspruchsvollen Produktionsumgebungen sehr ausgereift und bewährt.
  3. Die Flash Player-Ausnahmen, auf die Cliff trifft, werden im Allgemeinen verursacht, indem alle generierten AS3-Klassen in der SWF nicht kompiliert werden. Es ist nur eine Frage der Verwendung einer Flex-Compiler-Option, die die Einbeziehung dieser fehlenden Klassen erzwingt, die Teil des Datengraphenmodells sind und zur Deserialisierungszeit benötigt werden, aber nicht explizit im MXML/AS3-Code verwendet werden.
  4. Die meisten der GraniteDS Benutzer von BlazeDS/LCDS kommen, weil diese beiden Gerüste nicht richtig mit komplexen Datenmodellen (keine oder fehlerhafte faul-Laden-Unterstützung, schlechte Transaktion Isolation usw.)

So zu tun, IMHO, wenn Sie nicht eine kleine Anwendung mit einem eher trivialen Datenmodell entwickeln, sollten Sie zu GraniteDS gehen.

Verwandte Themen