МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ, СТАТИСТИКИ И ИНФОРМАТИКИ Кафедра Автоматизированной обработки информации и управления (АСОиУ) ОТКРЫТЫЕ.

Презентация:



Advertisements
Похожие презентации
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Advertisements

XML WEB SERVICES. ОБЗОР ТЕХНОЛОГИИ. Подходы к написанию программ модульное программирование событийно-ориентированное программирование компонентно-ориентированное.
РЭУБД РЭУБД Модель распределенных объектов.
К построению и контролю соблюдения политик безопасности распределенных компьютерных систем на основе механизмов доверия А. А. Иткес В. Б. Савкин Институт.
1 Диаграммы реализации (implementation diagrams).
1 ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ COM- ТЕХНОЛОГИИ ДЛЯ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННЫХ ПРОГРАММНЫХ ПРОДУКТОВ Component Object Model Министерство образования и науки.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Microsoft ® Visual Basic ®.NET 2003 Быстрые решения для Microsoft ® Windows ® и веб-разработки.
ENTERPRISE JAVABEANS 3.0 STATEFUL & STATLESS SESSION BEANS.
WEB- ТЕХНОЛОГИИ Лекция 6. Понятие Web- сервисов 1 Интерфейс в глобальную сеть для некоторого абстрактного программного обеспечения, этот интерфейс позволяет.
COM (Component Object Model) – модель многокомпонентных объектов.
Исполнитель: Утяшева И.А. Научный руководитель: к.ф.-м.н. Винокур В.В.
Автоматизация сборки и модификации разнородной компьютерной документации: разработка графического интерфейса приложения и формата файлов проекта. Исполнитель:
Тема 5. Введение в среду визуального программирования Borland Delphi 7.0.
ДонНУ, кафедра КТ, проф.В.К.Толстых WCF-службы Создание и тестирование.dll-библиотеки WCF-служб Из цикла лекций «Internet-технологии разработки приложений»
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 3 Основные концепции и архитектура Microsoft.
Администрирование информационных систем Основы сетевого администрирования.
Web-узлы. Разработка и администрирование.. Часть 1. Web-технология.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 2 Понятие об облачных вычислениях. Обзор платформ.
Технические спецификации и программные комплексы E2EDM Белов С.В., Сухоносов С.В., Булгакова К.В ЦОД ВНИИГМИ-МЦД,2006.
Транксрипт:

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ, СТАТИСТИКИ И ИНФОРМАТИКИ Кафедра Автоматизированной обработки информации и управления (АСОиУ) ОТКРЫТЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ Бойченко Александр Викторович 1

Лекция 5 – компонентная разработка приложений основные концепции; интегрированные среды разработки; перспективы развития. 2

Компонентное программное обеспечение Компонентом (составляющей) является программа либо любая часть программы, допускающая повторное использование. Набор компонентов образует библиотеку, используемую при разработке. Для сборки компонентов и обеспечения их совместного функционирования используется программа, именуемая платформой распределенных компонентов (distributed component platform – DCP). Компонентная разработка программ (CBSE component-based software engineering) предполагает создание программных систем из фрагментов. 3

Технология OpenDoc консорциума Component Integration Labs (CIL) организация использования пространства экрана между частями (OOUI ); хранение данных из всех частей в одном файле; упрощение обмена данными между частями (Uniform Data Transfer); поддержка сценариев, упрощающих взаимодействие частей (Open Scripting Architecture - OSA ). 4

Основные концепции компонентной разработки Стандарты компонентов : определяют методы построения программных компонентов и организации взаимодействия между ними; задают представление компонента перед внешними для него объектами независимо от внутренней его реализации (интерфейсы и протоколы взаимодействия ) 5

Основные концепции компонентной разработки Соблюдение стандартов гарантирует : взаимозаменяемость компонент и возможность их независимой модернизации; возможность адаптации внешнего вида и поведения компонент к заранее определенным прикладным функциям ИС; возможность объединения компонент в более крупные компоненты и законченные приложения. 6

Основные концепции компонентной разработки Интерфейсы компонентов: дескриптор интерфейса; набор свойств и методов компонента; набор событий, определяющих реакцию компонента на внешние события или внутренние условия. 7

Основные концепции компонентной разработки Контейнеры : образуют общий контекст взаимодействия между компонентами приложений. Контейнеры предоставляют также компонентам, вложенным в другие компоненты (таким, например, как потоки процессов и ресурсы памяти), стандартный доступ к услугам среды выполнения (системного уровня). 8

