Серверный и клиентский язык программирования и платформы для использования во встроенных системах - PullRequest
0 голосов
/ 09 января 2012

Я собираюсь реализовать простой в использовании и привлекательный графический интерфейс пользователя для управления и настройки коммутатора Ethernet, в котором установлена ​​флэш-память (всего 16 МБ), которая будет иметь встроенный Linux,некоторые специализированные программные продукты, CLI и GUI.

Я думаю, мне следует обратиться к графическому веб-интерфейсу пользователя, чтобы администратор мог получить к нему доступ, используя IP-адрес коммутатора.На стороне клиента я думаю об использовании HTML5 или HTML4 с Javascript, так как графический интерфейс, разработанный во Flex, вероятно, займет гораздо больше места на флэш-памяти.

Однако у меня нет четкого представления об использовании серверной технологии.Стоит ли переходить на мини-apache для встраиваемых систем с PHP (как я знаком с Apache + PHP на системах x86)?или есть лучшая альтернатива?

Кроме того, я должен пойти на тип архитектуры MVC?Есть ли какие-то отличные MVC-фреймворки, разработанные для встраиваемых систем?

Обновление:
По сути, мне нужно только предоставить графический интерфейс поверх CLI, работающего на коммутаторе.Базовый рабочий процесс приложения будет выглядеть примерно так:

  1. Пользовательский интерфейс доступа через веб-интерфейс
  2. Пользователь выполняет действие над графическим интерфейсом пользователя
  3. Команда CLI, соответствующаявыполненное действие отправляется на сервер (работает на коммутаторе)
  4. Сервер запускает команду CLI на коммутаторе
  5. Сервер возвращает результат команды обратно в GUI

1 Ответ

2 голосов
/ 09 января 2012

Вы можете использовать библиотеку HTTP-сервера, такую ​​как Лук (в C), GNU libmicrohttpd (в C) или Wt (в C ++), чтобы сделатьваш собственный специализированный HTTP-сервер (встроенный в ваше устройство).

Вы также можете использовать Ocsigen в Ocaml для той же цели.

Я не думаю, что запуск полного HTTP-сервера (apache или, возможно, лучше )lighttpd ) со стеком PHP имеет смысл на встроенном устройстве (стек кода будет намного больше).На таком устройстве производительность не имеет большого значения (вы не получите тысячи HTTP-запросов в секунду), но пространство кода (и пространство процесса, т. Е. Потребление памяти) весьма важно.(И предлагаемое решение для специализированного веб-сервера использует только скомпилированный код, который будет работать быстрее, чем интерпретируемый PHP).

Если вы настаиваете на том, чтобы на вашем устройстве был веб-сервер lighttpd или apache, которыйЯ считаю, что это неправильно - вы могли бы сделать ваше приложение приложением FastCGI (и кодировать его на C, C ++, Ocaml, ...).

Как прокомментировал Саймон Рихтер, вы могли бы сделать его (также) SNMP сервис.

...