Universal Terminal System «Разработка дополнения к программному обеспечению платежного терминала» Конкурс #1 Томск 2010 ООО «Универсальные терминал системы» Идея: Наше программное обеспечения для платежного терминала, позволяет использовать его не только как средство оплаты, но и как вспомогательный инструмент для информирования клиентов. Используя уникальную технологию «Дополнение», спектр задач, решаемых терминалом, значительно увеличивается. Размещения каталога товаров, заказ товара, информирование с помощью видео роликов, опрос, голосование, развлечение, интерактивная реклама и т.д.- вот небольшой список возможностей, которые с легкостью реализуются нашим программным обеспечением. Мы предлагаем вам уникальную возможность: проявить воображение, придумать и реализовать «Дополнение» самостоятельно, и оно будет размещено на платежных терминалах города. Таким образом, вы можете заявить о себе или своей компании, как об организации, идущей в ногу со временем, используя последние технологии. Призы: «Дополнение» троих победителей будет совершенно бесплатно размещено на платежных терминалах города сроком на полгода, если содержимое носит рекламный характер и на неограниченный срок, если содержимое развлекательного характера. Сроки проведения: С 10 декабря 2010 по 20 января 2011. Результаты будут объявлены 25 января 2011. Контакты: Заявки на участие и ваши разработки принимаются в свободной форме на электронный адрес: contest@unitsys.ru. Дополнительная информация по телефонам 21-41-55 и 8-923-401-1098 (Алексей) ООО «Универсальные терминал системы» Описание программного обеспечения и «Дополнения»: Программа PTerminal – это универсальное решение для платежных терминалов. Её основой является модульная технология и унифицированный подход. Поэтому расширять и настраивать можно всё. PTerminal позволит использовать ваш терминал как универсальный инструмент получения дохода в информационной сфере деятельности. Внешний вид программы в приложении А. «Дополнения» Общее «Дополнения» (supplements) – механизм позволяющий встраивать (рис. 1) разработанные сторонними разработчиками дополнительные услуги (информационные, рекламные и т.д.). «Дополнение» – это плагин, который может быть реализован как UserControl (технология .NET) или как объект swf (технология flash). Взаимодействие происходит посредством интерфейса, который имеет необходимый набор методов, вызываемых в определенной последовательности. В основной программе «дополнение» является одним из операторов или интерактивным баннером (дополнение активизируется, при нажатии на баннер). Рисунок 1. – «Дополнение» на главном окне программы Уже сейчас вы можете видеть использование данной технологии на терминалах города: проект «ForexClub»(рис. 2), «Доставъка Суши» (рис. 3) и гороскоп на 2010(рис. 4). ООО «Универсальные терминал системы» Рисунок 2. – Проект «ForexClub» (swf). Рисунок 3. – Проект «Доставъка Суши» (swf). ООО «Универсальные терминал системы» Рисунок 4. – Гороскоп на 2010 год (платная услуга, swf). Для разработчиков При реализации «Дополнений» необходимо помнить о том, что программа используется на сенсорном терминале, то есть интерфейс пользователя должен отвечать следующим критериям: Большие кнопки (чтобы удобно было нажимать пальцем); Отсутствие элементов управления, для активации которых необходим двойной клик; Избегайте технологии drag and drop; Нет необходимости в эффектах при наведении на элементы управления; Для осуществления обратной связи интерфейса с пользователем предлагается использовать визуальные эффекты (нажатие, активация и т.д.), пользователь должен видеть, что он делает. Для «Дополнения» используется статическое разрешение экрана 1024х565. Так как окно плагина перекрывает остальные элементы управление родительского ПО, в интерфейсе должно быть предусмотрена кнопка возврата. После продолжительного бездействия, необходимо посылать команду выхода. Еще одной особенностью является ограниченный интернет трафик, как по объему, так и по скорости (в терминалах используются модемы GPRS и CDMA). ООО «Универсальные терминал системы» Взаимодействия основной программы и «дополнения» представлено на рисунке 5. Программа После инициализации Дополнение Инициализация прошла успешно Ожидание приема денег Инициализация Сообщение о готовности принимать деньги Нажата кнопка «Назад» Можно ли двигаться назад (да /нет) Формирование платежа Ожидание ответа Значение внесенной суммы Нажата кнопка «Принять платеж» Ожидание ответа Можно ли двигаться далее (да /нет) Прием денег окончен Закрыть ролик Выход Рисунок 5. - Взаимодействия основной программы и «дополнения» Как уже было сказано, «Дополнение» может быть реализовано как flash ролик(swf). В данном случае процесс взаимодействия происходит следующим образом: Приложение и «дополнение», далее flash-ролик, взаимодействуют через события от системы к flash и наоборот. Передачи данных из Flash-ролика в систему: Flash-ролик может взаимодействовать с окружением с помощью команды языка Action Sript fscommand, например (обработчик нажатия кнопки во flash-ролике) on(click) { fscommand("sendCmd", 1); } первый параметр - имя команды второй - аргумент команды ООО «Универсальные терминал системы» Для передачи данных из системы используется следующий механизм: Во flash-ролике необходимо создать импортируемую функцию с нужными параметрами import flash.external.*; class as.Main { var appRoot:MovieClip; function Main(appRoot) { this.appRoot=appRoot; setActions(); initExternal(); } public function callToFlash(txt):Void {…} function setActions() {…} } function initExternal() { var methodName:String = "EXcallToFlash"; var instance:Object = this; var method:Function = this.callToFlash; var wasSuccessful:Boolean = ExternalInterface.addCallback(methodName, instance, method); } } А система будет вызывать соответствующую функцию по мере необходимости. Функции интерфейса flash-ролика: eventInit(parameter) – инициализация ролика закончена, в параметре передаётся код завершения и если ошибка то ее описание. eventNewPayment(parameter) – создать новый платеж, в параметры код xml с информацией о платеже: <?xml version=”1.0” ?> <payment id_operator=”1”> <param id=”1” >n[10]</param>( номер телефона, id параметра переданного при инициализации) … и так далее </payment> eventGetMoney(parameter) – сообщение о готовности принимать деньги, параметр отсутствует eventClickBack(parameter) – сообщение о нажатии кнопки назад, в окне приема денег eventClickAccept(parameter) – сообщение о нажатии кнопки подтвердить внесенную сумму, параметр отсутствует eventPrintCheck(parameter) – напечатать чек, параметр отсутствует eventExit parameter) – ролик был закрыт, параметр код завершения ООО «Универсальные терминал системы» Сервер (основное программное обеспечение) имеет следующие события: eventOperator(parameter) – передается информация об операторе, в параметры код xml с информацией о нем: <operator id=”1”> <param id=”1” >n[10]</param>( номер телефона, id параметра) … и так далее </operator> eventBack(parameter) – ответное сообщение на нажатие кнопки «назад» во Flash-ролике, в параметр передается true, если переход возможен и false, если нет. eventAccept(parameter) – ответное сообщение на нажатие кнопки «подтвердить» во Flashролике, в параметр передается true, если переход возможен и false, если нет. eventSummaChanged(parameter) – изменение внесенной суммы, в параметры новая сумма ООО «Универсальные терминал системы» Приложение А. Внешний вид программы Прием платежей ООО «Универсальные терминал системы» ООО «Универсальные терминал системы»