Серверная часть в решении iDa Light является базовой составляющей и отвечает за хранение, преобразование и отображение всей информации. При запуске сервер загружает из СУБД большинство данных и производит их кэширования для ускорения работы и уменьшения нагрузки на СУБД
Form Generator Struct
www.websequencediagrams.com
participant Bank as b
participant iDaLight as l
participant Mobile as m
b->l: mergeFormTypes()
l->b: getFormTypes()
b->l: addForm(type, fields)
l->m: update mobile forms are available\nthrough new login or pull-to-refresh
m->m: filling form with field validation
m->l: response from mobile\nwith filled fields
l->b: e-mail or createOrder()
Все контактные формы строятся на основе заранее заведенных шаблонов. Шаблон может быть создан, например в CRM и применяться как на сайте так и в мобильном приложении
<formstype="WsFormDTO"><id>contact_form_id</id><destinationEmail>[email protected]</destinationEmail><emailTopic>Заказ звонка от ${name}</emailTopic><logoResourceURL>http://static.idamob.ru/jet/forms/${image.type}/ic_depo.png</logoResourceURL><name>Contact form name</name><typeId>contact_form_type_id</typeId></forms><formstype="WsFormDTO"><id>contact_form_id</id><position>HIDDEN</position><typeId>contact_form_type_id</typeId><destinationEmail>[email protected]</destinationEmail><emailTopic>Credit request</emailTopic><fieldValuestype="WsFieldValueDTO"><id>form_field_id</id><serializedValue>от 3 до 9 лет,от 8 до 15 лет,от 15 до 30 лет</serializedValue></fieldValues><fieldValuestype="WsFieldValueDTO"><id>form_field_id</id><serializedValue>10% cost,15% cost,20% cost</serializedValue></fieldValues></forms>
<ratetype="WsCurrencyRateDTO"><id>сurrencyRate_id</id><buy>66.03</buy><sell>70.0</sell><firstCurrency>CHF</firstCurrency><secondCurrency>RUB</secondCurrency><groupName>Internet bank exchange</groupName><rateType>OTHER</rateType></rate>
курс центробанка с поддержкой 4 символов после запятой
OTHER
все остальные курсы
MAIN_SCREEN
курс для отображения на главном экране (отображается, только если в ответе на запрос login приходит настройка DISPLAY_EXCHANGE_RATES со значением true)
Данные запрашиваются мобильными клиентами отдельно, и позволяют более точно информировать пользователей о текущем состоянии точки, например изменение курса валют и сотояние работы
валюта с текстовым код валюты по ISO 4217 и признаком изменения {UP;NEUTRAL;DOWN}
WsLocationServiceDTO
<servicestype="WsLocationServiceDTO"><descriptionnil="true"/><id>6aaccc31-b6d0-48af-bb04-d4c07d884df6</id><logicalId>chf</logicalId><name>i18n{"ru":"Операции с Швейцарским франком","en":"Swiss Franc operations"}</name><parentId>currency</parentId></services><servicestype="WsLocationServiceDTO"><description>parent</description><id>159b3b82-8391-44c0-8448-d7e1f0f344d1</id><logicalId>currency</logicalId><name>i18n{"ru":"Операции с наличными","en":"Cash operations"}</name><parentIdnil="true"/></services>
Логический построитель фильтра на основе Service
{"parentId":"Наименование раздела № 1","elements":[{"name":"Эленента № 1 в разделе № 1"},{"name":"Эленента № 2 в разделе № 1"}]}
Сервисы позволяют настроить более гибкий фильтр по точкам на карте
key
type
status
comment
id
string
1..1
идентификатор
name
string
1..1
наименование
description
string
0..1
логическая принадлежность
logicalId
string
1..1
логический идентификатор
parentId
string
0..1
родительский логический блок
WsContactDTO
<contactstype="WsContactDTO"><id>ec9251b6-a5de-4e67-8e17-26260efda2d1</id><logoResourceURL>http://static.idamob.ru/jet/forms/${image.type}/ic_call_24.png</logoResourceURL><name>i18n{"ru":"VIP звонок в банк","en":"VIP Line"}</name><position>PRODUCT_ORDER</position><type>PHONE</type><value>(800) 700–700–4</value></contacts><contactstype="WsContactDTO"><id>3b467b82-2296-4e1a-9074-4a61283419e6</id><logoResourceURL>http://static.idamob.ru/jet/forms/${image.type}/ic_www.png</logoResourceURL><name>i18n{"ru":"Сайт Банка","en":"Web"}</name><position>CONTACTS</position><type>URL</type><value>i18n{"ru":"www.idamob.ru","en":"www.idamob.com"}</value></contacts>
www.websequencediagrams.com
participant Bank as b
participant CRM as c
participant iDaLight as l
participant Mobile as m
b->c: create contact form
b->l: mergeFormTypes()
c->l: getFormTypes()
c->l: addForm(type, fields)
l->m: update mobile forms are available\nthrough new login or pull-to-refresh
m->m: filling form with field validation
m->l: response from mobile\nwith filled fields
l->c: createOrder()
Уведомления обратной связи через внешний Web-сервис
Данный сервис разработан для интеграции с внешней CRM и позволяет направлять данные, полученные через контактные формы. Пример WSDL
Открыть файл *.war при помощи ZIP-архиватора и перейти в подпапку *.war\WEB-INF\classes\META-INF
Открыть файл persistence.xml и внести соответствующие правки, необходимые для подключения к БД (параметры: hibernate.connection.url, hibernate.connection.username, hibernate.connection.password).
Заменить в *.war файле persistence.xml на тот, который был отредактирован в п.3
Запустить Apache Tomcat (в случае с linux - ./tomcat/bin/startup.sh, в случае с windows вомпользоваться специальной системной службой)
Установка iDa Light
Скопировать файл light.war в папку /tomcat/webapps и дождаться пока будет автоматически создана подпапка /Light
Открыть через pgAdmin требуемую БД и проверить, что в схеме lightschema добавились таблицы
Через консоль pgAdmin выполнить предоставленный компанией iDa Mobile скрипт SQL для заполнения БД первоначальными данными
Проверить работоспособность приложения с помощью настроенного мобильного клиента
Второй вариант проверки является вызов wsdl из браузера http://.../light/services/WsEndpointServiceFacade?wsdl
Порядок обновления серверной части iDa Mobile (*.war)
Получить новую сборку в виде файла *.war
Открыть файл *.war при помощи ZIP-архиватора и перейти в подпапку *.war\WEB-INF\classes\META-INF
Открыть файл persistence.xml и внести соответствующие правки, необходимые для подключения к БД (параметры: hibernate.connection.url, hibernate.connection.username, hibernate.connection.password).
Заменить в *.war файле persistence.xml на тот, который был отредактирован в п.3
Убедится, что серверй приложений Tomcat запущен (в linux - ps -ef|grep tomcat). Если не запущен - запустить его (в linux - ./tomcat/bin/startup.sh).
Перейти в папку tomcat/webapps
В случае наличия в ней старой версии iDa - удалить файл *.war и дождаться пока папка обновляемого приложения удалится автоматически (~ 15 секунд)
Скопировать в папку /tomcat/webapps/ полученный в п.4 файл *.war
Дождаться пока в папке /tomcat/webapps появится папка с наименованием приложения (~ 15 секунд)
Осуществить проверку работы приложения при помощи настроенного мобильного клиента
update lightschema.properties set value = 'Trust iDa Mail Server' where key = 'mail.sender.name'
update lightschema.properties set value = 'smtp.gmail.com' where key = 'mail.smtp.host'
update lightschema.properties set value = '465' where key = 'mail.smtp.port'
update lightschema.properties set value = 'true' where key = 'mail.smtp.ssl.enable'
update lightschema.properties set value = '[email protected]' where key = 'mail.smtp.user'
update lightschema.properties set value = 'notificationidamob' where key = 'mail.smtp.pass'
update lightschema.properties set value = 'true' where key = 'mail.smtp.auth.enable'
Обновление в базе настроек
Для конфигурирования обратной связи клиента с банком через почту нужно прописать настройки в базу