ria shamans

62
UAFPUG-40. RIA Shamans. Падение Повелителя Колец и возвращение короля. (как их видел малый народ: воспоминания Бильбо и Фродо из Удела, рассказы их друзей и советы Мудрых). Вместе с извлечениями из Книги Сказаний, переведенные Бильбо в Раздоле.

Upload: rostyslav-siryk

Post on 14-Jun-2015

2.677 views

Category:

Technology


1 download

DESCRIPTION

Slides for UAFPUG-40 speech by Eugene Kalosha, Kharkiv, 10 Nov 2012

TRANSCRIPT

Page 1: RIA Shamans

UAFPUG-40. RIA Shamans.

Падение Повелителя Колец и возвращение короля.

(как их видел малый народ: воспоминания Бильбо и Фродо из Удела, рассказы их друзей и советы Мудрых).

Вместе с извлечениями из Книги Сказаний, переведенные Бильбо в Раздоле.

Page 2: RIA Shamans

UAFPUG-40. RIA Shamans.

Рай для системных аналитиков от Adobe.

Page 3: RIA Shamans

UAFPUG-40. RIA Shamans.

Или когда рай для аналитиков превращается в ад для разработчиков.

Page 4: RIA Shamans

UAFPUG-40. RIA Shamans.

Традиционно при упоминании Flash, мы вспоминаем термины:• Web Dev• Game Dev• Mobile DevНо все ли это?

Page 5: RIA Shamans

UAFPUG-40. RIA Shamans.

Enterprise Dev

Page 6: RIA Shamans

UAFPUG-40. RIA Shamans.

• Что такое Enterprise разработка?• Чем Enterprise продукты отличаются от:– Комерческих пользовательских продуктов– Freeware/Shareware software– Open Source систем

• К чему готовиться?

Page 7: RIA Shamans

UAFPUG-40. RIA Shamans.

Что такое Enterprise разработка?

• он же разработка Корпоративного ПО• он же middle-tier• он же intranet-разработка

Page 8: RIA Shamans

UAFPUG-40. RIA Shamans.

Page 9: RIA Shamans

UAFPUG-40. RIA Shamans.

Корпоративные приложения - приложения призванные автоматизировать бизнес процессы предприятия.

Например: биллинг, система учёта клиентов, отчетность, бухгалтерия и т. д.

Page 10: RIA Shamans

UAFPUG-40. RIA Shamans.

А может наймем миллион индусов? Их уже 1,500,000,000. На

всех хватит.

Page 11: RIA Shamans

UAFPUG-40. RIA Shamans.

Adobe Digital Enterprise Platform

Объять необъятное.

Page 12: RIA Shamans

UAFPUG-40. RIA Shamans.

Итак вводная. Имеем:• Adobe Live Cycle ES (много-много-много)• Adobe LiveCycle DS (чего-нибудь)• Adobe LiveCycle DS Express (дареному коню в

зубы не смотрят)• BlazeDS (чего-нибудь, из чего-нибудь, и open

source)• LiveCycle DS Community Edition (хм, хм, хм)

Page 13: RIA Shamans

UAFPUG-40. RIA Shamans.

А причем тут ADEP?

Adobe Digital Enterprise Platformvs

Live Cycle

Page 14: RIA Shamans

UAFPUG-40. RIA Shamans.

Персоны:

Sujit Reddy Gurrala, и кто-бы подумал - Adobe technical evangelist

Page 15: RIA Shamans

UAFPUG-40. RIA Shamans.

Чего не дают:• data synchronization,• data paging,• data push,• data conflict management,• publish-subscribe messaging

Page 16: RIA Shamans

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 +

Page 17: RIA Shamans

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 +

Page 18: RIA Shamans

UAFPUG-40. RIA Shamans.

Page 19: RIA Shamans

UAFPUG-40. RIA Shamans.

Data Services Core:

• Remote Procedure Call (RPC) services• Message Service• Data Management Service• Managed Remoting.

Page 20: RIA Shamans

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

Page 21: RIA Shamans

UAFPUG-40. RIA Shamans.

Какие API заявлены:

• Java API• AS API• JS API• Objective C API

Page 22: RIA Shamans

UAFPUG-40. RIA Shamans.

HTML5?

Page 23: RIA Shamans

UAFPUG-40. RIA Shamans.

HTML5vs

Flex

Page 24: RIA Shamans

UAFPUG-40. RIA Shamans.

Аналитик (консультант).

• Враг или друг?• Что он умеет и зачем он нужен?• Какой результат он может выдать?

Page 25: RIA Shamans

UAFPUG-40. RIA Shamans.

Как видит Аналитиказаказчик:

Page 26: RIA Shamans

UAFPUG-40. RIA Shamans.

Как видит АналитикаTeam Lead:

Page 27: RIA Shamans

UAFPUG-40. RIA Shamans.

Что есть результатом работы аналитика:• Прототип

Что хочет получить заказчик:• Продукт

Page 28: RIA Shamans

