Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ПО на практике.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
63 Мб
Скачать
☆

Глава 17

Архитектура Luther. Конкретный пример мобильных приложений на основе архитектуры J2EE

(в соавторстве с Таней Басс, Джеймсом Беком, КеллиДолан, КуйвейЛи, АндреасомЛеером, РичардомМартином, Уильямом Россом, Тобиасом Вайсхауплем и Гоегори Железником)8

Бог — в деталях.

Людвиг Muc ван дер Роэ

Функции рабочих, управляющих или обслуживающих крупные транспортные средства (например, танки и самолеты) или объекты промышленной инфраструк­туры (в частности, мосты и нефтяные вышки), крайне трудно компьютеризиро­вать. Поскольку объекты, на которых они трудятся, отличаются большими раз­мерами, работать с ними приходится непосредственно на месте их расположения, на открытом воздухе или в специальных помещениях — ни одна из этих катего­рий не предусматривает возможности применения настольных компьютеров. Та­ким образом, решения, как правило, сводятся к использованию беспроводной инфраструктуры и ручных/бесконтактных вычислительных устройств.

Компания Inmedius, занимающаяся техническим обеспечением квалифициро­ванных операционистов и рабочих по обслуживанию, появилась в 1995 году как продолжение проекта по переносным компьютерам Университета Карнеги-Меллон (см. врезку «История переносных компьютеров»). Начав с разработки еди­ничных продуктов, компания вскоре осознала необходимость в общих решениях с возможностью оперативной подгонки под потребности заказчиков.

Функции, выполняемые квалифицированными рабочими, требуют серьезного конторского обеспечения. Помимо сбора отчетов о проблемах необходимо прово­дить планирование ремонта, учета и повторного заказа устанавливаемых запчас­тей, а также заказа журнала техобслуживания. Подобного рода технологическое управление предполагает взаимодействие квалифицированного рабочего с кон­торским сотрудником, сидящим за настольным компьютером.

Имея в виду создать общую инфраструктуру разработки специализирован­ных решений задач по обслуживанию, компания Inmedius спроектировала архи­тектуру Luther. Основанная на корпоративной apxитектуре Java 2 (Java 2 Enterprise Edition, J2EE), она являет собой приложение универсальной архитектуры J2ЕЕ/ EJB (см. главу 16) в среде, в которой конечный пользователь, действующий в рам­ках беспроводной сети, работает с устройством ограниченных возможностей на входе-выходе и/или ограниченных вычислительных возможностей.

ИСТОРИЯ ПЕРЕНОСНЫХ КОМПЬЮТЕРОВ

Есть мнение, согласно которому первым переносным компьютером стали наручные часы. Изобретенные около 1900 года, они поначалу оказались не способны составить конкурен­цию часам карманным. Действительно, зачем носить часы на запястье, если их можно положить в карман и легко оттуда достать? Зачем покупать новые часы, если старые исправно работа­ют? Все изменилось во время Первой мировой войны, когда для того чтобы солдаты британ­ской армии могли согласованно вступать в атаку, не выпуская из рук оружие, им стали выда­вать наручные часы. После этого такие часы как символ поддержки «парней в окопах» стали необычайно популярны в самой Британии. Сегодня карманные часы встречаются все реже.

К началу 1990-х годов технология вышла на такой уровень, при котором стали реально­стью переносные цифровые полнофункциональные вычислительные устройства. Исследо­вания по применению такого рода устройств, помимо прочих учреждений, проводились в группе по переносным компьютерам (Wearable Group) при Университете Карнеги-Меллон (руководитель группы — Дэн Севёрек (Dan Siewiorek)). Переносные компьютеры в этой груп­пе рассматривались как средство исполнения производственных функций в местах содер­жания крупных транспортных средств (например, самолетов) — иначе говоря, на открытом воздухе или в крупных помещениях наподобие ангаров и железнодорожных депо.

