Взаимодействие с внешними программами

Для начала следует понять, что подразумевается под внешними программами и с чем именно им придётся взаимодействовать.

Для этого дадим несколько определений:

Компьютерная программа — последовательность инструкций, определяющих процедуру решения конкретной задачи компьютером.

Внешняя программа – это программа, которая находится вне другой программы или даже вне операционной системы.

Написанием программ занимается программист, а если речь идёт о программировании, то взаимодействие с внешними программами можно трактовать, как взаимодействие создаваемой программы с внешними программами (сторонними программами).

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

Стандарт и технология COM

COM (англ. Component Object Model – объектная модель компонентов) – это технологический стандарт от компании Microsoft для создания программного обеспечения на основе взаимодействующих компонентов, каждый из которых может использоваться во многих программах одновременно. Стандарт COM мог бы быть универсальным и платформо-независимым, но закрепился в основном на операционных системах семейства Microsoft Windows. На основе COM были реализованы технологии: Microsoft OLE Automation, ActiveX, DCOM, COM+, DirectX, а также XPCOM.

Стандарт COM был разработан в 1993 году корпорацией Microsoft как основа для развития технологии OLE.

Технология COM описывает методологию реализации компонентов программного обеспечения: объектов, которые могут повторно использоваться, могут быть неоднократно подключены к разным приложениям.

Объект COM – конкретный экземпляр COM-класса, завершенный объект с собственными членами данных и методами, который может легко встраиваться в программы или распространяться как отдельный программный продукт. COM-объект представляет собой или DLL-библиотеку или ЕХЕ-программу для Wіndows, которые можно создавать в любой среде программирования, способной поддерживать нужный формат представления. COM-объект может иметь много функций, доступ к которым происходит через его интерфейсы. Любой COM-объект должен иметь по крайней мере одни интерфейс ІUnknown, хотя на самом деле имеет их значительно больше.

Предположим, что пользователю в каком-нибудь отчете нужно поместить электронную таблицу с расчетами, которые ссылаются на определенные параметры в тексте. Чтобы выполнить любые вычисления без использования технологии СОМ, пришлось бы постоянно переключаться между двумя программами (Word и Excel), а информацию копировать (вырезать и вставлять). При помощи технологии COM можно применять функции электронной таблицы прямо в текстовом редакторе и автоматически форматировать полученный результат. Возможность реализовать операции такого рода называется автоматизацией.

Цель автоматизации состоит в том, чтобы дать возможность программе предоставлять в использование сервисы, которые в ней присутствуют. Основной особенностью автоматизации является возможность комбинировать функции различных специализированных приложений в одном модуле. СОМ дает возможность программам передавать свою информацию в другие приложения и модули.

Связь платформы .NET и технологии COM

В 2002 году была официально выпущена платформа Microsoft .NET, которая на сегодняшний день объявлена Microsoft рекомендуемой основой для создания приложений и компонентов под Windows. По этой причине в .NET включены и средства, позволяющие обращаться к компонентам COM из приложений .NET, и наоборот.

Некоторые широко-известные технологии, основанные на стандарте COM

Технология DCOM

Выпущенная в 1996 году технология DCOM (англ. Distributed COM – распределённая COM) является расширением для COM для поддержания связи между объектами на различных компьютерах по сети. Технология DCOM обеспечивает базовые установки безопасности, позволяя задавать, кто и из каких машин может создавать экземпляры объекта и вызывать его методы.

Технология OLE

OLE (англ. Object Linking and Embedding) – технология связывания и внедрения объектов в другие документы и объекты, разработанная корпорацией Майкрософт. В 1996 году Microsoft переименовала технологию в ActiveX.

OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты назад.

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

OLE используется при обработке составных документов, может быть использована при передаче данных между различными несвязанными между собой системами посредством интерфейса переноса, а также при выполнении операций с буфером обмена. Идея внедрения широко используется при работе с мультимедийным содержанием на веб-страницах, где используется передача изображения, звука, видео, анимации в страницах HTML либо в других файлах, также использующих текстовую разметку. Однако технология OLE использует архитектуру «толстого клиента», то есть сетевой ПК с избыточными вычислительными ресурсами: тип файла либо программа, которую пытаются внедрить, должна присутствовать на машине клиента.

OLE-сервера взаимодействуют с системными библиотеками при помощи таблиц виртуальных функций. Эти таблицы содержат указатели на функции, которые системная библиотека может использовать для взаимодействия с сервером или клиентом.

OLE версии 1.1 позднее развился в архитектуру COM для работы с компонентами программного обеспечения. Позднее архитектура COM была преобразована и стала называться DCOM.

