logo
[КОМП СИСТЕМЫ] / KS1

Компоненты ejb

Любую задачу на сервере в принципе можно решить с помощью сервлетов. Однако нетривиальные задачи имеют большой объем JAVA-кода. В этом случае сервлеты могут стать весьма громоздкими. Их код плохо воспринимается и модифицируется. Для преодоления этих проблем фирма Sun разработала спецификацию компонентов EJB (Enterprise JAVA Beans), а также пакет классов и интерфейсов для работы с ними - javax.ejb. Реализуют EJB-компоненты, EJB-контейнер, JAVA Web-сервера. Компоненты EJB бывают трех типов:

  1. Entity Bean;

  2. Session Bean;

  3. Message Driven Bean.

Entity Bean удобен для извлечения информации из баз данных и преобразования ее в объекты JAVA.

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

Имеется два вида Session Bean-компонентов:

а) Statefull Session Bean;

b) Stateless Session Bean.

Statefull – компоненты могут сохранять свое состояние, передавая его от запроса к запросу.

Stateless - теряют свое состояние после выполнения запроса.

Message Driven Bean предназначены для обмена сообщениями по технологии JMS (JAVA Message Service).

При создании EJB-компонентов разработчик кроме создания класса реализующего тот или иной тип EJB, должен написать 1 (2) интерфейса для взаимодействия с ним.

Так в примере HelloServlet.java участок кода:

import my HelloSessionLocal;

private HelloSessionLocal h;

message_ejb=h.sayHello();

Используется как для создания объекта типа локального ejb-интерфейса, так и вызова с его использованием ejb-метода sayHello().

JDBC

JDBC – стандарт доступа JAVA-приложений к СУБД. В настоящее время используют стандарты JDBC 2.0 и JDBC 3.0.

JDBC API состоит из двух пакетов: java.sql и javax.sql.

Для работы с базами данных рекомендуется использовать JDBC-драйвер поставляемый для конкретной СУБД фирмой-производителем. В крайнем случае, если драйвер JDBC не существует можно использовать Sun-ODBC-JDBC входящей в стандарты jdk-java начиная с v.1.0.

Важнейшими интерфейсами JDBC-API является:

Интерфейс

Назначение

Connection

Осуществляет связь с СУБД используя класс DriverManager

Statement, PreparedStatement, CallableStatement

Выполняет SQL-утверждение

ResultSet

Возвращает набор данных после выполнения SQL-запроса

Для использования IDBC API при работе в СУБД необходимо выполнить следующие шаги:

а) импортировать пакеты java.sql в программу:

import java.sql.*;

b) загрузить необходимый java-class драйвера для работы с конкретной СУБД;

c) установить соединение с БД и выполнить нужные действия с ее данными;

d) закрыть соединение с БД.

Для загрузки класса-драйвера в JAVA-программе как правило используется метод registryDriver() класса DriverManager.

Например:

DriverManager.registerDriver(new sun.jdbc.odbc.IdbcOdbcDriver());

Для соединения с БД используется метод getConnection() класса Driver Manager. Синтаксис его использования:

Connection экземпляр_соединения = DriverManager.getConnection(“строка подключения”,”имя пользователя”;”пароль”);

Работа с экземпляром соединения с БД завершается при помощи вызова метода close():

Экземпляр_соединения.close();