Технологии компонентного программирования
Курс по выбору
Разработчик: к.ф.-м.н., доцент Добрынин В.Ю.
При поддержке компании Digital Design
Лектор: к.ф.-м.н., ст. преп. Шульц В. Ю.
1. Процедурное, объектно-ориентированное и компонентное программирование
- Процедурное программирование - раздельное хранение данных и функций. При вызове функции ей необходимо передавать все данные.
- Объектно-ориентированное программирование - инкапсуляция, наследование реализации, полиморфизм. Недостатки: для повторного использования объекта необходима перекомпиляция, т.е. доступность исходного кода (белый ящик); не решены вопросы создания распределенных приложений.
- Компонентное программирование - инкапсуляция, наследование интерфейсов, полиморфизм, бинарное представление (черный ящик); инфраструктура для распределенных приложений (поиск интерфейсов, транзакции, безопасность и т.п.)
- Эволюция архитектуры приложения: одноуровневая система, локальная вычислительная сеть персональных компьютеров, двухзвенная архитектура клиент/сервер, трехзвенная объектная архитектура клиент/сервер, Web сервисы.
2. Технология CORBA (Common Object Request Architecture - общая архитектура брокеров объектных запросов) от OMG (Open Management Group)
- Спецификация OMA (Object Management Architecture - архитектура управления объектами):
- Брокер объектных запросов (ORB - Object Request Broker).
- Спецификации: OMG IDL (Interface Definition Language - язык описания интерфейсов), GIOP (General Inter-ORB Protocol - общий протокол взаимодействия ORB), IIOP (Internet Inter-ORB Protocol - Internet протокол взаимодействия ORB).
- Сервисы CORBA: жизненного цикла, долговременного хранения, именования, событий, контроля совместного доступа, транзакций, отношений, внешнего представления, запросов, лицензирования, свойств, времени, безопасности, коммерции, контейнеров.
- Общие средства: мобильные агенты, интернационализация, ...
- Доменные средства - средства, ориентированные на конкретные прикладные области.
- Прикладные объекты.
3. Технология COM (Component Object Model - компонентная объектная модель) от Microsoft
- Базовая иерархия COM: сервер/класс/интерфейс/метод.
- Интерфейсы COM: интерфейс IUnknown, получение ссылки на интерфейс, подсчет ссылок.
- COM-сервер: сервер контекста приложения, локальный и удаленный сервер.
4. Технология COM+ от Microsoft
- Базовая иерархия COM+: приложение/класс/интерфейс/метод.
- Базовые концепции: контекст, активация, перехват - декларативное программирование с использованием атрибутов.
- COM+ сервисы: активация по необходимости, пул объектов, синхронизация, безопасность, автоматические транзакции, очереди, свободно связанные события, балансировка загрузки.
5. .NET Framework от Microsoft
- Common Language Runtime: C#, .NET Framework Class Library, сборки (assemblies).
- Web сервисы: модель программирования Web сервисов (ASP.NET, Web Forms), описание Web сервисов - WSDL (Web Service Description Language - язык описания Web сервисов), поиск Web сервисов - спецификация UDDI (Universal Description, Discovery and Integration - универсальное описание, поиск и интеграция), протоколы и методы передачи данных - SOAP (Simple Object Access Protocol - простой протокол доступа к объектам), HTTP-Get, HTTP-Post, .NET Remoting.
- Доступ к реляционным данным и XML документам - ADO.NET (ActiveX Data Object) и DOM.
- .NET Enterprise серверы.
6. Спецификации
(перечисленные в данном разделе спецификации будут рассматриваться по мере необходимости при изучении основных разделов)- Спецификация DCE (Distributed Computing Environment - распределенная среда вычислений) от Open Software Foundation: UUID (Universally Unique IDentifiers - универсально уникальные идентификаторы).
- Спецификация DCE: RPC (Remote Procedure Call - удаленный вызов процедур).
- Модель распределенных транзакций от X/Open DTP (Distributed Transaction Processing - обработка распределенных транзакций).
- Спецификации от W3C: XML (eXtensible Markup Language - расширяемый язык разметки), XSD (XML Schema Definition Language - язык определения схемы XML) , XSL (eXtensible Stylesheet Language - расширяемый язык стилей), DOM (Document Object Model - объектная модель документа).
Литература
- Орфали Р., Харки Д., Эдвардс Дж. Основы CORBA. М., 1999.
- Роджерсон Д. Основы COM. Microsoft Corp., 1997.
- Трельсен Э. Модель COM и применение ATL 3.0. М., 2001.
- Рофейл Э., Шохауд Я. COM и COM+: Полное руководство., М., 2000.
- Бокс Д. Сущность технологии COM. СПб, 2001.
- Оберг Р.Дж. COM+: Технология, основы и программирование.
- Практическое руководство по Windows 2000 DNA. М., 2000.
- Microsoft .NET Framework SDK Documentation.
- msdn.microsoft.com
- www.dotsite.spb.ru