Когда объект OLE помещен в буфер обмена информацией, он сохраняется в оригинальных форматах Windows (bitmap или metafile), а также сохраняется в своём собственном формате. Собственный формат позволяет поддерживающей OLE-программе внедрить порцию другого документа, скопированного в буфер, и сохранить её в документе пользователя.

В 1996 году Microsoft переименовала технологию OLE версии 2.0 в ActiveX. Эта версия OLE в основном используется веб-дизайнерами для вставки в страницы мультимедийных данных.

Технология ActiveX

ActiveX – программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта для определения компонентов, пригодных к использованию из программ, написанных на разных языках программирования.

Множество приложений для Microsoft Windows, включая приложения самой компании Microsoft, такие, как Internet Explorer, Microsoft Office, Microsoft Visual Studio,Windows Media Player, используют управляющие элементы ActiveX, чтобы реализовать набор функциональных возможностей и в дополнение инкапсулировать их собственный функционал в управляющие элементы ActiveX, чтобы предоставить возможность встраивать их в другие приложения.

Технология ActiveX — средство, при помощи которого Internet Explorer (IE) использует другие приложения внутри себя. С помощью ActiveX IE загружает Windows Media Player, Quicktime и другие приложения, которые могут воспроизводить файлы, внедрённые в веб-страницы.

ActiveX официально обрабатываются только Microsoft Internet Explorer и операционной системой Microsoft Windows.

Вредоносное ПО, такое, как компьютерные вирусы и шпионящее ПО, можно случайно установить с вебсайтов злоумышленников, используя технологию управляющих элементов ActiveX.

Программисты могут создавать управляющие элементы ActiveX с помощью любого языка программирования, поддерживающего разработку компонентов Component Object Model (COM): C++, Delphi, Visual Basic, .NET Framework (C#/VB.NET). Распространённые примеры управляющих элементов ActiveX включают кнопки, списки, диалоговые окна и т. д.

Заключение

Производственная практика является одним из основных условий закрепления полученных в колледже теоретических знаний, приобретения практических навыков по их применению, а также выявления пробелов в знаниях теории. Практика дает возможность получить практическую подготовку, оценить свои возможности.

На протяжении всего периода производственной практики я ознакомилась с деятельностью, нормативно-правовыми документами, организационной структурой предприятия ИП Гайчук Ольга Игоревна «Тульский Макетный Двор», а также получила практический опыт в создании разного рода программного обеспечения и в составлении документации к программному обеспечению. Небольшой коллектив специалистов организации ИП Гайчук Ольга Игоревна «Тульский Макетный Двор» отличается отзывчивостью и дружелюбностью. Работа на предприятии не останавливается ни на минуту. То и дело поступают новые заказы на изготовление макетов разного вида. Многие заказчики остаются довольными и обращаются неоднократно. Особенно деятельность макетной мастерской привлекает рекламные агентства с целью маркетинга нового объекта техники или архитектурного объекта.

Анализируя деятельность организации ИП Гайчук Ольга Игоревна «Тульский Макетный Двор», я пришла к выводу, что в целом работа организации проходит положительно, но были выявлены такие недостатки:

· Высокий уровень шума, что может плохо сказаться на здоровье работников, в связи с расположением фрезерных станков в одном помещении с рабочими местами разработчиков чертежей, покрасочного цеха, цеха сборки макета, а также к местам работы директора макетного производства и директора фрезерного производства и наружной рекламы;

· Запыленность помещения также плохо влияет на здоровье человека;

· При наличии добросовестных работников есть всего лишь небольшое количество настоящих специалистов своего дела.

Предлагаю провести следующие мероприятия по устранению выявленных недостатков:

1. Взять в аренду второе помещение для фрезерных станков или соорудить перегородку из шумоизоляционных материалов.

2. Взять на работу уборщицу или организовать график дежурств работников организации по уборке помещения.

3. Назначать квалификационных работников на обучение начинающих специалистов, рекламировать курсы повышения квалификации, поощрять стремление работников к повышению квалификации.

Первым и важнейшим этапом создания макета является разработка чертежей. Сейчас доступно большое количество программ для работы с графикой. Но, как известно, в любой программе есть свои недочёты, поэтому разработчикам чертежей для разных макетов приходится пользоваться разным программным обеспечением. Программ для обработки графики появляется всё больше и больше. Это можно назвать «вечной гонкой» среди программистов c желанием создать лучший программный продукт, который будет максимально удовлетворять потребности пользователей. Исходя из этого, можно сделать вывод, что для современного мира важны специалисты программисты, тем более, если учитывать большую скорость развития информационных технологий.

Наши рекомендации