Лучший способ перенести существующее приложение Flex / Java / Hibernate / MySQL на компакт-диск для портативного дистрибутива? - PullRequest
1 голос
/ 02 февраля 2011

У меня есть типичное Flex-приложение, написанное для использования бэкэнда Java / Hibernate / MySQL. Клиент изменил требования - теперь он хочет распространить его на компакт-диске, где пользователь может просто запустить приложение без какой-либо установки или сетевого подключения.

Каков рекомендуемый путь миграции для этой ситуации?

Для этого мне, безусловно, необходимо исключить веб-сервер и сервер базы данных и адаптировать свое приложение (конечно, с минимально возможным количеством изменений) к автономному приложению, которое поместится на CD / DVD.

Мне удалось экспортировать данные в XML и прочитать их во Flex, но мне интересно, есть ли способ воссоздать структуры данных Hibernate во Flex, чтобы я мог изменить как можно меньше кода. Если это не удастся, есть ли способ сохранить внешний Java / Hibernate внешним по отношению к коду Flex, но получить его без установки Apache Tomcat или MySQL? Какие еще варианты существуют?

Ответы [ 3 ]

3 голосов
/ 04 февраля 2011

Если вам нужен самый простой способ сделать эту работу, вы, вероятно, захотите сохранить уровень обслуживания (т. Е. Java / Hibernate / mySQL), поскольку переключение на AIR означает, что вам придется снова переписать эту логику на flex.Я бы предложил запустить Jetty непосредственно на клиентском компьютере (при условии, что у них есть Java) и использовать HSQLDB в качестве резервного хранилища данных (которое поддерживает только наличие базы данных в памяти).Служите также флэш-файлу от Jetty и укажите в браузере клиента локальный URL-адрес.Еще лучше иметь простое Java-приложение, которое включает в себя встроенный браузер, поэтому экземпляр Jetty будет уничтожен, когда пользователь закроет приложение.

Помимо настройки всего на java-конце, объем кода для перезаписи долженбыть минимальным.

См .:

1 голос
/ 04 февраля 2011

Я также хотел бы использовать приложение AIR. Используйте базу данных SQLite. Я использую его также для некоторых проектов, и он отлично работает. Существуют инструменты импорта из mysql в sqlite (meastro), и если мой поиск в Google был правильным, в hibernate есть диалект для sqlite.

так что я думаю, ты можешь сохранить свой бэкэнд.

=======

ups, извините, теперь я прочитал, что вы не можете установить воздушный двигатель. Так что моя идея плохая.

========

Но что я не могу понять, так это то, что в нем разрешено устанавливать flashplayer для отображения вашего контента, но не разрешается устанавливать в эфир плеер. Где Дейферент? И в мире много компьютеров без флеш плеера. Вы не можете предполагать, что fp установлен в первом случае. Что происходит потом?

======

Другой идеей может быть исполняемый файл.

Я никогда не пробовал, но зацените ссылка

0 голосов
/ 02 февраля 2011

Для автономного приложения вы захотите скомпилировать его как приложение AIR вместо Flex.Мое предложение:

  • Создайте новый проект AIR
  • Копируйте и вставляйте большую часть своей логики, не нужно много настроек
  • Теперь в AIRу вас будет доступ к файловой системе для чтения ваших XML / CSV-данных из SQL Exports

    protected function file_select(event:Event):void
    {   
        file = (event.target as File);
        file.addEventListener(Event.COMPLETE, file_completeHandler);
        file.load();
    }
    
    protected function file_completeHandler(event:Event):void
    {
        var xmlList:XMLList = XML(event.result);
        //Now do your thing with the XML (You will most likely want to change the line above(
    }
    
...