View
91
Download
0
Category
Preview:
DESCRIPTION
5. Въведение в J2EE. Лекционен курс “ Езици и среди за програмиране в Интернет ”. доц. д-р Станимир Стоянов катедра “ Компютърни системи ”. Съдържание. 5 .1 . Java технология 5.2. J2EE архитектура 5. 3 . J2EE среда за изпълнение 5. 4 . Предимства на J2EE - PowerPoint PPT Presentation
Citation preview
5. Въведение в J2EE
доц. д-р Станимир Стоянов
катедра “Компютърни системи”
Лекционен курс “Езици и среди за програмиране в Интернет”
Съдържание
5.1. Java технология
5.2. J2EE архитектура
5.3. J2EE среда за изпълнение
5.4. Предимства на J2EE5.5. Разработване, пакетиране и разгръщане
на J2EE приложения
5.1. Java технология
Комуникационни модели Client/Server Pure P2P (Peer-to-peer) Hybrid P2P
Middleware Generic services
Instance communication Data access Encodings Resource control
APIs Simple-to-reuse building blocks
The Java technology
Java Language
Java 2Enterprise
EditionJava 2
Standard Edition Java 2 Micro Edition
CDCCDC CLDCCLDC
Сървъри
Работни станции
ПК, лаптоп
Net TV
телефони
PDA
Smartphone
cellphone
Cards
J2EE - Обща характеристика
J2EE (Java 2 Enterprise Edition)● Спецификация, която съществува от няколко години● Заменя няколко частни, нестандартни технологии като средство за изграждане на Web-базирани приложения● В момента – де факто стандарт.
Спецификация:
● Разработена от Sun – съвместно с други водещи в областта на Интернет и middleware технологиите производители● Първа версия – в началото на 1999 г.● Актуална версия – J2EE 1.5● http://java.sun.com/j2ee
Какво е J2EE?
Програмни модели и поддържащи API интерфейси за различни изграждащи блокове за разработване на многослойни Интернет-базирани приложения, напр.:
● JSP ● Сървлети ● Компоненти● ...
J2EE включва:
Корпоративни API интерфейси – предоставящи различни услуги, като напр.:
● Транзакции● Именуване● Обмен на съобщения● Достъп до БД ● ...
Средата за изпълнение (run-time) поддържа J2EE-приложения, осигурява достъп до средства за реализиране на корпоративни API интерфейси.
● BEA – WebLogic Application Server● IBM – WebSphere● Sun-AOL – iPLanet● Borland – Borland Application Server● Iona – iPortal Application Server
Производители на J2EE-съвместими сървъри:
● J2SE – ядро на архитектурата, което предоставя всички стандартни Java средства
● Неразделна част на J2EE ● J2EE контейнери – предоставящи динамична поддръжка на J2EE-базираните приложения
● Реализират специфични за тях API интерфейси
5.2. J2EE архитектура
● J2EE услуги – предоставят API интерфейси на услугите, включени в съответния контейнер
● Тези интерфейси осигуряват някои от средствата, изисквани от J2EE приложенията● Други услуги включват:
● достъп до БД● достъп до наследени системи и т.н.
● Компоненти на J2EE приложенията● Включват бизнес-логиката на приложенията.
XML/HTML
Аплети
Приложения
W
e
b
S
e
r
v
e
r
JSP машина
JSP
Сървлет машина
Менъджър сигурност
Протокол грешки
Java
CORBA
JDBC
JavaMail
JNDI
RMI
IIOP
Jini
XML
Session
Streams
Sockets
&
Serialization
JVM
Session Beans
Entity Beans
EJB Server
Платформата J2EE се състои от един или повече контейнери.
5.3. J2EE среда за изпълнение
J2EE специфицира следните 4 типа контейнери:● Web контейнери - за изпълнение на Web приложения. Могат да се създават Web приложения с динамични интерфейси (посредством Java сървлети и JSP страници)● EJB контейнери – за изпълнение на разпределени компоненти (EJBs)● Аплетни контейнери – поддържат среда за изпълнение на аплети в Web браузъри. В момента са с ограничено използване.
● Контейнери за приложни клиенти – за изпълнение на стандартни Java приложни клиенти
● Приложения с графични потребителски интерфейси – AWT (Abstract Windowing Toolkit) и Swing● Други J2EE или не-J2EE приложения, използващи J2EE компоненти – за създаване на интегрирани системи.
● Управление на компонентите на приложенията● Достъп до компонентите на приложенията● Достъп до API интерфейсите на корпоративни услуги
5.4. Предимства на J2EE
● J2EE приложенията са от страна на сървъра● Необходим е процес, който да ги “приютява”● Основното предназначение на контейнерите за изпълнение
● да създават инстанции на компонентите на приложенията
● Средата за изпълнение премахва необходимостта разработчиците да генерират сами инстанциите на различните компоненти на приложенията
Управление на компонентите на приложенията
● J2EE контейнерите определят как и кога да създават инстанциите
● в зависимост от типа на компонента и определена конфигурационна информация
● J2EE контейнерите – сами определят как да се освободят от инстанциите, когато те изпълнят задачите си.
Управление на компонентите на приложенията
● J2EE приложенията – обикновено разпределени и отдалечени спрямо клиентите● Необходима комуникация и протоколи за връзка между тях● Средата за изпълнение на контейнерите – поддържа също така необходимите протоколи за клиентски достъп (напр. HTTP)
Достъп до компонентите на приложенията
● Компонентите на приложенията, разпределени в тези контейнери не трябва да се занимават с действителните протоколи● Вместо това контейнерите предоставят API интерфейс на по-високо ниво за реализиране на достъп до заявената информация.● Така компонентите не се интересуват как действително се осъществява комуникацията.
● J2EE интегрира различни съществуващи API интерфейси
● стандартизира програмирането им● Добавя нови
● напр. API интерфейси за поддръжка на XML● Очевидно предимство на стандартизацията
● компонентите на приложенията не зависят от детайлите на реализацията
Достъп до API интерфейсите на услугите
● Могат да се използват вече реализирани услуги● J2EE специфицира метода за достъп на компонентите до услугите
● Напр. връзка с БД, независимо от използваните драйвери● Това важи и при изпращане на електронна поща, обмен на съобщения, транзакции и др.
● Администраторът на една J2EE платформа може да направи услугите достъпни за приложението по стандартен начин● J2EE средата за изпълнение
● Оперира като портал за всички корпоративни услуги.
● J2EE дефинира ясна граница между:● компонентите на приложенията● средата за изпълнение
● Средата елиминира зависимостта от частни API интерфейси и услуги
● J2EE приложенията могат да бъдат използвани във всяка съвместима с J2EE контейнерите среда за изпълнение.
Какво означава всичко това за разработчиците?
● J2EE не специфицира естеството и структурата на средата за изпълнение
● указвайки компонентите на приложенията и поведението на услугите, спецификацията предполага определено поведение на контейнерите.
● Задачата на производителите на контейнери е да предостави съответстващо поведение.
Корпоративни приложения
● J2EE – поддържа идеята за корпоративни приложения● Корпоративно приложение – съвкупност от Web и EJB модули, като всеки от тях се състои от един или повече файла от тип:
●.WAR (за Web приложения)● .JAR (за EJB)
5.5. Разработване, пакетиране и разгръщане на J2EE приложения
● Корпоративните приложения се пакетират във файлове с корпоративни архиви
● .EAR● Всеки .EAR файл съдържа дескриптор за разгръщане
● използва се за опаковане и конфигуриране на различни модули.
● J2EE приложенията са изградени от:● Java сървлети● JSP страници● EJBs
● Разработването на типично J2EE приложение обикновено включва:
● разработката на необходимите за приложението помощни Java класа● JSP библиотеки● допълнителни Java библиотеки и др.
Разработване и разгръщане
● Задачата по идентифициране на тези класове по време на проектиране и разработване е различна от тяхното разгръщане в J2EE платформата.
● Типичен процес на разработка – поддържа обвързване на всички тези класове с дескриптор за разгръщане
● Успешно разгръщане● всики необходими класове са направени достъпни за J2EE средата
● Дескрипторите● така конфигурирани, че платформата да може да активира J2EE компонентите на приложението.
● За да се опрости процесът на разгръщане● J2EE специфицира един комплексен модел за приложения (от аспекта на корпоративни приложения)
● Както подчертахме● едно корпоративно приложение представлява съвкупност от модули, всеки от които съдържа един или повече компонента от даден тип.
● Всеки един от компонентите (Web, EJB, приложни клиенти) може да бъде пакитиран.
Пакетиране
Едно приложение е изградено от:● няколко EJBs● JSP страници● сървлети● няколко статични HTML страници● изображения
Пример
Те могат да се групират както следва:● Web модул – съдържа всичките
● JSP страници● сървлетни класове● статични HTML страници и изображения
● EJB модул – съдържа EJB класове
● Web модулите● пакетирани във Web архивни файлове (WAR) с дескриптор за разгръщане (web.xml)
● EJB модулите● стандартни JAR файлове с дескриптор за разгръщане (ejb-jar.xml)
В J2EE:
● Java клиенти● JAR – файлове с дескриптор (application-client.xml)
● Пакетираните модули могат да се композират в корпоративни приложения
● корпоративните приложения също така могат да бъдат пакетирани в EAR (Enterprise Archive) с дескриптор за разгръщане (application.xml)
Модел на J2EE приложения
Сървлети, JSPs,
Статични HTML,
Аплетни класове,
Библиотеки с класове, ...
(web.xml)
Web модул
EJBs,
Асоциирани класове,
Библиотеки с класове, ...
(ejb-jar.xml)
EJB модул
Класове за приложни
клиенти,
Библиотеки с класове,
...
(application-client.xml)
Модул за приложни клиенти
( application.xml)
J2EE приложение
Разработката на едно приложение включва следните стъпки:● Разработване на компонентите на приложението
● JSPs страници● Сървлети● EJBs● други асоциирани Java класове
● Композиране на компонентите в модули● пакетиране на компонентите и приложните клиенти в съответни JAR и WAR файлове
Разработване на приложения според модела
● Композиране на модулите в приложение● асемблиране на модулите в J2EE приложения
● Разгръщане на приложението● последен етап, който обикновено включва указване на местоположението на EAR файла в J2EE платформата
●Зависи от използваната конкретна платформа.
● Доставчик на компоненти на приложения● Създават компонентите на приложението● Отговорността не надвишава пакетирането на различните компоненти в модули
● Асемблатор на приложения● Асемблира модулите в приложение
Ориентиран към роли модел
● Отговорник по разгръщането● Инсталира пакетираното приложение и го конфигурира за съответната J2EE платформа
● Системен администратор● Отговорен за управлението и администрирането на приложението, след като е инсталирано и настроено.
Recommended