ВВЕДЕНИЕ
В конце 1995 года язык программирования Java вырвался на арену Интернета и моментально завоевал популярность. Технология Java обещала стать универсальным связующим звеном, соединяющим пользователей с информацией, откуда бы эта информация не поступала - от веб-серверов, из баз данных, поставщиков информации или любого другого источника, который только можно было себе вообразить. Java - весьма основательно сконструированный язык, получивший признание всех основных участников рынка за исключением компании Microsoft. Его встроенные средства защиты и безопасности обнадежили как программистов, так и пользователей программ на Java. Язык изначально обладал встроенной поддержкой для решения таких сложных задач, как сетевое программирование, взаимодействие с базами данных и многопоточная обработка.
С 1995 года было выпущено восемь главных версий комплекта JavaDevelopmentKit. За последние 17 лет прикладной программный интерфейс (API) увеличился от 200 до 3 тысяч классов. Теперь прикладной интерфейс охватывает самые разные предметные области, включая конструирование пользовательских интерфейсов, управление базами данных, интернационализацию, безопасность и обработку данных в формате XML.никогда не был только языком программирования. Хорошие языки - не редкость, а появление некоторых из них вызвало настоящую сенсацию в области вычислительной техники. В отличие от них, Java - это программная платформа, включающая в себя мощную библиотеку, большой объем кода, пригодного для повторного использования, а также среду для выполнения программ, которая обеспечивает безопасность, независимость от операционной системы и автоматическую “сборку мусора”.
Программистам нужны языки с четкими синтаксическими правилами и понятной семантикой. Такому требованию, помимо Java, отвечают десятки языков. Некоторые из них даже обеспечивают переносимость и “сборку мусора”, но их библиотеки оставляют желать лучшего. В итоге программисты вынуждены самостоятельно реализовывать графические операции, доступ к сети и базе данных и другие часто встречающиеся процедуры. Java объединяет в себе прекрасный язык, высококачественную среду выполнения программ и обширную библиотеку. В результате многие программисты остановили свой выбор именно на Java.
Данный курсовой проект имеет за цель подробно
рассмотреть основные типы приложений на языке Java.
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
является основой практически для всех типов сетевых приложений и всеобщим стандартом для разработки и распространения встроенных и мобильных приложений, игр, веб-контента и корпоративного программного обеспечения. В мире насчитывается более 9 миллионов специалистов, разрабатывающих приложения на Java, которая позволяет эффективно разрабатывать, внедрять и использовать превосходные приложения и услуги.
Технология Java протестирована, усовершенствована, расширена и проверена участниками сообщества разработчиков Java, архитекторов и энтузиастов. Java позволяет разрабатывать высокопроизводительные портативные приложения практически на всех компьютерных платформах. Доступность приложений в разнородных средах позволяет компаниям предоставлять более широкий спектр услуг, способствует повышению производительности, уровня взаимодействия и совместной работы конечных пользователей и существенному снижению стоимости совместного владения корпоративными и потребительскими приложениями. Java стала незаменимым инструментом для разработчиков и открыла для них следующие возможности:
написание программного обеспечения на одной платформе и его запуск практически на любой другой платформе;
создание программ, работающих в веб-браузере и имеющих доступ к веб-службам;
разработка приложений на стороне сервера для форумов в Интернете, магазинов, опросов, обработки форм HTML и много другого;
объединение приложений или служб с использованием языка Java для создания высокоспециализированных приложений или служб;
создание многофункциональных и эффективных приложений для мобильных телефонов, удаленных процессоров, микроконтроллеров, беспроводных модулей, датчиков, шлюзов, потребительских продуктов и практически любых других категорий электронных устройств.
Кроме стандартной редакции набора
инструментальных средств для разработки программного обеспечения на Java -
StandardEdition -, были предложены еще два варианта: MicroEdition
(“микроредакция”) для портативных устройств, например для мобильных телефонов,
и EnterpriseEdition (редакция для корпоративных приложений).
1.1 JavaPlatform, EnterpriseEdition
, EnterpriseEdition, сокращенно Java EE (до версии 5.0 - Java 2 EnterpriseEdition или J2EE) - набор спецификаций и соответствующей документации для языка Java, описывающей архитектуру серверной платформы для задач средних и крупных предприятий.
Спецификации детализированы настолько, чтобы обеспечить переносимость программ с одной реализации платформы на другую. Основная цель спецификаций - обеспечить масштабируемость приложений и целостность данных во время работы системы. JEE во многом ориентирована на использование её через веб как в интернете, так и в локальных сетях. Вся спецификация создаётся и утверждается через JCP (JavaCommunityProcess) в рамках инициативы SunMicrosystemsInc.является промышленной технологией и в основном используется в высокопроизводительных проектах, в которых необходима надежность, масштабируемость, гибкость.
Популярности JEE также способствует то, что Sun предлагает бесплатный комплект разработки, SDK, позволяющий предприятиям разрабатывать свои системы, не тратя больших средств. В этот комплект входит сервер приложений GlassFish с лицензией для разработки.
Технологии J2EE ориентированы на разработку серверной стороны приложения и облегчают, в первую очередь, процесс эффективной реализации среднего уровня (Middletier), содержащего бизнес-логику. Базовыми технологиями для платформы J2EE являются ранее разработанные технологии J2SE, поэтому обязательным условием для разработчиков реализации платформы J2EE является полная поддержка спецификации J2SE.
Различные версии J2EE поддерживают разные спецификации технологий, например EJB, Servlets и т.д. В данном практическом пособии мы ориентируемся на спецификацию J2EE 1.3, поддерживающую спецификации EJB 2.0, Servlets 2.3, JSP 1.2. Каждая конкретная реализация платформы J2EE, удовлетворяющая спецификации J2EE версии 1.3, должна предоставлять пользователю перечисленные ниже технологии и соответствующие программные интерфейсы.
Java Remote Method Invocation (RMI) и RMI / IIOP. JavaRemoteMethodInvocation представляет собой Java-ориентированный метод реализации взаимодействиями между распределенными объектами информационной системы. RMI - это технология построения распределенных приложений на основе спецификации языка Java. Типичным примером является организация связи между двумя объектами, запущенными на выполнение на разных компьютерах. RMI / IIOP является расширением RMI с целью интеграции с технологией CORBA. Вообще-то говоря, официальным API в технологии J2EE является не RMI, а именно RMI / IIOP.
Java Naming and Directory Interface, JNDI. JavaNamingandDirectoryInterface (Интерфейс наименований и каталогов) используется для доступа из кода приложения к системам наименований и каталогов. Так, например, JNDI применяется для связи EJB-компонентов через Интернет с другими ресурсами распределенной системы., JMS. JavaMessagingService (Сервис сообщений Java) используется для взаимодействия J2EE-приложения с помощью сообщений как между отдельными компонентами внутри приложения, так и с внешними системами сообщений среднего уровня - Message-OrientedMiddleware (MOM). К таким системам относятся, например, IBM MQSeries и MicrosoftMessageQueue (MSMQ). Технология сообщений Java выступает альтернативой методу организации связи с помощью протокола RMI/IIOP.. Технология Java-сервлетов. Servlet (Сервлет) является сетевой технологией, расширяющей функциональные возможности Web-сервера. Сервлеты - это сетевые компоненты, работающий в режиме запрос/ответ. Запрос, получаемый от клиента через Web-браузер, обрабатывается сервлетом, после чего клиенту отсылается ответ. Функционирование сервлетов не требует управления сервером приложения.(JSP). JavaServerPages (Страницы JSP) разрабатываются на основе страниц HTML с помощью JavaScript, языка сценариев, созданного на основе языка Java. Страницы JSP похожи на сервлеты: скрипты страниц JSP компилируются в сервлеты. В отличие от сервлетов, страницы JSP используются для визуального представления приложений и не требуют Java-компилятора. Их удобно применять для отделения визуального представления приложения от его содержательной части.Database Connectivity, JDBC. JavaDatabaseConnectivity - это средство организации доступа к базам данных в сети. Интерфейс JDBC является API для доступа к любым реляционным базам данных.
Java Transaction API, JTA и Java Transaction Service, JTS. Java Transaction API (Программныйинтерфейс Java транзакций) и Java Transaction Service (Сервис Java-транзакций) используются для поддержки механизма транзакцийв J2EE.
EnterpriseJavaBeans, EJB. EnterpriseJavaBeans - это самая главная технология, которая определяет основные свойства и назначение платформы J2EE. Версия 1.3 платформы J2EE включает поддержку спецификации EJB 2.0, которая дает описание стандартных компонентов серверного приложения и путей их реализации (свойства компонентов, методика написания их программного кода, принципы использования компонентов в многоуровневых приложениях и пр.). В спецификации EJB 2.0 представлены также стандартные соглашения, связывающие компоненты EJB и серверы приложений (applicationservers), управляющие компонентами. Технология EJB опирается на другие технологии J2EE.Interface Definition Language, Java IDL. Java Interface Definition Language (Языкопределенияинтерфейсов Java) реализуеттехнологиюCORBA на основе Java, что позволяет интегрировать CORBA в J2EE-приложения.
Java Mail и JavaBeans Activation Framework. JavaMail предоставляет пользователю возможность отправлять сообщения электронной почты непосредственно из программного приложения, что особенно важно при реализации задач электронной коммерции. При этом поддерживается независимость от платформы и протокола связи. Технология JavaMail базируется на технологии JavaBeansActivationFramework, JAF (Структура активации JavaBeans).. JavaConnectorArchitecture (Архитектура соединителей J2EE) - это технология, позволяющая интегрировать приложение J2EE с существующими корпоративными информационными системами.
Java API for XML Parsing. Java API for XML Parsing, JAXP (Интерфейс Java для XML-разбора) - технология, позволяющая пользователю работать с документами XML, входящими в состав программного приложения.
Java Authentication and
Authorization Service. JavaAuthenticationandAuthorizationService,
JAAS (Идентификация и авторизация Java) - технология для поддержания защиты
информации, предоставляющая пользователю соответствующий API.
1.2 JavaPlatform, StandardEdition
java апплет сервлет код
JavaPlatform, StandardEdition, сокращенно Java SE (ранее Java 2 StandardEdition или J2SE) - стандартная версия платформы Java 2, предназначенная для создания и исполнения апплетов и приложений, рассчитанных на индивидуальное пользование или на использование в масштабах малого предприятия. Не включает в себя многие возможности, предоставляемые более мощной и расширенной платформой Java 2 EnterpriseEdition (J2EE), рассчитанной на создание коммерческих приложений масштаба крупных и средних предприятий.
Корпорация Oracle представила в августе 2011 года JavaPlatform, StandardEdition 7 (Java SE 7), первую версию платформы Java, выпущенную под руководством Oracle.
Новая версия Java SE 7 стала результатом объединенных усилий разработчиков по всей отрасли, включавших открытое обсуждение, еженедельные встречи и широкое сотрудничество инженеров Oracle и участников мировой экосистемы JavaOpenJDKCommunity и JavaCommunityProcess (JCP).SE 7 предлагает:
языковые изменения, которые помогают повысить эффективность труда разработчиков и облегчают решение стандартных задач программирования благодаря уменьшению необходимого объема программного кода, упрощению синтаксиса и улучшению читабельности программ;
оптимизированную поддержку динамических языков (включая Ruby, Python и JavaScript), обеспечивающую значительное повышение производительности виртуальной машины Java;
новый интерфейс прикладного программирования (API), ориентированный на многоядерные системы и облегчающий разработчикам процедуру разбиения задач на фрагменты, которые могут затем выполняться параллельно с использованием произвольного числа процессорных ядер;
развитый интерфейс ввода-вывода для работы с файловыми системами, позволяющий обращаться к более широкому набору файловых атрибутов и предоставляющий больше сведений об ошибках;
новые сетевые функции и средства защиты;
расширенную поддержку локализации, включая поддержку стандарта Unicode 6.0;
обновленные версии большого числа библиотек.
Высокая степень совместимости Java SE 7 с более
ранними версиями платформы делает возможным использование существующего опыта
разработчиков на платформе Java и сохранение инвестиций в Java-технологии.
1.3 JavaPlatform, MicroEdition
, MicroEdition (Java ME, ранее - Java 2 MicroEdition, J2ME) - подмножество платформы Java для устройств, ограниченных в ресурсах, например: сотовых телефонов, карманных персональных компьютеров, ресиверов цифрового телевидения, проигрывателей дисков Blu-ray.ME разработана под руководством SunMicrosystems и является заменой похожей технологии - PersonalJava. Sun предоставляет образец реализации (англ. referenceimplementation) спецификации, но до недавнего времени не предоставляла бесплатной реализации среды выполнения Java ME для мобильных устройств.
Отличительными особенностями устройств с ограниченными ресурсами являются ограниченная вычислительная мощность, ограниченный объём памяти, малый размер дисплея, питание от портативной батареи, а также низкоскоростные и недостаточно надёжные коммуникационные возможности. ME специфицирует две базовые конфигурации, которые определяют требования к виртуальной машине (ограничение набора допустимых инструкций и др.), а также минимальный набор базовых классов: CLDC (ConnectedLimitedDeviceConfiguration - конфигурация устройства с ограниченными ресурсами и коммуникационными возможностями) и CDC (ConnectedDeviceConfiguration - конфигурация устройства с нормальными ресурсами и коммуникационными возможностями).