Разработка корпоративных Java-приложений с использованием J2EE и UML

Кэри И. Амриш, Хавар Заман Ахмед

Developing Enterprise Java Applications with J2EE and UML First Edition
Cary E. Umrysh, Khawar Zaman Ahmed
книга Разработка корпоративных Java-приложений с использованием J2EE и UML

Тираж данной книги закончился.
Введение
Рецензии на книгу

Обсуждение книги в блоге Виктора Штонда

Издана новая книга Шилдта по Java SE 7 (JDK 7) - читайте отдельное сообщение в блоге Виктора Штонда



Книга посвящена совместному применению платформы Java 2 Enterprise Edition (J2EE) и языка визуального моделирования UML при разработке сложных серверных программных систем масштаба предприятия. Подробно рассматривается процесс создания приложения начиная с выработки требований и заканчивая аспектами сборки и развертывания готового приложения. Изучаются механизмы языка UML, основные виды компонентов и службы J2EE. В заключение описывается разработка электронной банковской системы с использованием обеих технологий.

272 стр., с ил.; ISBN 5-8459-0299-1, 0-2017-3829-5; формат 70x100/16; мягкий переплетгазетнаясерия Объектные технологии; 2002, 3 кв.; Вильямс.



Понравилась книга? Порекомендуйте её друзьям и коллегам:







Книги, рекомендуемые вместе с этой книгой:

Раздел каталога:



Предисловие

История разработки программного обеспечения по сути представляет собой историю развития абстракций. С увеличением сложности программ повышается уровень абстрактности в языках и методах программирования. Так, от языка C мы перешли к Java, от структурных методов к объектно-ориентированным, и от классов, через шаблоны проектирования, к архитектурным контурам.

Такую структуру представляет собой J2EE - платформа Java 2 Enterprise Edition. J2EE - это единая платформа для развертывания сложных систем. Она позволяет повысить уровень абстрактности при групповых разработках благодаря совокупности механизмов (JSP, Enterprise JavaBeans, сервлеты) и служб (JDBC, JNDI, JMS и RMI - лишь некоторые из них), которые дают группе разработчиков возможность сосредоточить внимание на основных задачах разработки, не отвлекаясь на формирование инфраструктуры.

Однако, несмотря на все достоинства платформы J2EE, существует значительный семантический разрыв между тем, что способна предоставить J2EE, и тем, что требуется в реальных деловых задачах. Чтобы устранить этот разрыв, необходимы серьезные, основательные знания J2EE, а также ясное представление архитектуры систем в данной области. Здесь в дело вступает унифицированный язык моделирования (Unified Modelling Language - UML), который по сути является языком черновой разработки программ. Визуализация, определение, построение и документирование ключевых элементов системы - это операции, значение которых возрастает с повышением сложности, и именно в этом причина существования языка UML.

В данной книге все эти элементы объединены с целью помочь вам преодолеть семантический разрыв. Авторы постарались не только охватить все важнейшие элементы J2EE, чтобы сформировать у читателя основное представление о платформе, но и объяснить, как лучше всего использовать механизмы и службы J2EE. Эта книга также поможет вам применить UML для моделирования конкретных систем, сформированных в J2EE, благодаря чему вы сможете лучше обосновать и разъяснить действия по анализу и проектные решения, которые будут необходимы разработчикам для создания качественной программной системы.

Авторы обнаруживают глубокое понимание J2EE и UML и хорошее знание оптимальных методов, которые позволяют наиболее эффективно использовать оба эти инструмента. Их опыт построения промышленных систем проявляется в изложении материала, а особенно во всесторонних практических примерах.

Построение систем уровня предприятия представляет собой значительную сложность, которую данная книга поможет вам преодолеть.

Гради Буч,

руководитель исследовательских подразделений

Rational Software Corporation

Введение

Для разработки сложного программного обеспечения недостаточно просто написать огромное количество строк кода. Разработчик или руководитель разработки промышленного проекта должен знать и уметь применять на практике такие важнейшие дисциплины в области разработки программ, как методы архитектурного построения, анализа и проектирования, процессы разработки, визуальное моделирование и базовые технологии.

В данной книге все эти элементы объединены с учетом разработки на платформе Java 2 Enterprise Edition (J2EE). Ее главная цель - дать читателю целостное представление о платформе и ответить на следующие ключевые вопросы.

  • Что такое унифицированный язык моделирования (UML), и какое отношение он имеет к разработке программных систем на J2EE?
  • Каковы точки соприкосновения Java и UML?
  • Каковы ключевые понятия программной архитектуры?
  • Как включить процесс разработки программного обеспечения в общую формулу разработки на J2EE?
  • Каким образом анализ и проектирование могут помочь разработчику в создании более качественных приложений на J2EE?
  • Каковы основные технологии J2EE и как они сопрягаются друг с другом?
  • Как применить UML в разработке на J2EE?

В данной книге мы не пытались изобретать велосипед, а воспользовались материалом таких известных работ, как Web Modelling Profile Джима Коналлена (Jim Conallen) и Sun Java Specification Request-26 for UML/EJB Mapping Specification.

