Разработка Web-служб средствами Delphi
Дарахвелидзе П.Г., Марков Е.П.
В книге рассматриваются принципы функционирования Web-служб и инструменты для их создания и отладки, а также способы обеспечения связи и устойчивой работы распределенных приложений с помощью протокола SOAP. Подробно обсуждаются базовые технологии взаимодействия объектов, созданных в различных средах, способы разработки приложений баз данных, современные методы создания Internet-приложений, в том числе с применением языка XML Большое количество примеров, приведенных в книге, и прилагаемая дискета помогут легче и быстрее освоить материал книги.
Издательство: BHV-Санкт-Петербург, 2003 г.
ISBN 5-94157-142-9
Количество страниц: 656.
Содержание книги «Разработка Web-служб средствами Delphi»:
- 1 Введение
- 2 COM и COM+
- 2 DataSnap
- 3 XML
- 3 SOAP
- 4 WebSnap и Web Broker
- 4 Криптография и безопасность данных
- 5 Часть I. Приложения COM и COM+
- 7 Глава 1. Механизмы COM в Delphi
- 8 1.1. Базовые понятия
- 11 1.1.1 Объект
- 12 1.1.2. Интерфейс
- 14 1.1.3. Интерфейс IUnknown
- 14 1.1.4. Сервер
- 15 1.1.5. Библиотека COM
- 17 1.1.6. Фабрика класса
- 17 1.1.7. Библиотека типов
- 18 1.2. Объекты COM в Delphi
- 19 1.2.1. Класс TComOtject
- 21 1.2.2. Класс TTypedCom Object
- 21 1.2.3. Интерфейс IUnknown в Delphi
- 22 1.2.4. Тип глобального идентификатора
- 22 1.2.5. Класс InterfacedObject
- 23 1.3. Фабрика класса в Delphi
- 23 1.3.1. Класс TComObject Factory
- 26 1.3.2. Класс TTypedCom ObjectFactory
- 26 1.3.3. Класс TComClassManager
- 26 1.4. Сервер COM в Delphi
- 27 1.4.1. Класс TComServer
- 28 1.5. Библиотека типов в Delphi
- 31 1.6. Простой объект COM в составе внутреннего сервера
- 31 1.6.1. Создание объекта
- 38 1.7. Создание методов интерфейса
- 45 1.7.1. Регистрация внутреннего сервера
- 45 1.7.2. Использование интерфейсов внутреннего сервера COM
- 48 Резюме
- 8 1.1. Базовые понятия
- 49 Глава 2. Технология Автоматизация
- 50 2.1. Базовые понятия технологии. Автоматизация
- 50 2.1.1. Интерфейсы Автоматизации
- 50 Интерфейс IDispatch и диспинтерфейсы
- 52 Дуальные интерфейсы
- 52 2.1.2. Библиотека типов
- 52 2.1.3. Маршалинг интерфейсов Автоматизации
- 53 2.1.4. Объект Автоматизации
- 53 2.1.5. Сервер Автоматизации
- 53 2.1.6. Контроллер Автоматизации
- 50 2.1.1. Интерфейсы Автоматизации
- 53 2.2. Реализация Автоматизации в Delphi
- 54 2.2.1. Интерфейсы автоматизации
- 54 Интерфейс IDispatch
- 55 2.2.2 Интерфейсы диспетчеризации
- 56 2.2.3. Дуальные интерфейсы
- 56 2.2.4. Объект Автоматизации
- 57 Класс TAutoObject
- 59 Обработка событий объекта Автоматизации
- 62 Создание методов - аналогов событий
- 63 Создание класса-оболочки
- 63 Инициализация объекта Автоматизации
- 65 2.2.5. Фабрика класса
- 66 Класс TAutoInfObject
- 66 2.2.6. Сервер Автоматизации
- 67 2.2.7. Контроллер Автоматизации
- 54 2.2.1. Интерфейсы автоматизации
- 69 2.3. Пример приложения Автоматизации
- 69 2.3.1. Сервер Автоматизации
- 72 2.3.2. Контроллер Автоматизации
- 74 Резюме
- 50 2.1. Базовые понятия технологии. Автоматизация
- 75 Глава 3. Компоненты ActiveX
- 76 3.1. Как работают элементы управления ActiveX
- 79 3.1.1. Контейнеры и регистрация элементов управления ActiveX
- 80 3.1.2. Предоставление методов
- 80 3.1.3. События
- 81 3.1.4. Свойства
- 81 3.1.5. Страницы свойств
- 81 3.1.6. Лицензирование
- 82 3.2. Реализация компонентов ActiveX в Delphi
- 83 3.2.1. Класс компонента ActiveX
- 84 3.2.2. Фабрика класса компонента ActiveX
- 85 3.2.3. Среда разработки Delphi как контейнер ActiveX
- 85 3.2.4. Регистрация компонентов ActiveX
- 85 3.3. Использование готовых компонентов ActiveX
- 86 3.3.1. Инсталляция готовых элементов управления AciveX
- 87 3.3.2. Деинсталляция готовых элементов управления AciveX
- 87 3.3.3. Пример инсталляции элемента управления TWebBrowser
- 91 3.4. Разработка собственных компонентов ActiveX
- 92 3.4.1. Превращение компонентов Delphi в компоненты ActiveX
- 93 3.4.2. Преобразование форм в формы ActiveX
- 99 Резюме
- 76 3.1. Как работают элементы управления ActiveX
- 100 Глава 4. Технология COM+ (Microsoft Transaction Server)
- 101 4.1. Как работает MTS
- 102 4.1.1. Объект MTS
- 103 4.1.2. Транзакции
- 104 4.1.3. Контекст объекта MTS
- 105 4.1.4. Безопасность данных в MTS
- 105 Декларативная зашита данных
- 106 Программная зашита данных
- 106 4.1.5. Ресурсы
- 106 Активизация Just-in-time
- 107 Пулинг ресурсов
- 107 Освобождение ресурсов
- 108 Пулинг объектов
- 109 4.2. Создание приложений MTS в Delphi
- 109 4.2.1. Объекты транзакций MTS
- 109 Класс TMTSAutoOtject
- 111 Создание объекта транзакции
- 113 Типы потоковой модели
- 113 Поведение объектов MTS в транзакциях
- 114 4.2.2. Удаленный модуль данных MTS
- 115 4.2.3. Распределители ресурсов
- 109 4.2.1. Объекты транзакций MTS
- 118 4.3. Тестирование и установка MTS компонентов
- 120 4.4. Оптимизация работы с MTS
- 120 4.4.1. Блокировка транзакций
- 121 4.4.2. Действия MTS
- 121 4.5. Пример простого объекта транзакции
- 121 4.5.1. Создание сервера
- 123 4.5.2. Создание клиента
- 124 4.5.3. Пример создания клиента и сервера в случае распределенной транзакции
- 124 Создание серверов
- 125 Разработка объекта распределенной транзакции
- 127 Создание клиента
- 127 Резюме
- 101 4.1. Как работает MTS
- 129 Часть II. Технологии доступа к данным
- 131 Глава 5. Архитектура приложений баз данных
- 133 5.1. Общая структура приложения баз данных
- 133 5.1.1. Как работает приложение баз данных
- 136 5.1.2. Модуль данных
- 137 5.1.3. Подключение данных
- 138 5.1.4. Настройка компонента TDataSource
- 140 5.1.5. Отображение данных
- 141 5.2. Набор данных
- 141 5.2.1. Абстрактный набор данных
- 142 Навигация по набору данных
- 143 Поля набора данных
- 144 Редактирование набора данных
- 145 Обработка событий набора данных
- 146 5.2.2. Стандартные компоненты
- 146 Компонент таблицы
- 149 Компонент запроса
- 151 Компонент хранимой процедуры
- 152 5.2.3. Состояния набора данных
- 141 5.2.1. Абстрактный набор данных
- 155 5.3. Индексы
- 156 5.3.1. Механизм подключения индексов
- 156 5.3.2. Список описаний индексов
- 157 5.3.3. Описание индекса
- 159 5.4. Параметры запросов и хранимых процедур
- 162 5.4.1. Класс TParams
- 163 5.4.2. Класс TParams
- 165 5.5. Механизмы управления данными
- 165 5.5.1. Связанные таблицы
- 165 Отношение "один-ко-многим"
- 166 Отношение "многие-ко-многим"
- 165 5.5.1. Связанные таблицы
- 166 5.6. Поиск данных
- 167 5.7. Фильтры
- 169 5.8. Быстрый переход к помеченным записям
- 170 5.9. Поля
- 171 5.10. Объекты полей
- 172 5.10.1. Статические и динамические поля
- 174 5.10.2. Класс ТField
- 178 5.10.3. Виды полей
- 179 Поля синхронного просмотра
- 181 Вычисляемые поля
- 182 Внутренние вычисляемые поля
- 183 Агрегатные поля
- 183 Объектные поля
- 184 5.10.4.Типы данных
- 186 Резюме
- 133 5.1. Общая структура приложения баз данных
- 187 Глава 6. Технология dbExpress
- 188 6.1. Доступ к данным dbExpress
- 190 6.2. Драйверы доступа к данным
- 190 6.3. Соединение с сервером баз данных
- 195 6.4. Управление наборами данных
- 197 6.5. Транзакции
- 198 6.6. Использование компонентов наборов данных
- 199 6.6.1. Класс TCustomSQLDataSet
- 201 6.6.2. Компонент TSQLDataSet
- 202 6.6.3. Компонент TSQLTable
- 203 6.6.4. Компонент TSQLQuery
- 204 6.6.5. Компонент TSQLStoredProc
- 205 6.7. Компонент TSQLClientDataSet
- 206 6.7.1. Соединение с сервером БД
- 206 6.7.2. Сохранение изменений
- 208 6.7.3. Работа с записями
- 208 6.7.4. Обработка исключительных ситуаций
- 209 6.8. Способы редактирования данных
- 213 6.9. Интерфейсы dbExpress
- 213 6.9.1. Интерфейс ISQLDriver
- 214 6.9.2. Интерфейс ISQLConnection
- 215 6.9.3. Интерфейс ISQLCommand
- 216 6.9.4. Интерфейс ISQLCursor
- 217 6.10. Отладка приложений с технологией dbExpress
- 219 6.11. Распространение приложений с технологией dbExpress
- 220 Резюме
- 221 Глава 7. Использование ADO средствами Delphi
- 221 7.1. Основы ADO
- 224 7.1.1. Перечислители
- 225 7.1.2. Объекты соединения с источниками данных
- 225 7.1.3. Сессия
- 226 7.1.4. Транзакции
- 226 7.1.5. Наборы рядов
- 227 7.1.6. Команды
- 228 7.2. Провайдеры ADO
- 229 7.3. Реализация ADO в Delphi
- 229 7.3.1. Компоненты ADO
- 230 7.3.2. Механизм соединения с хранилищем данных ADO
- 230 7.4. Компонент TADOConnection
- 231 7.4.1. Настройка соединения
- 236 7.4.2. Управление соединением
- 239 7.4.3. Доступ к связанным наборам данных и командам ADO
- 241 7.4.4. Объект ошибок ADO
- 241 7.4.5. Транзакции
- 243 7.5. Наборы данных ADO
- 244 7.5.1. Класс TCustomADODataSet
- 244 Набор данных
- 245 Курсор набора данных
- 247 Локальный буфер
- 248 Состояние записи
- 249 Фильтрация
- 250 Поиск
- 251 Сортировка
- 251 Команда ADO
- 252 Групповые операции
- 253 7.5.2. Параметры
- 254 Класс ТParameters
- 255 Класс TParameter
- 256 7.5.3. Компонент TADODataSet
- 257 7.5.4. Компонент TADOTable
- 258 7.5.5. Компонент TADOQuery
- 258 7.5.6. Компонент TADOStoredProe
- 244 7.5.1. Класс TCustomADODataSet
- 258 7.6. Команды ADO
- 260 7.7. Объект ошибок ADO
- 261 7.8. Пример приложения ADO
- 265 7.8.1. Соединение с источником данных
- 266 7.8.2. Групповые операции
- 266 7.8.3. Фильтрация
- 266 7.8.4. Сортировка
- 266 Резюме
- 221 7.1. Основы ADO
- 269 Часть III. Распределенные приложения баз данных
- 271 Глава 8. Технология DataSnap. Механизмы удаленного доступа
- 272 8.1. Структура многозвенного приложения в Delphi
- 275 8.2. Трехзвенное приложение в Delphi
- 276 8.2.1. Сервер приложения
- 277 8.2.2. Клиентское приложение
- 278 8.3. Механизм удаленного доступа к данным DataSnap
- 279 8.3.1. Компонент TDCОМConnection
- 280 8.3.2. Компонент TSocketConnection
- 283 8.3.3. Компонент TWebConnection
- 284 8.3.4. Компонент TCORBAConnection
- 285 8.4.Вспомогательные компоненты - брокеры соединений
- 286 8.4.1. Компонент TSimpleOtjectBroker
- 287 8.4.2. Компонент TLocalConnection
- 288 8.4.3. Компонент TSharedConnection
- 288 8.4.4. Компонент TConnectionBroker
- 289 Резюме
- 290 Глава 9. Сервер приложения
- 291 9.1. Структура сервера приложения
- 293 9.2. Интерфейс IAppServer
- 295 9.3. Удаленные модули данных
- 296 9.3.1. Удаленный модуль данных для сервера Автоматизации
- 301 9.3.2. Дочерние удаленные модули данных
- 302 9.4. Провайдеры данных
- 306 9.5. Интерфейс IProviderSupport
- 307 9.6. Регистрация сервера приложения
- 307 9.7. Пример простого сервера приложения
- 308 9.7.1. Главная форма сервера приложения
- 309 9.7.2. Главный удаленный модуль данных
- 310 9.7.3. Дочерний удаленный модуль данных
- 311 9.7.4. Регистрация сервера приложения
- 312 Резюме
- 313 Глава 10. Клиент многозвенного распределенного приложения
- 314 10.1. Структура клиентского приложения
- 316 10.2. Клиентские наборы данных
- 317 10.3. Компонент TClientDataSet
- 318 10.3.1. Получение данных от компонента-провайдера
- 320 10.3.2. Кэширование и редактирование данных
- 322 10.3.3. Управление запросом на сервере
- 323 10.3.4. Использование индексов
- 325 10.3.5. Сохранение набора данных в файле
- 325 10.3.6. Работа с данными типа BLOB
- 326 10.3.7. Представление данных в формате XML
- 326 10.4. Агрегаты
- 327 10.4.1. Объекты-агрегаты
- 329 10.4.2. Агрегатные поля
- 330 10.4.3. Группировка полей и использование индексов
- 331 10.5. Вложенные наборы данных
- 332 10.6. Дополнительные свойства полей клиентского набора данных
- 332 10.7. Обработка ошибок
- 336 10.8. Пример "тонкого" клиента
- 338 10.8.1. Соединение клиента с сервером приложения
- 339 10.8.2. Наборы данных клиентского приложения
- 340 Резюме
- 343 Глава 11. Сокеты
- 344 11.1. Введение в архитектуру сетей
- 344 11.1.1. Модель OSI
- 346 11.1.2. Физический уровень
- 347 11.1.3. Протоколы канального уровня
- 348 Управление доступом к среде
- 349 Управление логическим каналом (Logical Link Control)
- 350 11.1.4. Функции сетевого уровня
- 353 11.1.5. Транспортный уровень
- 354 11.1.6. Концепции сессионного уровня, уровней представления и приложений
- 355 Сессионный (session) уровень
- 355 Уровень представления
- 355 Уровень приложения
- 356 11.2. Модель клиент/сервер и сокеты
- 357 11.2.1. Microsoft Windows и сокеты
- 358 11.3. Работа на уровне сокетов в Delphi
- 358 11.3.1. Компоненты Delphi, инкапсулирующие сокеты
- 359 11.3.2. Установление соединения
- 360 11.3.3. Синхронизация сокетов
- 361 11.3.4. Класс TServerWinSocket
- 364 11.3.5. Компонент TServerSocket
- 364 11.3.6. Класс TClientWinSocket
- 365 11.3.7. Компонент TClientSocket
- 366 Резюме
- 344 11.1. Введение в архитектуру сетей
- 367 Глава 12. Криптографическая защита информации в Internet
- 368 12.1. Основные термины и понятия криптографии
- 368 12.1.1. Секретность
- 370 12.1.2. Аутентификация
- 371 12.1.3. Целостность
- 372 12.2. Цифровые подписи, сертификаты и их применение
- 378 12.2.1. Использование CryptoAPI
- 379 Структура CryptoAPI
- 381 Пример использования CryptoAPI - менеджер сертификатов
- 386 12.2.2. Служба сертификатов Microsoft
- 378 12.2.1. Использование CryptoAPI
- 387 12.3. Протоколы Internet для защищенных соединений
- 390 12.3.1. Настройка SSL на стороне сервера IIS 5
- 393 12.3.2. Настройка протокола SSL на клиентской стороне
- 395 Резюме
- 368 12.1. Основные термины и понятия криптографии
- 397 Глава 13. Потоки и процессы
- 398 13.1. Обзор потоков
- 399 13.1.1. Потоки и процессы
- 400 13.1.2. Фоновые процедуры, или как обойтись без потоков
- 400 13.1.3. Приоритеты потоков
- 404 13.2. Класс TThread
- 408 13.3. Пример создания многопоточного приложения в Delphi
- 412 13.4. Проблемы синхронизации потоков
- 413 13.4.1. Тупики
- 413 13.4.2. Гонки
- 414 13.5. Средства синхронизации потоков
- 415 13.5.1. Событие
- 417 13.5.2. Взаимные исключения
- 417 13.5.3. Семафор
- 418 13.5.4. Критическая секция
- 419 13.5.5. Процесс. Порождение дочернего процесса
- 420 13.5.6. Поток
- 420 13.5.7. Консольный ввод
- 421 13.5.8. Оповещение об изменении в файловой системе
- 422 13.6. Локальные данные потока
- 423 13.7. Как избежать одновременного запуска двух копий одного приложения
- 424 Резюме
- 398 13.1. Обзор потоков
- 425 Члсгь V. Данные XML в распределенных приложениях
- 427 Глава 14. Использование XML
- 427 14.1. Что такое XML и для чего он предназначен
- 430 14.2. Основы синтаксиса XML
- 431 14.2.1. Пролог
- 433 14.2.2. Определение
- 434 14.2.3. Тело документа. Корневой элемент
- 435 14.3. Объектная модель документа
- 436 14.3.1. Интерфейсы семейства IDOMNode
- 437 Свойства nodeType, nodeName и nodeValue
- 439 Свойства и методы, управляющие другими вершинами
- 441 Пространства имен
- 441 Интерфейс IDOMDocument
- 442 14.3.2. Пример создания приложения, использующего модель DOM
- 436 14.3.1. Интерфейсы семейства IDOMNode
- 445 14.4. Реализация модели DOM в Delphi
- 446 Модуль Xmldom
- 446 Модуль Msxml
- 447 Модуль Msxmldom
- 447 Модуль XMLInf
- 447 Модуль XMLDoc
- 447 14.4.1. Интерфейс IXMLNode и его отличия от стандарта DOM
- 450 14.4.2. Взаимосвязь между всеми интерфейсами
- 451 14.4.3. Загрузка XML
- 453 Асинхронная загрузка
- 453 Функции, создающие экземпляр документа
- 454 14.4.4. Обработка ошибок анализатора
- 456 Пример использования интерфейсов IXMLNode и IXMLDocument
- 469 14.5. Анализатор MSXML, или Microsoft XML Core Services
- 476 Резюме
- 477 Глава 15. Использование данных в формате XML
- 477 15.1. Преобразование данных в формате XML
- 478 15.1.1. Схема преобразования данных XML
- 479 15.1.2. Формат пакета данных Delphi
- 480 15.1.3. Инструментарий преобразования данных XML
- 481 15.2. Утилита ХМL Mapper
- 482 15.2.1. Выбор исходного файла
- 483 15.2.2. Создание пакета данных и документа XML и сохранение преобразованных данных
- 484 15.2.3. Связывание элементов XML и полей пакета данных
- 485 15.2.4. Создание трансформационного файла и преобразование данных
- 486 15.3. Преобразование данных XML в распределенных приложениях
- 489 15.4. Использование данных XML в распределенных приложениях
- 491 15.4.1. Данные XML в клиентском наборе данных
- 491 15.4.2. Данные XML в документе XML
- 493 15.4.3. Данные XML на странице HTML
- 495 15.5. Пример приложения, использующего данные XML
- 498 Резюме
- 477 15.1. Преобразование данных в формате XML
- 499 Часть IV. Распределенные приложения и Web-службы
- 501 Глава 16. Серверные Web-приложения. Технология Web Broker
- 502 16.1. Публикация данных в Internet. Web-серверы
- 505 16.2. Введение в интерфейсы CGI и ISAPI
- 507 16.3. Типы серверных Web-приложений
- 508 16.4. Структура серверного Web-приложения в Delphi
- 511 16.4.1. Глобальный объект приложения
- 513 16.4.2. Web-модуль
- 516 16.4.3. Действия
- 517 16.4.4. Запросы и ответы
- 518 16.4.5. Компоненты-продюсеры
- 520 16.5. Страницы HTML в серверных Web-приложениях
- 520 16.5.1. Отображение данных
- 523 16.5.2. Ввод и редактирование данных
- 527 16.6. Cookies
- 528 16.7. Использование баз данных
- 529 16.7.1. Публикация записей таблиц баз данных
- 530 16.7.2. Генерация отчетов
- 535 16.7.3. Редактирование данных
- 536 16.8. Пример простого серверного Web-приложения
- 537 16.8.1. Главное окно приложения
- 538 16.8.2. Просмотр таблицы Country
- 541 16.8.3. Тестирование приложения
- 542 16.8.4. Перенос приложения на платформу ISAPI
- 542 Отладка ISAPI-приложений
- 546 Резюме
- 547 Глава 17. Протокол SOAP и Web-службы. Клиентская часть
- 547 17.1. Почему SOAP?
- 548 17.1.1. Delphi и TSomeConnection - потенциальные проблемы
- 549 17.2. SOAP: краткое содержательное описание
- 551 17.2.1. Web-службы
- 552 17.2.2. Описание протокола WSDL
- 557 17.3. Архитектура Web-служб в Delphi
- 558 17.4. Клиент Web-службы
- 559 17.4.1. Генерация интерфейса Web-службы
- 563 17.4.2. O, RIO, RIO
- 565 17.4.3. Как связаться с нужной службой
- 566 17.4.4. Решение коммуникационных проблем
- 569 17.4.5. Что такое Invoke Registry. Регистрация интерфейсов и типов данных
- 572 Резюме
- 547 17.1. Почему SOAP?
- 573 Глава 18. Серверная часть Web-службы. Совместимость
- 573 18.1. Создание тестового примера - службы Simple Echo
- 576 18.2. Назначение и настройки компонентов серверной части
- 577 18.2.1. Компонент TWSDLHTMLPublish
- 580 18.2.2. Компоненты THTTPSoapDispatcher и THTTPSoapPascalInvoker
- 581 18.2.3. Клиент службы Simple Echo
- 582 18.2.4. Обработка исключительных ситуаций
- 584 18.2.5. Несколько слов об использовании ISOAPConneciion
- 585 18.3. Средства разработки для SOAP: подход Microsoft
- 586 18.3.1. Краткий обзор архитектуры Web-служб на SOAP Toolkit
- 588 18.3.2. Сценарий клиентской части
- 590 18.3.3. Создание СОМ-объекта SimpleEchoCOM и публикация Web-службы на его основе
- 593 18.4. Использование утилиты SOAP Trace
- 595 Резюме
- 596 Глава 19. Технология WebSnap
- 596 19.1. Структура приложения WebSnap
- 598 19.1.1. Обработка запросов
- 599 19.1.2. Web-модули
- 600 Модуль данных
- 601 Модуль страницы
- 602 Модуль приложения
- 603 19.1.3. Компоненты уровня приложения
- 603 Управление компонентами приложения
- 605 Адаптер и глобальная переменная приложения
- 606 Информация о пользователях
- 608 Сессии
- 609 Управление файлами приложения
- 609 19.1.4. Компоненты-диспетчеры
- 611 19.1.5. Компоненты-продюсеры
- 611 19.1.6. Компоненты-адаптеры
- 615 19.2. Создание приложения WebSnap
- 618 19.3. Конструирование интерфейса и управление данными
- 620 19.3.1. Навигация по страницам приложения
- 621 19.3.2. Использование полей и действий компонентов-адаптеров
- 624 19.3.3. Взаимодействие с базами данных
- 624 Специализированные элементы управления
- 626 Просмотр данных
- 627 Редактирование данных
- 628 19.3.4. Обработка ошибок
- 629 19.4. Аутентификация пользователей
- 629 19.4.1. Списки пользователей и сессии
- 630 19.4.2. Создание страницы аутентификации
- 631 19.4.3. Настройка приложения
- 632 19.5. Использование XML и XSL
- 633 19.5.1. Использование файла XML и шаблона XSL
- 635 19.5.2. Использование набора данных и шаблона XSL
- 636 19.5.3. Дополнительный компонент TAdapterXMLBuilder
- 638 Резюме
- 596 19.1. Структура приложения WebSnap
- 639 Приложение. Описание дискеты
- 643 Предметный указатель
Инструкция как скачать книгу Дарахвелидзе П.Г., Марков Е.П.: Разработка Web-служб средствами Delphi в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Рейтинг книги:
0 голосов
491