UAFPUG-40. RIA Shamans.

Получаем следующее уравнение:

Продукт = Прототип + Х

Page 29: RIA Shamans

UAFPUG-40. RIA Shamans.

Чтобы такое сделать, чтобы ничего не делать.

И. Е. Панин (the33cows.com)

Page 30: RIA Shamans

UAFPUG-40. RIA Shamans.Создали Data Model:

Page 31: RIA Shamans

UAFPUG-40. RIA Shamans.

Деплоим модель на сервер

Page 32: RIA Shamans

UAFPUG-40. RIA Shamans.

Сгенерируем код

Page 33: RIA Shamans

UAFPUG-40. RIA Shamans.

Как это выглядит в SQL Server:

Page 34: RIA Shamans

UAFPUG-40. RIA Shamans.

А вот так выглядит

сгенерированный код:

Page 35: RIA Shamans

UAFPUG-40. RIA Shamans.

С моделями разобрались, переходим к бизнес процессам и аналитике.

ADEP Workbench, верный пес на службе у аналитика.

Page 36: RIA Shamans

UAFPUG-40. RIA Shamans.

Page 37: RIA Shamans

UAFPUG-40. RIA Shamans.

Вроде бы и ничего не нарисовано, а если разобраться:• Открываем базовую задачу (точку входа).• После выполнения, назначается последовательная

задача.• Результатом ее выполнения, есть ветвление задач.• В качестве последней задачи, выступает PDF

форма.

Page 38: RIA Shamans

UAFPUG-40. RIA Shamans.

• Просто? – Просто.• Удобно? – Удобно.• А где же обещанный Ад? Опять обманули?• Вас, разработчиков, хлебом не корми,

только дай хорошего человека охаить!!!

Page 39: RIA Shamans

UAFPUG-40. RIA Shamans.

В чем сила брат?

(Данила Багров)

Page 40: RIA Shamans

UAFPUG-40. RIA Shamans.1-ый круг Ада – Лимб.

Лимб – предел античных праведников. В нем находятся

некрещеные младенцы и добродетельные нехристиане -

мусульманские мудрецы и ученые. Здесь нет мук, но

находящиеся тут вечно скорбят о недоступном им

райском блаженстве. Поэтому возвышенная грусть царит в

этих пределах. Душам Лимба предоставлен высокий замок.

Его окружает родник, по которому проходит Данте «как посуху», минует 7 стен и видит

зеленый луг.

Page 41: RIA Shamans

UAFPUG-40. RIA Shamans.

Первый круг. Инсталляция ADEP.• Если вы смогли поставить LiveCycle с первого раза – ваша

карма просто зашкаливает.• Базовая инсталляция системы просто не функциональна.

Система начинает работать только с первым сервис паком.• Для того, чтобы настроить базу данных для продукта, нужно

быть минимум полубогом.• Иногда, во время инталляции необходимо прерываться, и

настраивать конфигурацию вручную, поскольку инсталляция не проходит валидацию и кнопки next не разблокируются.

• На некоторые компьютеры система просто не ставится.

Page 42: RIA Shamans

UAFPUG-40. RIA Shamans.

2-ой круг предназначен для сладострастников.

Здесь царствует Минос. Души осужденных

несутся в неистовом вихре. В

этом круговом вихре – герои

древности и герои старофранцузских

романов.

Page 43: RIA Shamans

UAFPUG-40. RIA Shamans.

Второй круг. Конфигурация сервера приложений.

У вас есть выбор из 3-х серверов приложений (JBoss, WebSphere, WebLogic). Хотя в любом случае вас ждет грех блуда.

Page 44: RIA Shamans

UAFPUG-40. RIA Shamans.

3-ий круг - «с черного неба дождь струится,

проклятый, вечный, грузный, ледяной».

Земля под ногами смердит от жидкой

грязи. На грешников лает Цербер. Здесь же

находится долина чревоугодников.

Page 45: RIA Shamans

UAFPUG-40. RIA Shamans.

Третий круг. Настройка контекста.

Вы когда-нибудь пробовали настроить себе отдельный контекст с LCDS?Как не нашли документации? Так это же описано в разделе 157, документа «i-know-where-it-is-234289.html», который сейчас называется «i-don’t-know-where-it-is-9867.pdf». Как не доступен в результатах поиска? Он есть в enterprise подписке, которая сейчас доступна на голландском языке.

Page 46: RIA Shamans

UAFPUG-40. RIA Shamans.4-й круг, место для скупцов и расточителей. За пределами

владений Плутоса простираются Стигийские

болота. Там шагают грудью друг на друга бесконечные

шеренги людей, сшибаются и расходятся, одни кричат

«Чего копить?», другие – «Чего швырять?». И те и

другие одинаково казнятся высшей справедливостью,

ибо они нарушили меру человеческую. Среди

стяжателей много священников и монахов

Page 47: RIA Shamans

UAFPUG-40. RIA Shamans.

Круг Четвертый. Модели данных и генерация сущностей.