Основные концепции компонентной разработки Метаданные : Стандарты компонентов определяют метаданные, которые компонент должен публиковать для взаимодействия с другими компонентами. Интерфейсы интроспекции (introspection) или рефлексии (reflection). 9

Основные концепции компонентной разработки Распределенные серверные компоненты Услуги распределенной среды для компонент: протоколы удаленной связи; службы каталогов; службы транзакций; службы системного администрирования; службы защиты информации. 10

Интегрированные среды разработки приложений Integrated Development Environment (IDE): палитры для отображения имеющихся компонентов; контейнер; редакторы свойств компонентов и сценариев; редакторы, программы просмотра, интерпретаторы, компиляторы, отладчики исходного кода; архив компонентов и службы просмотра; средства управления конфигурацией 11

Основные элементы компонентного программного обеспечения 12

Distributed Component Object Model (DCOM) В СОМ объект характеризуется своим классом. Класс это реализация некоторого множества интерфейсов. Объект в СОМ это экземпляр класса. Для всех интерфейсов существует базовый интерфейс IUnknown. Для перехода от интерфейса базового типа к унаследованному интерфейсу или от одного из интерфейсов объекта к другому, клиент должен вызывать метод QueryInterface, определенный в базовом интерфейсе Iuknown. Для идентификации классов и интерфейсов СОМ используются те же универсальные уникальные идентификаторы (UUID) 13

Distributed Component Object Model (DCOM) Клиент получает доступ к объекту с помощью указателя на один из его интерфейсов (interface pointer). Уведомления о событиях с помощью функции I Connection Point. Для доступа к метаданным, имеющимся в библиотеке типов Type Library, предусмотрены интерфейсы ItypeLib и ITypeInfo. Интерфейсы компонентов DCOM описываются на языке Interface Definition Language (IDL). Среда компонентной разработки, основанная на модели DCOM, поддерживает разработку компонентов на трех языках - Visual Basic, Visual C++ и J++. 14

Distributed Component Object Model (DCOM) IProperty Page - интерфейс визуальной разработки компонентов в модели DCOM. Библиотека типов Type Library содержит сведения о метаданных свойств компонентов в виде категорий: Co Class – метадескриптор объекта COM; Interface – сведения о схеме распределения памяти и описания общедоступных операций; Module – описание модуля DLL – библиотеки; Type def – метадескриптор структур данных, определяемых пользователями; Importlib – получение метадескриптора библиотеки типов Type Library по указанной ссылке. 15

Distributed Component Object Model (DCOM) Службы среды распределенной обработки Windows: протокол удаленной связи, использующий механизм удаленного вызова процедур RPC; служба каталогов Microsoft Active Directory, объединяет систему именования DNS (Domain Name System) и протокол LDAP (Lightweight Directory Access Protocol), совместимый с протоколом X.500; служба безопасности, поддерживающая протокол SSL (Secure Sockets Layer); служба системного администрирования; служба распределенной обработки транзакций(MTS). 16

Distributed Component Object Model (DCOM) 17

Microsoft.Net Framework 18

Microsoft.Net Framework 1.Библиотека ADO.NET – доступ к базам данных с помощью OLE DB провайдеров,.Net провайдеров или XML. 2.Межпроцессорное взаимодействие и удаленный вызов объектов: ASP.NET - инфраструктура, управляемая Internet Information Services (IIS)..Net Remoting - предоставляет ряд сервисов: активации объектов; контроль времени жизни объектов; коммуникационные каналы, ответственные за транспортировку сообщений между удаленными приложениями. 3. Windows Forms – работа с графикой. 19

Структура и место.NET 3.0 в составе Windows 20

Windows Presentation Foundation (WPF, кодовое имя Avalon) новая подсистема интерфейса пользователя и программный интерфейс на основе XML и векторной графики; Windows Communication Foundation (WCF, кодовое имя Indigo) сервис-ориентированная система обмена сообщениями, которая позволяет программам взаимодействовать локально или удалённо подобно веб- сервисам; Windows Workflow Foundation (WF) Windows CardSpace (WCS, кодовое имя InfoCard) 21

