Сергей Зыков - Основы проектирования корпоративных систем
- Название:Основы проектирования корпоративных систем
- Автор:
- Жанр:
- Издательство:Литагент «Высшая школа экономики»1397944e-cf23-11e0-9959-47117d41cf4b
- Год:2012
- Город:Москва
- ISBN:978-5-7598-0862-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Сергей Зыков - Основы проектирования корпоративных систем краткое содержание
В монографии рассматриваются важнейшие аспекты разработки прикладных программных систем для корпораций – крупных распределенных индустриальных структур, объединенных общими бизнес-целями. Особенностью подхода является исследование всего комплекса архитектурных уровней, необходимых для построения таких систем, – от моделей жизненного цикла и методологий их реализации до технологических платформ и инструментальных средств. Приведен ряд примеров, иллюстрирующих особенности применения современных технологий (в первую очередь, разработанных корпорацией Microsoft) для реализации и внедрения крупномасштабных программных систем в различных отраслях народного хозяйства.
Для студентов, аспирантов и исследователей, а также специалистов-практиков, область интересов которых связана с разработкой крупномасштабных программных систем.
Основы проектирования корпоративных систем - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Напомним некоторые основополагающие понятия, связанные со средой. NET. Компоненты, которые разрабатываются, – прикладные компоненты, функционируют в рамках системных компонентов, на основе компонентной модели, которая погружается в среду. NET. В этом смысле важно определить понятие платформы, которая в данном контексте является средой выполнения приложений и программного кода, определяет функциональность корпоративной системы. Конечно, платформа в итоге определяется характеристиками как программного, так и аппаратного обеспечения, т. е. количеством процессоров, сервером и т. д. Кроме того, платформа определяется особенностями операционных систем.
Если говорить о платформе. NET, прежде всего необходимо упоминать операционную систему Windows. Существует проект Mono, который направлен на портирование. NET на UNIX-системы. Но этот проект не получил распространения, его результаты не так широко применимы с прикладной точки зрения, как среда. NET для Microsoft Windows. Под. NET Framework понимается не только библиотека классов Framework Class Library, но и CLR. По сути, это системная инфраструктура среды, в которой выполняются приложения. Она определяет особенности проектирования, функционирования, разработки и выполнения программного кода на платформе. Естественно, Microsoft.NET является платформой, т. е. не просто технология разработки программных систем, не просто совокупность средств разработки, таких как Microsoft Visual Studio, это нечто большее, это среда, в том числе и функционирования приложений, именно корпоративных.
Итак, NET Framework включает CLR и среду, которая определяет порядок взаимодействия классов FCL. При этом существует обобщенная спецификация языков программирования CLS – Common Language Specification, представляющая собой процедуру преобразования кода на каждом из языков программирования, который реализован для платформы. NET во внутренний ассемблер высокого уровня, в некий системный код. Ассемблер именно высокого уровня, потому что будут рассмотрены примеры MSIL-кода, и если читателю приходилось работать с ассемблером для какой-то другой классической платформы, например Intel 8080, 8086 или Z80 для компьютеров Sinclair, или Atari, или Yamaha, в прошлом это было достаточно популярно, то будет видно, что одна инструкция MSIL – это примерно 3–5 инструкций такого стандартного ассемблера.
И еще одно важное понятие – это. NET-приложение, прикладная система, разработанная для выполнения на платформе. NET. Важным ограничением здесь является то, что приложение реализуется, даже если это происходит в рамках компонентного подхода – в виде системы компонентов, только на тех языках программирования, которые поддерживает CLS. Следует заметить, что на самом деле можно разработать транслятор для нового языка программирования и встроить его в. NET. Более того, существует курс, достаточно давно (в начале 2000-х гг.) разработанный для студентов второго курса. Они могли в рамках этого курса за один семестр сделать транслятор для языка программирования для. NET и апробировать его. Это был небольшой язык программирования – подмножество языка C#. Но тем не менее этот пример показывает, что создание и реализация языка программирования для. NET – не такая сложная задача. Большое количество авторских коллективов работает над различными языками. Есть компилятор языка SML, который автор использовал для создания курсов введения в теорию программирования, точнее, той его части, которая посвящена функциональному подходу.
Теперь рассмотрим, какого рода функции выполняет среда CLR и как осуществляется работа библиотеки классов. NET. Естественно, CLR загружает и выполняет код, при этом существует понятие управляемого кода. В случае управляемого кода обеспечивается повышенный уровень безопасности, в частности контроль выхода за границы массива, управление динамической памятью, сборка мусора и т. д. CLR в любом случае следит за памятью при размещении объектов, но при безопасном коде ответственность за использование кода лежит на разработчике, а не на пользователе. Изолируются области памяти, в которых выполняются отдельные приложения или процессы приложения. Осуществляется проверка безопасности кода, в основном на основе механизмов сборок, а также подлинности сборки – на основе номера сборки, цифровой подписи автора и т. д. Кроме того, существует политика безопасности, которая определяет форму сборки.
Поговорим более подробно о том, какого рода окружение может функционировать и какого рода операции могут выполняться. Естественно, осуществляется преобразование промежуточного языка MSIL в машинный код. Поддерживается доступ к метаданным, это понятие будет рассмотрено чуть позже. Осуществляется поддержка обработки исключительных ситуаций, в том числе и межъязыковых. Существует иерархия исключений, которая находится в пространстве имен System.Exceptions. И все нестандартные ситуации, которые могут возникать в том или ином языке приложения, который реализован для среды. NET, отслеживаются CLR и обрабатываются стандартным образом. Можно также создавать и свои пользовательские исключения и обрабатывать их. CLR позволяет осуществить взаимодействие между как управляемым, так и неуправляемым кодом, включая COM-объекты (более подробно об этом будет говориться в разделе, который связан с офисными приложениями). Поддерживаются сервисные возможности для приложений, для разработки программных систем. При этом независимо от того языка, который реализован для платформы. NET, все сервисные возможности поддерживаются в полной мере. Это и отладка кода, и тестирование, и профилирование, и кодирование, и документирование и т. д.
Если говорить о другом аспекте платформы. NET – FCL, то это объектно-ориентированная библиотека, которая включает описание классов, интерфейсов и внутренней системы типов. NET – Common Type System (CTS). Важно, что интерфейсы этой библиотеки классов могут использовать абсолютно все приложения, написанные для платформы. NET, независимо от языка программирования и конкретики программной архитектуры этих приложений. Естественно, это касается и встроенных типов, таких как целый, булевский, вещественный, символьный и т. д., а также типов, которые представлены в виде классов. Если говорить о платформе. NET, то постулируется принцип – каждая сущность является объектом. Поэтому все стандартные типы являются классовыми структурами. Кроме того, классы FCL могут использовать все классы Windows Forms (ранее говорилось об этом подходе к построению интерактивного пользовательского интерфейса), классы, предназначенные для разработки веб-сервисов и других приложений, основанных, например, на ESP.NET, это веб-формы, в частности. Классы, которые базируются на стандартных протоколах, предназначены для приложений в сервисно-ориентированной архитектуре, например Windows Communication Foundation, которая основана на стандартных протоколах XML, FTP, HTTP, SML и Soid и, естественно, протоколе, который поддерживает сервисно-ориентированную архитектуру. Кроме того, со стандартным. NET Framework взаимодействуют все классы, предназначенные для разработки приложений, в том числе и офисных, приложений, которые работают с базами данных, в том числе на основе технологии. NET, и ряд других классов.
Читать дальшеИнтервал:
Закладка: