Lotus Domino Web Service


Бизнес требование:

Предоставить возможность пользователю получать и обновлять информацию в базе Lotus Notes, но без установки клиента Lotus Notes и не через сайт, так как пользователю не должен вводить совой логин и пароль, эту задачу решает сам терминал (например смартфон).

Так же, требуется обеспечить безопасность решения.

Решение:

Самый простой способ, это организация Web-сервиса на Domino штатными средствами.

Для того, чтобы обеспечить безопасность в базе SOAP будет ограничена авторизация (ограничим доступ через ACL). Второй шаг, это доступность сервиса через SSL. Конечно безопасность получится не супер крутой, но достаточной, трафик шифруется, без знания пароля не подключиться.

Далее создаем в LN Web Service с два метода: GetInfo() и SetInfo(). Этими методами мы будем считывать информацию из базы LN, например артикул товара, а SetInfo будет создавать в базе документ с указанием номера терминала, артикула.

Далее разрабатываем клиента для терминала, для этого можно воспользоваться бесплатной платформой MS Visual Studio Express, если он (терминал) работает под управлением Windows.

Нам потребуется установить на все терминалы .Net Framework 4.0 и выше (только для Windows).


'авторизация Web сервиса

Dim creds As System.Net.NetworkCredential = New System.Net.NetworkCredential()
creds.UserName = "User_Name"
creds.Password = "Password"
s.Credentials = creds

'получить артикул
articul = TextBox1.Text

'получить информацию о товаре
goodinfo = s.GetInfo(articul)

'записать в LN информацию с терминала о подтверждении покупки
s.SetInfo(TermNum, articul)

Минус такого подхода в медленной работе сервиса, но он позволяет унифицировать и стандартизировать обработку информации под LN и позволяет значительно расширить область применения решений на Domino.