Фабрика EFx - EFx Factory

В Фабрика EFx (Architectural-Guidance Software Factory) - новаторское архитектурное руководство Завод программного обеспечения из Microsoft, и одна из первых реализаций фабрика программного обеспечения быть построенным.

«EFx Factory» реализует распределенную архитектуру .NET для Сервис-ориентированный приложения и сервисы.

Фабрика основана на архитектурной платформе приложений, называемой Корпоративная структура который описывает физический Microsoft .NET использование архитектуры Корпоративная библиотека Microsoft и другие сервис-ориентированные шаблоны из шаблонов и практик Microsoft. Завод EFX был разработан и построен консультантами по развитию в Консультационные услуги Microsoft в ответ на спрос клиентов на реализацию архитектуры .NET, передовой опыт разработки .NET и руководство по наилучшему использованию Корпоративная библиотека и ряд других блоков приложений, свободно доступных от Microsoft.

История

Изначально (около 2003 г., .NET Framework 1.0-1.1, Visual Studio 2002–2003) «Enterprise Framework» (EFx) создавалась для удовлетворения растущего спроса клиентов на реализацию архитектуры .NET. Фреймворк был основан на шаблонах реализации, собранных из нескольких реализаций корпоративных решений для различных клиентов. Эта структура реализовала многоуровневую архитектуру .NET и использовала и расширяла Корпоративная библиотека чтобы предоставить полную структуру для создания приложений и сервисов на платформе .NET.

Эта платформа приложений развивалась вместе с изменениями в платформе .NET, новыми технологиями Microsoft и изменениями в отрасли. ориентация на услуги узоры. Фреймворк предоставил набор библиотек классов, содержащих базовые реализации архитектурные слои прописывая определенные технологии (например, ASMX ) и «инфраструктурные услуги», которые разработчики использовали для решения сквозных проблем архитектурных уровней: Обработка исключений, Аутентификация, Авторизация, Ведение журнала и т. Д. Структура расширила Enterprise Library и реализовала несколько реальных поставщиков безопасности, необходимых для многих клиентов того времени с гетерогенными технологическими средами. Кроме того, для решения этих требований в корпоративном контексте на основе Enterprise Library было построено множество передовых шаблонов, в частности, касающихся обработки исключений. Платформа также предоставляла блоки, которые не были упакованы в Enterprise Library, например блок проверки. Он предоставил полезные абстракции корпоративной библиотеки, специфичные для этой области решения, которые предлагали упрощенные API, а структура унифицировала API с вводом строковых параметров.

Фреймворк был доставлен (в исходной форме) в виде набора сборок фреймворка, упакованного с Enterprise Library. Фреймворк включал предложенный набор решений, Справочная реализация (RI) и документация. Исходя из этого, разработчики создали свои клиентские приложения и серверные приложения. ASP.NET веб-сервисы. Разработка приложения или службы требовала от разработчика создания нового решения и реализации набора сборок (по одной для каждого уровня), которые ссылались на сборки платформы. Затем они были развернуты как исполняемое приложение или веб-сервис.

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

Приблизительно в 2005 г. в Microsoft появилось несколько технологий, которые позволили использовать шаблоны, автоматизировать и моделировать эти типы приложений и служб, в том числе: Visual Studio 2005, Visual Studio Modeling (для разработчиков распределенных приложений и систем), Guidance Automation Toolkit (GAT) и Domain-Specific Language Toolkit (DSL). Используя эти новые технологии, фреймворк смог систематически развиться в реализацию фабрика программного обеспечения. В этом процессе были сняты многие ограничения структуры, чтобы обеспечить дополнительную гибкость продуктов, которые завод мог собирать. В первую очередь - устранение предписания технологии в архитектурных слоях и возможность эффективно справляться с изменениями при разработке приложений и сервисов. Завод представил через моделирование предметной области, несколько новых абстракций и автоматизация, которые раньше были невозможны.