В качестве практической иллюстрации изложенного материала в книге рассматривается пример разработки приложения J2EE с использованием рационального унифицированного процесса (RUP) и UML. Приводится реально работающая реализация. Также в книге даны рекомендации по совершенствованию разработки, которые должны помочь читателю в дальнейшем изучении технологий UML и J2EE.

Для кого предназначена эта книга

Данная книга поможет всем желающим изучить язык моделирования UML и узнать, как можно применить эту технологию в разработке на платформе J2EE. Разработчики приложений J2EE узнают, как использовать UML при разработке своих приложений. Тем, кто занимается языком UML, будет полезно изучить J2EE в контексте UML. И, наконец, программисты-профессионалы, заинтересованные в изучении как UML, так и J2EE, смогут быстрее приступить к работе, используя чередующееся контекстное изложение материала.

Прочитав эту книгу, вы

  • сможете эффективно использовать язык UML для разработки приложений J2EE;
  • изучите на практике основные технологии J2EE (EJB, JSP и сервлеты);
  • узнаете, когда надо использовать архитектуру модели 1, а когда - архитектуру модели 2, и научитесь распознавать ситуации, в которых целесообразно использовать шаблоны, такие как цепочки объектов значения и сеансовых компонентов;
  • узнаете о концепциях программной архитектуры, таких как декомпозиция, многоуровневое представление, компоненты, контуры, шаблоны и уровни;
  • научитесь применять в собственных проектах на J2EE такие методы, как анализ прецедентов, раскрытие объекта анализа и анализ проектирования преобразования;
  • поймете сущность процессов разработки программного обеспечения и основные принципы некоторых широко применяемых процессов;
  • узнаете, как начать применять RUP в проектах на J2EE.

Данная книга охватывает язык Java лишь применительно к отображению основных понятий Java на UML. Поэтому читатель заранее должен иметь некоторое представление о Java (знания C++ или аналогичного языка должно быть достаточно для понимания сути примеров). Предварительное знакомство или опыт работы с UML, J2EE или разработки приложений уровня предприятия не обязательны, но, разумеется, полезны.

Как работать с этой книгой

Если вы еще не знакомы с UML и J2EE, наиболее целесообразно будет читать эту книгу полностью, от начала до конца.

Тем, кто уже знает язык UML и желает прежде всего изучить платформу J2EE (или научиться применять UML к J2EE), можно сразу перейти к главам 9 - 16.

Если, напротив, вы знакомы с J2EE и хотите в первую очередь узнать о UML, внимательно прочтите главы 1 - 8, а затем бегло - остальную часть книги.

Наилучшего результата можно добиться, если вы умеете работать с хорошим инструментом моделирования и попробуете применить визуальное моделирование для решения собственных задач.

Структура книги

Глава 1, "Введение в программное обеспечение предприятия" - краткий обзор состояния разработки программных систем предприятия и родственных технологий.

Глава 2, "Введение в J2EE", охватывает основы платформы Java 2 Enterprise Edition. Здесь дан обзор базовых технологий и API, которые совместно формируют J2EE.

Глава 3, "Введение в UML" - обзор UML и краткое введение в основы UML.

Глава 4, "UML и Java" - обзор отображения языка Java на UML; также описаны некоторые базовые конструкции UML.

Глава 5, "Обзор действий" - изложение сущности процессов разработки программного обеспечения и описание подхода, принятого в книге.

Глава 6, "Архитектура", посвящена важному аспекту любой хорошей программной системы. Представлено понятие программной архитектуры и дан обзор ее некоторых концепций.

Глава 7, "Анализ требований клиента", показывает, как применить прецеденты UML для лучшего осмысления требований заказчика. Если программа не удовлетворяет требованиям заказчика, она неудачна, какой бы эффективной она ни была.

Глава 8, "Создание проекта", посвящена дальнейшему анализу требований и созданию исходного начального проекта для практического исследования. В этой главе показано, как реализовать собранные требования в программном обеспечении.

Глава 9, "Обзор технологий J2EE" - здесь закладывается основа технологий J2EE, которые рассматриваются в последующих главах.

Глава 10, "Сервлеты" - обзор технологии сервлетов Java. Показано моделирование сервлетов в UML, приводится пример приложения UML для практического исследования. Сервлеты Java идеально подходят для принятого в Web принципа работы "запрос-ответ".

Глава 11, "Компоненты JavaServer Pages" - сведения о компонентах JSP, о том, когда их надо использовать, и как их использовать в простом проекте. Компоненты JavaServer Pages (JSP) сочетают в себе возможности сервлетов с гибкостью страниц HTML.

Глава 12, "Сеансовые компоненты", рассматривает использование сеансовых компонентов на среднем уровне и оптимальные методы их моделирования и применения. Сеансовые компоненты - одна из трех разновидностей компонентов уровня предприятия, представленных в J2EE. Глава заканчивается практическим исследованием применения сеансовых компонентов.

