ria shamans
DESCRIPTION
Slides for UAFPUG-40 speech by Eugene Kalosha, Kharkiv, 10 Nov 2012TRANSCRIPT
UAFPUG-40. RIA Shamans.
Падение Повелителя Колец и возвращение короля.
(как их видел малый народ: воспоминания Бильбо и Фродо из Удела, рассказы их друзей и советы Мудрых).
Вместе с извлечениями из Книги Сказаний, переведенные Бильбо в Раздоле.
UAFPUG-40. RIA Shamans.
Рай для системных аналитиков от Adobe.
UAFPUG-40. RIA Shamans.
Или когда рай для аналитиков превращается в ад для разработчиков.
UAFPUG-40. RIA Shamans.
Традиционно при упоминании Flash, мы вспоминаем термины:• Web Dev• Game Dev• Mobile DevНо все ли это?
UAFPUG-40. RIA Shamans.
Enterprise Dev
UAFPUG-40. RIA Shamans.
• Что такое Enterprise разработка?• Чем Enterprise продукты отличаются от:– Комерческих пользовательских продуктов– Freeware/Shareware software– Open Source систем
• К чему готовиться?
UAFPUG-40. RIA Shamans.
Что такое Enterprise разработка?
• он же разработка Корпоративного ПО• он же middle-tier• он же intranet-разработка
UAFPUG-40. RIA Shamans.
UAFPUG-40. RIA Shamans.
Корпоративные приложения - приложения призванные автоматизировать бизнес процессы предприятия.
Например: биллинг, система учёта клиентов, отчетность, бухгалтерия и т. д.
UAFPUG-40. RIA Shamans.
А может наймем миллион индусов? Их уже 1,500,000,000. На
всех хватит.
UAFPUG-40. RIA Shamans.
Adobe Digital Enterprise Platform
Объять необъятное.
UAFPUG-40. RIA Shamans.
Итак вводная. Имеем:• Adobe Live Cycle ES (много-много-много)• Adobe LiveCycle DS (чего-нибудь)• Adobe LiveCycle DS Express (дареному коню в
зубы не смотрят)• BlazeDS (чего-нибудь, из чего-нибудь, и open
source)• LiveCycle DS Community Edition (хм, хм, хм)
UAFPUG-40. RIA Shamans.
А причем тут ADEP?
Adobe Digital Enterprise Platformvs
Live Cycle
UAFPUG-40. RIA Shamans.
Персоны:
Sujit Reddy Gurrala, и кто-бы подумал - Adobe technical evangelist
UAFPUG-40. RIA Shamans.
Чего не дают:• data synchronization,• data paging,• data push,• data conflict management,• publish-subscribe messaging
UAFPUG-40. RIA Shamans.
• Features BlazeDS LCDSData management ServicesClient-Server synchronization +Conflict resolution +Data paging +SQL adapter +Hibernate adapter +Document ServicesLiveCycle remoting +RIA-to-PDF conversion +Enterprise-Class Flex application servicesData access/remoting + +Proxy service + +Automated testing support +Software clustering + +Web tier compiler +
UAFPUG-40. RIA Shamans.
Features BlazeDS LCDSEnterprise IntegrationWSRP generation +Ajax data services + +Flex-Ajax bridge + +Runtime configuration + +Open adapter architecture + +JMS adapter + +Server-side component framework integration + +ColdFusion integration +Offline Application SupportOffl ine data cache +Local message queuing +Real – Time DataPublish and Subscribe messaging + +Real -time data quality of service +RTMP tunneling +
UAFPUG-40. RIA Shamans.
UAFPUG-40. RIA Shamans.
Data Services Core:
• Remote Procedure Call (RPC) services• Message Service• Data Management Service• Managed Remoting.
UAFPUG-40. RIA Shamans.
Какие клинтские части поддерживают Data Services:
• A Flex or AIR application• A HTML5/JS Client application• A Java client application• A Flex AIR mobile application• An Android mobile application• An Objective C client application
UAFPUG-40. RIA Shamans.
Какие API заявлены:
• Java API• AS API• JS API• Objective C API
UAFPUG-40. RIA Shamans.
HTML5?
UAFPUG-40. RIA Shamans.
HTML5vs
Flex
UAFPUG-40. RIA Shamans.
Аналитик (консультант).
• Враг или друг?• Что он умеет и зачем он нужен?• Какой результат он может выдать?
UAFPUG-40. RIA Shamans.
Как видит Аналитиказаказчик:
UAFPUG-40. RIA Shamans.
Как видит АналитикаTeam Lead:
UAFPUG-40. RIA Shamans.
Что есть результатом работы аналитика:• Прототип
Что хочет получить заказчик:• Продукт
UAFPUG-40. RIA Shamans.
Получаем следующее уравнение:
Продукт = Прототип + Х
UAFPUG-40. RIA Shamans.
Чтобы такое сделать, чтобы ничего не делать.
И. Е. Панин (the33cows.com)
UAFPUG-40. RIA Shamans.Создали Data Model:
UAFPUG-40. RIA Shamans.
Деплоим модель на сервер
UAFPUG-40. RIA Shamans.
Сгенерируем код
UAFPUG-40. RIA Shamans.
Как это выглядит в SQL Server:
UAFPUG-40. RIA Shamans.
А вот так выглядит
сгенерированный код:
UAFPUG-40. RIA Shamans.
С моделями разобрались, переходим к бизнес процессам и аналитике.
ADEP Workbench, верный пес на службе у аналитика.
UAFPUG-40. RIA Shamans.
UAFPUG-40. RIA Shamans.
Вроде бы и ничего не нарисовано, а если разобраться:• Открываем базовую задачу (точку входа).• После выполнения, назначается последовательная
задача.• Результатом ее выполнения, есть ветвление задач.• В качестве последней задачи, выступает PDF
форма.
UAFPUG-40. RIA Shamans.
• Просто? – Просто.• Удобно? – Удобно.• А где же обещанный Ад? Опять обманули?• Вас, разработчиков, хлебом не корми,
только дай хорошего человека охаить!!!
UAFPUG-40. RIA Shamans.
В чем сила брат?
(Данила Багров)
UAFPUG-40. RIA Shamans.1-ый круг Ада – Лимб.
Лимб – предел античных праведников. В нем находятся
некрещеные младенцы и добродетельные нехристиане -
мусульманские мудрецы и ученые. Здесь нет мук, но
находящиеся тут вечно скорбят о недоступном им
райском блаженстве. Поэтому возвышенная грусть царит в
этих пределах. Душам Лимба предоставлен высокий замок.
Его окружает родник, по которому проходит Данте «как посуху», минует 7 стен и видит
зеленый луг.
UAFPUG-40. RIA Shamans.
Первый круг. Инсталляция ADEP.• Если вы смогли поставить LiveCycle с первого раза – ваша
карма просто зашкаливает.• Базовая инсталляция системы просто не функциональна.
Система начинает работать только с первым сервис паком.• Для того, чтобы настроить базу данных для продукта, нужно
быть минимум полубогом.• Иногда, во время инталляции необходимо прерываться, и
настраивать конфигурацию вручную, поскольку инсталляция не проходит валидацию и кнопки next не разблокируются.
• На некоторые компьютеры система просто не ставится.
UAFPUG-40. RIA Shamans.
2-ой круг предназначен для сладострастников.
Здесь царствует Минос. Души осужденных
несутся в неистовом вихре. В
этом круговом вихре – герои
древности и герои старофранцузских
романов.
UAFPUG-40. RIA Shamans.
Второй круг. Конфигурация сервера приложений.
У вас есть выбор из 3-х серверов приложений (JBoss, WebSphere, WebLogic). Хотя в любом случае вас ждет грех блуда.
UAFPUG-40. RIA Shamans.
3-ий круг - «с черного неба дождь струится,
проклятый, вечный, грузный, ледяной».
Земля под ногами смердит от жидкой
грязи. На грешников лает Цербер. Здесь же
находится долина чревоугодников.
UAFPUG-40. RIA Shamans.
Третий круг. Настройка контекста.
Вы когда-нибудь пробовали настроить себе отдельный контекст с LCDS?Как не нашли документации? Так это же описано в разделе 157, документа «i-know-where-it-is-234289.html», который сейчас называется «i-don’t-know-where-it-is-9867.pdf». Как не доступен в результатах поиска? Он есть в enterprise подписке, которая сейчас доступна на голландском языке.
UAFPUG-40. RIA Shamans.4-й круг, место для скупцов и расточителей. За пределами
владений Плутоса простираются Стигийские
болота. Там шагают грудью друг на друга бесконечные
шеренги людей, сшибаются и расходятся, одни кричат
«Чего копить?», другие – «Чего швырять?». И те и
другие одинаково казнятся высшей справедливостью,
ибо они нарушили меру человеческую. Среди
стяжателей много священников и монахов
UAFPUG-40. RIA Shamans.
Круг Четвертый. Модели данных и генерация сущностей.
Вот наш аналитик сгенерировал могучую модель данных, а попутно – таблицы в базе данных, и классы для сервисов на Java/AS3, классно.• Но ведь в базе нет ни одного индекса, скажете вы?• А что это за непонятные поля в таблицах данных, для связей
many-to-many?• А почему нельзя сохранить запись с нулевым значением поля
для вторичного ключа? (И тут начинаем танцевать).Похоже вы скупец, жалко им видите ли пару неявных полей добавить.
UAFPUG-40. RIA Shamans.
Стигийское болото 5-ого круга, в грязных водах которого барахтаются
гневливые, чьи «глотки тиной сперло». Видны
огни города Дита, за стенами которого - круги нижнего Ада. На стенах и башнях ужасные видения (Эрихто, Фурии). За ними
пылают огни, распаляющие каменные гробы. Это –«поле мук и выступов башен». Здесь
погребены последователи Эпикура, не верившие в
будущую жизнь.
UAFPUG-40. RIA Shamans.Круг Пятый. Гнев.
У вас Enterprise подписка? Так вы же наш любимый заказчик!!! Engineering Team is working on this issue.Could you please provide us detailed steps to reproduce. А еще было бы неплохо, если бы вы продебажили все, и сказали нам где ошибка, чтобы мы ее не исправляли, а нашли workaround.
UAFPUG-40. RIA Shamans.
6-й круг. Красный город, за стенами
которого начинаются круги Нижнего ада.
Его железные ворота охраняет стража.
Красный город всегда объят пламенем. На
стенах и вершинах башен пляшут
уродливые тени. Мимо него протекают
воды Стикса.
UAFPUG-40. RIA Shamans.
Круг Шестой. Красный город.
• Закономерный вопрос, который возникает по поводу базового Workspace. Почему он написан на Flex 3.6?
• Как кастомизировать Workspace, если он несовместим даже на уровне стилей.
• Приложения написанные на flex 4.6 просто не заводятся в рамках базового приложения на Flex 3.6.
UAFPUG-40. RIA Shamans.
7-й круг. Насилие. Внешний пояс круга образован кипящей
и кровавой водой реки Флегетон, куда по горло погружены
убийцы, тираны, «громилы и
разбойники». Свирепые кентавры
поражают стрелой всякого, кто
пытается высунуться из «алого кипятка».
UAFPUG-40. RIA Shamans.
Круг Седьмой. Насилие.
• Разработка приложений, представляет из себя некое насилие над PC.
• Работа приложений в контексте дебаггера отличается от их работы в контексте Workspace.
UAFPUG-40. RIA Shamans.8-й круг перерезан
десятью рвами. Радиально
пересекающие их мосты ведут к
центру, где находится бездонный колодец. По дну первого рва в
обе стороны бредут толпы сводников и обольстителей. Их бичами подгоняют
рогатые бесы.
UAFPUG-40. RIA Shamans.
Круг Восьмой. Асоциальный.• Boolean(true) != true. При передаче данных из
компонентов в процессы, типы данных иногда ведут себя непредсказуемо. В некоторых случаях, приходится делать: if (Boolean(true).toString().length() == 4)
• Работа с PDF формами невозможна, если у вас нет лицензии на Acrobat Pro (ой мы забыли вас предупредить, но у нас в мануале это есть, вот тут).
• Workbench/Form Designer/Flash Builder периодически зависают, без возможности их реанимации.
• NullPointerException, который падает в модуле пушинга LiveCycle, без особой причины, и который рвет транзакцию на лоскутки.
UAFPUG-40. RIA Shamans.
9-й круг. Ледяное озеро
Коцит. Вмерзшие в
него, томятся предатели.
UAFPUG-40. RIA Shamans.
Круг девятый. Предательство.• Процесс деплоя приложений работает не
стабильно. Особенно это касается Dead Locks и Timeout транзакций.
• Если приложение во время удаления / установки выпало по Timeout, его будет невозможно установить повторно, пока база данных не будет очищена вручную.
• Data Services очень сильно зависят от железа. Для нормальной работы сервера нужен минимум i7 / 32Gb RAM / SSD.
UAFPUG-40. RIA Shamans.
Выводы:
• Проекты делают команды.• Успешные проекты, делают сыгранные
команды.• High Load проекты, делают
квалифицированные команды.• Enterprise продукты, делают индийские
команды.
UAFPUG-40. RIA Shamans.
Почем опиум для народа:• Adobe Live Cycle ES (30k/CPU, min 2 CPU)• Adobe LiveCycle DS (7k/CPU)• Adobe LiveCycle DS Express (free, max 1 CPU)• BlazeDS (free, try to get it working)• LiveCycle DS Community Edition, subscription:– Basic: 1.5k/subscription, min 2 subscriptions (3k)– Premium: 4k/supscription, min 6 subscriptions (24k)
UAFPUG-40. RIA Shamans.
Adobe Enterprise Support
UAFPUG-40. RIA Shamans.
UAFPUG-40. RIA Shamans.