Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.02.2009, 12:53
Hunter25_09 вне форума Посмотреть профиль Отправить личное сообщение для Hunter25_09 Найти все сообщения от Hunter25_09
  № 1  
Ответить с цитированием
Hunter25_09

Регистрация: Feb 2009
Сообщений: 3
Question JAVA to Flash types

Здравствуйте.

Столкнулся вот с такими проблемами.
Я пишу клиент-серверное приложение. Сервер на java (сервак GlassFish2, среда NetBeans). Клиент пишу на Flash ( только на Flash, не использую какие либо фрайемворки типа BlazeDS и никакого Flex).
Сервак представляет собой WebService. Т.е. общаются клиент и сервер по SOAP.
Проблема передать от сервера клиенту простые типы данных не возникает...
1) Как передать массив с сервера (java) клиенту(Flash (as2))?
2) Есть ли возможность передать объект некоторого сквоего класса?

Есть возможность это решать с помощью сериализаци и десериализации. Но может есть как-дь более простое решение... Если нет, то можете привести пример сериализации, т.к. я с ней не очень знаком...

Да, и переделывать массив в видете строки формата XML - решение не очень, хотелось бы как-дь другого решения...

P.S.: Сил нет больше бороться с этим....=((

Заранее большое спасибо!


Последний раз редактировалось Hunter25_09; 19.02.2009 в 18:02.
Старый 19.02.2009, 15:01
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну так вы сами себе злой Буратино - У Флеша есть родной формат для сериализации и пересылки (AMF), а вы ему XML отдаете...
__________________
Hell is the possibility of sanity

Старый 19.02.2009, 15:56
Foli вне форума Посмотреть профиль Отправить личное сообщение для Foli Найти все сообщения от Foli
  № 3  
Ответить с цитированием
Foli
[+1 04.05.08]

Регистрация: May 2008
Адрес: Czech, Prague
Сообщений: 65
Вы всё не правильно делаете.

Используйте RemoteObject + BlazeDS.
Это очень простое и удобное решение.
Во флексе будете дёргать свои Java - функции, как будтно вы в NetBeans.
Многие ошибочно полагают, что это сложно. Это самый простой метод. Всё равно рано или поздно вы это поймёте. Все через это проходят.


Serializing between AS and Java



Старый 19.02.2009, 17:27
Hunter25_09 вне форума Посмотреть профиль Отправить личное сообщение для Hunter25_09 Найти все сообщения от Hunter25_09
  № 4  
Ответить с цитированием
Hunter25_09

Регистрация: Feb 2009
Сообщений: 3
Спасибо за помощь...
Я так понял иначе никак.... Эххх.... тогда надо все взвесить... и обдумать....
Спасибо за ссылку - почитаю.

Добавлено через 6 часов 48 минут
wvxvw:

Меня заинтересовало вот что, т.к. AMF строится поверх SOAP то можно как то преобразовать формат отправляемого сообщения в AMF(или даже наверное легче изменить на стороне клиента..??) . Если можно, то подскажите как. Я посмотрел таблицу соответсвия типов, массивы простых типов передовать можно спокойно, правда протокол должен быть не SOAP а AMF.


Последний раз редактировалось Hunter25_09; 20.02.2009 в 00:37.
Старый 20.02.2009, 15:50
Foli вне форума Посмотреть профиль Отправить личное сообщение для Foli Найти все сообщения от Foli
  № 5  
Ответить с цитированием
Foli
[+1 04.05.08]

Регистрация: May 2008
Адрес: Czech, Prague
Сообщений: 65
Цитата:
Сообщение от Hunter25_09
Меня заинтересовало вот что, т.к. AMF строится поверх SOAP то можно как то преобразовать формат отправляемого сообщения в AMF(или даже наверное легче изменить на стороне клиента..??)
С такими идеями, я думаю, вам лучше подумать о новой профессии.

Цитата:
Сообщение от Hunter25_09
правда протокол должен быть не SOAP а AMF.
Протокол AMF ещё не предумали

Вопрос:

Если вы используете вэб сервер GlassFish, почему решили отказаться от BlazeDS (как один из вариантов)?

Вы должны чётко представлять все возможные варианты для принятия правильного решения. Я думаю, что вы просто боитесь использовать правильный путь для решения вашей задачи. Вы просто научились работать с WebService и не хотите с ним расставаться.
Но как я уже писал выше, рано или поздно может потребоваться след:

Цитата:
Сообщение от Hunter25_09
2) Есть ли возможность передать объект некоторого сквоего класса?
и тут юные дарования либо растут дальше в своей професии, либо берутся за изобретение велосипеда.


Последний раз редактировалось Foli; 20.02.2009 в 23:13.
Старый 20.02.2009, 16:07
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
AMF = ActionScript Message Format это как бы не протокол... это формат записи данных.
Т.е. вот вы хотите записать (float)1, и у вас есть куча вариантов, как это сделать, чтобы одна программа другую поняла. Вы можете это сделать так: <float>1</float>, а можете так: [побитно] 00000000 00000001 00000000 000000000, а можете так: 00000001 00000001 [первый байт указывает тип передаваемых данных + парсер знает, что если в тртем байте есть указатель а не значение, то значение во втором байте нужно "распаковать" до полноценного float, а не, скажем char]. Но вы это все не видите и никогда, практически, вручную с этим не работаете - у вас уже есть готовые АПИ для сериализации / десериализации. Ну и кроме того, в данном конкретном примере вы выиграете 800% в объеме передаваемой инфы.

Да и это... в общении Флеш - сервер смысл использовать SOAP отсутствует напрочь. Я еще могу представить, зачем можно использовать REST (он все-таки немного по-экономнее) - это если нужно, чтобы ЯваСкрипт мог контактировать с теми же сервисами. Но если такое не планируется, то общаться пересылая ХМЛи туда и обратно - очень не продуктивно.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 20.02.2009 в 16:14.
Старый 21.02.2009, 03:48
Hunter25_09 вне форума Посмотреть профиль Отправить личное сообщение для Hunter25_09 Найти все сообщения от Hunter25_09
  № 7  
Ответить с цитированием
Hunter25_09

Регистрация: Feb 2009
Сообщений: 3
Спасибо всем за помощь! Решил все-таки не использовать ни Flex и BlazeDs и не WebService....=))

