Найти - Пользователи
Полная версия: Создание системы автоматизации движения документов
Начало » Автоматизация бизнеса » Создание системы автоматизации движения документов
1 2 3 4
regall
Странно, что среди всех предложений: TG, RoR, … не был вспомнен Zope3. По моему мнению, этот фреймворк для такой развернутой системы подходит более чем, тем более, что он реализует отличную компонентную архитектуру, что приводит к удобству в последующем расширении, модификации, совершенствованию системы…. + очень удобная поддержка XML-RPC.
Правда, для написания хорошего продукта требуется, по моему мнению, довольно-таки много опыта…

Вроде как-то так… Не судите строго… =)
dvs
Насчёт протоколов обмена – думаю интересующимся будет интересен Protocol Buffers ( http://code.google.com/p/protobuf/ )
Highly efficient binary protocol for storing and transmitting structured data between C++, Java and Python. Uses a .proto file describing the data structure which is compiled to classes in those languages for serializing and deserializing. 3-10 times smaller and 20-100 times faster than XML.
Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats.
Protocol Buffers это компактный способ кодирования данных в двоичном формате, который позволяет определить простую структуру данных, а затем их компилировать и присвоить классы для представления этих структур в нужном языке ( Java, Python или C++ ).
http://google-opensource.blogspot.com/2008/07/protocol-buffers-googles-data.html
http://code.google.com/apis/protocolbuffers/docs/overview.html
Lexander
Использую Protocol Buffers (ПБ) в клиент-серверном приложении. Сначала думал свой протокол придумывать, при необходимости сжимать и передавать в сжатом виде. Потом посмотрел на ПБ. Сделал тестовое приложение и оказалось, что даже сжимать не понадобилось (ну, это для моих данных).
Есть минус (но не в моем случае), размер библиотеки достаточно большой.

И еще, текущая версия не хочет устанавливаться с помощью easy-install. Но ручной запуск скачанного в соответствии с readme.txt работает.
Как потом оказалось, есть и egg (116 KB).
Андрей Светлов
regall
Zope3 хорош. Для сайтов. Особенно для сложных сайтов. Если нужен именно клиент-сервер - zope принципиально непригоден. А я до сих пор думаю, что web-browser-client - не идеальное решение для абсолютно всех задач. А XML-RPC может мало, а ест много.

Lexander, dvs
PB неплох. Как протокол. (Маленькое отступление - если хотите сделать яйцо из неподготовленного к нему дистрибутива - поменяйте from distutils.core import setup на from setuptools import setup. И все. Можно обойтись и без правки setup.py, но так - быстрее).

Если делаем клиент-сервер, живущий в локалке (в большой распределенной системе свои правила) - нужна еще и транзактная целостность.
Можно писать самому (в простых случаях для единого сервера - несложно).
Хороший выбор - AMQP. Мне он нравится. Гонял в версии rabbitmq.

Ни на чем не настаиваю, но советую посмотреть.

P.S.
Кстати, сейчас на моей работе все основано на setuptools. Т.е. любая наша или сторонняя либа должна быть setuptools compatible. Только наш код мы не выкладываем на PyPI. А потом основываясь на setuptools metadata можно легко завернуть творение во что угодно.
qman
Андрей Светлов
Можно и msi. В стандартном питоне есть msilib. Страшненькая, но рабочая. Главное назначение - собирать msi package самого питона - но можно использовать и для своих целей.
спасибо за ответ, а пример использования msilib привести можете? Как создавать msi пакеты?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB