Основы проектирования корпоративных систем - Сергей Зыков
Шрифт:
Интервал:
Закладка:
NET включает следующие основные аспекты (послойно, от более абстрактного уровня к более конкретному):
1) идеология проектирования и реализации программного обеспечения;
2) модель эффективной поддержки жизненного цикла прикладных систем;
3) унифицированная, интегрированная технологическая платформа;
4) современный, удобный в использовании, безопасный инструментарий для создания, размещения и поддержки программного обеспечения.
Прежде всего это идеология, подход к проектированию и реализации, потому что речь идет о создании большой системы, коммерческой разработке, использовании различных языков программирования на общей платформе, компонентах проектирования реализации с открытыми интерфейсами.
Кроме того, это модель, в том числе и математическая, достаточно эффективной поддержки ЖЦ программных систем – от концептуальной постановки задачи проектирования до реализации, внедрения, разворачивания по сети Интернет одним кликом приложения и сопровождения. Это технология, обеспечивающая унифицированное проектирование с точки зрения использования открытых протоколов и средств взаимодействия SOA, HTTP, XML, UDDI, WSDL, других стандартов и, наконец, это современный, удобный в использовании и безопасный инструментарий командной разработки больших систем, который поддерживает все этапы ЖЦ – создания, разворачивания, размещения и сопровождения поддержки ПО.
Итак, рассмотрим более подробно основные аспекты. NET.
В чем состоит видение Microsoft этой идеологии?
По сути, речь идет действительно об идеологии, которая появилась на рубеже тысячелетий в 2000 г., может чуть раньше, и явилась программой развития корпораций, как минимум, десятилетия. Эта идеология доминирует до сих пор и претерпевает небольшие изменения, но концептуально остается в целом постоянно верной своим принципам.
Идеология и основные принципы. NETNET как идеология (vision) – это:
1) легкость развертывания приложений в глобальной среде Интернет;
2) экономичная разработка программного обеспечения;
3) бесшовная, гибкая интеграция программных продуктов и аппаратных ресурсов;
4) предоставление программного обеспечения как сервиса;
5) новый уровень безопасности и удобства использования. Во-первых, само обозначение. NET говорит о том, что эта технология ориентирована на Интернет, на открытую среду взаимодействия компонентных приложений на глобальную среду, это веб-браузер, который работает на различных программно-аппаратных платформах – и смартфоны, и коммуникаторы, и при этом обеспечивается доступ к ресурсам в неких центрах данных, если речь идет о корпоративных системах.
1. Важным аспектом является легкость разворачивания приложения в глобальной среде Интернет. На сегодня в Microsoft реализован инструментарий ClickOnce, который позволяет осуществить разворачивание программных системы одним щелчком мыши.
2. Еще один аспект идеологии. NET – экономичная разработка ПО. Здесь речь идет и об экономии средств людских, временных ресурсов при командной работе, которую обеспечивает Visual Studio.NET как инструмент технологический, и собственно о том, что идеологически проектирование представляет собой создание компонентов, неких молекул функциональности, из которых и строится то самое вещество программного продукта корпоративного типа, который благодаря открытым интерфейсам может достаточно гибко и в относительно сжатые сроки с небольшими трудозатратами трансформироваться согласно требованиям программной среды и большого количества различных типов пользователей.
3. Также важным идеологическим аспектом. NET является интеграция программных продуктов и аппаратных ресурсов, которую можно охарактеризовать как бесшовную, гибкую. Вообще, если рассматривать производство ПО как задачу, то можно заметить, что изначально это было искусство, т. е. фактически ручное изготовление штучного товара. Позже наступил период, когда кустарей-одиночек сменили программные проектные команды, создающие ПО с использованием более серьезного инструментария. В настоящее время существующие сборочные конвейеры, такие как Visual Studio.NET и др., позволяют во многом стандартизировать режим и на основе стандартных компонентов вести сборку очень сложных систем, включающих сотни тысяч индивидуальных программных моделей, достаточно сложно взаимодействующих друг с другом. Сегодня все, что строится в мире ПО, во многом связано с интеграцией, т. е. в идеале новое ПО не производится, принципиально новая функциональность даже при создании нового продукта составляет от силы 10–15 %, все остальное – это уже ранее использованное решение, которое просто повторно применяется, и интеграция новых функциональных моделей компонентов с уже реализованными частями, фрагментами программ продуктов.
4. Еще один важный элемент идеологии – предоставление программного обеспечения как сервисов. То есть, с точки зрения пользователей, это фактически может выглядеть как некий сайт со средствами, которые предоставляют достаточно гибкие возможности для выполнения запросов в стандартном интерфейсе, и, по сути, функция ПО может быть реализована как сервис, распределена по интернет-сети и доступна по правилам доступа большому количеству пользователей.
5. Еще два важных аспекта идеологии. NET – новый уровень безопасности и удобства использования.
По поводу удобства: Microsoft удалось завоевать достаточно большое количество пользователей во многом потому, что ОС, которые она предоставляет, являются достаточно удобными с точки зрения удобства пользования (usability) – это хорошие средства, позволяющие достаточно быстро решать сложные или типовые задачи одним щелчком или с помощью мастеров для решения типовых задач. В Microsoft одна из самых сильных команд специалистов по usability. И многие пользователи уже привыкли к интерфейсу Microsoft.
Безопасность – это стратегический приоритет корпорации, и, конечно, NET как идеология не может не отмечать важность этого приоритета и широко его применять.
NET как вычислительная модель1. Компонентный подход как развитие объектно-ориентированной модели.
2. Универсальная система типизации: «всякая сущность есть объект»; унификация данных и метаданных.
3. Строго иерархическая организация кода, пространств имен и классов.
4. Универсальный интерфейс. NET Framework (включая поддержку различных подходов к программированию).
5. Высокая вариативность экземпляров реализации (в частности, на основе веб-сервисов).
Рассмотрим особенности вычислительной модели работы. NET, как подхода к созданию, в том числе больших корпоративных систем.
Прежде всего платформа. NET использует компонентный подход. По сути дела, это развитие объектно-ориентированной модели, компонент – это несколько большее понятие, чем объект, и достаточно важное, по сути дела, это некий программный модуль, на основе которого строятся приложения, взаимозаменяемый, стандартного рода модуль, который представляет собой молекулу функциональности.