Средства быстрой разработки прикладных программ☛Уроки программирования ✎ |
Создание масштабных ИС всегда было чрезвычайно сложным делом, доступным только коллективам высококлассных программистов. Еще не так давно все такие разработки выполнялись в основном на традиционных процедурно-ориентированных языках программирования. За необходимости учитывать многочисленные условия функционирования ИС и требования пользователей процесс создания их состоял из нескольких циклов, с прохождением которых система в процессе разработки последовательно приближалась к желаемой функциональности и вида.
Путем многочисленных согласований разработчики пытались выяснить желания пользователей, но поскольку при этом нужно было решать массу непростых проблем, то это не всегда давало желаемый результат. При такой технологии разработки ИС пользователи занимали пассивную позицию: они становились наблюдателями того, что сделали разработчики. Поэтому ИС часто отражали не столько точку зрения пользователей, сколько точку зрения разработчиков, и навязывали пользователям достаточно жесткие схемы обработки информации. Это приводило к многочисленным модернизаций и модификаций систем, разработка и внедрение ИС затягивались на годы. В то же время стремительные изменения в бизнес-процессах требовали значительного сокращения сроков создания ИС. Все это побудило возникновения целого направления в индустрии программного обеспечения - создание инструментов быстро разработки программ (Rapid Application Development).
Особенности и технология использования языков программирования четвертого поколения
Первая концепция ускорения процессов разработки приложений с помощью RAD-инструментов основывалась на использовании комплекса специальных объектно-ориентированных средств, позволяющих манипулировать определенным набором готовых стандартных графических объектов, функционально отражающих отдельные информационные компоненты графической среды пользователя и хранятся в общедоступном архиве. Реализация этой концепции в виде реального среды программирования привела к появлению семейства объектно-ориентированных языков программирования четвертого поколения (4-th Generation Language, или 4GL).
В отличие от языков программирования третьего поколения (Кобол, Фортран, Си, Паскаль) языка четвертого поколения является объектно-ориентированными инструментами визуального программирования, которые освобождают разработчика от сложностей формирования графической среды пользователя, использование ресурсов операционной системы, управление памятью ЭВМ и , что существенно, обеспечивают доступ к распределенным базам данных. Это дало возможность применять совершенно иную технологию создания информационно-поисковых систем, обеспечивающих интерфейс конечного пользователя в задачах сбора, накопления и поиска детализированной информации и могут использоваться как надстройки над отдельными базами данных.
По этой технологии разработки начинается с конструирования из информационных объектов некоторой действующей модели (прототипа), функционирование которой соглашается с пользователем, и только после этого разработчик переходит к непосредственному формированию завершенной программной системы, имея ее общую картину. Практика показывает, что такие действующие прототипы программ на основе RAD могут быть созданы в течение двух-четырех недель, тогда как при использовании традиционных языков программирования на это уходило до полугода. Такое ускорение было достигнуто за счет принципиально новых методов формирования графической среды пользователя: инструменты RAD стали визуальными и дают возможность наблюдать за изменениями интерфейса непосредственно в процессе конструирования его. Возник даже термин, определяющий характерную черту новой технологии разработки, - «визуальное программирование».
Новая технология значительно упростила и ускорила разработку информационно-аналитических систем, выполняющих определенное множество запросов. Такие системы очень просты в применении и создаются в расчете на непосредственное использование лицами, принимающими решения. Их часто называют Информационными системами руководителей (ИСК) или Executive Information Systems. Объектно-ориентированные инструменты RAD в интегрированной среде разработки в удобном интерактивном режиме позволяют на основе стандартных классов объектов формировать простые ИСК практически без кодирования. Каждый из объектов таких программ может быть «подключен» к базе данных и учитываться в соответствии с ее текущего состояния нужную информацию. Для этого в состав RAD включаются драйверы, обеспечивающие доступ к данным через стандартные интерфейсы, такие как интерфейс MS ODBC (Open Database Connectivity). При создании сложных систем объектная ориентация инструментов RAD позволяет разработчикам сосредоточиться на сути реальных бизнес-процессов организации, для которой создается ИС.
Поскольку разработка прототипов и интерфейса стало фактически одним и тем же задачей, программист получает непрерывный обратную связь с конечными пользователями, которые могут не только наблюдать за разработкой программы, но и активно участвовать в ее создании, корректируя результаты и свои требования.
Распространение RAD-инструментов побуждало разработки их значительным количеством фирм. Наибольшей популярностью пользуются MS Visual Basic, PowerBilder (Powersoft Corp), Delphi (Borland International).
Технологии OLE
Вторая концепция ускорения разработки программ базируется на использовании компонентного программирования. Технология разработки программного обеспечения предусматривает максимальное использование отдельных компонентов готовых программных продуктов. Если раньше под программированием понималось, в основном, написание кода программы, реализующей детальную процедуру решения задачи, то теперь это означает прежде всего умение подобрать нужные готовые компоненты и построить из них необходимую прикладную программу. Для того чтобы компоненты могли рассматриваться как «готовы к использованию» элементы программ, они должны строиться на основе открытой архитектуры, которая обеспечивает повторное использование кода. Технологии фирмы Microsoft, на которых базируется повторное использование кода - это технологии OLE. Технологии OLE - Object Linking and Embedding (связывание и внедрение объектов) - являются мощными инструментами, обеспечивающими широкую взаимодействие программ между собой. Существует несколько типов технологий OLE, основанные на общих принципах:
• связывание;
• внедрения;
• технология ActiveX.
Первым типом технологии OLE является связывание. Это означает, что в документно-ориентированной программе-контейнере (клиенте) размещается не сам объект, а ссылка на соответствующую документно-ориентированную программу-сервер. Это не требует дополнительных затрат внешней памяти (размеры контейнерного документа увеличиваются лишь на количество байтов, необходимых для сохранения связи с серверным документом), но имеет тот недостаток, что при этом документы теряют способность к свободному перемещению. Иными словами, если есть документ Word, связанный с электронной таблицей Excel, то уже невозможно просто скопировать документ Word на дискету, переписать его на другую машину и увидеть на ней таблицу, связанную с этим документом.
При использовании второго типа технологии OLE - внедрение - в контейнерный документ вставляется копия объекта. По сравнению с связыванием затраты ресурсов возрастают, но обновление документа выполняется быстрее и появляется возможность его перемещения. Это означает, что если есть документ Word с внедренным в него электронной таблицей, то можно просто скопировать документ Word на дискету, переписать его на другую машину и увидеть на ней таблицу, заполненную и активную.
Технология ActiveX (ранее использовалась название OLE-автоматика, или автоматизация OLE) обеспечивает Автоматизацию (Automation) - взаимодействие программ, когда одна программа управляет работой другого. Это средство, дающее возможность при создании новых программ использовать объекты и методы, которые входят в состав других программ или в библиотеки. Таким образом эта технология обеспечивает непосредственный доступ к объектам другой программы. Автоматизация значительно повышает мощность и производительность языков программирования и открывает широкие возможности использования готовых программных компонентов. Она позволяет достичь преимуществ повторного использования кода, устраняя необходимость заново разрабатывать функционально одинаковый код каждый раз, когда появляется потребность в решении определенной задачи.
О программе, которая обеспечивает доступ к своим объектам из других программ, говорят, что она предоставляет свои объекты; ее называют серверной программой. Серверные программы, построенные по стандарту фирмы Microsoft, называются компонентами ActiveX. Компонент ActiveX - единица программного файла, соответствующей спецификации ActiveX по предоставлению своего программного кода другой программе. По ним применяются термины: открытый объект, сервер прикладных объектов, серверное применение OLE, сервер автоматизации OLE или OLE-сервер.
Используется два типа OLE-серверов - внутренние и внешние серверы. Внутренний сервер автоматизации (in-process server) - это файл динамической библиотеки DLL. Ее функции выполняются в адресном пространстве того же процесса, что и клиентская программа, которая его использует. Внешний сервер автоматизации (out-of-process server) является файлом EXE. Он выполняется самостоятельно в собственном адресном пространстве.
Компоненты ActiveX строятся на основе архитектуры OLE, стандарта COM (Компонентная объектная модель) и его расширении DCOM (Распределенная Компонентная объектная модель). Открытость этой архитектуры дает возможность различным фирмам создавать программные компоненты повторного использования. Именно с целью использования при разработке программных компонентов и был разработан открытый стандарт компонентов ActiveX. С появлением компонентов ActiveX осуществилась давняя мечта разработчиков программного обеспечения - построение приложений из готовых частей. Программисты на Visual Basic, C, C + + i Java могут использовать преимущества компонентов ActiveX для ускорения разработки своих приложений.
Существует три типа компонентов ActiveX:
• программные компоненты ActiveX;
• элементы управления ActiveX;
• документы ActiveX.
Программный компонент ActiveX - это компонент библиотеки типов объектов, которая может быть представлена в виде файла EXE или DLL. Создать клиентскую программу, которая сможет использовать функциональные возможности такого сервера, несложно. Например, в Visual Basic для этого нужно:
• установить ссылку на сервер (библиотеку типов объектов);
• объявить объектную переменную;
• создать объект;
• использовать методы и свойства объекта.
Установка ссылки на библиотеку типов позволяет программе-клиенту найти программу-сервер, предоставляющий свои объекты для внешнего использования. Но для этого серверная программа должна быть зарегистрирована в системном реестре. Конечно, это не означает, что программа обязана предоставлять свои объекты только потому, что она зарегистрирована в системном реестре. Кроме того, если программа предоставляет свои объекты, то это вовсе не означает, что она предоставляет к внешнему использования каждый объект, входящий в ее состав.
Для определения того, какие объекты предоставляются зарегистрированным в системе прикладной программой, можно в системе программирования Visual Basic воспользоваться командой Project / References, а в редакторе VBE офисной программы - командой Tools / References. При выполнении этих команд на экране появляется диалоговое окно References, содержащий список всех зарегистрированных в системе библиотек автоматизации OLE. Библиотеки подобного типа обычно имеют расширение типов файлов *.OLE, *.TLB, *.OCX, *.DLL. На рис. изображено диалоговое окно References. Его содержание зависит от того, какие библиотеки зарегистрировано в системном реестре на данном компьютере.
Если в диалоговом окне References установить флажок опции в строке любого элемента и нажать клавишу ОК, то тем самым будет установлена ссылка на этот элемент. После этого те объекты, которые предоставляются обозначенным элементом, можно будет просматривать в окне Object Browser. Это окно выводится на экран нажатием клавиши F2 или командой View / Object Browser. Следует иметь в виду, что не каждая программа, которая является сервером автоматизации OLE и которая предоставляет свои объекты, обязательно будет занесена в список диалогового окна References. Как и в других случаях, здесь существуют исключения, поскольку не каждая программа имеет тип библиотеки, отображаемый в диалоговом окне References.
Элементы управления ActiveX (ранее известные как элементы управления OLE) - это объекты многоразового использования, расширяющие возможности взаимодействия пользователя с программой. Они включают визуальные элементы и программный код. Как правило, визуальные элементы могут генерировать события, связанные с действиями пользователя. В процессе разработки программы элементы управления должны быть размещены в некотором контейнере (например, таком как форма).
Документы ActiveX значительно расширили возможности программ за счет расширения возможностей пользовательского интерфейса. Такой документ помещается внутри программы-клиента (в этом случае она называется контейнером документа ActiveX), заполняет ее область отображения и придает ей способность трансформировать себя. В результате контейнер выглядит и действует как программа-сервер. Хотя, на первый взгляд, документы ActiveX и внедренные объекты очень похожи, документы ActiveX позволяют делегировать инструменты сервера программе-клиенту и таким образом значительно расширяют функциональные возможности последней. При этом пользователь может не знать, какая программа какими данными оперирует. Это дает ему возможность сосредоточиться на решении своих задач, уделяя меньше внимания аспектам работы программы.
К программам, которые часто используются как контейнеры документов ActiveX, принадлежат MS Office Binder и MS Internet Explorer.
MS Office Binder - контейнер широкого назначения, позволяющий пользователям группировать и редактировать связанные документы. Он может содержать набор документов, включающий документы Word, рабочие листы Excel, различные диаграммы и схемные решения. Все документы хранятся в едином файле и пользователи могут открывать каждый документ, причем запускать соответствующую программу не требуется. Отдельные документы проекта Binder могут быть распечатаны со сквозной нумерацией страниц.
MS Internet Explorer загружает документ ActiveX таким образом, что среда работы пользователя будет вроде программы-сервера, но с добавлением функциональных возможностей Internet.
Для разработчиков важнейшее преимущество документов ActiveX состоит в возможности применить свои навыки программирования. Разработчики могут создавать документы ActiveX, используя привычную для них язык и среду программирования, такие как MS Visual Basic, MS Visual C + +, MS Visual Java + +.
Другие материалы по теме:
- Технология intranet- Способы описания алгоритмов
- Введение в программирование с помощью api
- Разработка программного продукта. Этапы проектирования и построение модели
- Понятие алгоритма
