È possibile creare classi Java lato server, mapping OR e classi lato client AS da una singola descrizione del modello?

StackOverflow https://stackoverflow.com/questions/1000163

Domanda

Ho un'applicazione server Java e un'applicazione client Flex. Per il mio modello di dati, ho oggetti tipici, come Utente ecc., Sostanzialmente identici nel database, nel codice Java lato server e nel codice AS lato client. I. e., I campi pubblici delle mie classi AS e Java sono denominati in modo identico e hanno gli stessi tipi e valori dei rispettivi campi nella tabella del database che ha lo stesso nome di quelle classi.

Affinché le classi Java e le tabelle DB corrispondano, posso usare qualsiasi ORM. Esistono strumenti per far sì che le classi AS (e, idealmente, il corrispondente codice della caldaia Remoting) vengano generate automaticamente da quelle Java? Ho dato una breve occhiata a BlazeDS , ma non sembrava avere strumenti del genere, almeno non riuscivo a trovare nulla al riguardo.

Naturalmente, in un mondo perfetto, descriverei i miei elementi di dati una volta e farei generare automaticamente il DDL, il codice Java e il codice AS. Esiste un tale strumento ed è abbastanza utilizzabile?

Oh sì, e sarebbe fantastico se il formato sorgente potesse essere file protobuf ...

Nota : Questa sembra essere la stessa domanda di questo . Le risposte sembrano indicare che almeno non esiste uno strumento comune che "tutti usano" o che ha la reputazione di alta qualità.

Altri suggerimenti

Gli unici strumenti che conosco sono per la generazione di classi AS dal codice server sono le procedure guidate integrate nel generatore Flex per la generazione automatica di classi AS remote dai CFC di ColdFusion da utilizzare con un servizio AMF basato su ColdFusion.

Ciò che può essere utile ricordare è che una volta che l'oggetto serializzato è stato ricevuto da Flex e un'istanza di mx.utils.ObjectProxy è stata creata per questo (questo si riferisce al codice flessibile < > RemoteObject e servizi basati su AMF, ma immagino che un'estensione del Protocollo Buffer segua lo stesso modello), il processo di trasmissione del proxy in una classe Actionscript non è poi così complicato. Finché la classe Actionscript ha proprietà o accessori con nomi che corrispondono alle proprietà sull'oggetto serializzato e un alias Oggetto remoto che corrisponde al tipo di oggetto serializzato, è possibile eseguire il cast del proxy oggetto sulla classe remota senza doverlo fare qualsiasi lavoro extra.

Come ho detto, non sono a conoscenza di uno strumento che fa quello che vuoi, ma non sarebbe troppo difficile creare uno strumento per leggere il tipo e le proprietà pubbliche dalle tue classi Java o estrarre gli stessi metadati dai file del buffer del protocollo e scrivere del codice Actionscript su quei metadati. Se non riesci a trovare una soluzione adatta alle tue esigenze, potresti prendere in considerazione la possibilità di scrivere un'attività Ant o uno script o qualcosa per farlo per te. Questo è quello che vorrei fare comunque.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top