Решений по управлению жизненным циклом приложений. Понятие методологии управления жизненным циклом приложений - ALM (Application Lifecycle Management)

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

Первым из них является понятие «сеть» (net, или network). Это слово в русском языке имеет много разных значений и применяется для определения различных взаимодействий. Сеть может быть телефонной или рыболовной, может быть компьютерной или радиотрансляционной. Мы будем говорить о построении корпоративных сетей, объединяющих компьютеры организации, которые чаще всего называются компьютерными, или вычислительными, сетями. Что же такое компьютерная сеть? Наверное, самым простым и общим будет следующее определение: сеть появляется тогда, когда двум или более компьютерам (а на самом деле пользователям этих компьютеров) есть что разделять. Под разделением понимается совместное использование ресурсов. Сам процесс разделения (совместного использования) сетевых ресурсов называется сетевым взаимодействием (networking).

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

Первый способ взаимодействия предполагает полностью централизованную обработку информации и ее хранение, обеспечивая работу пользователей с терминалов. Часто эту модель взаимодействия называют «терминал-хост» (terminal-host).

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

Дальнейшее развитие компьютерной индустрии шло различными путями, увеличивались вычислительные мощности компьютеров, предназначенных для работы по взаимодействию «терминал-хост», появились и начали бурно развиваться персональные компьютеры. Персональные компьютеры полностью управляются пользователем, все ресурсы компьютера используются в монопольном режиме для решения задач пользователя. Несмотря на рост вычислительной мощности процессоров, не весь спектр задач может быть решен одним компьютером. Появилась необходимость создания нового взаимодействия, новой структуры, направленной на распределенную обработку информации (distributed computing). В этой модели взаимодействия каждый из компьютеров может решать свои задачи, появляется специализация компьютера.

Компьютеры объединяются в вычислительную сеть. Задачи распределяются по компьютерам сети, что позволяет расширить функциональные возможности каждого из них путем разделения доступа к другим компьютерам.

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

Сравнительно новой моделью сетевых взаимодействий является организация взаимодействий пользователей сети с сетевыми сервисами. С точки зрения пользователя, его взаимоотношения со множеством компьютеров подпадают под определение «клиент-сеть» (client-network). Для пользователя сети в общем-то не существенно, где конкретно в сети располагаются выделенные ему ресурсы, он должен только уметь обратиться к ним, используя принятую в сети систему обращений. При таком подходе существенно упрощается работа всех пользователей сети, а сами сетевые ресурсы и сервисы должны быть доступны пользователю в любой момент времени. Повышение уровня готовности сетевых сервисов требует соответствующих технических решений, например повышения отказоустойчивости или дублирования сервисов.

В компьютерной сети присутствует много различных компонентов. Самыми видимыми пользователям сети являются две. Это сервер сети и клиент. Сервер (server - в дословном переводе с английского означает «тот, кто обслуживает») сети предназначен для обслуживания поступающих от клиента (client) сети запросов. Другими словами, клиент всегда запрашивает обслуживание, а сервер всегда обслуживает клиента. В некоторых случаях клиент может выступать и в роли сервера, обеспечивая обработку запросов от других клиентов и запрашивая обслуживание у других серверов. По способу взаимодействия серверов и клиентов определяют два вида сетей: «клиент/сервер» (client-server) и «равный с равным» (peer-to-peer). Поскольку клиентом сети является пользователь, работающий на компьютере, то сам компьютер пользователя, подключенный к сети, определяется термином «рабочая станция» (workstation). Этот термин употребляется наравне с термином «компьютер».

Часто модели «клиент/сервер» и «равный с равным» могут одновременно существовать в одной сети. Сети, построенные по принципу «равный с равным», называют также одноранговыми сетями, в которых все компьютеры имеют одинаковый статус - ранг.

Классическими сервисами в сетях принято считать следующие: файловый, печати, сообщений, приложений и баз данных. Наиболее важными из них были и остаются файловый сервис и сервис печати.

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

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

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

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

Сервис баз данных предназначен для организации централизованного хранения, поиска и обеспечения защиты данных. Этот сервис реализуется серверами баз данных, программно-аппаратными комплексами, оптимизированными для выполнения перечисленных задач, снижения времени доступа пользователя к информации, управления территориальным местоположением информации в сети.

Общие сведения о сетевых устройствах...

