Кейс-задача №4: WEB-приложение (Delphi/IIS/MS SQL Server)
- Pascal 53.2%
- Batchfile 32.8%
- TSQL 14%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| delphi_src | ||
| mssql_schema.sql | ||
| README.md | ||
| run.cmd | ||
Кейс-задача № 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-экранирование пользовательских данных перед выводом.
Развёртывание
- Установить IIS с ISAPI Extensions/Filters.
- Установить MS SQL Server Express и создать базу скриптом
mssql_schema.sql. - Собрать проект
HelpdeskWeb.dprв Delphi как 32-bit ISAPI DLL. - Скопировать
HelpdeskWeb.dllиweb.configвC:\inetpub\wwwroot\helpdesk. - Запустить
delphi_src/setup_iis.cmdот администратора. - Открыть
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.