2010-03-04 4 views
0

Мы планируем разработать контроллер устройства для банковской машины. Этот контроллер будет встроен непосредственно на машину, идея состоит в том, чтобы использовать для этого плату ARM с полкой.Как архитектура, дизайн контроллера устройства RESTful?

Мы хотели бы предоставить API как веб-службу RESTful. Возможно, нам пришлось бы разделить программное обеспечение на контроллере как минимум на 3 уровня: интерфейс веб-сервиса, бизнес-логику, логику управления устройством (это может даже работать на другой HW).

Логика бизнес-логики и управления устройством, вероятно, будет реализована на C++ по соображениям производительности.

Нет, где у нас есть некоторые сомнения: Какие технологии/языки программирования используются для реализации веб-службы RESTful?

Веб-сервер (lighttpd), FastCgi, C++, вероятно, будет лучшим решением по производительности, а также из-за ограниченных ресурсов на плате ARM. Но недостатком является то, что реализация будет не такой простой, как с некоторыми «современными» языками, такими как Python, Ruby, Java и т. Д. У нас есть много навыков на C++ в компании, немного на Java и вообще никаких навыков Python, Ruby.

Есть ли у кого-нибудь опыт в этой архитектуре?
Как работают Python и Ruby на такой небольшой системе?
Любые опыты с API RESTful на встроенных системах? (Там не так много вокруг об этом на веб-сайте)

Спасибо за вход

+0

Очень красивый, банкомат, доступ к которому возможен через Интернет. Будьте готовы подключить все утечки безопасности, в том числе те, которые предоставляются сторонними библиотеками и операционными системами. Это похоже на хороший вызов для * Crackers *. –

+0

@Thomas Matthews: мы не говорим об ATM, и машины не будут в Интернете, а в частных сетях банков – RESTless

ответ

0

В старые времена первый CGI были двоичные файлы (в основном в C), так что это не проблема закодировать некоторые CGI в C/C++.

После создания успокоительного API будет влиять только на то, как ведет себя ваш скрипт, например чтение url, и VERB запускает код.

Поэтому я советую вам раскопать вам некоторые ресурсы о программировании CGI C/C++ и, возможно, некоторых библиотеках, чтобы облегчить доступ к переменной POST/GET и расшифровке.

0

Я согласен с RageZ; нетрудно написать серверную сторону в C. Существует «старая» библиотека CGI от Eugene Eric Kim: http://www.eekim.com/software/cgihtml/index.html

Учитывая возраст, у нее, вероятно, нет кучи зависимостей от других вещей.

С помощью CGI довольно легко поместить ваш скрипт на какой-либо путь, скажем/my/service, а затем отправить на переменную среды PATH_INFO, которая предоставит вам все, что добавлено в путь контекста. Таким образом

/мой/услуги/а/б уступит/а/б

Если вам нужна высокая производительность и может позволить себе ножной печать, вы можете также использовать Apache и написать модуль (который также не особенно трудно).

Но FastCGI, конечно, также будет работать очень хорошо.

Jan