Другими компонентами сети являются средства организации канала передачи данных между клиентами и серверами сети. В общем случае канал передачи данных строится с использованием следующих компонентов: среды передачи данных - проводная (wire) или беспроводная (wireless) - и интерфейсных карт (network interface card, NIC), обеспечивающих взаимодействие компьютера со средой передачи данных. Однако это не единственные средства, используемые для соединения компьютеров и формирования самой вычислительной сети. Объединять компьютеры в сеть и обеспечивать их взаимодействие помогают сетевые аппаратные и аппаратно-программные средства. Эти средства можно разделить на группы по их основному функциональному назначению: соединительные разъемы (connectors), повторители (repeaters), преобразователи (adapters), модемы (modems), мосты (bridges), хабы (hubs), коммутаторы (switches), маршрутизаторы (routers).

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

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

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

КомпьютерПресс 3"1999

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

К бизнес-приложениям относятся приложения финансовые, кадровые, электронной коммерции и приложения « бизнес-бизнес ». Кроме тех групп серверов, которые поддерживают бизнес приложения, существуют и другие группы серверов, которые поддерживают сетевые сервисы и сетевые приложения. К сетевым сервисам относятся NTP, Telnet, FTP, DNS, DHCP, SNMP, TFTP и NFS. Сетевые приложения, это IP-телефония, передача видео по IP, системы видеокоференцсвязи т.д.

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

Некоторые уровни выделены для поддержки клиентских обращений или внешних функций, таких как обслуживание web-страниц или поддержка интерфейса командной строки (CLI) для приложений. В некоторых случаях внешние функции могут быть реализованы на основе web. Другие функции выполняют обработку пользовательских запросов и преобразование их в формат понятный таким уровням как уровень серверов или баз данных.

Такой многоуровневый подход называется N-уровневой моделью, поскольку кроме уровней внешнего и внутреннего может существовать еще несколько уровней между ними. Такие уровни связаны с управлением объектами, их взаимоотношениями, контролируют взаимодействие с базой данных, предлагают необходимые интерфейсы приложениям.

Корпоративные приложения обычно относятся к одной из следующих основных областей бизнеса:

  • Управление отношениями с заказчиками (Customer Relationship Management — CRM).
  • Планирование корпоративных ресурсов (Enterprise Resource Planning — ERP).
  • Управление поставками (Supply Chain Management — SCM).
  • Автоматизация продаж (Sales Force Automation — SFA).
  • Обработка заказов (Order Processing).
  • Электронная коммерция.

Источник: Cisco

Необходимо отметить, что внешний уровень, поддерживающий обращения клиентов к серверу, поддерживает приложения доступа. В настоящее время существуют приложения, как с собственным, так и с web-интерфейсом и наблюдается тенденция перехода к web-приложениям.

Такая тенденция подразумевает, что для работы с клиентами применяется web-интерфейс, но в то же время у приложений существует средний уровень, которые по запросу клиента получают информацию из внутренней базы данных и передают ее на внешний уровень, например, web-серверу, доводя, таким образом, ответ до клиента.

Этот средний уровень приложений и системы баз данных является логически выделенной частью, которая выполняет особые функции. Логическое разделение этих функций делает возможным и разделение физическое. А вывод состоит в том, что серверы приложений и web-серверы теперь не обязательно должны находиться в одном месте физически.

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

Возможности центра обработки данных

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

  • Энергоснабжение
  • Охлаждение
  • Кабельная проводка
  • Контроль температуры и влажности
  • Пожарные и дымовые системы
  • Физическая защита: запрет доступа и системы наблюдения
  • Установочное физическое пространство и фальшполы

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

  • Ресурсы серверов, включая сюда аппаратное и программное обеспечение и операционные системы.
  • Инфраструктура сети, поддерживающей серверные ресурсы

Инфраструктура сети

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

Преимущества создания центров обработки данных

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

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

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

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

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

Михаил Кадер / Cisco

Они делятся на интерактивные, прямые и отложенного чтения. Сервисы, относящиеся к классу отложенного чтения (off-line), наиболее распространены, наиболее универсальны и наименее требовательны к ресурсам компьютеров и линиям связи. Основным признаком этой группы является та особенность, что запрос и получение информации могут быть достаточно сильно разделены по времени (E-mail). Сервисы прямого обращения характерны тем, что информация по запросу возвращается немедленно. Однако от получателя информации не требуется немедленной реакции (ftp). Сервисы, где требуется немедленная реакция на полученную информацию, т.е. получаемая информация является, по сути дела, запросом, относятся к интерактивным (on-line) сервисам (www).

