Использование платформы Java 2 Enterprise Edition для построения корпоративной информационной системы
федеральное агентство по образованию
МОСКОВСКИЙ
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ ЭКОНОМИКИ,
СТАТИСТИКИ И ИНФОРМАТИКИ (МЭСИ)
Специальность
Прикладная
информатика в
экономике_________________
Курсовая работа
По дисциплине: _Корпоративные информационные системы_____
На тему: _Использование платформы Java 2 Enterprise Edition для построения корпоративной информационной системы____________________
Студент ______________________
№ договора _____________________
Научный
руководитель _______________________
Дата
сдачи курсовой работы: ______________________________ _
Дата защиты курсовой работы: _____________________________
ТОЛЬЯТТИ 2009
Содержание
| Введение…………………………………………… |
3 |
| 1. Обзор сущестующих платформ | |
| 1.1. Java 2 Enterprise Edition ……….…………………………….. | 4-5 |
| 1.2. Microsoft .Net…………………………………………………. | 5-7 |
| 1.3. Сравнение технологий J2EE и .Net…………………………. | 7-10 |
| 2. Описание J2EE | |
| 2.1.
Структура J2EE………………………………………… |
11-13 |
| 2.2. Технологии J2EE…………………………………………….. | 13-14 |
| 2.3. Уровни J2EE…………………………………………………. | 15-21 |
| 2.4.
J2EE-контейнеры……………………………………… |
21-24 |
| Заключение……………………………………… |
25 |
| Список литературы……………………………………………….. | 26 |
Введение
В
настоящее время любое
КИС – это совокупность информационных систем отдельных подразделений предприятия, объединенных общим документооборотом, таких, что каждая из систем выполняет часть задач по управлению принятием решений, а все системы вместе обеспечивают функционирование предприятия в соответствии со стандартами качества [1].
В настоящее время наиболее распространенными платформами для разработки КИС являются платформы Microsoft .Net и Java 2 Enterprise Edition (J2EE).
Актуальность данной курсовой работы состоит в том, что распространение КИС приобретает все более массовый характер, а их дальнейшее развитие является перспективным направлением.
Новизна данной работы заключается в структуризации основных сведений о платформах и проведении их сравнительной характеристики.
Объектом изучения данной курсовой работы является платформа для разработки КИС – J2EE.
Целью работы является рассмотрение платформы J2EE с точки зрения разработки и внедрения КИС.
Задачи курсовой работы:
1. сравнить платформы Microisoft .NET и J2EE по основным характеристиками;
2. описать структуру платформы J2EE;
3. рассмотреть технологии, используемые при разработке КИС на основе платформы J2EE;
4. изучить уровни J2EE.
1. Обзор сущестующих платформ.
Среди прлатформ, используемых для создания распределенных компонентых систем можно выделить:
- технология J2EE;
- технология Microsoft.NET.
Коротко
рассмотрим каждую их них.
1.1. Java 2 Enterprise Edition.
В 1995 году компанией Sun бали разработаны браузер WebRunner и компилятор Oak - прародители современного Java. В основе создания языка Java лежит идея кроссплатформности. «Написано однажды, работает везде» - вот девиз, под которым развивалась эта технология. В Java реализована идея того, чтобы одна и та же программа могла работать на разных устройствах.
Java претендует на роль эсперанто для компьютеров. Переводчиком, с помощью которого каждый конкретный компьютер переводит Java на свой родной язык, является виртуальная Java машина - JVM.
Однако до сих пор Java не занимает доминирующего положения на рынке. Это связано со следующими факторами:
- отсутствие международной стандартизации Java;
-
принцип совместимости и
- низкая производительность;
- ориентация только на один язык.
В нашей работе мы будем рассматривать платформу Java для предприятий – Java 2 Enterprise Edition (J2EE).
J2EE
не является программным
При
разработке J2EE-приложений используется
компонентный многоуровневый подход,
при котором внешне монолитное приложение
состоит из нескольких разнесенных модулей
(рисунок 1.1). Любое J2EE-приложение состоит
из компонентов - законченных, относительно
самостоятельных программных модулей,
которые написаны на Java.
1.2. Microsoft.NET.
История разработки среды .NET начинается в 1995 году, когда компания Microsoft пришла к идее создания веб-сервисов. К тому моменту на рынке браузеров царствовал Netscape Navigator. Тем не менее, мобилизовав все свои резервы, Microsoft смогла-таки оспорить лидерство Netscape. Примерно тогда же она начинает активно разрабатывать технологию Active Server Pages (ASP).
В основе среды .NET лежат веб-сервисы HailStorm, выполняющие такие задачи, как обмен сообщениями, временная синхронизация и нотификация.
Один из самых известных среди сервисов HailStorm - .NET Passport, обеспечивающий идентификацию и аутентификацию пользователей, используется очень интенсивно, выполняя более 1,5 млрд. операций аутентификации в месяц (по статистике Microsoft).
Основу среды .Net составляют: платформа — операционная система, под управлением которой работает среда исполнения (CLR, Common Language Runtime); службы (библиотеки классов: базовой логики, манипуляции данных, обеспечения безопасности, отображения информации, электронной почты, Интернета и многие другие), поверх которых работают веб-сервисы, веб-формы (WebForms) и формы локальных приложений (WinForms).
Помимо этого в .NET входят:
-
среда разработки Visual Studio.NET;
- серверные продукты - СУБД, сервер приложений, интеграции, почтовый и веб-сервер и др.;
-
сетевые сервисы.
1.3. Сравнение технологий J2EE и .Net.
При выборе технологии для создания корпоративной информационной системы необходимо исходить из конкретной задачи.
Чаще всего для выбора стратегической платформы пользуются следующими критериями [2]:
-
необходимость портируемости
-
наличие квалифицированных
-
требуемые интеграционные
- объем и сложность проекта.
Произведем краткое сравнение технологий J2EE и .Net [3].
1.3.1. Кроссплатформенность
Java:
J2EE и идейно и, что гораздо
важнее, фактически является
.NET: Также заявлена как кроссплатформная, но на сегодняшний день единственной платформой является только Windows.
1.3.2. Многоязычность
Java: Использование других языков программирования нетривиально.
.NET: Платформа не зависит от языка программирования.
1.3.3. Транзакции
Java:
У разработчика всегда есть
выбор — либо управлять всем
процессом вручную, либо
.NET: CLR также поддерживает и ручное управление и автоматический менеджмент, при котором достаточно лишь определить объект и его атрибуты.
1.3.4.
Управление удаленными
Java:
J2EE предоставляет инструменты для
прозрачного менеджмента
.NET:
Платформа дает возможность
1.3.5. Веб-сервисы XML
Java:
Java Web Services Developer Pack имеет все необходимое
для создания веб-сервиса.
.NET:
Веб-сервисы XML являются одним
из основных компонентов .NET-
1.3.6. Доступ к данным
Java:
Имеющиеся в настоящий момент
Java-пакеты предоставляют
.NET:
В распоряжении разработчиков
имеется стандартный набор
1.3.7. Среда исполнения
Java:
Исходные тексты Java-программы компилируются
в байт-код, который
.NET:
Схема работы .NET-платформы во
многом схожа. Выполнением
1.3.8. Стандарты
Java:
Sun жестко контролирует
.NET:
Microsoft тоже ревностно относится
к стандартизации, но тем не
менее, пошла на открытую
1.3.9. Дополнительные инструменты
Java: Java может похвастаться множеством утилит. Благодаря временной форе и уже сформированному сообществу, у разработчиков всегда есть свобода выбора, начиная от IDE и заканчивая отладчиком.
.NET:
В настоящий момент
1.3.10.
Поддержка со стороны
Java:
J2EE не является монопольной
.NET: Платформа .NET является прерогативой только компании Microsoft.
1.3.11. Производительность
Технология J2EE по производительности уступает .Net, особенно на платформах Windows и вообще на любых платформах, отличных от Sun: при исполнении программ 30% времени уходит на управление процессами и ввод-вывод, 25% - на генерацию кода и 15% - на сборку мусора.
На основе заключений экспертов, мнений пользователей и специалистов можно сделать вывод, что наиболее популярная, востребованная, используемая и доступная технология распределенных компонентных систем в настоящее время - это J2EE [2].
Далее рассмотрим эту технологию подробнее.
2. Описание J2EE.
2.1. Структура J2EE.
J2EE
определяет стандарт для
Основными элементами, представленными на рисунке являются:
- компоненты клиентского уровня работают на клиентской машине;
- компоненты web – уровня работают на J2EE-сервере;
- компоненты бизнес уровня работают на J2EE-сервере;
- программное обеспечение уровня корпоративной информационной системы (EIS) работает на EIS-сервере.
Доступ к приложению удаленных клиентов осуществляется через браузер с использованием протокола HTTP и языков HTML. При реализации уровня Web используются страницы JSP и сервлеты. Уровень бизнес логики – это ядро системы, которое осуществляет обработку всей информации, получаемой от клиента и информационных ресурсов. Корпоративные информационные ресурсы представляют собой СУБД или существующие информационные системы.
Данная модель имеет множество преимуществ [4]:
- позволяет распределить нагрузку по серверам, а не загружать один сервер всей работой, что намного увеличивает скорость обработки данных.
- данную модель легко модифицировать, т.е. если, например, требуется вместо Web-сервера подключить какое-нибудь клиентское приложение, написанное на JavaBuilder, Delphi, C++Builder или на другом языке программирования, то это не создаст больших проблем и не изменит логику работы приложения.
3. код доступа к данным расположен в одном месте, что значительно упрощает разработку и обслуживание.
Одно из главных преимуществ данной архитектуры в том, что все её части практически независимы друг от друга, что позволяет заменить любой из компонентов системы на другой, при этом другие компоненты не подвергнутся изменениям.
Платформа J2EE состоит из набора служб, интерфейсов разработки приложений (API) и протоколов, которые обеспечивают выполняемые функции разработки многоуровневых Web приложений.
Распишем
более подробно технологии J2EE [4].
2.2. Технологии J2EE
2.2.1. Java Database Connectivity (JDBC) API.
JDBC осуществляет доступ к различным системам базам данных, используя один и тот же подход. JDBC прячет тонкости работы системы баз данных от разработчика. Поскольку JDBC написан на Java он также способен обеспечить платформо-независимый доступ к базам данных.
2.2.2. Java Naming and Directory Interface (JNDI) API
JNDI используется для доступа к службам имен и каталогов. По существу, это обеспечивает последовательную модель для доступа и манипуляции такими ресурсами в масштабе предприятия, как DNS, LDAP, локальные файловые системы, или объекты сервера приложений
2.2.3. Java servlets.
Java servlets – это компонент, написанный на языке Java, не зависящий от протокола связи и платформы и предназначенный для поддержки обработки запросов клиентов. Сервлеты размещаются на сервере и действуют на среднем уровне, поддерживая запросы, приходящие от Web – браузера, HTTP – клиента или любого другого клиента, а также обеспечивают генерацию ответов, получаемых на основе базы данных или некоторой бизнес – логике. Хотя сервлеты могут откликаться на многое типы запросов, они обычно применяются для расширения приложений, обслуживаемых серверами Web. Для таких приложений технология Java Servlet определяет классы сервлетов HTTP. Благодаря унификации языка Java, сервлеты можно переносить с одной платформы на другую без какой-либо перекомпиляции.
2.2.4. Java Server Pages (JSP)
Технология JSP является составной частью единой технологии создания бизнес-приложений J2EE. JSP - это альтернативная методика разработки приложений, динамически генерирующих ответ на те или иные запросы клиента. В отличие от java servlets , которые представляют собой отдельные исполняемые программы, JSP позволяет объединить в одном файле статическую часть страницы в HTML и программу для генерации динамической части.
2.2.5. Enterprise JavaBeans (EJB)
EJB - одна из технологий J2EE, привлекающая всеобщее внимание. Она предоставляет каркас для разработки и установки распределенной бизнес логики, в связи, с чем значительно упрощается разработка расширяемых, высокосложных корпоративных приложений. Спецификация EJB определяет, как и когда EJB компоненты должны связываться с их контейнерами. Контейнер обеспечивает все основные службы, такие как служба каталогов, управление транзакциями, безопасность и отказоустойчивость. Основная идея, лежавшая в разработке технологии EJB - создать такую инфраструктуру для компонент, чтобы они могли бы легко “вставляться” (“plug in”) и удаляться из серверов, тем самым увеличивая или снижая функциональность сервера.
2.3. Уровни J2EE
Рассмотрим подробнее уровни платформы J2EE [5].
2.3.1. Компоненты клиентского уровня
Компонентами этого уровня являются компоненты, работающие на клиентской машине. J2EE-клиентом может быть Web-клиент или клиент приложения.
2.3.1.1. Web-клиенты.
Web-клиент состоит из двух частей: динамические Web-страницы, написанные на языках разметки различного типа (HTML, XML и т.д.), генерируемые Web-компонентами на Web-уровне, и Web-браузер, визуализирующий полученные от сервера страницы.
Web-клиент иногда называют тонким клиентом. Тонкие клиенты обычно не выполняют таких функций как запрос к базе данных, реализация сложных бизнес-правил или связь с серверными приложениями. При использовании тонкого клиента подобные полновесные операции переносятся на корпоративные компоненты, выполняющиеся на J2EE-сервере и использующие безопасность, скорость, сервисы и надежность J2EE-серверных технологий.
Web-страница, полученная от Web-уровня, может включать в себя встроенный апплет.
Апплет – это небольшое клиентское приложение, написанное на языке Java и выполняющееся на установленной в Web-браузере виртуальной машине Java.
2.3.1.2. Клиенты приложения.
Клиент J2EE-приложения работает на клиентской машине и обеспечивает пользователей возможностью работать с задачами, требующими более богатого пользовательского интерфейса, чем тот, который предоставлен языками разметки страниц.
Клиенты приложения имеют непосредственный доступ к корпоративным компонентам, исполняющимся на бизнес-уровне. Тем не менее, клиент приложения J2EE может открыть HTTP соединение для коммуникации с сервлетом, работающим на Web-уровне, если существуют такие требования к приложению.
2.3.1.3. Коммуникации сервера J2EE
На рисунке 2.2 показаны различные компоненты, которые могут составлять клиентский уровень. Клиент связан с выполняющимся на J2EE-сервере бизнес-уровнем либо непосредственно, либо посредством JSP-страниц или сервлетов, работающих на Web-уровне.
Приложение J2EE использует тонкий клиент, основанный на браузере, или полновесный клиент приложения.
При решении, какой из них использовать, принимается во внимание компромисс между сохранением функциональности на клиенте и близости к пользователю (толстый клиент) и как можно большей перегрузкой функциональности на сервер (тонкий клиент). Чем больше функций передается серверу, тем легче устанавливать, запускать и управлять приложением; однако, сохранение большего количества выполняемых функций на клиенте поможет лучше подстраиваться под квалификацию пользователя.
2.3.2. Компоненты Web-уровня
J2EE Web-компоненты могут быть либо сервлетами, либо страницами JSP. Статические HTML-страницы и апплеты связываются с Web-компонентами во время сборки приложения, но не считаются Web-компонентами по J2EE-спецификации. Обслуживающие классы со стороны сервера также могут быть связаны с Web-компонентами и, подобно HTML-страницам, не считаются Web-компонентами.
Так
же как и клиентский уровень, Web-уровень,
показанный на рисунке 2.3, может включать
в себя компонент JavaBeans для управления
вводом пользователя и направления
этого ввода в работающий на бизнес-уровне
корпоративный компонент для обработки.
2.3.3. Компоненты бизнес-уровня
Бизнес-код,
который является логикой, решающей
задачи непосредственно бизнес-
Существует три типа корпоративных компонентов: сессионные компоненты, компоненты управления данными и управляемые сообщениями компоненты. Сессионные компоненты представляют кратковременное общение с клиентом. Когда клиент заканчивает работу, сессионный компонент и его данные исчезают. В противоположность им, компоненты управления данными представляют постоянные данные, хранимые в одной строке таблицы базы данных. Если клиент завершает работу или сервер выключается, встроенный сервис гарантирует, что данные такого компонента будут сохранены.
Управляемые сообщениями компоненты комбинируют особенности сессионного компонента и JMS (службы сообщений Java) приемника сообщений, позволяя бизнес-компоненту получать сообщения JMS асинхронно.
2.3.4. Уровень корпоративной системы
Уровень
корпоративной информационной системы
образует программное обеспечение
информационной системы и включает в себя
системы корпоративной инфраструктуры,
такие как планирование ресурсов предприятия
(ERP), управление транзакциями мейнфрейма,
базы данных, и другие стандартные информационные
системы. J2EE-компоненты могут
нуждаться в доступе к корпоративным информационным системам для взаимодействия, например, с базами данных.
2.4. J2EE-контейнеры
Обычно многоуровневые приложения для тонких клиентов писать тяжело, потому что они включают в себя много строк сложного кода для управления транзакциями и состояниями, многопоточностью, обменом ресурсами и другими комплексными низкоуровневыми задачами. Основанная на компонентах и платформо-независимая архитектура J2EE облегчает написание J2EE-приложений, потому что бизнес-логика локализуется в компонентах многократного использования. Кроме того, J2EE-сервер обеспечивает основные сервисы в форме контейнера для каждого типа компонентов.

- Использование побочных продуктов и отходов переработки картофеля
- Использование побочных продуктов металлургии в строительстве
- Использование побочных продуктов переработки зерна в питании
- Использование подвижных игр с целью формирования физических качеств у детей специализированной группы с нарушениями опорно- двигательно
- Использование поддонов в мясо-молочной промышленности
- Использование подземного пространства в городах
- Использование поисковых серверов
- Использование песочной терапии в коррекционно-развивающей работе с детьми с особенностями психофизического развития
- Использование пеших и лыжных прогулок в целях оздоровления человека
- Использование пеших и лыжных прогулок в целях оздоровления человека
- Использование пищевых волокон при производстве мясных консервов
- Использование пищевых добавок при производстве кисломолочных продуктов
- Использование пищевых добавок при производстве мясных полуфабрикатов
- Использование плазмид в генно-инженерных исследованиях