Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Архитектура, впрочем, продемонстрировала себя основой всей методики — как с технической, так и с культурной точки зрения. В некотором смысле, она оказалась тем осязаемым объектом, создание и конкретизация которого заявлялись как конечная цель. В силу своей значимости архитектура оказалась в высшей степени видимой. Власть над ней, но, с другой стороны, и ответственность за ее развитие ложилась на участников компактной, высокопрофессиональной группы архитекторов. В результате была достигнута та «концептуальная целостность» архитектуры, которую Брукс [Brooks 95] считает основным условием успеха любого программного проекта.
Впрочем, с определения архитектуры процесс построения фундамента для долгосрочной разработки лишь начался. Серьезное значение придавалось проверке правильности, которую требовалось провести путем макетирования и с учетом начального опыта практического применения. По мере обнаружения недостатков архитектура подвергалась плавному, контролируемому развитию, которое, начавшись в период первоначальной разработки, продолжилось и в более поздние периоды. Для того чтобы поставить эту естественную эволюцию под контроль, группы сборщиков и архитекторов CelsiusTech объединили свои усилия — в результате любые изменения в важнейшие интерфейсы могли вноситься проектировщиками и группами проектировщиков исключительно при условии явного одобрения со стороны архитекторов.
454 Глава 15. CelsiusTech. Конкретный пример разработки линейки продуктов
Такой подход пользовался неограниченной поддержкой руководства проектом, и своей работоспособностью он во многом обязан именно авторитету группы архитекторов. При принятии проектных решений она выступала в качестве центральной, высшей инстанции, которую невозможно было обойти; таким образом, удалось добиться концептуальной целостности.
Созданию линейки продуктов, с одной стороны, и ее поддержанию и развитию — с другой, соответствуют различные организационные структуры. Руководство должно планировать изменения по части кадрового обеспечения, управления, обучения и потребностей компании. Построение жизнеспособной линейки продуктов требует участия архитекторов, обладающих комплексными знаниями в предметной области и высокой инженерной квалификацией. По мере планирования разработки новых продуктов и контроля над развитием линейки приходится обращаться к услугам экспертов в предметной области.
Переориентация CelsiusTech с единичных систем на линейку продуктов сопровождалась обучением и повышением квалификации руководства и технических специалистов. Это именно то, что мы называем возвратным циклом ABC.
15.5. Дополнительная литература
Есть два сообщения, повествующие о переходе CelsiusTech к методике построения линейки продуктов. Первое — составленное сотрудниками Института программной инженерии [Brownsword 96] — послужило основным источником материала для данной главы. Второе — это диссертация, защищенная в шведском университете г. Линкопинг [Cederling 92].
15.6. Дискуссионные вопросы
Можно ли на основе архитектуры CelsiusTech создать систему управления воздушным движением наподобие описанной в главе 6? Могла ли CelsiusTech, напротив, обратиться к архитектуре этой системы? В чем сущностные различия между двумя вариантами архитектуры? В период разработки линейки продуктов SS2000 структура управления CelsiusTech несколько раз претерпевала изменения. Учитывая высказанный нами в главе 7 тезис о том, что структура продукта должна отражать структуру проекта, оцените воздействие этих изменений.Глава 16
J2EE/EJB. Конкретный пример стандартной вычислительной инфраструктуры
(в соавторстве с Анной Лиу2)
Пишется однажды, исполняется везде. Девиз Java от Sun Microsystems
Пишется однажды, тестируется везде. Присказка особо циничных программистов Java
В настоящей главе мы намерены представить вашему вниманию обзор спецификации корпоративной архитектуры Java 2 (Java 2 Enterprise Edition, J2EE) и поподробнее остановиться на одной из ее важнейших частей — системе корпоративных JavaBeans (Enterprise JavaBeans, EJB). J2EE — это стандартное описание методов проектирования и разработки распределенных объектно-ориентированных программ на языке Java, а также передачи данных и взаимодействия между различными компонентами Java. Спецификация EJB содержит описание компонентной модели программирования на стороне сервера. В целом, J2EE, помимо прочего, описывает разного рода корпоративные службы, в частности, именования, транзакций, жизненного цикла компонентов и устойчивости (persistence), а также методы единообразного обслуживания и обращения к службам. Наконец, эта спецификация регламентирует механизм инфраструктурного обслуживания разработчиков приложений производителями, направленный (при условии
456 Глава 16. J2EE/EJB
соответствия стандарту) на переносимость конечного приложения в масштабах любых платформ J2EE.
J2EE/EJB — это лишь одна из многих методик конструирования распределенных объектно-ориентированных систем. В частности, в последнее десятилетие довольно широкое распространение получила обобщенная архитектура построения брокеров объектных запросов (Common Object Request Broker Architecture, CORBA) от рабочей группы по объектному менеджменту (Object Management Group, OMG). Согласно этой архитектуре, брокер объектных запросов (object request broker, ORB) позволяет объектам публиковать их интерфейсы, а клиентским программам (а иногда и другим объектам) — обнаруживать местонахождение удаленных объектов во всей компьютерной сети и запрашивать у них обслуживание. Компания Microsoft предлагает собственную технологию конструирования распределенных систем — она называется. NET. В архитектуре. NET аналогичные возможности построения распределенных объектных систем предоставляются для Windows-платформ.
В начале главы мы рассмотрим коммерческие факторы, обусловившие создание стандартной архитектуры распределенных систем; затем разберем реализацию соответствующих потребностей в архитектуре J2EE/EJB. Ознакомившись с типичными требованиями по качеству, предъявляемыми к веб-приложениям, мы постараемся уяснить механизм их удовлетворения средствами J2EE/EJB.
16.1. Связь с архитектурно-экономическим циклом
На протяжении 1980-х годов соотношение «цена/производительность» для персональных компьютеров постепенно приближалось к аналогичному показателю для профессиональных рабочих станций и «серверов». Этот приток вычислительных мощностей и ускорение сетевых технологий сделал возможным широкое распространение распределенной обработки данных.
В то же время конкурирующие производители компьютеров выпускали новые аппаратные средства, операционные системы и сетевые протоколы. С точки зрения компаний - конечных пользователей, все возрастающая дифференциация продуктов препятствовала внедрению распределенной обработки данных. Как правило, вложив средства в разные вычислительные платформы, в процессе построения распределенных систем в сильно гетерогенной среде компании испытывали значительные трудности.
Для решения этой проблемы в начале 1990-х годов силами рабочей группы по объектному менеджменту (Object Management Group, OMG) была разработана обобщенная архитектура построения брокеров объектных запросов (Common Object Request Broker Architecture, CORBA). Модель CORBA представляла собой стандартную программную платформу, на которой распределенные объекты могли обмениваться данными и взаимодействовать прозрачно и беспрепятственно. В таких условиях брокер объектных запросов (object request broker, ORB) позволяет объектам публиковать свои интерфейсы, и, в каком бы местоположении компьютерной сети они ни находились, клиентские программы могут обращаться к ним за обслуживанием.
16.2. Требования и атрибуты качества 457
Период, в течение которого CORBA оставалась единственной жизнеспособной технологией распределенных объектов, оказался непродолжительным. Вскоре компания Sun Microsystems выпустила язык программирования Java, предусматривавший поддержку удаленного вызова методов (remote method invocation, RMI) и, по сути, встраивавший специализированную для Java функциональность брокеров объектных запросов во все виртуальные машины Java (Java Virtual Machine, JVM). У Java есть такое преимущество, как переносимость. Код разработанного Java-приложения становится переносимым в масштабах всех JVM, которые реализованы на всех основных аппаратных платформах.
Sun Microsystems не стала останавливаться на Java. К концу 1990-х относится появление спецификации J2EE с Java RMI в качестве базовой инфраструктуры передачи данных. Для всего сообщества разработчиков программных средств она вскоре стала стандартом, упрощающим конструирование объектных систем на языке программирования Java. Позиции J2EE укрепились еще больше, когда производители программного обеспечения судорожно взялись за ее реализацию; с наступлением «эпохи Интернета» Java-программисты по всему миру активно осваивали каркас J2EE, разрабатывая приложения электронной коммерции. Таким образом, J2EE вступила в прямую конкуренцию одновременно с CORBA и со специализированными технологиями от Microsoft.
Архитектурно-экономический цикл J2EE/EJB изображен на рис. 16.1.

Требования и атрибуты качества
Какие цели преследовала компания Sun Microsystems, взявшись за разработку спецификации J2EE/EJB? Как эти задачи отражены в атрибутах качества архитектуры J2EE/EJB?
458 Глава 16. J2EE/EJB
Всемирная паутина и J2EE
В ответ на повышение требований, предъявляемых к коммерческим веб-системам, все больше количество корпоративных информационных систем конструируется на основе технологии распределенных объектов. Такие системы должны быть масштабируемыми, высокопроизводительными, переносимыми и безопасными. Обрабатывая огромное количество запросов от деятелей интернет-сообщества, они должны реагировать на них своевременно.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |


