или
Заказать новую работу(фрагменты работы)
Учебное заведение: | Другие города > ДРУГОЕ |
Тип работы: | Отчеты и дневники по практике |
Категория: | Информационные технологии, Программирование |
Год сдачи: | 2011 |
Количество страниц: | 19 |
Оценка: | 5 |
Дата публикации: | 14.05.2012 |
Количество просмотров: | 1053 |
Рейтинг работы: |
Производственная практика 17 с., 4 рис., 3 источника
Ключевые слова: ИНФОРМАЦИОННАЯ СИСТЕМА, СИСТЕМА ПОДДЕРЖКИ ПРОДАЖ, РЕЛЯЦИОННАЯ БАЗА ДАННЫХ, БИЗНЕС-ЛОГИКА, API, XML, VDOM, PYTHON
Цель: разработка внешнего API для системы поддержки продаж.
Результаты работы: разработано 7 операций внешнего API для системы поддержки продаж.
Область применения: разработанный API будет использован для интеграции системы поддержки продаж с одним из приложений компании VDOM Box International.
Работа защищена в 2011 году на факультете информатики Томского государственного университета на оценку "отлично".
(фрагменты работы)
* Содержание *
Введение
1 Система поддержки продаж
1.1 Концепция
1.2 База данных
1.3 Слой бизнес-логики
2 Внешний API
Заключение
Список использованных источников
* Выдержки из текста *
Для интеграции разрабатываемой системы с другими приложениями, необходимо разработать для нее внешний API. Согласно требованию заказчика системы такой API должен представлять собой некий набор отдельных операций, принимающих и отправляющих данные в формате XML. Также заказчиком была предоставлена подробная спецификация данного API.
Рассмотрим средства, предоставляемые используемой платформой для решения поставленной задачи. Платформа VDOM [1] предоставляет возможность удаленного вызова процедур посредством библиотеки, работающей по протоколу SOAP. Каждая процедура оформляется в виде отдельного файла исходного кода на языке Python [2, 3] и помещается в приложение, из которого может быть в последствие вызвана. Ввод и вывод данных осуществляется в формате XML. Вызываемая процедура получает данные через сессию, через переменную с фиксированным именем (xml_data). Выходные данные отправляются аналогично – сохраняются в переменную с фиксированным именем (response).
Теперь поговорим непосредственно о реализации внешнего API. Разработка каждой отдельной API-операции подразумевает последовательное решение трех задач, а именно:
• Анализ входных XML-данных.
• Реализация логики операции.
• Формирование выходных XML-данных.
***
Можно условно выделить две стратегии анализа XML-документа. Первая из них предполагает рекурсивный обход XML-дерева, начиная от корневого элемента, и получение для текстовых узлов их строковых значений, а для элементов значений их атрибутов и списка их потомков. Если же в документе заведомо отсутствуют теги с одинаковым названием, то задача значительно упрощается. Можно просто вызывать метод getElementsByTagName от корневого элемента и анализировать полученные элементы – в этом заключается идея второго подхода.
В силу особенностей спецификации разрабатываемого API (отсутствие повторяющихся тегов в структуре входных данных каждой операции) при анализе XML-данных был использован второй подход (то есть предполагающий использование метода getElementsByTagName).
***
Для тестирования разрабатываемого API было написано небольшое VDOM-приложение, которое позволяло устанавливать связь с конкретным сервером, запускать с него удаленные процедуры и отслеживать возвращаемый ими результат. При разработке тестирующего приложения использовался стандартный Python-класс VDOMService, представляющий собой некую «обертку» над упомянутой SOAP-библиотекой. Рассмотрим интерфейс данного класса. Он включает в себя два метода, а именно:
@staticmethod
connect(url, login, md5_hexpass, application_id)
Данный метод устанавливает соединение с указанным VDOM сервером, а точнее с конкретным приложением, установленным на сервере, и возвращает экземпляр класса VDOMService, готовый к работе. Метод имеет следующие параметры:
- url – IP адрес VDOM сервера.
- login – логин для входа на сервер.
- md5_hexpass – md5-хеш пароля для входа на сервер.
- application_id – GUID приложения, с которым выполняется соединение.
Похожие работы
Работы автора