Опубликован: 03.02.2016 | Доступ: свободный | Студентов: 1608 / 339 | Длительность: 07:40:00
Лекция 1:

Актуальное состояние области информационных технологий в части разработки аналитической архитектуры программного обеспечения

Лекция 1: 123 || Лекция 2 >

Текущая ситуация в области создания архитектуры программного обеспечения

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

С другой стороны, если сравнивать с зарождением эры создания архитектур, то ситуация не так радужна, но насколько это сравнение корректно?

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

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

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

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

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

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

  • IBM (Web Sphere);
  • BEA (Web Logic);
  • Oracle (Oracle Application Server);
  • Cordys;
  • InterSystems;
  • Novell;
  • SAP and Sun Microsystems;

В отдельных функциональных направлениях имеются свои лидеры, как например, компания SAP является многолетним флагманом в области прикладных платформ для управления ресурсами предприятия (ERP системы).

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

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

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

  • Крупные программные системы, преимуществом которых является, гибкая адаптивность и масштабируемость;
  • Прикладные платформы;
  • Программные продукты, разработанные для решения конкретных, специализированных задач;

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

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

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

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

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

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

Выводы по изученной лекции

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

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

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

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

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

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

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

Лекция 1: 123 || Лекция 2 >