¿Puedo crear clases Java del lado del servidor, mapeo OR y clases AS del lado del cliente a partir de una sola descripción del modelo?
-
05-07-2019 - |
Pregunta
Tengo una aplicación de servidor Java y una aplicación de cliente Flex. Para mi modelo de datos, tengo objetos típicos, como Usuario, etc., que son básicamente los mismos en la base de datos, el código Java del lado del servidor y el código AS del lado del cliente. I. e., Los campos públicos de mis clases AS y Java se nombran de forma idéntica, y tienen los mismos tipos y valores que los campos respectivos en la tabla de la base de datos que tiene el mismo nombre que esas clases.
Para que coincidan las clases de Java y las tablas de base de datos, puedo usar cualquier ORM. ¿Hay alguna herramienta para que las clases AS (y, idealmente, el código de repetitivo de Remoting coincidente) también se generen automáticamente a partir de las de Java? Eché un vistazo a BlazeDS , pero no parece Tengo herramientas como esa, al menos no pude encontrar nada al respecto.
Por supuesto, en un mundo perfecto, describiría mis elementos de datos una vez y tendría autogenerado el DDL, el código Java y el código AS. ¿Existe tal herramienta, y es suficientemente útil?
Ah, sí, y sería genial si el formato de origen pudiera ser archivos protobuf ...
Nota: Parece que esta es la misma pregunta que this . Las respuestas parecen indicar que al menos no hay una herramienta común que " todos utilizan " o que tiene una reputación de alta calidad.
Solución
Otros consejos
Las únicas herramientas que conozco son para generar clases AS a partir de código de servidor son los asistentes integrados en el generador de Flex para generar automáticamente clases remotas de AS de ColdFusion CFC para su uso con un servicio AMF basado en ColdFusion.
Lo que puede ser útil recordar es que una vez que Flex ha recibido el objeto serializado y se ha creado una instancia de mx.utils.ObjectProxy
(esto se relaciona con el código
Como dije, no conozco una herramienta que haga lo que usted quiere, pero no sería demasiado difícil crear una herramienta para leer el tipo y las propiedades públicas de sus clases de Java, o extraer los mismos metadatos. desde los archivos de búfer de su protocolo, y escriba algún código de ActionScript fuera de esos Metadatos. Si no puede encontrar una solución que se ajuste a sus necesidades, puede considerar escribir una tarea de Ant o un script o algo para que lo haga por usted. Eso es lo que haría de todos modos.