FloraWare и .NET: перспективы объединения
Между технологией FloraWare и .NET много общего. Обе базируются на использовании метаданных, предполагают наличие предопределенных базовых классов, ставят своей целью быстрое и легкое создание переносимых распределенных приложений. Но есть и существенные различия.
Платформа .NET Framework являет собой прекрасный пример многоязыковой среды (CLR) с помощь, которой можно создавать объектно-ориентированный программы. Можно предположить, что виртуальная машина CLR и библиотека классов (FCL) это ответ на требование многоязычности, а доступ к метаданным и архитектура сборок требование распределенности. С точки зрения реализации объектного метода это классическая система, базирующаяся на языке, в данном случае на нескольких, трансляторе и библиотеке объектов. Особо следует отметить, что объекты из FCL используются программным способом, то есть пишутся программы по их созданию и вызову методов. Справедливости ради скажем, что виртуальная машина CLR выполняет большую работу по сбору мусора и удаленному использованию объектов. Обобщая можно сказать, что между архитектурой платформы .NET Framework и объектным методом сохраняется семантический разрыв [2].
В свою очередь FloraWare реализует объектный метод на более высоком уровне. Кроме библиотеки встроенных классов FloraWare предоставляет пользователю дерево объектов - место, где строится объектная модель.
Представляется интересным создание на основе .NET объектной машины, аналогичной ядру FloraWare. Результатом этого может быть среда разработки приложений для платформы .NET Framework по технологии FloraWare. Применение технологии FloraWare позволит разбить создание приложений для платформы .NET на два независимых этапа. На первом этапе, с помощью традиционных средств разработки .NET, можно будет создавать стандартные объекты, львиная часть которых уже создана, включая мх в ядро объектной машины FloraWare. Затем по правилам технологии FloraWare на основе этих объектов можно будет создаваться приложения пользователя.
Существующий на данный момент набор типов .NET более чем достаточен для реализации объектной машины FloraWare, а язык C# прекрасно подойдет для записи кода объекта Программа.
Реализованное в настоящее время взаимодействие приложений FloraWare и .NET, основано на обмене метаинформацией и совместной работе приложений, созданных в разных технологиях, и предполагает дублирование объектов, сред исполнения и трансляторов, что требует больших ресурсов. Кроме того, оно не позволяет в полной мере воспользоваться преимуществами технологии FloraWare.
Интересным было бы развитие такого проекта по модели opensource.
Заключение
В случае с FloraWare мы имеем дело с технологией, поддерживающей объектную парадигму и основанной на концепции объектной машины. Ее главная отличительная особенность – реализация объектной модели непосредственно на объектной машине, без создания промежуточной программы. Объектная модель собирается из экземпляров базовых классов, а связи определяются заданием соответствующих свойств объектов.
Во FloraWare реализована виртуальная объектная машина, в полной мере соответствующая требованиям к структуре и связям объектов, предъявляемым объектным методом. Данными объектной машины служат объекты, для хранения которых используется единая древовидная структура.
Кроме того, создана интерактивная, переносимая среда разработки и исполнения приложений, поддерживающая данную технологию. Среда и спроектированные с ее помощью приложения работают на большинстве популярных платформ. Имеется поддержка нотаций UML, есть средства работы с XML и реализован интерфейс с .NET.
Все это, а также многолетняя промышленная проверка системы говорит в пользу применения FloraWare. Основное практическое преимущество FloraWare перед аналогами (известными на рынке объектно-ориентированными системами программирования – JDK Sun, VisualBasic, Delphi, VisualStudio, C++Builder ,PowerBuilder и другими) заключается в повышении качества и скорости разработки больших программных систем при одновременном резком снижении трудозатрат.