Как сделать веб-сервер REST с Delphi в качестве бэкэнда для большого веб-приложения? - PullRequest
14 голосов
/ 04 мая 2011

Я прочитал этот вопрос , но как-то не был удовлетворен ответами.

Я также быстро прочитал (как и предполагалось в этом вопросе) последнюю главу Руководства Marco Cantù 2010, из которой я цитирую следующее (думаю, я могу процитировать такой короткий текст):

У меня [Марко Канту] действительно много инвестиции в серверную сеть и REST приложения, написанные на Delphi, и в последние годы я начал играть с и представляя на конференциях Delphi Web Application REST Framework119 (то есть DWARF), который в это время все еще не публично доступно ... просто потому что это слишком поверхностный и незавершенный опубликован. Я видел другие продолжающиеся усилия по клонированию Rails в Delphi и предложить другие серверные архитектуры REST. Я думаю, что если вы хотите построить очень большое приложение REST архитектура вы должны выкатить свой собственная технология или использовать один из них прототип архитектуры.

Учитывая, что у меня есть Delphi XE Professional, а DataSnap там нет, и я хотел бы рассмотреть возможность написания больших приложений также в соответствии с приведенными выше комментариями, кажется, DataSnap не вариант.

Есть ли коммерческое решение для этого? Я не хочу рассматривать «мою собственную реализацию REST», я хотел бы создать веб-сервер, который использует некоторые из моих модулей данных, где я использую выбранный ЦАП (в данном случае Devart).

Последнее замечание: моя цель - написать бэкэнд для большого веб-приложения, на клиенте я хотел бы использовать Ext JS 4.0, но я хочу сделать всю работу с клиентом в javascript, чтобы в полной мере использовать EXT JS поэтому мне нужен веб-сервер только для данных и отслеживания состояния, а не для обслуживания веб-страниц.

Ответы [ 4 ]

13 голосов
/ 04 мая 2011

Чтобы создать свои службы REST, попробуйте наш проект Open Source mORMot . Сейчас это хорошо известный и стабилизированный проект, используемый во всем мире в производстве.

Вы можете использовать любой ЦАП с текущим состоянием платформы, реализовав пользовательский класс TSQLRestServerStatic (аналогичный классу TSQLRestServerStaticInMemory, но с вызовом вашего ЦАП): так вы получите выгоду для ORM и JSON RESTful архитектура вместе с высокоскоростным сервером режима ядра http.sys.

Механизм SQLite3 НЕ является обязательным для нашей платформы, даже если он был разработан для лучшей работы с ним.

10 голосов
/ 23 ноября 2012

Если вы запустите приложение с нуля, я думаю, что mORMot - это хороший вариант, если Delphi - ваш единственный вариант. Если вы выберете datasnap, вам придется столкнуться с проблемами производительности и стабильности.

Я написал в своем блоге статью о производительности и стабильности с помощью DataSnap (и mORMot) в больших приложениях, вы можете увидеть это по следующей ссылке:

Анализ DataSnap на основе тестов скорости и стабильности

2 голосов
/ 05 февраля 2013

Я думаю, вы должны взглянуть на kbmMW, есть способ реализовать базовый REST-сервер на основе событийного HTTP-сервера.

Проверьте news.components4developers.com группы новостей, там у вас будет многодокументации.

1 голос
/ 18 апреля 2019

FireHttp - это высокопроизводительный веб-сервер на основе языка Delphi / Object Pascal.Он поддерживает HTTP 1.1, HTTPS (SSL / TLS), WebSocket, GZip, Deflate, IOCP, EPOLL.Он принимает модель многопроцессорности + многопоточности, имеет хорошую стабильность и производительность параллелизма, а также предоставляет исходный код SDK.Разработчики могут использовать SDK для быстрого создания высокопроизводительных кроссплатформенных веб-приложений.

...