Начинаем работать в Borland C++ Builder




Глава 8. Перенос приложений C++Builder в архитектуру клиент/сервер


    Введение
    Введение Современные средства разработки информационных систем, к числу которых относится C++Builder, ориентированы на широкую поддержку различных СУБД, как настольных, так и серверных. Построение...
    Немного истории
    Немного истории Давайте отвлечемся от современных технических средств и программных продуктов, используемых при построении информационных систем, и вспомним, что происходило два десятилетия назад....
    Этап 1: модель "хост-компьютер + терминалы"
    1. Этап 1: модель "хост-компьютер + терминалы" Этот подход, весьма прогрессивный по тем временам, обладал некоторыми несомненными достоинствами. Во-первых, пользователи такой системы могли совмест...
    Этап 2: автономная персональная обработка данных
    2. Этап 2: автономная персональная обработка данных Следующим этапом развития архитектуры информационных систем было появление сетевых версий вышеупомянутых СУБД, позволяющих осуществлять многопол...
    Этап 3: коллективная обработка данных с использованием сетевых версий настольных СУБД и файлового сервера
    3. Этап 3: коллективная обработка данных с использованием сетевых версий настольных СУБД и файлового сервера Недостатки использования сетевых версий настольных СУБД обычно начинают проявляться в п...
    Пример связи "один-ко-многим"
    4.Пример связи "один-ко-многим" Каким образом можно избежать подобных неприятностей? Ответ напрашивается сам собой: еще раз подумать об архитектуре информационной системы и сменить ее, если в обоз...
    Особенности архитектуры клиент/сервер
    Особенности архитектуры клиент/сервер Что же представляет собой архитектура клиент/сервер? В определенной степени ее можно назвать возвратом к модели “хост-компьютер+терминалы”, так как ядром тако...
    Этап 4: обработка данных в архитектуре клиент/сервер
    5. Этап 4: обработка данных в архитектуре клиент/сервер В чем преимущества клиент-серверных информационных систем по сравнению с их аналогами, созданными на основе сетевых версий настольных СУБД?...
    Серверные СУБД и унаследованные данные
    Серверные СУБД и унаследованные данные Одной из наиболее распространенных проблем, связанных с модернизацией эксплуатируемых информационных систем, является использование в них данных, унаследован...
    Перенос унаследованных данных с помощью Data Migration Wizard
    Перенос унаследованных данных с помощью Data Migration Wizard Способов переноса данных может быть несколько. Первый, самый примитивный, и, к сожалению, весьма распространенный, представляет собой...
    Создание псевдонима для доступа к данным Oracle
    7. Создание псевдонима для доступа к данным Oracle Отметим, что 2: - имя локального сервера Oracle (при работе с Oracle Workgroup Server for Windows NT, расположенном на том же компьютере, что и С...
    Выбор исходной БД в Data Migration Wizard
    8. Выбор исходной БД в Data Migration Wizard Далее выберем псевдоним БД, в которую мы осуществляем экспорт данных, и затем выберем имена экспортируемых таблиц:...
    Выбор таблиц для переноса данных с помощью Data Migration Wizard
    9. Выбор таблиц для переноса данных с помощью Data Migration Wizard После этого получим экран, содержащий список таблиц и индексов, подлежащих переносу....
    Список таблиц и индексов, подлежащих переносу.
    10. Список таблиц и индексов, подлежащих переносу. Если нажать кнопку Modify Mapping Information For Selected Item, получим сведения о том, в какие типы данных будут преобразованы поля исходных та...
    Внесение правок в правила преобразования полей
    11. Внесение правок в правила преобразования полей После внесения правок можно вернуться к предыдущему экрану и нажать кнопку Upsize. После этого начнется процесс создания на сервере таблиц и инде...
    Выбор Database Form из репозитария С++Builder
    12. Выбор Database Form из репозитария С++Builder Далее выберем создание формы master/detail c использованием объектов TTable:...
    Выбор типа будущей главной формы приложения
    13. Выбор типа будущей главной формы приложения После выбора псевдонима базы данных Oracle из списка псевдонимов определим master-таблицу. В нашем случае это только что созданная таблица CLIENTS:...
    Выбор master-таблицы
    14. Выбор master-таблицы Затем определим, какие поля этой таблицы нам нужны (можно выбрать все), и как они будут расположены на форме (выберем горизонтальное расположение полей). Затем определим d...
    Установка связи между таблицами
    15. Установка связи между таблицами Далее выбираем опцию Generate a Main Form и в результате получим форму, похожую на представленную на рис. 16:...
    Вот что обычно получается при использовании Database Form Wizard
    16. Вот что обычно получается при использовании Database Form Wizard После редактирования и открытия таблиц, изменения размеров формы и панелей, а также замены компонента TDBEdit, отображающего по...
    Главная форма приложения после "приведения в порядок"
    17. Главная форма приложения после "приведения в порядок" Скомпилируем и запустим созданное приложение и рассмотрим, каким образом созданная информационная система реагирует на изменение данных. Е...
    Перенос унаследованных данных с использованием CASE-средств
    Перенос унаследованных данных с использованием CASE-средств Рассмотрим альтернативный способ переноса данных на сервер, более дорогой и сложный, но приводящий в целом к более качественному результ...
    Описание ODBC-источника с помощью панели управления Windows
    18. Описание ODBC-источника с помощью панели управления Windows Попробуем осуществить обратное проектирование с помощью ERwin , используя созданный ODBC-источник. Для этого из меню главного окна E...
    Результат обратного проектирования каталога CBUILDER\EXAMPLES\DATA
    19. Результат обратного проектирования каталога CBUILDER\EXAMPLES\DATA Отредактируем полученную модель данных, убрав все таблицы, кроме CLIENTS и HOLDINGS, определив ACC_NBR первичный ключ таблицы...
    Примерный вид модели данных для генерации БД в Oracle
    20. Примерный вид модели данных для генерации БД в Oracle Теперь можно описать свойства имеющейся связи между таблицами. Так как это связь "один-ко-многим", это следует явно указать в диалоге, выз...
    Определение реакции сервера на попытки нарушения ссылочной целостности
    21. Определение реакции сервера на попытки нарушения ссылочной целостности После этого можно выбрать из меню опцию Tasks/Forward Engineer/Schema Generation и после установки соединения с Oracle сг...
    DDL-сценарий генерации схемы базы данных
    22. DDL-сценарий генерации схемы базы данных Далее можно попытаться снова воспользоваться Data Migration Wizard для переноса данных, отказываясь при этом от удаления уже сгенерированных таблиц. Од...
    Форма приложения для переноса данных на сервер
    23. Форма приложения для переноса данных на сервер Для переноса данных с одной платформы на другую обычно используется компонент TBatchMove. Этот компонент обеспечивает копирование данных из одной...
    Диагностическое сообщение при попытке добавления записей в detail-таблицу при пустой master-таблице.
    24. Диагностическое сообщение при попытке добавления записей в detail-таблицу при пустой master-таблице. Примерно такие же последствия будет иметь попытка очистить таблицу CLIENTS после того, как...
    Диагностическое сообщение при...
    25. Диагностическое сообщение при попытке удаления записей из master-таблицы при наличии связанных с ней записей в detail-таблице. Точно так же окажется невозможным добавить запись с произвольным...
    Некоторые выводы
    Некоторые выводы Таким образом, архитектура клиент/сервер обладает рядом существенных преимуществ по сравнению с традиционной архитектурой информационных систем, основанных на сетевых версиях наст...








Начало