Глава 13, "Компоненты-сущности", посвящена компонентам-сущностям, их преимуществам и трудностям, а также эффективным способам их моделирования в UML. Компоненты-сущности предоставляют удобный способ изображения хранимых данных.

Глава 14, "Компоненты, управляемые сообщениями", охватывает технологию и способы моделирования этих компонентов в языке UML. Компоненты, управляемые сообщениями - недавнее дополнение спецификации J2EE Enterprise JavaBeans.

Глава 15, "Сборка и развертывание" - о том, как UML может помочь в сборке и развертывании распределенного приложения.

Глава 16, "Практические исследования" - подробно рассматривается используемый в данной книге пример, включая общие требования, ограничения и т.п.

Список литературы для дальнейшего изучения включает книги, статьи и источники в Internet.

Словарь специализированных терминов и их значений служит для справки. Предметный указатель предназначен для быстрого поиска ключевых понятий.

Благодарности

Мы хотели бы поблагодарить за содействие всех, кто помог в создании этой книги.

Искренне благодарим Кёрка Кнёрншида (Kirk Knoernschid), Тодда Даннавента (Todd Dunnavant), Дейва Тропеано (Dave Tropeano), Атма Сутджанто (Atma Sutjianto), Кевина Келли (Kevin Kelly), Терри Кватрани (Terry Quatrani), Кэролин Хаканссон-Джонстон (Carolyn Hakansson-Johnston), Ингрид Субботин (Ingrid Subbotin), Джима Коналлена (Jim Conallen), Лойс Джульен (Loїc Julien), Дейва Хока (Dave Hauck), Джеймса Абботта (James Abbott), Саймона Джонстона (Simon Johnston), Томми Фэннона (Tommy Fannon), Гассана Иссу (Hassan Issa) и всех, кто внес прямой или косвенный вклад в подготовку издания этой книги, помог разъяснениями, идеями, отзывами, рекомендациями и редактированием материалов, а также в определении объема работы, в устранении ошибок, в создании дополнительного материала. Помощь этих людей неоценима, и в результате нам удалось выпустить книгу в наилучшем варианте.

Особую благодарность выражаем Тодду Даннавенту. Он не только основательно просмотрел множество черновых вариантов книги, но и предоставил массу подробных письменных пояснений, предложений и комментариев по разнообразным темам, весь этот материал был включен в книгу.

Лаконичная рецензия Кёрка Кнёрншида очень помогла нам в выявлении и устранении некоторых важных неточностей в первоначальной, черновой версии книги.

Хавар хотел бы поблагодарить Кевина Келли за руководство и наставления. Проницательность и идеи Кевина принесли большую пользу этому проекту.

Дейв Тропеано, первоначально редактировавший книгу, помог нам скорректировать общий подход и добавить по крайней мере две полных главы. Окончательная версия книги стала лучше, в чем большая заслуга Дейва.

Мы благодарны компании Rational Software и ее руководству за создание рабочей обстановки в процессе работы над книгой. Особая благодарность Стиву Рабучину (Steve Rabuchin) за его скрупулезное отношение к работе и помощь другим сотрудникам в достижении намеченной цели. Мы также хотели бы поблагодарить Джима Макги (Jim McGee), Роджера Оберга (Roger Oberg), Магнуса Кристерсона (Magnus Christerson), Джона Скамниоталеса (John Scumniotales), Мэтта Холса (Matt Hols) и Эрика Нейбурга (Eric Naiburg). Если бы не их содействие и поддержка, эта книга никогда бы не вышла в свет.

Мы очень признательны сотрудникам издательства Addison-Wesley за поддержку на всем протяжении этого проекта. Особая благодарность Полу У. Беккеру (Paul W. Becker) и его помощнице Джессике Сирон (Jessica Cirone), которые существенно помогли нам в процессе подготовки издания. Большое спасибо Энн Мэри Уокер (Anne Marie Walker), которая, вдумчиво редактируя наши наполовину нелогичные пассажи, превращала их в читаемый текст. Благодарим также Кэти Глидден (Kathy Glidden) из компании Stratford Publishing Services за квалифицированное руководство проектом на важнейшей стадии производства.

Мы также хотели бы поблагодарить авторов, работавших в области UML, J2EE и родственных тем, а также тех, чьи книги, статьи и Web-сайты перечислены в разделе "Литература". Их работы помогли нам лучше понять эти темы.

И последнюю, но самую горячую благодарность мы хотели бы выразить нашим семьям за их терпение и поддержку. Хавар хотел бы поблагодарить свою жену Хайке и дочь Ясмин за их искреннее содействие и понимание в продолжение этой долгой работы. Прилежная вычитка и исправления на разных стадиях проекта, внесенные Хайке, позволили устранить множество опечаток и неясностей. Кэри хотел бы поблагодарить свою жену Сокорро за поддержку и готовность помочь на всем протяжении этого достаточно длительного проекта.

Х.З.А.

К.Е.А.


Copyright © 1992-2015 Издательская группа "Диалектика-Вильямс"

Rambler  Top100