Публикация

Собственно хотел привести пример, да бы не свистеть "абстрактной реализацией", работы флекса с базой террасофта.
ВНЕЗАПНО, оказалось, что api флекса славно пашет под эклипсом(абсолютно бесплатно) и собственно никаких денег кроме как на пиво потрачено не было.
И так задача:
Реализовать подобие раздела террасофта с загрузкой файлов на клиент.
И так технологии, которые были выбраны.
Серверный язык: php. Для php был выбран фреймворк kohana, потому что название неплохое и ... и потому что я не знаю zend'а ;)
Собственно качаем фреймворк - качаем модуль для работы с MS SQL SERVER - качаем PDO драйвер - и можно в полный рост работать с привычным ORM'ом для субд.
В качестве сервиса был выбран http-сервис(не SOAP, oh sh~). Данные между сервером и клиентом ходят в формате JSON. Ну, потому что он легкий, елки-палки.
А теперь несколько слов о главном, а точнее о клиенте.
Вариантов было несколько, о том на чем таки реализовывать клиент. Лично мне крайне хотелось потрогать фреймворк ExtJS. Но в результате был выбран Flex 4 (это который слабо развивается).
Очень удобный функционал, портирования http-службы в классы AS3, мультизагрузка файлов, тонна скинов и, главное, никакой верстки :)

П.С. под катом скрин открытой карточки. Группы и реестр тянутся с http-служб. по сути все работает за счет аякса, только через флешовые объекты.

Нравится

Поделиться

16 комментариев

Юрий, технологически все это круто, но зачем это простому смертному? Какую бизнес-задачу можно решить? :smile:

Ну конкретно этот пример, отображает документы по группам, грузит и выгружает файлы, например.
А вообще при помощи подобной связки можно решить любую бизнес-задачу.
Но цель поста была не в том, что мол "глядите как круто, можно файлы грузить из браузера прям в базу террасофта".
Цель - показать, что строить террасофтно подобные интерфейсы в вебе - затея совсем не хитрая. Ну и конечно же, если кому будет интересно - поделюсь исходниками, без проблем.

А можно ли с помощью этого организовать, например, оформление заявки на кредит на каком нибудь портале банка с попаданием данных в Terrasoft?

"Доленко Юрий" написал:Но в результате был выбран Flex 4

Юрий, я правильно понимаю, что это будет работать на маках тоже? Выглядит неплохо, сколько времени у вас заняло создание прототипа раздела?

"Осауленко Александр" написал:Юрий, я правильно понимаю, что это будет работать на маках тоже?

ну это же браузерное приложение(хотя можно собрать и air). у вас браузер, стоит флеш плэер - пользуйте... Александр, ваши братья "по цеху" крутили же на флексе и на яве(это та, которая слабо развивается) что-то для медицины вроде, нет, по-моему вообще идеальная связка(мощнейший серверный язык + независимый практически ни от чего клиент)

А вот теперь по поводу времени.
Мне с руки писать сервис под kohana ибо на прошлой работе я с ней работал(удобный роутинг, mvc патерн, структура проекта удобная и т.п.), по-этому тут малость не объективно. Для данной задачи - всего несколько операций (вопрос о времени - то написание сервиса(для данной задачи) - МАКСИМУМ пол-рабочего дня). Что касается флекса - клиент писал знакомый, который работает с флексом две недели. Как работать со службами, в буквальном смысле разбирались кликами, пробами и тестами.
Короче срок - два человекодня(пол дня на сервис - пол на клиент). Я к этому и вел, на самом деле...

"Шевченко Юрий" написал:А можно ли с помощью этого организовать, например, оформление заявки на кредит на каком нибудь портале банка с попаданием данных в Terrasoft?

Террасофт - это прекрасная штука. НО не стоит жать себя в ее рамки(в рамки API я имею ввиду), ведь по факту террасофт - это БД
Поетому еще раз. Любая.. э.. ЛЮБАЯ бизнес логика реализуема.
Собственно, это вам ответит любой вменяемый тех. спец. террасофта.

Юрий а можно поподробнее как реализовать связку БД Террасофта Flex. Сейчас есть задача реализовать небольшой веб интерфейс и я тоже смотрел в сторону Flex. Плохо знаком с данной технологией если вы поможете с примером буду вам очень благодарен.

"Мещеринов Иван Александрович" написал:Юрий а можно поподробнее как реализовать связку БД Террасофта Flex.

Для связки необходим посредник, который собственно будет работать с БД. В моем случае - это http-сервис, написанный на пхп. Для работы с MS SQL Server из "чистого" пхп необходимо в php.ini раскоментировать строку php_mssql.dll ну и соотвественно надо в расширениях(папочка ext) иметь эту библеотеку (тут важно, что бы она была именно вашей версии php). Потом вся работа с базой идет аналогично как и с MySQL, только функции уже вида mssql_, а не mysql_. В моем случае (использую фреймворк) все немного иначе, надо скачать модуль(посути набор классов для реализации ОРМ) и еще одну библиеотеку.

Потом из флекса жмете пункт меню Данные - и там можно выбрать с чем именно соеденится (soap, http и т.п. даже можно на лету сгенерировать пхп-классы для работы с БД, но меня это как-то насторожило и я особо не пробовал:) ) так же можно просто указать путь к wsdl схеме и он сам все распарсит - в результате создастся класс, который работает с вашим сервисом. Определяете для операций "слушатели" (функции реакции на ответ) и выкладываете данные уже в контролы. В понедельник - вторник вечером могу выслать вам 700 метров видео-уроков по флексу для начинающих (там все прекрасно и доступно описано практически обо всем).

я буду очень благодарен если вышлите уроки. А какую среду для разработки для Flex использовали? Я так понял ее можно как то в Eclipse SDK прикрутить?

Да можно прикрутить к Еклипсу, но его родное ИДЕ - это флеш билдер.
В целом флеш билдер очень похож на еклипс + там есть дизайн-режим для интерфейса.

А я как понял флеш билдер платный? И скачать с оф сайта почему то не могу его( не могли быть дать линк откуда можно скачать?

Да, он платный. Говорят, что где-то есть сломаный (на каких-нибудь торрентах, например;) ).
На работе все закрыто - не смогу поискать.

"Доленко Юрий" написал:Цель - показать, что строить террасофтно подобные интерфейсы в вебе - затея совсем не хитрая

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

"Ключник Алексей" написал:Юрий, Вам любой более-менее нормальный разработчик на любом языке может за несколько часов наклепать любогопродуктаподобный интерфейс, благо фреймворков для этого существует огромное количество.

Согласен. Только к чему это было сказано? Типа не стоило писать о таких элементарных вещах или что?

"Доленко Юрий" написал:Типа не стоило писать о таких элементарных вещах или что

Да ну при чем тут это? Это только значит, что интерфейс - это даже не пол дела, а основная задача при разработке будет в другом, только и всего. А с точки зрения примера - все отлично :)

"Доленко Юрий" написал:

Здравствуйте Юрий, извините за офтоп, не могу разобраться как отправлять личные сообщения.
Есть интернет магазин привязанный к террасофт, нужна помощь по настройке системы террасофт,
мой мой email 533651собакаmailточкаru Заране спасибо Никита

Показать все комментарии