РЕЦЕНЗИИ
Меградж Заккар. Разработка приложений для электронной коммерции на Oracle8i и Java на примерах. М.: Вильямс, 2000. - 336 с.
Обучение различным технологиям на законченных примерах заслуженно считается одним из наиболее эффективных подходов к повышению квалификации. Но книг, в которых применяется такой подход, на рынке мало, так как от автора требуются дополнительные и значительные усилия по подготовке хорошего примера. Кроме того, из-за сложности материала не всегда удается соблюсти правильный баланс между объемом начальных сведений и информации для профессионалов.
В книге “Разработка приложений...” (объявленной издательством как учебное пособие) рассмотрен пример создания Интернет-системы JavaStop, в которой обращение к СУБД Oracle8i выполняется из клиентских приложений у серверных модулей, использующих технологию Java.
В первой главе даны базовые определения и понятия из области СУБД (реляционная архитектура, правила Кодда и т. п.), коротко описана структура Oracle8i, ее средства для работы с Java и CORBA. В заключение сформулированы требования к проекту-примеру кофейного магазина JavaStop (создание системы обработки заказов через Интернет).
Во второй главе вкратце рассказано о проектировании БД и ее создании, утилитах загрузки в нее данных. Третья глава начинается с определения языка запросов SQL и перечня его команд. Правда, этот перечень из-за скупости описания ничего не даст начинающему, а знакомому с SQL не сообщит новых сведений, не удобно им пользоваться и как справочником. Почти весь объем главы занят листингами и протоколами работы SQL-сервера, а комментарии к ним практически отсутствуют. В конце главы две страницы уделены процедурному языку PL/SQL - расширению SQL, поддерживаемому в Oracle8i.
Четвертая глава посвящена языку программирования Java. К сожалению, перечисление бессистемно выбранных понятий ничего не даст человеку, незнакомому с Java, и не принесет пользы умеющему программировать на этом языке.
В пятой и шестой главах объясняется, как подключиться к БД с помощью протокола JDBC. Для использования советов на практике придется самостоятельно разбираться в многостраничных исходных текстах.
Седьмая глава содержит информацию о языке SQLJ - расширении Java, допускающем выполнение SQL-команд. Основной ее объем составляют десятки страниц исходных текстов.
Обработке ошибок при использовании JDBC и SQLJ посвящена восьмая глава, созданию хранимых Java-процедур - девятая, отладке Java-кода и средствам восстановления данных Oracle - десятая. Как защищать созданную систему от атак из Интернета, достаточно подробно поясняет одиннадцатая глава.
В двенадцатой и тринадцатой главах рассмотрены вопросы масштабируемости и оптимизации работы создаваемой системы. Возможные способы тестирования JavaStop перечислены в четырнадцатой главе.
Как расширить возможности JavaStop путем создания серверных компонентов EJB/CORBA, JSP-страниц и сервлетов, можно узнать из пятнадцатой главы.
Книга оставляет неоднозначное впечатление. В целом автор рассмотрел все аспекты создания масштабной системы, но сделал это, на мой взгляд, небрежно. В учебнике свалены в кучу как элементарные, так и достаточно сложные понятия различных технологий, а принципы организации проекта нередко противоречат классическим методологиям (по крайней мере, в рамках модели, выбранной автором). Требования к проекту в книге формулируются постепенно (хотя их можно было сразу вынести в отдельную главу), что хорошо для демонстрационного примера, но может сослужить плохую службу, если использовать советы автора как практическое руководство.
Информация носит преимущественно справочный (хотя и излишне краткий) характер и будет понятна людям с достаточно высокой профессиональной подготовкой. Вряд ли книгу можно использовать как учебное пособие. От читателя требуется знание SQL, клиент-серверной СУБД и опыт написания Java-аплетов.