Поскольку акцент ставился на производственные функции, требовалось в первую очередь обеспечить удобство использования и сложность проектного решения, достаточную для до­стижения поставленных задач. Студенты проектировали и конструировали компьютеры, а сотрудники группы по переносным компьютерам проводили с ними эксперименты на реаль­ных рабочих местах. Эксперименты оказались успешными, на переносные компьютеры сфор­мировался спрос, и для его удовлетворения была организована компания Inmedius.

В то же самое время в информационной лаборатории (Media Laboratory) при Массачусет­ском технологическом институте действовала другая группа, сотрудники которой называли себя «borgs». Переносный компьютер они рассматривали как потребительский продукт, при­званный изменить жизнь своего владельца, и старались доказать справедливость этого по­стулата на собственном примере. Они пребывали в постоянном поиске новых вариантов применения такого компьютера и приложений, ориентированных на запоминание данных. В частности, им принадлежат идеи использования проводимости человеческой кожи как сред­ства поддержания сетевых соединений и обмена цифровыми визитными карточками в мо­мент рукопожатия двух владельцев переносных компьютеров.

К концу 1990-х годов две группы объединили свои усилия в деле утверждения перенос­ных компьютеров как академической дисциплины. Крупные коммерческие предприятия на­чали проявлять интерес к предложениям разных компаний по поставкам переносных компью­теров и головных дисплеев. Сегодня, по мере того как аппаратные средства стремятся к большей компактности, а программные средства наращивают сложность (об этом, в част­ности, пойдет речь в настоящей главе), переносные компьютеры имеют все шансы получить серьезное распространение.

-LJB

17.1. Связь с архитектурно экономическим циклом

На рис. 17.1 изображен архитектурно-экономический цикл (Architecture Business Cycle, ABC) компании Inmedius и архитектуры Luther. Среди задач по качеству на рисунке обозначены возможность повторного использования, производитель­ность, модифицируемость, гибкость потребительских устройств, а также возмож­ность взаимодействия со стандартными коммерческими инфраструктурами; все они, как обычно, обусловлены коммерческими задачами заказчика и конечного пользователя.

Рис. 17.1. Архитектурно-экономический цикл компании Inmedius и архитектуры Luther

Факторы влияния на архитектуру

В нижеследующих разделах мы разберем обстоятельства, оказавшие на архитек­туру Luther то или иное воздействие.

Конечные пользователи

Компания Inmedius специализируется на компьютеризации функций квалифи­цированных рабочих. На рис. 17.2 изображен рабочий с одной из аппаратных конфигураций, поддерживаемых приложениями Luther. Рабочий осуществляет производственный процесс, этапы которого выводятся на головной дисплей. Ком­пьютер, в котором в качестве основного входного устройства используется диск управления, закреплен на груди рабочего. Производственный процесс описан в ин­струкции, хранящейся на конторских компьютерах; по мере исполнения его эта­пов (иногда их насчитывается более 500) на переносной компьютер передаются соответствующие страницы инструкции. Посредством системы рабочий сообщает и контору о выполнении отдельных компонентов процесса. К примеру, устано­вив деталь, он указывает ее инвентарный номер; после этого конторские сотруд­ники вносят соответствующие изменения в опись и проводят аналитические дей­ствия, связанные с контролем качества.

Рис. 17.2. Решение от Inmedius в практической деятельности квалифицированного рабочего.

(Перепечатывается с разрешения корпорации Inmedius.)

В зависимости от процесса у рабочих бывают заняты одна или обе руки — следовательно, вводить в компьютер данные они не могут. Более того, в некото­рых случаях во время выполнения своих функций рабочие находятся в дви­жении.

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

Компания-разработчик

Если на основе архитектуры Luther можно будет разрабатывать сложные корпо­ративные решения, затрачивая на это меньше времени, чем на производство еди­ничных систем, компания Inmedius добьется значительного конкурентного пре­имущества. Для этого компании необходимо кардинально повысить оперативность выхода корпоративных решений на рынок. Сохранить конкурентоспособность на целевых рынках Inmedius сможет лишь в том случае, если сократит циклы разра­ботки таких решений до нескольких месяцев.

