В очередном продолжении рассказов про построения web-сервисов, хочу рассмотреть вопросы безопасности и аутентификации общения soap-клиента и soap-сервера.
Пусть условия таковы:
- сервер и клиент общаются друг с другом через публичный интернет, который наполнен снифферами;
- сервер имеет статический ip-адрес, а клиент находится за nat-ом;
- вместе с клиентом за тем же nat-ом находятся опасные соседи, которые могут и хотят получить к чему-нибудь не авторизованный доступ;
- и пусть клиента за этим nat-ом два: у них разное по функциональности ПО, с разными возможностями по построению soap-клиентов;
- ну а мы, естественно, обмениваемся супер секретными данными. :)
И так, как было рассмотрено в предыдущих постах, собираем soap-сервер на apache2:
The History of Tux the Linux Penguin
История Тукса(Такса) — линукс пингвина. Tux (Такс) — официальный талисман Linux. Созданный в 1996 Ларри Юингом — это толстый пингвин, выглядящий сытым и довольным. Идею использовать пингвина в качестве талисмана Linux выдвинул создатель этого ядра, Линус Торвальдс.
dropline GNOME mirror
Есть такой ресурс: slackware.rol.ru — это зеркало linux дистрибутива Slackware и около-слакварных проектов.
Быстрых зеркал сейчас достаточно, то же mirror.yandex.ru, например. Но я бы хотел обратить внимание на dropline GNOME проект, зеркало которого есть на slackware.rol.ru.
Особенность этого проекта в том, что у него собственный dropline Installer, который нужно установить, а он в свою очередь уже по сети установит нужные пакеты в нужном порядке. Проблема в том, что свой проект они хостят на Sourceforge. Зеркала Sourceforge часто перегружены и тормозят, потому установка всех пакетов оттуда занимает часы(а то и сутки) даже при хорошем канале.
Building a Web Services in Python, Part 2
В продолжении к предыдущему посту, хочу привести простой пример SOAP-сервера, который реализован только на python'е:
#!/usr/bin/env python
#
### soapagent_standalone_server.py ###
#
from ZSI import dispatch
import soapagent_services as ss
def main():
dispatch.AsServer(port=8080, modules=(ss,))
if __name__ == "__main__": main()
Который включает модуль soapagent_services.py и начинает диспетчеризацию реализованных там обработчиков. Т.е. по сути, это замена apache+mod_python.
Еще раз кратко шаг за шагом, как запустить такой сервер:
RoundCube MVISION v2 skin
Надеюсь, что все уже заметили, что на официальном форуме RoundCube выложили скин MVISION v2.
Пока он только на английском языке. Вернее на английском — картинки с текстом (кнопки). Часть аналогичных русских кнопок есть в первой версии русского скина, но часть появилось новых.
Новое в v2:
- Additional CSS work done on mail view
- Support added for Sub Folders
- Added additional Support for Preview Pane
- Preview Pane now supports «Microsoft 3 Column View» and Horizontal View
- With additional User Control Options for switching between Vertical and Horizontal View
Но пока данный скин не умеет отображать колонку «size». Автор обещает очень скоро поправить это и добавить еще некоторые возможности:
- Support for Size column in Horizontal mode
- Support for remembering which view the user prefers
- Detect screen size in Horizontal mode (currently the default RC method is used)
- Import address book feature for Outlook / Thunderbird / Mac OS X Mail
Скриншоты и сам скин тут, следите за обсуждением тут. А так же напоминаю, что есть русский форум по КруглоКубу, где можно обсудить этот скин и возможно там появится его русская версия.
Building a Web Services in Python
Поднимаем XML веб-сервис на Пайтоне
1. Python:
В системе должен быть установлен python, версии не ниже 2.3
2. Устанавливаем apache ( httpd-2.2.8 ):
$ ./configure --prefix=/usr/local/apache2-soap \ --with-mpm=prefork \ --enable-so \ --enable-mods-shared="actions alias asis auth rewrite ssl" \ --disable-userdir \ --disable-cgi \ --disable-include \ --disable-autoindex $ make $ make installЗдесь, в общем-то, обычная установка apache. И если у вас уже есть apache, можно использовать его. Здесь я попытался собрать «лёгкий» апач, с минимумом модулей. Использовать можно как apache 1.3, так и apache 2.0 или 2.2
3. Устанавливаем mod_python ( mod_python-3.3.1 )
RoundCube Webmail 0.1.1-stable released
Неожиданно, но очень давно ожидаемо, RoundCube из состояния release candidate перешел в стабильное состояние.
А 5 апреля вышела 0.1.1 версия, обратите внимание:
Update v0.1.1 released2008/04/05
The first service update for RoundCube Webmail 0.1-stable is now available. It contains important bug fixes and updates of some incomplete localization files. We recommend to update all installations of 0.1-stable. Read the UPGRADING instructions to find out how to do this
По словам автора: cо следующих релизов RoundCube перестаёт поддерживать PHP4 и будет работать только на PHP5, это последний релиз, работающий на PHP4.
Скачать roundcubemail-0.1.1.tar.gz можно с сайта проекта.
Личные впечатления:
Читать полностью »