Электронная почта (e-mail) – первый из сервисов Internet, наиболее распространенный и эффективный из них. Это типичный сервис отложенного чтения. E-mail (E lectronic mail ) – электронный аналог обычной почты. Обычное письмо состоит из конверта, на котором написан адрес получателя и стоят штампы почтовых отделений пути следования, и содержимого – собственно письма. Электронное письмо также состоит из заголовков, содержащих служебную информацию (об авторе письма, получателе, пути прохождения по сети и т.д.), играющих роль конверта, и собственно содержимого письма. С помощью электронной почты можно посылать и получать сообщения, рассылать копии письма одновременно нескольким получателям, переправлять полученное письмо по другому адресу, включать в письмо файлы, и т.д.

Сетевые новости Usenet, или, как их принято называть в российских сетях, телеконференции – это, пожалуй, второй по распространенности сервис Internet. Если электронная почта передает сообщения по принципу "от одного – одному", то сетевые новости передают сообщения "от одного – многим". Механизм передачи каждого сообщения похож на передачу слухов: каждый узел сети, узнавший что-то новое (т.е. получивший новое сообщение), передает новость всем знакомым узлам, т.е. всем тем узлам, с кем он обменивается новостями. Таким образом, один раз посланное сообщение распространяется, многократно дублируясь, по сети, достигая за довольно короткие сроки всех участников телеконференций Usenet во всем мире. При этом в обсуждении может участвовать множество людей, независимо от того, где они находятся физически. Число пользователей Usenet весьма велико – по оценкам UUNET technologies, количество новых сообщений, поступающих в телеконференции ежедневно, составляет около миллиона.

Еще один простой, но в то же время весьма полезный сервис Internet – списки рассылки (maillists). Это практически единственный сервис, не имеющий собственного протокола и программы-клиента и работающий исключительно через электронную почту. Идея работы списка рассылки состоит в том, что существует некий адрес электронной почты, который на самом деле является общим адресом многих людей – подписчиков этого списка рассылки. Письмо, посылаемое на этот адрес, получают все люди, подписанные на этот список рассылки. Причины использования списков рассылки: Во-первых, сообщения, распространяемые по электронной почте, всегда будут прочитаны подписчиком, дождавшись его в почтовом ящике, в то время как статьи в сетевых новостях стираются по прошествии определенного времени и становятся недоступны. Во-вторых, списки рассылки более управляемы и конфиденциальны: администратор списка полностью контролирует набор подписчиков и может следить за содержанием сообщений. Каждый список рассылки ведется какой-либо организацией, и она обладает полным контролем над списком, в отличие от новостей Usenet, не принадлежащих никому и менее управляемых. В-третьих, для работы со списком рассылки достаточно доступа к электронной почте, и подписчиками могут быть люди, не имеющие доступа к новостям Usenet или каким-либо группам этих новостей. В-четвертых, такой способ передачи сообщений может быть просто быстрее, коль скоро сообщения передаются напрямую абонентам, а не по цепочке между серверами Usenet.



File Transfer Protocol (ftp) – удаленный доступ к файлам, протокол, определяющий правила передачи файлов с одного компьютера на другой. Для работы с ftp нужно иметь право входа на ту удаленную машину, с которой вы хотите перекачать себе файлы, т.е. иметь входное имя и знать соответствующий пароль. Несмотря на его распространенность, у ftp есть и множество недостатков. Программы-клиенты ftp могут быть не всегда удобны и просты в использовании. Не всегда можно понять, что именно за файл находится перед вами. Нет простого и универсального средства поиска на серверах anonymous ftp (это означает, что соединение с сервером ftp может проходить не под своим именем). Программы ftp довольно стары и некоторые их особенности, бывшие полезными при рождении, не очень понятны и нужны сегодня. Серверы ftp нецентрализованны, и это несет свои проблемы.

Пожалуй самым "сетевым" сервисом Internet является удаленный доступ (Remote Login, telnet ) – это работа на удаленном компьютере в режиме эмуляции терминала необходимого сетевого узла, т.е. выполнение всех (или почти всех) действий, которые можно с обычного терминала telnet-сервера. Трафик, относящийся к этому виду работы в сети, в среднем составляет около 19% всего сетевого трафика. Telnet – протокол эмуляции терминала, который обеспечивает поддержку удаленного доступа в Internet. Для использования этого сервиса необходимо иметь доступ в Internet класса не ниже dial-up доступа.

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


