Могу ли я создать серверные Java-классы, OR-сопоставления и клиентские AS-классы из одного описания модели?

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

Вопрос

У меня есть приложение на сервере Java и клиентское приложение Flex. Для моей модели данных у меня есть типичные объекты, такие как Пользователь и т. Д., Которые в основном совпадают в базе данных, коде Java на стороне сервера и коде AS на стороне клиента. Т.е. открытые поля моих классов AS и Java имеют одинаковые имена и имеют те же типы и значения, что и соответствующие поля в таблице базы данных, имя которой совпадает с именем этих классов.

Для соответствия классов Java и таблиц БД я могу использовать любой ORM. Существуют ли какие-либо инструменты для автоматического создания классов AS (и, в идеале, соответствующего шаблонного кода Remoting) из классов Java? Я кратко посмотрел на BlazeDS , но, похоже, есть такие инструменты, по крайней мере я ничего не мог найти об этом.

Конечно, в идеальном мире я бы описал свои элементы данных один раз, и все DDL, Java-код и AS-код были сгенерированы автоматически. Существует ли такой инструмент и достаточно ли он применим?

О да, и было бы здорово, если бы исходный формат мог быть файлами protobuf ...

Примечание. Похоже, это тот же вопрос, что и этот . Ответы там, по-видимому, указывают на то, что, по крайней мере, нет общего инструмента, который «все используют» или это имеет репутацию высокого качества.

Это было полезно?

Другие советы

Единственные известные мне инструменты для генерации классов AS из серверного кода - это встроенные в конструктор Flex мастера для автоматического создания удаленных классов AS из CFC ColdFusion для использования с сервисом AMF на основе ColdFusion.

Что может быть полезно запомнить, так это то, что как только сериализованный объект был получен Flex и для него был создан экземпляр mx.utils.ObjectProxy (это относится к flex Класс RemoteObject и службы на основе AMF, но я предполагаю, что расширение Protocol Buffer будет следовать той же схеме), процесс приведения прокси к классу Actionscript не так уж и сложен. Пока ваш класс Actionscript имеет свойства или методы доступа с именами, которые соответствуют свойствам сериализованного объекта, и псевдоним удаленного объекта, который соответствует типу сериализованного объекта, вы можете преобразовать прокси-объект объекта в удаленный класс без необходимости делать это. любая дополнительная работа.

Как я уже сказал, я не знаю инструмента, который делает то, что вы хотите, но не составит труда создать инструмент для чтения типов и открытых свойств из ваших классов Java или извлечь те же метаданные из буферных файлов вашего протокола и запишите некоторый код Actionscript из этих метаданных. Если вы не можете найти решение, которое соответствует вашим потребностям, вы можете подумать о написании Ant-задачи, скрипта или чего-то другого, что сделает это за вас. Вот что я бы сделал в любом случае.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top