Oracle_Программирование на языке Java

Практическое пособие.

Мартин К. Соломон, Нирва Мориссо-Леруа, Джули Басу"Oracle. Программирование на языке Java" Лори, 2010 год, 511 стр. (10,4 мб. pdf)

Основная задача представленного практического руководства показать, как ведется разработка приложений базы данных на Java с использованием таких компонентов, как Enterprise JavaBeans (EJBs), CORBA и JavaServer Pages (JSPs). В частности, вы научитесь разрабатывать, внедрять и настраивать многоуровневые приложения БД с помощью реализаций JDBC и SQLJ. Все приведенные прикладные программы, представленные в книге, были созданы для работы в базах данных Oracle версий 8.++ и выше, с незначительными изменениями их можно использовать в любой основанной на SQL, т.е. "чистой" реляционной или объектно-реляционной системе управления БД (DBMS — Database Management System). Некоторые технологии представленные в книге уже не поддерживаются Oracle, но еще долго будут использоваться в работающих проектах.
ISBN: 978-5-85582-276-2
Оглавление книги

Общий обзор.

1. Знакомство с распределенными вычислительными системами 3
Компоненты: общее представление 4
Что такое компонент 4
Программные компоненты: общее представление 5
Преимущества компонентов и программных компонентов 6
Распределенные вычислительные системы 6
Распределенные объектные архитектуры 7
Стандарты распределенных вычислительных систем 7
Достоинства распределенных вычислительных систем 9
Построение компонента в Java 9
Класс ObsHelper 9
Класс ObsException 11
Интерфейс Observation 12
Класс Obslmp: реализация с помощью JDBC 12
Класс Obslmp: реализация с помощью SQLJ 16
Класс Client 20
Итоги 22
2Знакомство с web-приложениями 23
Понятие web-cepeepa 24
web-браузер 25
Протокол HTTP 27
Язык разметки HTML 28
Генерация динамического содержимого на Web-страницах 29
Модель сервлетов 29
Знакомство с JavaServer Pages 38
Архитектура web-приложений 42
Упрощенная архитектура приложения 42
Компонентная JSP-архитектура 43
Использование библиотек тегов JSP 45
Итоги 47

Построение компонентов Enterprise JavaBeans.

3.Знакомство с Enterprise JavaBeans (EJB) 51
Спецификация Enterprise JavaBeans (1.0) 53
Цели проекта Enterprise JavaBeans 53
Роли Enterprise JavaBeans 54
Архитектура Enterprise JavaBeans 55
Сервер Enterprise JavaBeans 56
Контейнер Enterprise JavaBeans 56
Компоненты приложения EJB 57
Типы зерен EJB 57
Домашний интерфейс EJB 59
Удаленный интерфейс EJB 62
Класс зерна уровня предприятия 65
Дескриптор внедрения Enterprise JavaBeans 68
Файл ejb-jar 70
Клиентское приложение 71
Управление транзакциями и безопасность в EJB 73
Поддержка транзакций 73
Поддержка распределения 74
Поддержка безопасности 74
Исключительные ситуации EJB 74
Достоинства Enterprise JavaBeans 75
Архитектура Oracle8/ JServer 76
Основы Огас1ев/ JServer 76
Создание первого Enterprise JavaBean 81
Итоги 92

4. Разработка сеансовых зерен EJB 93
OracleBf JServer: поддержка транзакций 94
Еще раз о декларативных атрибутах транзакций 95
Управление транзакциями 96
Управление доступом 100
Программные ограничения 102
Разработка приложений баз данных с использованием сеансовых зерен 103
Обзор JDBC-драйверов Oracle 103
Подключение с помощью JNDI 105
Итоги 132

5. Разработка сеансовых зерен: углубленное изучение 133
Управление зернами в сеансах связи с базой данных 134
Клиентский объект, начинающий новый сеанс 134
Серверный объект, начинающий новый сеанс 135
Два клиента, обращающиеся к одному сеансу 136
Серверный объект, обращающийся к тому же сеансу 137
Серверный объект, управляющий продолжительностью сеанса 138
Серверный объект, заканчивающий сеанс 138
Ограничение транзакций 138
Транзакция, ограниченная на стороне клиента (автономная программа Java) 138
Транзакция, ограниченная на стороне сервера 140
Построение транзакционного приложения 141
Еще раз о транзакциях в EJB 141
Требования пользователей 142
Сеансовое зерно QcObsBean 148
Сеансовое зерно QcSetBean 154
Транзакционное приложение QcClient 165
Итоги 172

Построение компонентов CORBA.