Gopher – это распределенная система экспорта структурированной информации. При работе с ней вы находитесь в системе вложенных меню, из которых доступны файлы различных типов – как правило, простые тексты, но это может быть и графика, и звук и любые другие виды файлов. Таким образом, в публичный доступ экспортируются файлы с информацией, но не в виде файловой системы, как в ftp, а в виде аннотированной древовидной структуры. Gopher – сервис прямого доступа и требует, чтобы и сервер, и клиент были полноценно подключены к Internet.

Оболочка Gopher – это один из интеграторов возможностей Internet. В ней являются доступными и сеансы telnet, и ftp, и e-mail и т.д. В эту оболочку также включены интерфейсы с такими серверами, с которыми невозможно ручное общение из-за их машинно-ориентированного протокола.

Другой возможностью интеграции сетевых служб Internet является "Всемирная паутина" (World Wide Web, сокращенно WWW ).В настоящее время WWW получила наиболее широкое распространение. Основной единицей представления сетевой информации в WWW является так называемый гипертекстовый документ.

трафик (traffic): перемещение, поток данных в передающей среде, объем потока данных в локальной или глобальной сети.

Universal Resource Identification (URI) это универсальная форма адресации информационных ресурсов, представляет собой довольно стройную систему, учитывающую опыт адресации и идентификации e-mail, Gopher, WAIS, telnet, ftp и т.п. Но реально, из всего, что описано в URI, для организации баз данных в WWW требуется только Universal Resource Locator (URL). Без наличия этой спецификации вся мощь HTML оказалась бы бесполезной. URL используется в гипертекстовых ссылках и обеспечивает доступ к распределенным ресурсам сети. В URL можно адресовать как другие гипертекстовые документы формата HTML, так и ресурсы e-mail, telnet, ftp, Gopher. Использование URL налагает на адресацию ресурсов два ограничения: первым и самым важным является то, что в URL не должно быть пробелов, второе ограничение состоит в том, что URL различают прописные и строчные буквы, причем даже в тех системах, где они обычно не различаются.

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

Common Gateway Interface – предназначена для расширения возможностей WWW за счет подключения внешнего программного обеспечения. Он позволил продолжить принцип публичности, простоты разработки. Предложенный и описанный в CGI способ подключения не требовал дополнительных библиотеки был очень прост.. Сервер взаимодействовал с программами через стандартные потоки ввода/вывода, что упрощало программирование. Главное назначение Common Gateway Interface – обеспечение единообразного потока данных между сервером и прикладной программой, которая запускается из-под сервера. CGI определяет протокол обмена данными между сервером и программой.

Понятие CGI-шлюза. Отличие от обычной CGI-программы.

Прикладное программное обеспечение, работающее с сервером, разделяется на обычные CGI-программы и шлюзы. Обычная CGI-программа запускается сервером НТТР для выполнения некоторой работы, возвращает результаты серверу и завершает свое выполнение. Шлюз выполняется точно также, как и обычная CGI-программа, только фактически он инициирует взаимодействие в качестве клиента с третьей программой.

Hot Java позволяет использовать программы, написанные на Java и встроенные в WWW-документ. Эти программы называются апплетами (applet).

Анализируя развитие рынка средств разработки за последние 10-15 лет, можно отметить общую тенденцию смещения акцентов от технологий собственно написания программ (которые с начала 90-х годов ознаменовались появлением RAD-инструментов - "быстрая разработка приложений") к необходимости комплексного управления всем жизненным циклом приложений - ALM (Application Lifecycle Management) .

По мере повышения сложности программных проектов резко возрастают требования к эффективности их реализации. Это тем более важно сегодня, когда разработчики ПО вовлечены практически во все аспекты работы предприятий и число таких специалистов растет. В то же время данные исследований в этой области говорят о том, что результаты как минимум половины "внутренних" проектов разработки программных средств не оправдывают возложенных на них надежд. В этих условиях становится особенно актуальной задача оптимизации всего процесса создания программных средств с охватом всех его участников - проектировщиков, разработчиков, тестеров, служб сопровождения и менеджеров. Управление жизненным циклом приложений (ALM) рассматривает процесс выпуска программных средств как постоянно повторяющийся цикл взаимосвязанных этапов:

· определение требований (Requirements);

· проектирование и анализ (Design & Analysis);