Эта фабрика была одной из первых фабрик, которая объединила схемы DSL с рецептами GAT, а также расширила возможности разработчиков распределенных приложений и систем Visual Studio рецептами GAT. Фабрика широко использует рецепты: для автоматизации изменений структуры решения и изменения свойств этой структуры, предоставления мастеров для настройки моделей, предоставляемых фабрикой, создания шаблонов проектов для рабочих продуктов и автоматизации черных задач для пользователя фабрики.

К 2007 году разработка EFx Factory прекратилась, и многие из концепций, которые она впервые использовала, должны были быть поглощены платформой будущей фабрики программного обеспечения от Microsoft и приняты фабриками программного обеспечения из шаблонов и практик (таких как Завод программного обеспечения веб-сервисов ).

Основные особенности

Следующий список иллюстрирует особенности этой фабрики по сравнению с другими заводами того времени.

Архитектурная модель продукта

Завод был одним из первых заводов, спроектированных на базе завода »Модель продукта '(часть схемы фабрики), а фабрика предоставляет разработчику логическое архитектурное представление (и поддерживающую среду выполнения) для создания / изменения рабочих продуктов фабрики. Эта логическая модель разделяет логический дизайн фабричного продукта «Обозреватель продуктов »Из физической реализации, обычно просматриваемой и изменяемой в« Обозревателе решений »Visual Studio. Таким образом, физическая структура артефактов решения может быть отделена от логической архитектурной структуры рабочих продуктов продукта. Пользователь фабрики теперь может сосредоточиться на архитектуре продукта и создавать его, используя модели и другие абстракции, в то время как фабрика управляет созданием и размещением своих исходных артефактов.

Распределенное приложение и интеграция системного дизайнера

Завод интегрируется и расширяет разработчики распределенных приложений и систем, установленные с Visual Studio Team Edition для архитекторов программного обеспечения. Visual Studio предоставляет диаграммы, такие как конструктор приложений и конструкторы систем, которые предоставляют средства для определения высокоуровневого приложения (и служб) на предприятии и компоновки их в системы черного ящика, которые сами могут быть объединены в более крупные системы. Фабрика расширяет эти конструкторы, добавляя ряд новых форм, представляющих реализацию этих приложений и служб. Эти новые формы затем могут быть реализованы для предоставления конкретных проектов и шаблонов решений для представления их физической структуры в заводском продукте. В эти шаблоны добавлен новый набор файлов диаграмм для представления внутренних составляющих уровней приложения и сервиса. Эти диаграммы определить спецификацию уровней приложения или сервиса и дать пользователю путь навигации (детализация ) из приложений высокого уровня во внутренние детали реализации.

Возможность компоновки и расширяемость технологий

Фабрика моделирует (используя DSL) внутреннюю реализацию приложений и услуг на основе логической, технологически независимой архитектуры и SOA узоры. Эта архитектура состоит из нескольких уровней, которые затем расширяются и реализуются с помощью подключаемых «генераторов артефактов» (или «поставщиков технологий»). Поставщики технологий обеспечивают реализацию (и представление) каждого уровня в зависимости от технологии.

Примером такого уровня может быть уровень «Контракт на обслуживание» веб-сервис, содержащий сервисные интерфейсы, сервисные операции и контракты данных. Эта фабрика была первой фабрикой, которая предоставила механизм расширяемости, с помощью которого третьи стороны (такие как Глобальные SI и ISV и эксперты в области сообщества) предоставят технологически адаптированные реализации различных уровней. Эти поставщики технологий могли бы принять форму других внешних фабрик (или factorettes ), который будет интегрирован в фабрику EFx, чтобы улучшить и раскрыть технологические представления архитектурных моделей и, в конечном итоге, преобразовать их в исходные артефакты. Эта возможность разделения технологий позволила собрать и развернуть «фабрику вариантов», которая включает в себя: технологически независимую базовую фабрику (и ее модели) с несколькими «генераторами артефактов», обеспечивающими реализации технологий. Фабрика позволила компоновать различные фабрики, которые могли создавать решения, подходящие для множества реальных гетерогенных технологических сред.

Смотрите также

внешняя ссылка