6. Знакомство с CORBA 175
Обзор C0RBA 176
IDL 177
Компилятор IDL 177
Конструкции IDL 179
Внедрение и использование объектов C0RBA 186
Программирование модуля IDL 186
Создание исходных файлов Java из файла IDL с помощью idl2java 187
Программирование Java-реализации серверного объекта 187
Компиляция файлов Java и загрузка созданных файлов классов в JServer 187
Публикация имени серверного объекта CORBA 188
Программирование и компиляция клиента Java 189
Реализация серверного объекта CORBA с помощью JDBC 191
Механизм обратных вызовов CORBA 191
Клиентский объект обратного вызова 192
Серверный объект 192
Реализация клиентского объекта обратного вызова 192
Реализация серверного объекта 192
Клиентская программа, обращающаяся к серверному методу обратного вызова 193
Механизм привязки CORBA 194
Активация посредников ORB и серверных объектов 194
Активация ORB 194
Активация серверного объекта 195
Программирование спецификаций интерфейсов на Java 196
Краткие сведения о некоторых важных инструментах 197
loadjava 197
dropjava 198
publish 198
remove 201
Итоги 202

7. Сеансы CORBA 203
Службы соединений: TTC и IIOP 204
Характеристики JNDI 204
JNDI-интерфейс Context 205
JNDI-класс InrtialContext 205
CORBA-сеансы OracieBi 206
Прослушивающие процессы и диспетчеры базы данных 206
Синтаксис URL для служб и сеансов 207
Компоненты и классы URL 207
Управление сеансами 211
Запуск сеанса из серверного объекта 211
Запуск именованного сеанса со стороны клиента 212
Пример двухсеансовой программы 212
Пример программы с указателями URL, содержащими имена сеансов 214
Управление продолжительностью сеанса и его завершение 216
Аутентификация 217
Способы аутентификации клиента 217
Права доступа к объектам базы данных 219
Клиенты не-JNDI 219
Итоги 220

8. Управление транзакциями в CORBA 221
Ограниченные возможности JTS 223
Ограничения транзакций и контекст транзакций 223
Интерфейсы службы транзакций 224
Методы службы транзакций Java 225
public static synchronized TransactionService getTSf() 225
public void begin() 225
publicControl suspend!() 226
public void resume(Control control) 226
public void commit( boolean report_heuristics) 226
public void rollback!() 226
public void (rollbackonlyl) 227
public void set_timeout (int seconds) 227
public Status get_status() 227
public String get_transaction_rame() 227
Использование методов JTS в клиентских программных конструкциях CORBA 227
Пример ограничения на стороне клиента 228
Использование методов JTS в серверных программных конструкциях CORBA 230
Пример ограничения на стороне сервера 230
Компонент серверного объекта CORBA 233
accountlist.idl 234
Accountustlmpl.sqlj 235
Клиент CORBA для компонента AccountList 237
Пример с приостановкой и возобновлением транзакции 238
Клиент, обращающийся к компоненту EJB 239
Клиент CORBA, обращающийся к компоненту EJB и компоненту серверного объекта CORBA 241
JTA 243
Структура клиента с ограничением JTA на стороне клиента 243
Пример ограничения JTA на стороне клиента 244
Структура реализации серверного объекта с ограничением JTA на стороне сервера 245
Итоги 245

9. Компоненты схемы Purchase Order 247
CORBA-компонент DepartmentUst 248
Требования пользователей DepartmentUst 249
Общий вид DepartmentUst 249
IDL-файл для DepartmentUst 249
Реализация серверного объекта для DepartmentUst 250
Клиент для DepartmentUst 251
CORBA-компонент EmployeeUst 252
Требования пользователей EmployeeUst 253
Общий вид EmployeeUst 253
IDL-файл для EmployeeUst 254
Реализация серверного объекта для EmployeeUst 254
Клиент для EmployeeUst 257
CORBA-компонент VendorUst 258
Требования пользователей VendorUst 258
Общий вид VendorUst 259
IDL-файл для VendorUst 259
Реализация серверного объекта для VendorUst 259
Клиент для VendorUst 261
CORBA-компонент ProjectUst 262
Требований пользователей ProjectUst 262
Общий вид ProjectUst 263
IDL-файл для ProjectUst 263
Реализация серверного объекта для ProjectUst 263
Клиент для ProjectUst 265
CORBA-компоненты PurchaseUst и UneltemList 266
Требования пользователей PurchaseUst и UneltemList 267
Общий вид PurchaseUst и UneltemList 268
IDL-файл для PurchaseUst и UneltemUst 269
Реализация серверного объекта для PurchaseUst 271
Реализация серверного объекта для UneltemUst 274
Клиент для PurchaseUst 278
Итоги 280

Построение web-приложений с помощью страниц JSP

