Создание простого веб-сервиса

Обсуждаются как существующие проекты (перевод документации, информационная система и т.п.), так и создание новых.

Модератор: Модераторы

Создание простого веб-сервиса

Сообщение wwswowsogon » 03.12.2022 16:15:31

Всем доброго времени суток!

По-видимому, скоро у меня дойдут руки до реализации проекта, описанного здесь.

Соответственно, возникает вопрос: как реализовать промежуточное звено - веб-сервис/сервер?

Требования к его функционалу несложные: он должен принять в сайта/html-странички набор параметров в количестве буквально нескольких штук, передать их в БД основного проекта (Firebird! :)), возможно, прочитать что-то из БД и отдать обратно результат в виде html-странички.

Ранее ничего подобного я не делал.

Варианты вижу следующие:

1) поднять любой стандартный веб-сервер, сделать пару модулей на PHP, отвечающих за приём/передачу и взаимодействие с БД. Всё :)
2) сделать некий свой веб-сервис, на Python / C++, делающий то же самое.

Более склоняюсь сейчас к первому варианту, как более простому, тем более, что PHP некоторым образом знаю.
Второй вариант рассматриваю больше как средство улучшить навыки программирования / строительства веб-интерфейсов на этих языках.

Возможно, я что-то упускаю.

Что скажете?
wwswowsogon
постоялец
 
Сообщения: 152
Зарегистрирован: 23.12.2008 20:41:37

Re: Создание простого веб-сервиса

Сообщение Sharfik » 03.12.2022 18:45:37

ИМХО, естественно все делать надо на FPC+Lazarus. Конкуренты нам не нужны. :) Но если "слабо")), то PHP смотрится лучше. Более гибкое, открытое решение способное на лету дорабатываться.
Если нужен "хайп", то C++ и Python. Но через пару лет придумают какой ни будь Slon++ или GO выстрелит и все будут орать что только на нем надо делать, и Питон плохой. А Java уже не модно, хотя обалденный язык. В одной книге по ассемблеру был замечательный абзац со следующим смыслом - у каждого языка программирования есть свое назначение. Каждый создавался под определенные задачи.
Вот, нарыл https://pythonist.ru/pochemu-iz-vseh-ya ... no-python/
Если верить этому материалу, то о Питоне можно сказать что он для тех кто любит помедленней и чтобы поменьше думать.

Оговорка: Я не помню что там у PHP с многопоточностью. Если нужно разделить будет по потокам обработку, то надо учитывать.
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 759
Зарегистрирован: 20.07.2013 01:04:30

Re: Создание простого веб-сервиса

Сообщение Ichthyander » 03.12.2022 19:38:36

Я не пойму почему бэкенд не на FPC-то не рассматриваете?. Есть нативная либа fcl-web, есть много других фреймворков. Я использую brookframework (brook4freepascal) https://github.com/risoflora/brookfreepascal https://github.com/risoflora/brookframework
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 668
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Создание простого веб-сервиса

Сообщение wwswowsogon » 03.12.2022 20:35:33

Sharfik писал(а):ИМХО, естественно все делать надо на FPC+Lazarus. Конкуренты нам не нужны. :)


Ichthyander писал(а):Я не пойму почему бэкенд не на FPC-то не рассматриваете?.


Что я ожидал увидеть, задав вопрос на форуме FPC :D

Ничего против FPC для этой цели не имею, сам его люблю и постоянно использую. Однако подозреваю, что документирование этой темы для указанных языков сильно лучше, чем для FPC. Соответственно, легче достичь желаемого. Про FCL-web слышал, но как с ней работать, не представляю на данный момент.

Многопоточность не нужна, сервис предполагается очень простым.
wwswowsogon
постоялец
 
Сообщения: 152
Зарегистрирован: 23.12.2008 20:41:37

Re: Создание простого веб-сервиса

Сообщение Ichthyander » 03.12.2022 21:06:11

wwswowsogon писал(а):то я ожидал увидеть, задав вопрос на форуме FPC :D

Тогда вопрос: зачем узнавать как сделать сервер не на FPC на форуме FPC? )
wwswowsogon писал(а):Ничего против FPC для этой цели не имею, сам его люблю и постоянно использую. Однако подозреваю, что документирование этой темы для указанных языков сильно лучше, чем для FPC

Из плюсов реализации: скорость и работа в той среде, к которому есть любовь и навык. Я бекенды делал и на PHP и FPC. Скажу, что FPC не так уж и плох как может показаться для разработки бекенда в Lazarus.
Просто многопоточность не понимаю к чему тут: можно сделать и так и сяк. Вообщем, дерзайте. Но, к примеру, создавая сервис на Питон логичнее было бы это сделать на форуме Питона
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 668
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Создание простого веб-сервиса

Сообщение S_Gur » 03.12.2022 22:35:30

https://wiki.lazarus.freepascal.org/fpWeb_Tutorial/ru

