Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > универсальное АПИ


Автор: jimbo 30.8.2011, 20:53
Привет всем!

Предполагается создать сервер (С++), с которым будут взаимодействовать (запрос данных/ответ сервера) клиенты. Клиенты - программы, написанные на языке С или Python.
Я написал простой сервер на сокетах, клиенты на С и на Пайтоне. Все работает. Думаю, что если создам специальные парсеры для каждого языка, можно будет передавать свои типы данных. 

Кроме сокетов, какие механизмы взаимодействия можно применить? Критерии:
1) Клиенты - это скрипт на Пайтоне или программа на языке С/С++
2) Сервер должен быть кроссплатформенным
3) Возможность передавать любой тип данных. 


Если не совсем понятен вопрос - то может быть так будет яснее:
В мсдн есть статья о межпроцессорном взаимодействии. Механизмы доступные: Сокеты, общая память, сообщения, буфер обмена и т.д. Я полагаю, что всё отпадает кроме сокетов, т.к. сервер и клиент не обязательно на одной машине и не обязательно на одной ОС и язык программирования может быть или Пайтон или Си. А сокеты - это общее, они есть везде. Так вот вопрос: что похоже на сокеты и может реализовать мою задачу? 

Задача вообще в разработке универсального доступа к данным. Допустим есть 2 фабрики обуви. у каждой обуви есть параметры: материал изготовления, размер, год выпуска, стоимость и т.д. Чтобы не писать функции выборки обуви для разных фабрик я хочу написать одно универсальное АПИ. Для каждой фабрики я напишу свой раппер, который реализует функции моего АПИ, преобразует данные фабрики в мои типы данных. Раппер - это сервер. программы, использующие раппер - клиенты-программы на Си или Пайтоне. Идея примерно такая. 


Автор: Wuffur 30.8.2011, 22:55
Если потроллить, то com-объекты smile
или dcom.

Автор: jimbo 31.8.2011, 13:30
что-то мне подсказывает, что в случае с ком проект затянется лет на 5)

Автор: Wuffur 31.8.2011, 16:56
Рекомендую писать на Qt.
Может d-bus или мозилловский xpcom поддерживают соединение по сетке, не знаю.

Посмотрел XPcom, мне не понравилось.

D-bus можно: http://www.qtcentre.org/threads/38835-D-Bus-communication-over-the-network

Может использовать базу данных, для выборки обуви?

ЗЫ: мне не одному кажется, что ты хочешь велосипед (даже не велосипед, а что-то странное)

Автор: jimbo 2.9.2011, 13:32
спасибо, буду смотреть)
Есть ли по дбас мануалы на русском или примеры программ?

Для выборки можно и базу данных, однако помимо выборки может быть задача, как изменить в цеху выпускаемую обудь с 37 до 38 размера. и что мне делать? БД не вариант, она в одну сторону работает

Автор: bilbobagginz 3.9.2011, 01:24
Цитата(jimbo @  2.9.2011,  12:32 Найти цитируемый пост)
Для выборки можно и базу данных, однако помимо выборки может быть задача, как изменить в цеху выпускаемую обудь с 37 до 38 размера

вы знаете что такое артикул ?
и еще вопрос... вы знаете что такое ERP/MRP?

Автор: Wuffur 3.9.2011, 08:53
ERP не понацея.
Если бы действительна была бы не перегруженная система, которая, имея только структуру функционирования предприятия (в которой на уровне можно на понятном языке прописывать логику работы предприятия), позволяет создать программу, отражающую эту структуру, было бы хорошо. Логика подсказывает, что приходится иметь дело с тем, что в ERP системах настроен не необходимый минимум того, что нужно, а то, что должны быть по мнению их авторов, так, как они захотели. Хотя практически у всех 1с предприятие smile 

http://habrahabr.ru/blogs/erp_systems/116260/ - можно посмотреть, свободные ERP.
http://en.wikipedia.org/wiki/List_of_ERP_software_packages - Здесь лучше список.

Посмотрел эти ERP и не понял, как из них доставать логику(отделить ее от реализации), чтобы это было похоже на базу для API .


2jimbo: Ты наверное имел дело только с sqlite, в нормальной базе данных есть команда ALTER.

Автор: bilbobagginz 3.9.2011, 10:34
не важно насколько "не близок к минимуму" функционал любого пакетa ERP/MRP, по-любому его дешевле внедрить, чем разрабатывать.
Цитата(Wuffur @  3.9.2011,  07:53 Найти цитируемый пост)
Посмотрел эти ERP и не понял, как из них доставать логику(отделить ее от реализации), чтобы это было похоже на базу для API .

если оценить конкретно что оно такое - это лишь бд + окольный функционал.
но вокруг этой бд будет не мало служебного кода - разные репорты/статистики, связка с железками для каталогирования (бар-коды и т.д.), и т.п.

Но в конце концов, если ты завод, тебе ВСЕГДА дешевле купить, чем делать свое.




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)