КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Требования и атрибуты качества. Принципы коммерческой деятельности
Принципы коммерческой деятельности Опыт разработчиков программного обеспечения Еще до начала работы над архитектурой Luther в компании Inmedius работали опытные и квалифицированные разработчики программных продуктов. Тем не менее, когда речь зашла о создании Luther, им пришлось приспособиться к ряду новых критериев, в частности: ♦ изучить язык программирования Java; ♦ получить сертификаты Sun Java Programmer; ♦ изучить архитектуру приложений J2EE; ♦ изучить механизмы пакетирования возможностей в рамках спецификаций J2EE и EJB; ♦ научиться пользоваться Java-сервлетами и JavaServer Pages; ♦ обучиться применению различных cлyжб J2EE, предусмотренных в реализации этой спецификации. Архитектура Luther оказала на ведение компанией Inmedius коммерческой деятельности очень заметное влияние. Как мы уже говорили (см. главу 14), для разработки единичных решений требуются обширные ресурсы. Неоптимальное расходование ресурсов и ограниченное восприятие, характерные для процесса разработки единичных систем, препятствуют складыванию глобального мышления. Переход к линейке продуктов на основе архитектуры Luther позволил компании Inmedius сосредоточиться на построении линеек, отказавшись от ориентации на индивидуальные системы. Более того, равно как и в случае с CelsiusTech, Inmedius удалось выйти на новые рынки, которые оказались своеобразным обобщением — как в коммерческом, так и в техническом смысле — тех сегментов рынка, на которых компания присутствовала ранее. При проектировании архитектуры Luther перед сотрудниками компании была поставлена задача удовлетворить два набора взаимодополняющих требований. Первый из этих наборов регулирует вопросы, связанные с конструированием приложений — конкретнее, корпоративных приложений для рабочих «полевого обслуживания». Эти требования видимы для заказчиков, поскольку их неудовлетворение приводит к невозможности исполнения приложений согласно высказанным пожеланиям, — к примеру, в таком случае приложение, которое, в общем, функционирует нормально, может в беспроводной сети работать плохо. Второй набор требований связан с внедрением общей архитектуры для многочисленных продуктов. Соблюдение этих требований сокращает продолжительность интеграции, способствует более оперативному выходу новых продуктов на рынок, повышает качество продукции, упрощает внедрение новых технологий и обеспечивает непротиворечивость продуктов. Обобщенно, требования можно разделить на шесть категорий: ♦ беспроводной доступ; ♦ пользовательский интерфейс; ♦ типы устройств; ♦ существующие процедуры, бизнес-процессы и системы; ♦ конструирование приложений; ♦ распределенные вычисления. Беспроводной доступ По мере выполнения своих функций рабочие постоянно находятся в движении среди разного рода механизмов, множества людей. Кроме того, их деятельность связана с определенным риском. Для взаимодействия с конторскими системами применяемые рабочими устройства должны предусматривать возможность обращения к удаленным серверам и источникам данных. При этом связь с локальной сетью по наземному каналу исключается. Поскольку заказчики Inmedius выставляют к продуктам разные требования, беспроводные сети могут характеризоваться разной пропускной способностью и готовностью. Пользовательский интерфейс Своими конкурентными преимуществами компания Inmedius, помимо прочего, обязана высокоточным пользовательским интерфейсам. Они позволяют рабочим сосредоточиться на выполняемых функциях, не уделяя слишком много внимания взаимодействию с устройством доступа. Устройства различаются по площади экрана, и на каждом из них архитектура Luther должна обеспечивать отображение осмысленной информации. Совершенно не обязательно для этого конструировать единый пользовательский интерфейс, а затем адаптировать его к каждому из типов устройств. В Luther применяется другое решение — архитектура обеспечивает оперативное конструирование интерфейсов, которые фильтруют, синтезируют и объединяют информацию так, что она адекватно отображается на конкретном устройстве и облегчает работу пользователя. Разнообразие устройств Рабочие, обслуживающие технику непосредственно в местах ее расположения, пользуются самыми разными устройствами. Среди них нет ни одного, которое подходило бы для всех рабочих функций в заданных условиях; зато у всех есть те или иные ограничения, которые архитектура Luther должна в обязательном порядке учитывать. От сотрудников Inmedius, таким образом, требовалось выработать решения, ориентированные на повышение производительности для всех возможных устройств — в частности, для следующих: ♦ персональных информационных устройств (personal data assistant, PDA): Palm Pilot, Handspring Visor, vTech Helio, IBM WorkPad, Apple’s Ne\vton и MessagePad 2000; ♦ карманных компьютеров (Pocket PC) наподобие Compaq iPAQ, Casio EM500, HP Jornada и Phillips Nino; ♦ ручных перьевых планшетов на основе операционной системы Windows СЕ: Fujitsu Stylistic, PenCentra и Siemens SIMpad SL4; ♦ ручных компыотеров на основе Windows СЕ с пером и клавиатурой: Vadem Clio, IIP Jornada 700 series, NEC MobilePro, Intermec 6651 Pen Tablet Computer, Melard Sidearm и др.; ♦ переносных компьютеров наподобие Xybcrnaut MA-IV, семейства продуктов Via и устройства Spot от компании Pittsburgh Digital Greenhouse. В зависимости от класса устройства характеризуются разной емкостью дискового пространства, скоростями процессора и набором устройств ввода. Все эти характеристики оказывают значительное влияние на стиль взаимодействия пользователя с устройством. К примеру, переносные компьютеры способны обеспечить рабочего, находящегося на месте выполнения своих функций, практически всеми возможностями настольного компьютера — исполняемые клиентские приложения на них не менее сложны. В таком случае пользователи могут свободно выбирать устройства ввода — в частности, в их распоряжении клавиатура, голосовой ввод, перо и некоторые специализированные устройства. В устройствах класса PDA скорость процессора, необходимая емкость дискового пространства и набор устройств ввода в значительной степени ограничены — соответственно ограничены и механизмы взаимодействия пользователей с этими устройствами. Тем не менее, в отдельных контекстах устройства класса PDA оказываются очень полезными и значительно упрощают выполнение рабочими их функций. Архитектура Luther учитывает разнообразие стилей пользовательского взаимодействия с устройствами, которые ограничиваются возможностями различных аппаратных средств. Существующие процедуры, бизнес-процессы и системы Функционирование большинства предприятий отнюдь не исчерпывается деятельностью рабочих на местах. Информацию, которые они собирают, необходимо сохранять на конторских машинах. Инструкции они в некоторых случаях получают извне; кроме того, существует множество приложений, ориентированных на выполнение традиционных бизнес-процессов. Реагируя на перечисленные потребности, архитектура Luther предусматривает интеграцию своих функций с привычными для рабочих процедурами и процессами. Она позволяет размещать приложения на серверах и в базах данных различных производителей. Кроме того, она упрощает интеграцию приложений с унаследованными системами. Конструирование приложений Стремление к ускорению процесса конструирования приложений было одной из основных предпосылок к созданию архитектуры Luther. Эта задача состоит из нескольких аспектов, включая следующие: ♦ Поощрение повторного использования программных продуктов и упрощение взаимодействия приложений. Эти аспекты позволяют экономить ограниченные ресурсы и не изобретать колесо заново. ♦ Внедрение в корпоративные функции (например, в последовательность технологических операций) стратегии «лучше построить, чем покупать». ♦ Предоставление стабильной платформы для внедрения новых характеристик и инновационных технологий в масштабах приложений — в частности, ♦ механизма определения местоположения (location sensing), автоматического обнаружения и идентификации близлежащих физических объектов и служб, усложненных характеристик пользовательского интерфейса наподобие синтетических опросов. Распределенные вычисления Архитектура Luther снабжает разработчиков корпоративных приложений каркасом и инфраструктурой, которые выравнивают различия в возможностях клиентских устройств и обогащают серверы приложений рядом характеристик, связанных с распределенными вычислениями. ♦ Масштабируемость. Серверный каркас Luther обеспечивает масштабируемость, не оказывая при этом негативного воздействия на производительность. Иначе говоря, введение предметно-ориентированных компонентов, вне зависимости от их количества, никоим образом не влияет на производительность прикладных приложений и не приводит к необходимости реконструкции клиентских приложений. Кроме того, от клиентских приложений требуется удобство реконфигурирования, направленного на освоение новых возможностей. Каркас позволяет приложениям обнаруживать новые возможности и путем динамической автореконфигурации вводить их в действие. ♦ Выравнивание нагрузки. В распределенной среде архитектура Luther обеспечивает выравнивание нагрузки. Большая часть вычислительных операций в приложениях на ее основе выполняется на стороне сервера, после чего результаты отправляются клиентам. Если клиентских обращений к конкретному серверу становится слишком много, инфраструктура сервера приложений обнаруживает увеличение нагрузки и переводит операции обработки на компоненты сервера приложений, расположенные на других серверных узлах предприятия. Корпоративная среда приложений аналогичным образом обнаруживает отказы узлов и с целью возобновления исполнения переводит операции в другие приложения. Выравнивание нагрузки в обоих случаях должно проходить незаметно для пользователя. В первом случае также требуется прозрачность операции по отношению к клиентскому приложению. ♦ Независимость от местоположения. Для того чтобы выравнивание нагрузки стало возможным, требуется распределение предметно-ориентированных прикладных средств. Инструменты, направленные на реализацию этой задачи, заложены в архитектуре Luther. Для динамического изменения местоположения приложения должны быть независимыми от него. ♦ Переносимость. Среды корпоративных приложений, по определению, содержат в своем составе разнородные серверные аппаратные платформы. Каркас архитектуры Luther предусматривает исполнение программных средств на самых разных платформах, обеспечивая тем самым работоспособность корпоративных приложений. 17.3. Архитектурное решение В ответ на предъявленные требования было принято принципиальное архитектурное решение, согласно которому архитектуру Luther следовало сконструировать поверх архитектуры J2EE. У этого решения есть ряд преимуществ. ♦ Архитектура J2EE существует во множестве коммерческих версий от разных производителей. Компоненты, которые потенциально могли оказаться полезными для архитектуры Luther, разрабатывались повсеместно (в частности, речь идет о компонентах технологического управления). ♦ Протокол HTTP, расположенный на верхнем уровне стека TCP/IP, становился основным средством передачи данных. Сам же стек TCP/IP поддерживался различными коммерческими беспроводными стандартами, в том числе IEEE 802.11b. В рамках инфраструктуры беспроводной локальной сети любого веб-клиента можно сделать мобильным. Кроме того, большинство устройств, которые архитектура Luther должна была поддерживать, в свою очередь поддерживают HTTP. ♦ Принятое решение предусматривает отделение пользовательского интерфейса и позволяет реализовать парадигму пользовательского опыта (user experience paradigm). Парадигма эта предполагает, что компьютер станет для рабочего одним из инструментов, причем инструмент этот будет носить ненавязчивый характер. Компьютер, согласно упомянутой парадигме, должен стать естественным расширением инструментов рабочего. При этом он приносит выгоды по части производительности — как самому рабочему, так и компании, в которой тот работает. Далее, эта парадигма декларирует необходимость разработки нескольких представлений корпоративного приложения — по одному для конкретной роли конкретного рабочего. Каждое представление подгоняется под роль, увеличивает производительность и удовлетворенность выполняемой работой и, наконец, фильтрует, объединяет, синтезирует и отображает соответствующую данной роли информацию. Каждое конкретное представление предусматривает использование наиболее подходящих к данной роли устройств ввода. К примеру, если клавиатурный ввод в конкретном случае не подходит, его можно заменить речевым вводом. Если условия работы слишком шумные, имеет смысл обратиться к специализированному устройству ввода — например, диску управления (dial). Поворачивая диск (который закрепляется на униформе рабочего — см. рис. 17.2), пользователь переходит по ссылкам, нажимает кнопки, выбирает положения переключателей и манипулирует другими средствами пользовательского интерфейса, предусмотренными в клиентском приложении, тем самым активизируя их. В средней части диска находится клавиша Enter, предназначенная для нажатия кнопок, переходу по ссылкам и тому подобных действий. Диск применяется и в самых трудных условиях — с ним можно работать даже и толстых перчатках. В главе 5 мы рассматривали тактику реализации практичности под названием «отделение пользовательского интерфейса». В рамках архитектуры Luther эта тактика обеспечивает гибкость, позволяющую менять пользовательский интерфейс, адаптировать его к различным устройствам и потребностям. Здесь, между прочим, проявляется другой атрибут качества — модифицируемость. Это очередное подтверждение нашего постулата о том, что некоторые тактики позволяют реализовывать сразу несколько атрибутов качества. ♦ Рассматриваемое решение позволяет разделять и абстрагировать источники данных. В зависимости от конкретной ситуации использования устройства пользователю могут потребоваться фильтрация, объединение, синтез и отображение данных, исходящих из разнородных источников. Среди этих источников — системы управления базами данных, а также унаследованные приложения, сконструированные на основе корпоративных систем планирования ресурсов с инкапсуляцией корпоративных данных. Сотрудники Inmedius поняли, что при условии абстрагирования и отделения источников данных от приложений, которые к ним обращаются, а также при предоставлении для них четко очерченных стандартных интерфейсов приложения гарантированно придерживаются заданных абстракций и, таким образом, предусматривают возможность повторного использования. Кроме того, некоторые интерфейсы приняты в качестве стандартных (к таким интерфейсам, в частности, относится JDBC/ODBC). Они позволяют трактовать источники данных как абстрактные компоненты, которые при желании можно ввести или извлечь из корпоративного приложения. Рис. 17.3. Представление размещения приложения Luther
На рис. 17.3 изображена схема взаимодействия приложения Luther со средой (элементы J2EE на ней не показаны — отображение приложения на J2EE мы еще обсудим). Во-первых, обратите внимание на отношение (n:1:m) между пользовательскими интерфейсами, приложениями и тем, что сотрудники Inmedius называют компонентами, — иначе говоря, стандартными блоками конструирования функциональности приложения. Приложение Luther является топким; значительная часть его бизнес-логики собрана из существующих компонентой и не привязана к какому-либо конкретному пользовательскому интерфейсу. Обобщенно, прикладной код состоит из следующих элементов: ♦ определение состояния сеанса и управление этим состоянием; ♦ прикладная (то есть не предусматривающая повторного использования) бизнес-логика; ♦ логика, которая делегирует бизнес-запросы соответствующей последовательности вызовов компонентных методов. В этом приложении нет основного метода — зато в нем есть интерфейс прикладного программирования (application programming interface, AP1), выражающий характеристики и функции, которые приложение представляет пользовательским интерфейсам. Пользовательский интерфейс независим от приложения. Он может включать любое подмножество характеристик, применимое к целевому интерфейсу устройства. К примеру, при создании интерфейса для устройства с микрофоном и динамиками, но без дисплея, интерфейс не предлагает средств графики. Теперь попробуем провести углубленный анализ трех основных элементов, показанных на рис. 17.3: пользовательского интерфейса, приложения и компонентов.
Дата добавления: 2015-04-25; Просмотров: 396; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |