- Pythomnic
-
Pythomnic (питомник) — среда для написания распределенных сетевых сервисов на языке
Изначально Pythomnic возник как экспериментальная среда для разработки сервисов, поддерживающих функционирование системы ИнтернетБанк, разрабатываемой в Екатеринбургском банке Северная Казна. По мере развития написанные на Pythomnic сервисы стали выполнять в банке самые разнообразные функции, например биллинговые, по доставке платежей до сторонних провайдеров услуг.
В основу Pythomnic положены следующие практические соображения:
- Интеграция разнородных систем от сторонних производителей, развернутых в корпоративной сети, является большой проблемой, поскольку ни одна из участвующих систем не заинтересована в интеграции с любыми другими.
- Интеграционные возможности реальных систем сильно ограничены. Разные системы поддерживают разные протоколы. Даже в случае если заявлена поддержка стандартных протоколов, они зачастую реализованы не полностью или с ошибками. В наиболее «тяжелых» случаях интеграция с какой-либо системой возможна только через обмен файлами.
- Самостоятельное внесение изменений в сторонние системы невозможно, или, как минимум, чрезвычайно затруднено, длительно или дорогостояще.
- В то же время, в любую из участвующих систем производителем могут без предупреждения быть внесены изменения.
- Однажды запущенный в эксплуатацию сервис со временем становится все более и более важным, его корректная работа становится критичной, а сбои — неприемлемыми.
Наиболее интересные особенности Pythomnic:
- Разработка ведется «вживую», однажды запущенный сервис не надо останавливать для того, чтобы внести изменения в код или конфигурацию. Изменения, которые разработчик вносит в исходный текст модулей, перечитываются и перекомпилируются средой автоматически.
- Поддерживается широкий набор стандартных сетевых протоколов, как синхронных (Веб-служб, например SOAP, JMS, SMPP, ICQ). Поддерживается также файловый «интерфейс» и «интерфейс» для периодической обработки.
- Чрезвычайно упрощена разработка распределенных систем в виде отдельных процессов Python, запущенных на разных узлах. Возможен запуск отдельных частей приложения в нескольких копиях, что значительно повышает отказоустойчивость.
- Приложение на Pythomnic осуществляет обработку клиентских запросов, поступающих с различных интерфейсов. Написание кода для обработки производится весьма просто и прямолинейно, разработчику не приходится заботиться о деталях протоколов или организовывать код каким-либо особенным образом.
Ссылки
- Официальный сайт Pythomnic
- Подробная документация доступна на английском языке здесь.
- Примеры в виде роликов, записанных с экрана, приведенные здесь, не нуждаются в переводе.
Wikimedia Foundation. 2010.