10. Введение в программирование с использованием страниц JSP 283
Основы JSP-программирования 285
Элементы сценариев 285
Неявные объекты JSP 287
Написание Hello.jsp 287
Выполнение Hello.jsp 289
Заглянем внутрь 291
Директивы JSP 294
Директива раде 295
Директива include 296
Вызов других страниц с JSP 297
Тэг <jsp:include> 298
Тэг <jsp:forward> 300
Использование JSP-страниц вместе с сервлетами 301
Вызов сервлета с JSP-страницы 302
Вызов JSP из сервлета 303
Особенности сред Servlet 2.0 305
Обработка ошибок JSP 307
JSP-реализация Oracle 308
Использование SQLJ в JSP 309
Использование транслятора командной строки ujspc 311
Итоги 314

11. Использование JSP вместе с зернами JavaBean 315
Разработка JSP-приложений с помощью компонентов JavaBean 316
Знакомство с JavaBean 316
Стандартные JSP-тэги для зерен JavaBean 318
Создание HelloBean.jsp с помощью UserNameBean 321
Использование зерен JavaBean с разными областями действия 322
Разработка JSP-приложения с контролем за сеансами 328
Выполнение операций над базой данных с помощью зерен JavaBean 333
Ввод информации в базу данных 333
Исполнение статических SQL-запросов 338
Исполнение динамических SQL-запросов 345
Зерна доступа к базам данных в Огасіе JSP 1.1 349
Библиотека зерен Огасіе JSP 349
Генерация ХМЬстраниц с помощью JSP-страниц и зерен JavaBean 350
Оптимизация SQL-операций 353
Использование готовых JDВС-операторов 354
Пакетное обновление 355
Кэширование описателей операторов 355
Пулинг соединений 355
Кэширование результатов запроса 357
Итоги 358

12. Использование JSP вместе с EJB, CORBA и библиотеками тэгов 359
Разработка web-приложений с помощью EJB-компонентов 360
Сеансовое EJB для заказов 360
Вызов OrderEJB из web-приложения 365
Разработка web-приложений с помощью компонентов CORBA 372
Объект CORBA для заказов 372
Вызов объекта CORBA из web-приложения 374
Использование библиотек тэгов JSP 378
Директива taglib 379
SQL-тэги 379
Тэги JML 384
Реализация специального тэга 385
Итоги 395

Приложения.

А. Краткий справочник по сервлетам и общие сведения об API сервлетов 399
Краткий справочник по сервлетам 400
Написание сервлетов 400
Компиляция сервлетов 404
Внедрение сервлетов в Tomcat 405
Вызов сервлетов 405
Servlet API 2.2 406
Иерархическая структура классов 407
Иерархическая структура интерфейсов 407
Классы и интерфейсы 408

В. Краткое описание API Enterprise JavaBeans 417
Краткий справочник по Enterprise JavaBeans 418
Создание зерна уровня предприятия (сеансового зерна) 418
Enterprise JavaBeans API 424
Иерархическая структура пакета javax.ejb 424
Иерархическая структура интерфейсов 424
Пакет javax.ejb 424

С. Краткий справочник по Oracle8i CORBA для Java 431
Программирование модуля IDL 432
Генерация исходных файлов Java из файла IOL с помощью idl2java 432
Программирование Java-реалиэации серверного объекта 433
Компиляция файлов Java и загрузка сгенерированных файлов классов в JServer 433
Публикация имени серверного объекта CORBA 434
Программирование и компиляция клиента Java 434
Выполнение клиента 435

D. Краткий справочник по JavaServer Pages 437
Справочник по синтаксису JSP 438
Директива page 438
Директива taglib 438
Тэги include 438
Тэги JavaBean 438
Комментарии 439
Объявление переменных и функций 439
Скриптлеты 439
Выражения 440
Тэг jsp:plugin 440
Тэг jsp:forward 440
Справочник no JSP API 440
Пакет javax.servlet.jsp 441
Пакет javax.servlet.jsp.tagext 443

Е. Установка и конфигурирование web-серверов для работы с Oracle JSP 447
Установка Oracle JSP в Tomcat 448
Этапы установки 448
Этапы конфигурирования 449
Запуск сервера Tomcat 452
Выполнение JSP-программ в Tomcat 452
Установка и конфигурирование Java Web Server 453
Этапы установки 453
Этапы конфигурирования 454
Выполнение JSP-программ в JWS 455
Установка и конфигурирование Apache и JServ 455
Этапы конфигурирования 456
Выполнение JSP-программ в Apache/JServ 456
Параметры конфигурации Oracle JSP 457

F. Инструментальные средства Oracle8i EJB и CORBA и поддержка JSP в JDeveloper 461
Инструментальные средства Огасіев/ EJB и CORBA 462
Инструментальные средства Огасіев/, используемые для EJB 462
Используемые как для EJB, так и для CORBA 464
Инструментальные средства OracleSi, используемые для CORBA 469
Поддержка JSP в JDeveloper 472
Создание нового приложения JavaServer Pages 473
Библиография 481

Скачать книгу бесплатно10,4 мб. pdf