Завершая обсуждение CASE-средств, средств автоматизации проектирования систем, в том числе корпоративных приложений, следует сделать некоторые выводы. Итак, современные CASE-средства представляют собой комплексные конвейеры, если говорить о больших корпоративных приложениях, которые позволяют вести быстрое прототипирование и разработку приложений, т. е. существует объединение или интеграция с Oracle Application Development средствами: Oracle Designer-Developer, Microsoft Visual Studio, линейка Rational и отчасти Sybase, которая представлена S-Designer – средством проектирования и PowerBuilder – средством быстрой реализации и прототипирования. Основной стандарт визуального проектирования сегодня – это UML, достаточно большое количество диаграмм, которые позволяют моделировать и динамические, и статические процессы, происходящие при проектировании ПО. При выборе CASE-средств для проектирования и реализации корпоративных приложений следует отдавать приоритет аппаратно и, желательно, программно независимым и с высокой совместимостью, преимущественно Java, интероперабельным (т. е. системам, которые позволяют гибко конфигурировать корпоративные приложения на основе большого количества интероперабельных компонентов, это. NET и Java-технологии), распределенным (в частности, сегодня это интернет-технологии, уже не локальные сети) и компонентно-ориентированным, портируемым, поддерживающим как большое количество операционных систем, так и различные устройства доступа – от небольших смартфонов и коммуникаторов до полномасштабных офисных машин.
Глава 8
Программная платформа Microsoft.NET
В данной главе будет более подробно рассмотрен подход Microsoft к созданию корпоративных систем. Прежде всего речь пойдет о Visual Studio.NET и вообще о. NET подходе. Не стоит ограничивать. NET чисто технологическим аспектом, так как. NET – это платформа в достаточно широком и глубоком смысле этого слова, т. е. это идеология проектирования программного обеспечения, которая имеет в основе такие принципы, как сервисная ориентированность, интернет-распределенность, командная работа, компонентная ориентированность (интероперабельность) и, что еще интереснее, языковая интероперабельность – создание гетерогенных проектов с компонентами, написанными на разных языках и разными людьми в разных точках земного шара. По сути, речь идет об идеологии производства систем корпоративного типа, при этом платформа является достаточно общей и имеет единую среду в форме виртуальной машины, которая предназначена для создания и поддержки таких систем. На основе математических моделей, разработанных Юрием Гуревичем, моделей абстрактных машин с состояниями, построена виртуальная машина, на основе которой происходит создание приложений Microsoft Visual Studio.NET, являющихся уже технологической надстройкой, т. е. NET – это во многом еще и идеология и модель. Рассмотрим ее более подробно.
Четыре основные аспекта
Хотелось бы выделить четыре аспекта в подходе. NET как платформы для разработки корпоративных приложений:
1) концепция, т. е. общий подход;
2) вычислительная модель – в ее основе лежит достаточно формальная математическая модель. Это некая более реальная реалистичная формализация, но тем не менее тоже фактически модель вычисления на компьютере достаточно общего вида. Так же, как в Java-подходе, имеется виртуальная Java-машина, которая работает на любой платформе, так и здесь есть виртуальная машина высокого уровня, в терминах которой компилируется код на различных языках программирования, но эта платформа ограничена множеством ОС Windows;
3) технологическая платформа;
4) инструментальная средства Visual Studio.NET.
Достаточно важным является подход к реализации системы управления этой виртуальной машиной, которая называется Common Language Runtime (CLR) и подразумевает выполнение компонентов программы, написанных на различных языках. Платформа включает среду реализации, среду вычисления с точки зрения абстрактных (виртуальных) машин и. NET Framework общей надстройки, которая представляет собой семейство базовых системных классов. При этом система типов также является достаточно универсальной, т. е. общей common type system (CTS). По сути, с одной стороны, это система типов, которая принята в C#, а с другой – в эту систему типов подгружается на самом деле система типов любого языка программирования, который написан для этой среды.
Одним из достаточно ранних курсов, реализованных в Санкт-Петербургском государственном университете для. NET, является курс создания компилятора для. NET. Он был написан для студентов второго курса, которые за один семестр могли создать компилятор некоего подмножества языка C# для. NET. То есть речь идет о том, что не только на тех языках, которые реализованы для. NET, но и вообще на этой платформе возможно реализовать произвольный язык, если правильно погрузить его в термины виртуальной машины, и, конечно, типы языка, каким бы он ни был, будут оттранслированы в семейство CTS.
Читать дальше
Конец ознакомительного отрывка
Купить книгу