Разработка решений должна проводиться группами из нескольких десятков инженеров в кратчайшие сроки и с учетом экономических соображений. Необхо­димым условием удовлетворения потребностей заказчика является высокое ка­чество продукции. Кроме того, артефакты поставляемого программного обеспе­чения должны предусматривать легкость проведения модификаций — любые коррективы н улучшения должны вноситься сотрудниками Inmedius без особого труда и не должны подрывать целостность архитектуры первоначального решения.

Технологическая база

В архитектуре Luther отражены новейшие на момент ее создания разработки в об­ласти программного и аппаратного обеспечения. В главе 16 мы рассматривали apxитектуру J2EE, на основе которой для коммерческих организаций разрабаты­ваются корпоративные решения. Она успешно удовлетворяет выставленное к Luther требование относительно возможности взаимодействия с конторскими процессами. Кроме того, J2EE упрощает задачу группировки предметно-ориен­тированных прикладных функций в компоненты, допускающие повторное ис­пользование и разного рода сочетания.

Помимо совершенствования программного обеспечения на Luther оказали воздействие новые аппаратные технологии — в частности, это касается необхо­димости поддержки компактных беспроводных компьютеров с речевым вводом и головными дисплеями с высоким разрешением. С другой стороны, в разных условиях требуются разные типы устройств, для каждого из которых характерен индивидуальный набор возможностей. Отсюда — требование к гибкости Luther в отношении типов поддерживаемых пользовательских интерфейсов.

Влияние архитектуры на компанию

Результаты влияния архитектуры Luther на компанию-разработчика проявляют­ся в областях организационной структуры, опыта разработчиков программного обеспечения и принципов коммерческой деятельности.

Организационная структура

Еще до создания архитектуры Luther компания Inmedius позиционировала себя как поставщика решений; каждое из них создавалось для конкретного заказчика в качестве единичного приложения. С организационной точки зрения крупней­шей инженерной группой в компании была группа решений (Solution Group). Во время разработки архитектуры Luther была создана группа продуктов (Product Group, с группой разработки компонентов (Component Development Group) в своем составе), отвечавшая за конструирование и сопровождение предметно-ориенти­рованных компонентов, из которых сотрудники группы решений составляли кли­ентские продукты. Группа продуктов (Product Group) специализируется на раз­витии общих направлений работы на рынке, в то время как группа решений (Solution Group) занимается проектированием конкретных приложений для кон­кретных заказчиков. Это яркий пример двухэлементной организационной струк­туры, характерной для компаний, действующих в рамках линеек продуктов. Струк­тура эта описана в главе 14 и проиллюстрирована конкретным примером компании CelsiusTech в главе 15.

Опыт разработчиков программного обеспечения

Еще до начала работы над архитектурой Luther в компании Inmedius работали опытные и квалифицированные разработчики программных продуктов. Тем не менее, когда речь зашла о создании Luther, им пришлось приспособиться к ряду новых критериев, в частности:

  • изучить язык программирования Java;

  • получить сертификаты Sun Java Programmer;

  • изучить архитектуру приложений J2EE;

  • изучить механизмы пакетирования возможностей в рамках спецификаций J2EE и EJB;

  • научиться пользоваться Java-сервлетами и JavaServer Pages;

  • обучиться применению различных cлyжб J2EE, предусмотренных в реали­зации этой спецификации.

Принципы коммерческой деятельности

Архитектура Luther оказала на ведение компанией Inmedius коммерческой деятельности очень заметное влияние. Как мы уже говорили (см. главу 14), для разработки единичных решений требуются обширные ресурсы. Неоптимальное расходование ресурсов и ограниченное восприятие, характерные для процесса разработки единичных систем, препятствуют складыванию глобального мышле­ния. Переход к линейке продуктов на основе архитектуры Luther позволил ком­пании Inmedius сосредоточиться на построении линеек, отказавшись от ориента­ции на индивидуальные системы. Более того, равно как и в случае с CelsiusTech, Inmedius удалось выйти на новые рынки, которые оказались своеобразным обоб­щением — как в коммерческом, так и в техническом смысле — тех сегментов рынка, на которых компания присутствовала ранее.