Спецификация Java Beans Возможности компонентов Java Beans реализуются в виде набора языковых расширений стандартной библиотеки классов Java. Мобильность создаваемых компонентов относительно платформ обеспечивается технологией виртуальной Java – машины. Интерфейсы Java Beans, как и в DCOM, включают в себя свойства, методы и события. В модели свойств Java Beans дополнительно определяются связующие свойства (bound properties) и ограничительные свойства (constrained properties). 22

Спецификация Java Beans Механизм уведомления событийного типа содержит три взаимосвязанных интерфейса классов Java: Event, Event Source и Event Listener. Механизмы формирования контейнеров и метаданных аналогичны механизмам, используемым в модели DCOM. Integrated Development Environment (IDE) – визуальная разработка компонентов: Visual Cafe (Symantec), Visual Age for Java (IBM), J Builder (Borland), Java Workshop (Sun). 23

Спецификация Java Beans Для формирования метаданных в платформе Java Beans используется API - интерфейс Core Reflection. Интерфейс интроспекции Introspection - предоставляет набор классов метаданных, адаптированных для поддержки компонентной разработки. Класс метаданных Bean Info определяет визуальные пиктограммы компонентов. Другие классы метаданных Java Beans являются производными от общего базового класса Feature Descriptor. Вспомогательный класс Inspector - помогает разработчику ориентироваться в использовании API - интерфейсов Introspection и Core Reflection Средства поддержки метаданных Java Beans опираются на соглашения об именах – конструктивные шаблоны (design pattern). 24

Спецификация Java Beans Платформа распределенных компонентов, основанная на Java Beans - спецификация Enterprise Java Beans (EJB). Службы серверной среды EJB: протокол дистанционного вызова методов (синхронный - Remote Method Invocation (RMI) и асинхронный – Java Massaging Servece (JMS); служба каталогов Java Naming & Directory Interface (JNDI); служба безопасности java-security; служба системного администрирования через API - интерфейс Java Management API (JMAPI); служба транзакций по спецификации OMG Object Transaction Service. 25

Элементы архитектуры Java и ActiveX КомпонентActiveX компании MicrosoftJava компании Sun Язык программированияЛюбой совместимый с OLE, включая Visual Basic, Java и C Java Спецификации и API- интерфейсы для связи объектов ActiveX/ OLEJavaBeans Способы взаимодействия объектов в сетевых средах DCOMRMI и JMS Клиентская платформаWindows Все популярные ОС Язык сценариев для HTMLVisual Basic ScriptJavaScript 26

Спецификации компонентов в архитектуре CORBA 27

Спецификации компонентов в архитектуре CORBA Объекты в CORBA: прикладные объекты (Application Object); объектные службы (CORBA services) – служба имен, служба событий, служба сохранения в долговременной памяти, служба транзакций; общие средства (CORBA facilities) – поддержка составных документов, потоков заданий. Управление объектами – брокер запросов (Object Request Broker - ORB). Взаимодействие – протокол Internet InterORB Protocol (IIOP) 28

Спецификации компонентов в архитектуре CORBA Требования OMG к спецификациям компонентного уровня: модель компонентов (типы компонентов, интерфейсы, механизмы инициирования и обработки событий и др.); средство описания компонентов; модель программирования, которая отображает описания компонентов в языки, поддерживающие язык определения интерфейсов CORBA IDL; отображение в модель компонентов Java Beans, которое обеспечивает необходимые уровни взаимодействия на этапах проектирования и выполнения, в т.ч. инспекцию компонентов и автоматическую генерацию программного обеспечения, необходимого для интегрирования компонентов CORBA в инструменты, основанные на языке Java. 29

Компонентная разработка Web-приложений Архитектурные решения W3C: метамодель для обмена структурированными документами Extensible Markup Language (XML); описания метаданных ресурсов Web Resource Definition Framework (RDF); модели документов Web Document Object Model (DOM). 30

Перспективы компонентной разработки Дон Бокс (Микрософт): одной из ключевых проблем в объектном подходе к обмену информацией является то, что приложения должны использовать особые классы файлов - файлы формата JAR в Java или динамически подключаемые библиотеки (DLL) в Windows. Такой подход имеет ряд принципиальных недостатков. Поэтому на смену ему должны придти новые технологии, в которых обмен данными между программами осуществляется посредством специальных служб, использующих язык XML. Обмен информацией в этом случае осуществляется только путем отправки и приема приложениями сообщений. Такая модель обладает большей гибкостью по сравнению с объектной моделью и впервые реализована в Longhorn. 31