Технологии программирования
CASE-технологии
Четвертый этап – компонентный подход и CASE-технологии (с середины 90-х годов XX до нашего времени). Компонентный подход предполагает построение программного обеспечения из отдельных компонентов физически отдельно существующих частей программного обеспечения, которые взаимодействуют между собой через стандартизованные двоичные интерфейсы. В отличие от обычных объектов объекты-компоненты можно собрать в динамически вызываемые библиотеки или исполняемые файлы, распространять в двоичном виде (без исходных текстов) и использовать в любом языке программирования, поддерживающем соответствующую технологию.
Компонентный подход лежит в основе технологий, разработанных на базе COM (Component Object Model – компонентная модель объектов), и технологии создания распределенных приложений CORBA (Common Object Request Broker Architecture – общая архитектура с посредником обработки запросов объектов). Эти технологии используют сходные принципы и различаются лишь особенностями их реализации.
Технология СОМ фирмы Microsoft является развитием технологии OLE (Object Linking and Embedding – связывание и внедрение объектов), которая используется в Windows. Технология СОМ определяет общую парадигму взаимодействия программ любых типов: библиотек, приложений, операционной системы. Т.е. позволяет одной части программного обеспечения использовать функции (службы), предоставляемые другой, независимо от того, функционируют ли эти части в пределах одного процесса, в разных процессах на одном компьютере или на разных компьютерах (рис. 6). Модификация СОМ, обеспечивающая передачу вызовов между компьютерами, называется DCOM (Distributed COM – распределенная СОM).
Рис. 6. Взаимодействие программных компонентов различных типов
По технологии СОМ приложение предоставляет свои службы, используя специальные объекты – объекты-СОМ, которые являются экземплярами классов-СОМ. Объект-СОМ включает поля и методы так же, как и обычный объект, но может реализовывать несколько интерфейсов, обеспечивающих доступ к его полям и функциям.