REST Server, Delphi и веб-сервисы - нужны советы - PullRequest
2 голосов
/ 11 марта 2011

Я ищу совет о том, как лучше подходить к новому проекту, который мне нужно разработать. С самого начала я должен добавить, что у меня 0 опыта в веб-разработке на любом уровне.

Что мне нужно сделать, это предоставить веб-интерфейс через браузер, который будет взаимодействовать с серверной частью. Полученные данные будут получены из БД или из другого источника - внешнего устройства, с которым сервер будет связываться через IP. Данные, извлекаемые с внешнего устройства, всегда будут иметь формат строки n длины (не в Юникоде), а данные БД будут в основном представлять собой строки и числа с добавленным нечетным двоичным объектом (сохранением изображения). Связь всегда будет идти от Клиента (веб-браузера) к Серверу. Я не верю, что серверу нужно было бы инициировать связь.

У меня Delphi XE, поэтому начал изучать использование REST-сервера для связи, и я думаю, что все в порядке. Однако из того, что я вижу, мне нужно создавать веб-страницы HTML для «рендеринга» данных в веб-браузере. Это правда? Могу ли я использовать компоненты IW с сервером REST? Если это так, я не уверен, как получить данные в / из пользовательского интерфейса браузера. Возможно, мне лучше исследовать Ruby on Rails? Из того, что я прочитал в другой теме здесь, это основано на MVC и некоторых других областях, которые, на мой взгляд, соответствуют дизайну, как я буду создавать приложение (я планировал создать приложение на основе MVP или аналогичного шаблона проектирования). ).

Я думаю, что REST имеет больше смысла, поэтому, если компоненты IW не могут быть использованы, есть ли какие-либо сторонние продукты, которые я могу использовать, которые позволили бы мне создавать «красивые» HTML-интерфейсы. Учитывая, что я не знаю java-скрипт, это будет камнем преткновения и для REST.

Спасибо и, надеюсь, я предоставил достаточно информации.

Спасибо

Jason

Ответы [ 2 ]

1 голос
/ 11 марта 2011

Вы можете создать модуль ISAPI с Delphi, который выполняет эту работу, или включить HTTP-сервер прямо в свой исполняемый файл с Indy, ICS или Synapse.

ISAPI даст вам свободу выбора Apache или IIS идать вам всю свою силу таким образом.Встроенный HTTP-сервер предоставит вам небольшое небольшое приложение, в котором вы будете контролировать все аспекты его работы.

Да, используйте REST, поскольку он прост и понятен.Все, что вам нужно, это продумать и спроектировать API (функции, которые будет поддерживать ваш сервер).Вы можете привязать API к схеме URL, используя принцип REST.Я бы сделал это просто так.

  1. Клиент делает запрос.Вы показываете некоторую форму графического интерфейса пользователя (загружаете или визуализируете HTML-страницу с возможным javascript)
  2. Пользователь выполняет действие, вы вызываете соответствующий API (или пользователь делает это напрямую).
  3. Показать пользователю некоторый результат
  4. Просто проведите пользовательский процесс через серию вызовов API, пока результат не будет достигнут

Вы можете использовать обычный HTML, а затем добавитьпри необходимости javascript ( jquery ) или вы можете использовать ExtJS от Sencha, что значительно упрощает создание приятного графического интерфейса и очень хорошо структурирован.

Я бы не использоваллюбые "WYSIWYG" веб-инструменты.Простой старый HTML, написанный вашим любимым редактором, по-прежнему остается королем.

1 голос
/ 11 марта 2011

Будет ли человек отвечать за ввод данных, полученных с вашего внешнего устройства, на веб-страницу?

Если это так, и у вас нет опыта веб-разработки, Intraweb - это, безусловно, путь для программистов Delphi, желающих создавать веб-приложения без обучения новым навыкам. Для дополнительных компонентов для создания более симпатичного пользовательского интерфейса я предлагаю использовать Intraweb Component Pack Pro TMS Software * .

Если вам не нужно, чтобы человек вручную вводил эти данные, тогда вам вообще не нужен Intraweb. Вместо этого вы должны написать клиентское приложение, которое предположительно запрашивает данные на внешнем устройстве, а затем передает их на REST-сервер. Посмотрите документацию, которую вы использовали для сборки своего REST-сервера, и в ней должен быть раздел о том, как создать REST-клиент.

...