Кейс-задача №4: WEB-приложение (Delphi/IIS/MS SQL Server)
  • Pascal 53.2%
  • Batchfile 32.8%
  • TSQL 14%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-22 20:02:46 +09:00
delphi_src Replace Flask stub with Delphi IIS helpdesk app 2026-07-22 20:02:46 +09:00
mssql_schema.sql Кейс-задача: решение и тесты 2026-07-19 13:18:38 +09:00
README.md Replace Flask stub with Delphi IIS helpdesk app 2026-07-22 20:02:46 +09:00
run.cmd Replace Flask stub with Delphi IIS helpdesk app 2026-07-22 20:02:46 +09:00

Кейс-задача № 4. WEB-приложение Delphi + IIS + MS SQL Server

Тема приложения: учёт заявок технической поддержки.

Проект реализует WEB-архитектуру по заданию кейса:

  • клиент: браузер;
  • сервер приложений: IIS + ISAPI DLL на Delphi WebBroker;
  • база данных: MS SQL Server Express, база HelpdeskDb;
  • доступ к данным: ADO (TADOConnection, TADOQuery).

Состав проекта

  • delphi_src/HelpdeskWeb.dpr — Delphi ISAPI WebBroker проект.
  • delphi_src/WebModuleUnit1.pas — обработчики HTTP-запросов, список заявок и форма добавления.
  • delphi_src/WebModuleUnit1.dfm — web module form.
  • delphi_src/web.config — IIS handler mapping для *.dll через IsapiModule.
  • delphi_src/setup_iis.cmd — настройка IIS: handler mapping, ISAPI restriction, 32-bit DefaultAppPool, SQL grant, перезапуск IIS.
  • run.cmd — запускатель для копирования deploy-файлов в локальную папку Windows и старта setup_iis.cmd с повышением прав.
  • delphi_src/grantaccess.sql — выдача прав IIS APPPOOL\DefaultAppPool на HelpdeskDb.
  • mssql_schema.sql — создание базы HelpdeskDb, таблицы Tickets и тестовых данных.

Функции WEB-приложения

  • просмотр списка заявок из таблицы dbo.Tickets;
  • добавление новой заявки через HTML-форму;
  • сохранение заявки в MS SQL Server;
  • HTML-экранирование пользовательских данных перед выводом.

Развёртывание

  1. Установить IIS с ISAPI Extensions/Filters.
  2. Установить MS SQL Server Express и создать базу скриптом mssql_schema.sql.
  3. Собрать проект HelpdeskWeb.dpr в Delphi как 32-bit ISAPI DLL.
  4. Скопировать HelpdeskWeb.dll и web.config в C:\inetpub\wwwroot\helpdesk.
  5. Запустить delphi_src/setup_iis.cmd от администратора.
  6. Открыть http://localhost/helpdesk/HelpdeskWeb.dll.

Анализ WEB-приложений

WEB-приложения обычно строятся как трёхзвенная система: браузер, сервер приложений и сервер базы данных. Такой подход используется в CRM, ERP, helpdesk, корпоративных порталах и системах документооборота.

Примеры рыночных систем:

Продукт Назначение Архитектура Особенности
1С:Предприятие WEB-клиент ERP/учёт WEB-клиент, сервер 1С, СУБД сильная предметная база, высокая стоимость лицензий
Bitrix24 CRM/портал WEB-сервер, PHP, БД быстрый старт, ограниченная гибкость глубокой доработки
Microsoft SharePoint портал/DMS IIS, ASP.NET, MS SQL Server интеграция с Microsoft, сложное администрирование
Jira/Redmine управление задачами WEB-сервер, сервер приложений, БД развитые workflow, удобны для проектной работы

Для небольшой организации WEB-приложение на IIS + Delphi + MS SQL Server подходит для внутренних учётных задач: заявки, справочники, заказы, складские операции. В кейсе выбран helpdesk-сценарий, потому что он наглядно показывает CRUD-процесс и взаимодействие браузера, ISAPI-модуля и SQL Server.