Руководство по эксплуатации приложения ADClientИсточник: IBM developerWorks Россия
Данная статья является последней в цикле материалов, инструктирующих как спроектировать и построить ваше собственное клиентское приложение при помощи IBMDB2Content Manager C++ Object Oriented (Объектно-ориентированных) API (C++ OOAPI), основанная на подробном анализе вымышленной рекламной фирмы, ADCompany. Приложение ADClient, показанное в данном примере, и соответствующей ему исходный код приведены в конце руководства. ВведениеpClient и eClient, объединенные с IBM DB2 Content Manager (CM), удовлетворяют клиентским требованиям многих пользователей Content Manager. Тем не менее, многие пользователи нуждаются в разработке своих собственных клиентских приложений для соответствия своим особым коммерческим нуждам и более тесной интеграции своего бизнеса с CM. Пример программы CM C++ OOAPI предоставляет разработчикам возможность детально изучить OOAPI, но не дает полного представления о том, как эти интерфейсы API организовать. Приложение ADClient, образец которого описан в данном разделе, является подробным примером, объясняющим как организовать и реализовать API. Используйте данные статьи в качестве справочника по разработке вашего собственного клиентского приложения при помощи DB2 Enterprise Content Manager C++ OOAPI. Для наглядной демонстрации данного решения используется вымышленная ситуация в компании ADCompany. На Рисунке 1 сверху вниз кратко изложен аналитический процесс, иллюстрирующий то, как организовано решение в данном цикле. Сначала проанализируйте предполагаемые бизнес-требования и разработайте модель бизнес процесса (BPM). Затем постройте реальный процесс в системе CM в качестве архитектуры решений предприятия, на основе которой в конечном итоге проектируется и разрабатывается приложение. В данном разделе, состоящем из трех частей, рассматриваются следующие темы:
Ознакомление с приложением ADClientADClient является однодокументным интерфейсом (SDI), построенным на Библиотеке Фундаментальных Классов Microsoft (MFC). Графический интерфейс пользователя (GUI) для данного приложения включает два окна, изображенных на Рисунке 2. Левое окно представляет древовидный список, отображающий текущую рабочую область. Правое окно представляет сетку, где перечислены все рабочие элементы в специальной рабочей папке. Практически все операции могут выполняться в главном меню и в меню, выводимом нажатием правой кнопки мыши. Имя зарегистрированного пользователя также перечислено в строке заголовка главного окна ADClient. Рисунок 2. Графический интерфейс пользователя (GUI) для ADClient Регистрационный файл приложения ADClientЕсли ADClient дает сбой, вы можете обратиться к adclient.log, чтобы увидеть, где произошла ошибка. Файл adclient.log расположен в том же каталоге, что и adclient.exe. ADClient не обрабатывает ошибки, переданные ADClientFunc.dll, следовательно, в случае сбоя ADClient не поступает сообщения об ошибке. Повторный обзор описания процесса на примере ADCompanyВ данном разделе кратко рассматривается определение процесса, которое было подробно описано в Части 1 цикла статей. На Рисунке 3 изображено описание процесса со всеми пользователями ADCompany, использующими собственные сетевые узлы (node). Для получения подробной информации о том, как последовательно описать процесс, и о содержании примера ADCompany, см.Часть 1 данного цикла статей. Менеджер учетных записей ADAM, работающий на сетевом узле ADCollectRequirementWB, создает рабочую папку, именуемую XYZFolder, для клиента ADCompany - компании XYZ. Затем он импортирует документ с требованиями, принадлежащий типу элемента ADRequirement в XYZFolder. Наконец, он направляет XYZFolder на следующие два рабочих узла, ADArtDraftWB и ADCopyDraftWB. Арт-Директор, ADAD, работающий на рабочем узле ADArtDraftWB и Текстовый Директор, ADCD, работающий на ADCopyDraftWB, одновременно получают XYZFolder. Они скачивают требования, сохраненные Менеджером учетных записей из типа элемента ADRequirement и выполняют художественный и текстовый дизайн. После его завершения они импортируют свои документы, один из которых принадлежит к типу элемента ADArtDraft, а другой принадлежит к ADCopyDraft. В итоге они направляют XYZFolder в пункт сбора ADWaitForDraftCP. Пункт сбора ADWaitForDraftCP ожидает оба объекта типа элемента ADArtDraft и ADCopyDraft. Когда оба приходят, он направляет XYZFolder на сетевой узел ADApproveDesignWB. Дизайн-Директор, ADDD, работающий на рабочем узле ADApproveDesignWB, отвечает за просмотр черновиков Арт-Директора и Текстового Директора. Она может одобрить или отклонить черновой проект. Если она одобряет оба черновых варианта, XYZFolder одновременно направляется на рабочий узел ADArtFinishWB и ADCopyFinishWB. Если же нет, XYZFolder отправляется назад на предыдущий сетевой узел. Художественный эксперт, ADAS, работающий на рабочем узле ADArtFinishWB и Текстовый Эксперт, ADCS, работающий на ADCopyFinishWB одновременно получают XYZFolder. Они скачивают черновики художественного и текстового дизайн-проекта, соответственно одобренные Дизайн-Директором, и завершают художественный и текстовый дизайн-проект. После завершения дизайн-проекта они импортируют собственные документы (один из которых принадлежит к типу элемента ADArtFinish, а другой к ADCopyFinish) в XYZFolder. В итоге они направляют XYZFolder в пункт сбора ADWaitForFinalDesignCP. Пункт сбора ADWaitForFinalDesignCP ожидает оба объекта типа элемента ADArtFinish и ADCopyFinish. Когда оба поступают, он направляет XYZFolder на рабочий узел ADProductionWB. Производитель ADPD, находящийся на рабочем узле ADProductionWB, скачивает окончательный вариант художественного и текстового дизайн-проекта из XYZFolder и выпускает непосредственно рекламу. Сделав это, он импортирует документ с рекламой, принадлежащий к типу элемента ADProduction в XYZFolder, и отправляет папку. Рисунок 3. Описание процесса в компании ADCompany Подробное рассмотрение процесса использования ADClient компанией ADCompanyДанные, указанные для каждого пользователя, являются индивидуальными. Экраны, не относящиеся к зарегистрированному пользователю, пропущены. Примечание:В связи с тем, что существуют некоторые ограничения в ADClient, указанные выше, убедитесь, что соблюдены все ниже перечисленные предварительные требования, прежде чем запускать приложение ADClient:
Подробное рассмотрение использования ADClient всеми пользователями ADCompany
ЗаключениеДанный раздел статьи о том, как разработать клиентское приложение с CM C++ OOAPI, предназначен для тех, кто интересуется использованием приложения ADClient. Вам предлагается последовательно запустить данное приложение для различных зарегистрированных пользователей на разных рабочих узлах, как было описано выше. После того, как вы завершите запуск ADClient от начального до конечного узла рабочего процесса, определенного в первой части, вы должны ознакомиться с механизмом клиентского приложения. В Части 2 подробно рассматривается проект и код. Теперь, по прочтении трех частей данного цикла статей, вы ознакомились с моделированием бизнес процесса, архитектурой в CM, объектно-ориентированным проектированием, а также с применением CM C++ OOAPI. |