· разработка (Development);

· тестирование (Testing);

· развертывание и сопровождение (Deployment & Operations).

Каждый из этих этапов должен тщательно отслеживаться и контролироваться. Правильно организованная ALM-система позволяет:

· сократить сроки вывода продуктов на рынок (разработчикам приходится заботиться лишь о соответствии их программ сформулированным требованиям);

· повысить качество, гарантируя при этом, что приложение будет соответствовать потребностям и ожиданиям пользователей;

· повысить производительность труда (разработчики получают возможность делиться передовым опытом разработки и внедрения);

· ускорить разработку благодаря интеграции инструментов;

· уменьшить затраты на сопровождение, постоянно поддерживая соответствие между приложением и его проектной документацией;



· получить максимальную отдачу от инвестиций в навыки, процессы и технологии.

Строго говоря, само понятие ALM, конечно, не является чем-то принципиально новым, - такое понимание проблем создания ПО возникло лет сорок назад, на заре формирования промышленных методов разработки. Однако до относительно недавнего времени основные усилия по автоматизации задач разработки ПО были направлены на создание инструментария непосредственно для программирования как наиболее трудоемкого этапа. И лишь в 80-х годах в связи с усложнением программных проектов ситуация стала существенно меняться. При этом резко возросла актуальность расширения функциональности средств разработки (в широком понимании этого термина) в двух основных областях: 1) автоматизация всех остальных этапов жизненного цикла ПО и 2) интеграция инструментов между собой.

Этими задачами занимались многие компании, однако бесспорным лидером здесь была компания Rational, которая более двадцати лет, с момента своего создания, специализировалась на автоматизации процессов разработки программных продуктов. В свое время, именно она стала одним из пионеров широкого использования визуальных методов проектирования программ (и практически автором языка UML, принятого де-факто в качестве стандарта в этой сфере), создала общую ALM-методологию и соответствующий набор средств. Можно сказать, что к началу нынешнего века Rational была единственной компанией, имевшей в своем арсенале полный спектр продуктов для поддержки ALM (от бизнес-проектирования до сопровождения), за исключением, правда, одного класса инструментов - обычных средств написания кода. Однако, в феврале 2003-го, она перестала существовать как независимая организация и стала подразделением корпорации IBM, получившим название IBM Rational.

Еще совсем недавно Rational являлась практически единственным производителем комплексных средств разработки класса ALM, хотя конкурирующие инструменты от других поставщиков для отдельных этапов создания ПО были и есть. Однако пару лет назад о намерении составить ей реальную конкуренцию публично заявила корпорация Borland, которая всегда имела сильные позиции как раз в области традиционных средств разработки приложений (Delphi, JBuilder и пр.), фактически являющихся основой ALM-комплекса корпорации, расширение которого шло путем приобретения других компаний, выпускающих аналогичные продукты. В этом состоит принципиальное различие бизнес-моделей двух компаний, открывающее потенциальные возможности для реальной конкуренции. После вхождения Rational в состав IBM компания Borland позиционирует себя как единственного на сегодняшний день независимого поставщика комплексной ALM-платформы (т. е. продвижением собственных ОС, языков и пр. она не занимается). В свою очередь конкуренты отмечают, что Borland пока не сформулировала четкую методологию ALM, дающую базу для объединения имеющихся у нее инструментов.

Еще одним серьезным игроком на поле средств разработки является корпорация Microsoft. Пока она не замахивается на создание собственной ALM-платформы; продвижение в данном направлении идет только в рамках сотрудничества с другими поставщиками, теми же Rational и Borland (обе они стали первыми участниками программы Visual Studio Industry Partner). В то же время созданное Microsoft ключевое средство разработки Visual Studio .NET постоянно расширяет функциональность за счет использования высокоуровневых средств моделирования и управления проектами, в том числе путем интеграции с Microsoft Visio и Microsoft Project.

Следует отметить, что на сегодняшний день практически все ведущие компании–разработчики технологий и программных продуктов (кроме перечисленных выше, можно назвать Oracle, Computer Associates и др.) располагают развитыми технологиями создания ПО, которые создавались как собственными силами, так и за счет приобретения продуктов и технологий, созданных небольшими специализированными компаниями. И хотя, подобно корпорации Microsoft, создание собственной ALM-платформы ими пока не планируется, выпускаемые этими компаниями CASE-средства находят широкое применение на отдельных этапах ЖЦ ПО.



Поделиться