Вот наш аналитик сгенерировал могучую модель данных, а попутно – таблицы в базе данных, и классы для сервисов на Java/AS3, классно.• Но ведь в базе нет ни одного индекса, скажете вы?• А что это за непонятные поля в таблицах данных, для связей

many-to-many?• А почему нельзя сохранить запись с нулевым значением поля

для вторичного ключа? (И тут начинаем танцевать).Похоже вы скупец, жалко им видите ли пару неявных полей добавить.

Page 48: RIA Shamans

UAFPUG-40. RIA Shamans.

Стигийское болото 5-ого круга, в грязных водах которого барахтаются

гневливые, чьи «глотки тиной сперло». Видны

огни города Дита, за стенами которого - круги нижнего Ада. На стенах и башнях ужасные видения (Эрихто, Фурии). За ними

пылают огни, распаляющие каменные гробы. Это –«поле мук и выступов башен». Здесь

погребены последователи Эпикура, не верившие в

будущую жизнь.

Page 49: RIA Shamans

UAFPUG-40. RIA Shamans.Круг Пятый. Гнев.

У вас Enterprise подписка? Так вы же наш любимый заказчик!!! Engineering Team is working on this issue.Could you please provide us detailed steps to reproduce. А еще было бы неплохо, если бы вы продебажили все, и сказали нам где ошибка, чтобы мы ее не исправляли, а нашли workaround.

Page 50: RIA Shamans

UAFPUG-40. RIA Shamans.

6-й круг. Красный город, за стенами

которого начинаются круги Нижнего ада.

Его железные ворота охраняет стража.

Красный город всегда объят пламенем. На

стенах и вершинах башен пляшут

уродливые тени. Мимо него протекают

воды Стикса.

Page 51: RIA Shamans

UAFPUG-40. RIA Shamans.

Круг Шестой. Красный город.

• Закономерный вопрос, который возникает по поводу базового Workspace. Почему он написан на Flex 3.6?

• Как кастомизировать Workspace, если он несовместим даже на уровне стилей.

• Приложения написанные на flex 4.6 просто не заводятся в рамках базового приложения на Flex 3.6.

Page 52: RIA Shamans

UAFPUG-40. RIA Shamans.

7-й круг. Насилие. Внешний пояс круга образован кипящей

и кровавой водой реки Флегетон, куда по горло погружены

убийцы, тираны, «громилы и

разбойники». Свирепые кентавры

поражают стрелой всякого, кто

пытается высунуться из «алого кипятка».

Page 53: RIA Shamans

UAFPUG-40. RIA Shamans.

Круг Седьмой. Насилие.

• Разработка приложений, представляет из себя некое насилие над PC.

• Работа приложений в контексте дебаггера отличается от их работы в контексте Workspace.

Page 54: RIA Shamans

UAFPUG-40. RIA Shamans.8-й круг перерезан

десятью рвами. Радиально

пересекающие их мосты ведут к

центру, где находится бездонный колодец. По дну первого рва в

обе стороны бредут толпы сводников и обольстителей. Их бичами подгоняют

рогатые бесы.

Page 55: RIA Shamans

UAFPUG-40. RIA Shamans.

Круг Восьмой. Асоциальный.• Boolean(true) != true. При передаче данных из

компонентов в процессы, типы данных иногда ведут себя непредсказуемо. В некоторых случаях, приходится делать: if (Boolean(true).toString().length() == 4)

• Работа с PDF формами невозможна, если у вас нет лицензии на Acrobat Pro (ой мы забыли вас предупредить, но у нас в мануале это есть, вот тут).

• Workbench/Form Designer/Flash Builder периодически зависают, без возможности их реанимации.

• NullPointerException, который падает в модуле пушинга LiveCycle, без особой причины, и который рвет транзакцию на лоскутки.

Page 56: RIA Shamans

UAFPUG-40. RIA Shamans.

9-й круг. Ледяное озеро

Коцит. Вмерзшие в

него, томятся предатели.

Page 57: RIA Shamans

UAFPUG-40. RIA Shamans.

Круг девятый. Предательство.• Процесс деплоя приложений работает не

стабильно. Особенно это касается Dead Locks и Timeout транзакций.

• Если приложение во время удаления / установки выпало по Timeout, его будет невозможно установить повторно, пока база данных не будет очищена вручную.

• Data Services очень сильно зависят от железа. Для нормальной работы сервера нужен минимум i7 / 32Gb RAM / SSD.

Page 58: RIA Shamans

UAFPUG-40. RIA Shamans.

Выводы:

• Проекты делают команды.• Успешные проекты, делают сыгранные

команды.• High Load проекты, делают

квалифицированные команды.• Enterprise продукты, делают индийские

команды.

Page 59: RIA Shamans

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)

Page 60: RIA Shamans

UAFPUG-40. RIA Shamans.

Adobe Enterprise Support

Page 61: RIA Shamans

UAFPUG-40. RIA Shamans.

Page 62: RIA Shamans

UAFPUG-40. RIA Shamans.