Введение в Enterprise программирование


Историчестки, создание программ, работающих на нескольких машинах, было подвержено ошибкам, затриднительно и сложно.

Программист должен был знать множество деталей о сети и кое-что об аппаратном обеспечении. Вам обычно было необходимо понимать различные "уровни" сетевых протоколов, и поэтому было множество различных функций в каждой имеющийся библиотеке работы с сетью для соединения, упаковки, распаковки блоков информации, обмена данными. Это была довольно сложная задача.

Однако, основная идея распределенных вычислений не так сложна и ее реализация хорошо абстрагирована в библиотеке Java. Вы хотите:

  • Получить некоторую информацию от одной из машин или передать ее на машину. Это выполняется с помощью основного сетевого программирования.
  • Соединиться с базой данных, которая может быть доступна по сети. Это выполняется с помощью Java DataBase Connectivity (JDBC), которая отвлечена от грязных, платформозависимых деталей SQL (структурный язык запростов, используемый для большинства транзакций базы данных).
  • Предоставить службу посредством web сервера. Это выполняется с помощью Java сервлетов и JavaServer Pages (JSPs).
  • Выполнить методы Java объектов, которые существуют на удаленной машине, прозрачно, как будто бы эти объекты были расположены на локальной машине. Это выполняется с помощью Java Remote Method Invocation (RMI).
  • Использовать код, написанный на других языках и работающий на других архитектурах. Это выполняется с помощью Extensible Markup Language (XML), который напрямую поддерживается Java.
  • Изолировать бизнес логику от логики соединения, особенно при подключении к базе данных, включая управление транзакциями и безопасностью. Это выполняется с помощью Enterprise JavaBeans (EJB). EJB на самом деле не являются распределенной архитектурой, но результирующее приложение обычно используется в сетевых клиент-серверных системах.
  • Легко, динамически добавлять и удалять устройства, представляющие сеть, из локальной системы. Это выполняется с помощью Java Jini.

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

Предпосылки

В этой книге предполагается, что вы уже прочли (и в большенстве поняли) Thinking in Java, 3rd Edition (Prentice-Hall, 2003, доступна для скачивания на www.MindView.net).

Заключение

Эта глава рассматривает некоторые, но не все, компоненты, которые упоминает Sun в качестве J2EE: Java 2 Enterprise Edition. Целью J2EE является создание набора инструментов, которые позволяют разработчику Java построить серверное приложение быстрее, чем раньше, и не зависеть от платформы. Это не очень сложно и долго, построить такое приложение, но особенно сложно построить его таким образом, чтобы оно легко портировалось на другие платформы, а также содержало бизнес логику отдельно от деталей реализации. J2EE предоставляет рабочую среду для помощь в создании серверных приложений, такие приложения часто требуются сейчас, и потребность в них встречается все чаще.