BlazeDs использовать не стал, т.к. убил весь день и не смог найти примеров и подробной инфы как связать BlazeDs+NetBeans(GlassFish). Сам принцип этой связки не очень пока ясен... А Flex использовать не могу т.к. это групповой проект и не все на это решатся....

Foli:
Пройдясь по форуму, я заметил, что вы на BlazeDs не мало времени убили... Если вас не затруднит, можете скинуть пару ссылок с инфой... желательно где говорится как связывается java и BlazeDs (ну и с примерами желательно....)
..........................................................................
Так же нашел некоторый компонент на Flash http://www.wellconsidered.be/as3-webservice-component/ он распространяется с исходным кодом, можно подправить некоторые вещи для большей удобности,там все отлично будет работать без всяких затруднений..=))
................................................................................

wvxvw:
Цитата:
в данном конкретном примере вы выиграете 800% в объеме передаваемой инфы
Пример действительно стоящий... формат сообщения решил создать что-то в похожем духе (в 16-й системе). Написать для парсировки несколько методов совсем не сложно, зато можно самому оперировать и изменять как вздумается.....
Вот на таком выборе я остановлюсь (похоже что изобретаю велосипед, но объем передаваемой инфы очень важен....SOAP был действительно плохим выбором, но стремился к универсальности(чтоб клиент можно было написать не только на FLASH))


Последний раз редактировалось Hunter25_09; 21.02.2009 в 03:54.
Старый 21.02.2009, 14:32
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 8  
Ответить с цитированием
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
использую на серваке glassfish, (ejb3)toplink, привожу ссылки по которым все настроил без проблем
http://livedocs.adobe.com/flex/3/htm..._access_4.html
использую ejb3, для инжектирования из флеша пользуюсь либой
http://www.adobe.com/cfusion/exchang...&extid=1089970
http://livedocs.adobe.com/blazeds/1/...ide/index.html
http://www.brucephillips.name/blog/i...m-Java-to-Flex
офф ресурс проджекта
http://opensource.adobe.com/wiki/dis...lazeds/BlazeDS
пользуюсь idea, но
не понял вас про подключении к нетбинсу.. так же как любую другую ява библиотеку, и потом заверните все нужные либы в ear arhiv

в war архиве который скачаете с оффсайта есть все либы и конфиги, просто скопируйте их в свой java проджект и поправьте свой web.xml

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:49.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.