Puis-je créer des classes Java côté serveur, un mappage OR et des classes AS côté client à partir d'une description de modèle unique?

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

Question

J'ai une application serveur Java et une application client Flex. Pour mon modèle de données, j'ai des objets typiques, tels que Utilisateur, etc., qui sont fondamentalement les mêmes dans la base de données, le code Java côté serveur et le code AS côté client. Par exemple, les champs publics de mes classes AS et Java sont nommés de manière identique et ont les mêmes types et valeurs que les champs respectifs de la table de base de données, qui porte le même nom que ces classes.

Pour que les classes Java et les tables de base de données correspondent, je peux utiliser n’importe quel ORM. Existe-t-il des outils pour que les classes AS (et, idéalement, le code passe-partout Remoting) soient également générées automatiquement à partir de celles en Java? J'ai jeté un coup d'œil à BlazeDS , mais cela ne semblait pas être le cas. avoir des outils comme ça, au moins, je n'ai rien trouvé à ce sujet.

Bien sûr, dans un monde parfait, je décrirais mes données une seule fois et générerais automatiquement le code DDL, le code Java et le code AS. Un tel outil existe-t-il et est-il suffisamment utilisable?

Oh oui, et ce serait génial si le format source pouvait être des fichiers protobuf ...

Remarque: Cela semble être la même question que celle-ci . Les réponses semblent indiquer qu’au moins il n’existe pas d’outil commun que "tout le monde utilise". ou qui a une réputation de haute qualité.

Était-ce utile?

Autres conseils

À ma connaissance, les seuls outils permettant de générer des classes AS à partir du code serveur sont les assistants intégrés à Flex Builder pour la génération automatique de classes AS distantes à partir de CFC ColdFusion à utiliser avec un service AMF basé sur ColdFusion.

Ce qui peut être utile à retenir, c’est qu’une fois que l’objet sérialisé a été reçu par Flex et qu’une instance de mx.utils.ObjectProxy a été créée pour cet objet (cela concerne le code flex RemoteObject et services basés sur AMF, mais j'imagine qu'une extension de tampon de protocole suivrait le même schéma), le processus de conversion du proxy en classe Actionscript n'est pas si compliqué. Tant que votre classe Actionscript a des propriétés ou des accesseurs avec des noms correspondant à ceux de l'objet sérialisé et un alias d'objet distant correspondant au type de l'objet sérialisé, vous pouvez transtyper le proxy d'objet dans la classe distante sans avoir à le faire. tout travail supplémentaire.

Comme je l'ai dit, je ne connais pas d'outil qui fasse ce que vous voulez, mais il ne serait pas trop difficile de créer un outil pour lire le type et les propriétés publiques de vos classes Java, ou extraire ces mêmes métadonnées. à partir de vos fichiers de tampon de protocole et écrivez du code Actionscript à partir de cette métadonnée. Si vous ne trouvez pas de solution adaptée à vos besoins, vous pouvez envisager d'écrire une tâche Ant, un script ou quelque chose qui vous convienne. C’est ce que je ferais quand même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top