- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Основы проектирования корпоративных систем - Сергей Зыков
Шрифт:
Интервал:
Закладка:
Перед автором недавно стояла задача верстки документа в текстовом редакторе TeX для одной из научных конференций, поскольку это являлось необходимым требованием. К сожалению, с TeX автор работал очень давно и решил не вдаваться в подробности, а пойти по другому пути – взять MS Word и найти к нему расширение, которое реализует функции конвертации документа Word в текст формата TeX. Выяснилось, что такое расширение есть, что оно строится на основе. NET Framework, требует. NET Framework версии 1.0, написано на C# и работает вполне корректно. То есть оно позволяет задавать стили, делать корректным перенос формул, это высший пилотаж, это самое сложное, собственно это то, ради чего строился TeX, – создавать многоэтажные, сложные формулы, корректно переносить иллюстрации. Самое главное, что оно как раз внедряет в семейство панелей инструментов MS Word новую строку инструментов и позволяет осуществлять конвертацию посредством этой строки, а также изменяет меню – вводит новый пункт меню и может работать посредством подменю. При этом запуск посредством встроенного в MS Word сценария обеспечивает примерно десятикратное увеличение производительности по сравнению с традиционной работой без использования MS Word. То есть использование надстройки в этом случае существенно помогает.
Итак, в данном примере предлагается добавить новую строчку меню в Excel. Делается это посредством нескольких шагов, при этом каждый из них является достаточно простым. Во-первых, надо взять пространство имен, которое называется Microsoft.Office.Core, и задать ему более простой псевдоним. Для этого используется оператор Using, по сути, слово Office, которое здесь пишется, является Alias – псевдонимом более длинного Microsoft.Office.Core, и впоследствии можно писать не Microsoft.Office.Core, а просто Office, как здесь и делается. После этого в разделе объявлений класса Office.Core.Behind указываются соответствующие элементы, по сути – элементы управления в новом пространстве имен. Office. CommanBar – это, собственно, панель команд. Создаем панель меню, создаем элементы панели меню, это MainMenuBar в главном меню, MenuBarItem – элемент панели меню, MenuItem – элемент меню. Таким образом, используются три переменные уровня модуля. Одна из них, первая, дает ссылку на главную строку меню Excel, другая – на элемент строки меню MenuBarItem, и еще одна – MenuItem – нужна для того пункта меню, для которого и будет обрабатываться событие щелчка по этому пункту. Далее, как только описаны все три уровня, остается написать две функции: первая создает пункт строки меню, вторая – пункт меню, т. е. MenuBarItem и MenuItem. Рассмотрим пример: код первой процедуры, которая называется InitMenuBarItems (рис. 14.4).
Далее создаем новый пункт меню. При этом можно использовать специализированный, заранее определенный обработчик событий ThisWorkBookOpen, т. е., как только открывается книга Excel, автоматически выполняется это событие и фактически в нашем классе Office.Core.Behind создается код, который будет выполняться по этому действию (рис. 14.5).
Здесь командная кнопка создается посредством метода Cre-ateButton, и дальше используется стандартный интерфейс реализации исключений. Наконец можно привязать к скрипту события ThisWorkBookOpen – открытие текущей книги, создание тех элементов управления, о которых было сказано. Создается строка меню, пункт меню и обрабатывается событие – клик по объекту This.MenuItem, снова стандартным образом. При этом используются стандартные процедуры обработки событий, которые существуют в MS Office, точнее в MS Excel. И нужно добавить код, который создает отчет при нажатии кнопки OK или ничего не выполняет при нажатии кнопки Cancel в том окне, которое появляется при выборе пользователем созданного ранее пункта меню. Это происходит при помощи элемента WindowsForm, т. е. создается меню диалога, и можно пользоваться стандартными методами, стандартными результатами DialogResult.OK, DialogResult.Cancel. При этом происходит работа со стандартной формой, которую имеет тип FRMReport и называется FRM, и со стандартным методом ShowDialog, который как раз и генерирует стандартный диалог, стандартное окно с кнопками OK и Cancel.
Рис. 14.4. Создание строки меню
Рис. 14.5. Создание пункта меню и командной кнопки
Завершая разговор о компонентных и офисных приложениях в среде MS.NET, следует сказать о том, что в целом они наследуют важные особенности компонентной модели COM. Но являются более специфичными и позволяют осуществлять построение гибких, настраиваемых, интероперабельных приложений, в том числе с компонентами на разных языках. Что очень важно, осуществляется возможность создания сопровождаемых гибко настраиваемых повторно и многократно используемых приложений на основе различных компонентов, которые могут быть изменены по запросу пользователя и приводить к тиражируемым, коробочным решениям и к решениям, которые не требуют существенных изменений.
Реализация принципа компонентно-ориентированного программирования осуществлена Microsoft и расширена с платформы. NET на надплатформу, которая называется MS Office System, тоже является своего рода платформой и позволяет строить на компонентой основе надстройки – AddIns для приложений уже офисного класса, которые используются в корпорациях для совместной обработки гетерогенных данных. Важно, что все механизмы. NET Framework и CLR внедрены в семейство приложений MS Office, таких как Word – текстовый процессор, Excel – электронные таблицы, Access – базы данных и Outlook – клиент электронной почты. Нужно сказать, что при этом обеспечивается повышенный уровень безопасности за счет интеграции с внутренними политиками безопасности. NET и Windows, реализации механизма сборок, электронной подписи, идентификации автора и версии сборки, за счет манифеста и т. д.
И последнее, что хотелось бы отметить. Сборка, которая для. NET является синонимом компонента, находится структурно посередине между понятием класса языка программирования и понятием модуля корпоративной системы, например модуля учета, планирования и управления основных средств в корпоративной системе Oracle Applications или Oracle Business Suit. Такой подход позволяет создавать интероперабельные, надеждные, масштабируемые и легко изменяемые приложения, и в отличие от конкурирующих подходов, таких как, например, Enterprise Java Beans, обеспечивает языковую интероперабельность, т. е. очень важную возможность реализации компонентов приложения на наиболее подходящих языках программирования.
Глава 15
Разработка корпоративных систем на основе библиотеки Enterprise Library
Корпоративные системы имеют очень большие базы данных: размеры хранимой информации в этих СУБД достигают 1015 байт. В хранилищах корпоративного контента хранится гетерогенная информация, это и видео-, и аудиоданные, и отсканированные документы, которые не всегда идеально распознаются и часто просто каталогизируются на основе определенных признаков: номера, даты создания и т. д. Нужно сказать, что корпоративные данные достаточно быстро увеличиваются, в среднем их объем удваивается за пятилетку, т. е. речь идет о лавинообразном росте, поскольку удвоение – это почти экспоненциальный рост. При таких изначально высоких базовых объемах этих данных управлять ими очень сложно, поскольку они обеспечивают бизнес-критичные приложения, необходимые для ведения и оперативного, и стратегического планирования развития корпорации. В связи с этим темой данной главы будут как СУБД, так и библиотеки создания корпоративных приложений, которые настроены на то, чтобы создавать из базовых блоков экономичным образом корпоративные приложения и объединять их в корпоративные информационные системы (КИС).