Я делал по этой технологии, в том числе и многопоточный. Особых проблем не нашел, все, что нужно, вроде бы фунциклирует
S_Gur
постоялец
 
Сообщения: 120
Зарегистрирован: 30.12.2018 22:17:42

Re: Создание простого веб-сервиса

Сообщение wwswowsogon » 03.12.2022 22:47:53

Ichthyander писал(а):Тогда вопрос: зачем узнавать как сделать сервер не на FPC на форуме FPC? )


1) повторюсь, ничего не имею против FPC. Более того , я считаю его одним из лучших современных средств разработки, в сумме с Lazarus, особенно когда речь идет о нативном коде;
2) на этом форуме я давно, а на форме Пайтона меня нет :) ну и это раздел "Разное";
3) здесь довольно адекватные люди, к тому же у большинства из них уровень получше моего. Поэтому интересно выслушать мнения, кто как подходил бы к решению этой задачи.

Ichthyander писал(а):FPC не так уж и плох как может показаться для разработки бекенда в Lazarus.
не спорю, просто есть опасение наглухо застрять где-нибудь на полпути из-за элементарного незнания матчасти и какой-нибудь незаметной мелочи. Почему-то я почти уверен, что с PHP,
например, такого не произойдёт.

Возможно, сделаю и на FPC. Ну и, если что, придётся снова обращаться за помощью сюда :)

Добавлено спустя 2 минуты 44 секунды:
S_Gur писал(а):https://wiki.lazarus.freepascal.org/fpWeb_Tutorial/ru

Я делал по этой технологии, в том числе и многопоточный. Особых проблем не нашел, все, что нужно, вроде бы фунциклирует


Интересно, спасибо. Надо почитать мануалы.
wwswowsogon
постоялец
 
Сообщения: 152
Зарегистрирован: 23.12.2008 20:41:37

Re: Создание простого веб-сервиса

Сообщение S_Gur » 03.12.2022 23:56:47

wwswowsogon, я делал на основе этого:

Код: Выделить всё
Пример веб-сервера

Это пример простого кроссплатформенного многопоточного веб-сервера.

program webserver;

{$mode objfpc}{$H+}

uses
  {$ifdef UNIX}
    cthreads, cmem,
  {$endif}
  fphttpapp, httpdefs, httproute;

procedure route1(aReq: TRequest; aResp: TResponse);
begin
  aResp.content:='<html><body><h1>Route 1 The Default</h1></body></html>'
end;

procedure route2(aReq: TRequest; aResp: TResponse);
begin
  aResp.content:='<html><body><h1>Route 2</h1></body></html>'
end;

begin
  HTTPRouter.registerRoute('/', @route1, true);
  HTTPRouter.registerRoute('/route2', @route2);
  Application.port := 8080;
  Application.threaded := true;
  Application.initialize;
  Application.run;
end.
S_Gur
постоялец
 
Сообщения: 120
Зарегистрирован: 30.12.2018 22:17:42

Re: Создание простого веб-сервиса

Сообщение grot » 04.12.2022 13:34:20

Ichthyander писал(а):Я не пойму почему бэкенд не на FPC-то не рассматриваете?. Есть нативная либа fcl-web, есть много других фреймворков. Я использую brookframework (brook4freepascal) https://github.com/risoflora/brookfreepascal https://github.com/risoflora/brookframework


Сам использую fcl-web -
но смотрел на brookframework "по-диагонали" и слету не заметил ничего примечательного ...

Итак, а почему brookframework ?
grot
новенький
 
Сообщения: 74
Зарегистрирован: 13.02.2010 16:33:03

Re: Создание простого веб-сервиса

Сообщение Ichthyander » 04.12.2022 15:44:16

Удобней и логичней чем fcl-web, более закончен для создание веб приложений.
Если брать brrokframework - рассчитан и отпимизирован на большую нагрузку. (на нем сделанвеб-сервис, наподобии конструктора сайта с тысячами сайтов), создающую минимальную нагрузку на рядовой виртуальный сервер.
Хорошо документирован не в пример другим либам FPC https://risoflora.github.io/brookfreepa ... index.html
При этом максимально близок к нативному fcl-web по структуре, во многим просто расширенная версия его.
Много примеров и куча плагинов (да, включая и мой)

Добавлено спустя 1 минуту 59 секунд:
Забыл написать: мастер создание веб-приложения от брук поможет выбрать тип (встроенные сервер, с демонизатором, fast-cgi, cgi и т.д.)
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 668
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Создание простого веб-сервиса

Сообщение Alex2013 » 09.12.2022 12:41:12

Смотри мою старую тему ( Извиняюсь картинки еще не все исправил ( старый хост картинок похоже тупо взломали ) ) .
Мыслить глобально ! (Среда разрабтки веб приложений )
За основу взял проект некого Тимура Абдулова :arrow: https://sites.google.com/site/timpascallib/veb-server
Alex2013
долгожитель
 
Сообщения: 2923
Зарегистрирован: 03.04.2013 11:59:44


Вернуться в Разное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru