Спецификации кодирования, программисты JAVA должны обратить внимание!

Java

01 Значение существования норм

Применение стандартов кодирования особенно важно для самого программного обеспечения и для разработчиков программного обеспечения по нескольким причинам.:

  1. Хороший стандарт кодирования может максимально снизить стоимость обслуживания программного обеспечения, и почти никакое программное обеспечение не поддерживается первоначальным разработчиком в течение всего его жизненного цикла;
  2. Хорошие стандарты кодирования могут улучшить читабельность программного обеспечения и позволить разработчикам как можно быстрее и тщательнее понять новый код;
  3. Хороший стандарт кодирования может максимизировать эффективность сотрудничества при командной разработке;
  4. Долгосрочное нормативное кодирование также может позволить разработчикам выработать хорошие привычки кодирования и даже упражняться в более строгом мышлении;

02 Соглашения об именах

1. Общие понятия

  • Старайтесь использовать полные английские дескрипторы
  • Используйте терминологию, применимую к соответствующей области
  • Используйте смешанный регистр, чтобы сделать имена читабельными
  • Используйте сокращения экономно, но если они используются, они должны соответствовать одному и тому же определению на протяжении всего проекта.
  • Избегайте длинных имен (обычно менее 15 букв).
  • Не используйте похожие имена или просто разные заглавные буквы.
  • Избегайте использования символов подчеркивания (за исключением статических констант и т. д.).

2. Описание типа идентификатора

(1) Наименование пакета (Package)

Имена пакетов должны быть полными английскими дескрипторами, состоящими из одного слова в нижнем регистре. И префикс имени пакета всегда является доменным именем верхнего уровня, обычно com, edu, gov, mil, net, org и т. д.;

Такие как:com.yjhmily.test

(2) Именование класса (Класс)

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

Используйте полные слова, избегайте аббревиатур (если только в проекте нет спецификации для той же аббревиатуры или аббревиатура используется более широко, например URL, HTML)

Такие как:FileDescription

(3) Интерфейс (Интернетce) именование

В основном аналогично соглашению об именах Class. На основании соблюдения правил именования Classd убедитесь, что первая буква в начале — «I», которую легко отличить от обычного класса. В фактическом имени класса доведите вторую букву имени интерфейса до конца и соблюдайте соглашение об именовании имени класса;

Такие как:IMenuEngine

(4) Именование перечисления ( Enum )

В основном аналогично соглашению об именах Class. На основе соблюдения правил именования Classd убедитесь, что первая буква в начале — «E», которую легко отличить от обычного класса.

Такие как:EUserRole

(5) Именование исключений ( Exception )

Exception ( Exception ) обычно использует букву e для обозначения исключений, а для пользовательских классов исключений суффикс должен быть Exception

Такие как:BusinessException

(6) Наименование метода (Метод)

Имя метода представляет собой глагол в смешанном регистре, где первая буква первого слова в нижнем регистре, а первая буква следующих слов в верхнем регистре.

Имя метода максимально описывает действие метода. Методы, возвращающие значение логического типа, обычно начинаются с «есть» или «имеет».

Такие как:

getCurrentUser() 
addUser()
hasAuthority()

(7) Именование параметров (Param)

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

Такие как:public UserContext getLoginUser(String loginName);

(8) Именование полей констант (Константы)

Поля статических констант ( static final ) состоят из заглавных букв, а слова разделяются символами подчеркивания;

Такие как:

public static final Long FEEDBACK;
public static Long USER_STATUS;

03 Спецификация аннотации

Хорошее эмпирическое правило в отношении аннотаций:

Спросите себя, если вы никогда не видели этот код, какая информация вам нужна, чтобы эффективно понять этот код за разумное время? ? ?

1. Общие понятия

  1. Комментарии должны внести ясность в код.
  2. Делайте комментарии краткими
  3. Пишите комментарии до или во время написания кода
  4. Аннотируйте, почему что-то сделано, а не только что

2. Какие части аннотировать

  • Java-файлы: Должна быть указана информация об авторских правах, время создания и автор файла;
  • Добрый: Цель класса, то есть функция, выполняемая классом, а также время создания класса и имя автора; когда несколько человек редактируют или модифицируют один и тот же класс одновременно, имена в имени автора должно быть указано несколько человек;
  • интерфейс: На основе удовлетворения аннотации класса аннотация интерфейса должна содержать цель настройки интерфейса, как его следует использовать и как не использовать. При условии, что аннотация интерфейса понятна, соответствующий класс реализации может быть неаннотирован;
  • аннотация метода: Для методов задания (метод Set) и получения (метод Get) членов, если были описаны переменные-члены, их можно раскомментировать; требуются обычные методы-члены, объясняющие, какие функции выполняются, что означают параметры и что возвращаемое значение; Кроме того, время создания метода должно быть четко аннотировано, предоставляя ценные подсказки для дальнейшего обслуживания и чтения;
  • внутренняя аннотация метода: структура управления, что делает код и почему, порядок обработки и т. д., особенно для сложных логических частей обработки, дайте как можно больше конкретных комментариев;
  • параметр: значение параметра и любые другие ограничения или условия;
  • Атрибуты: описание поля;
  • локальная (промежуточная) переменная: Без комментариев, если нет особого смысла;

3. Формат комментария

Следуйте тому же формату комментария, указанному в проекте, обычно он будет импортирован в IDE (Eclipse) в виде файла в формате codetemplates.xml или будет использоваться формат Eclipse по умолчанию;

04 Спецификация формата кода

Следуйте тому же формату кода, указанному в проекте, как правило, напрямую используйте формат кода по умолчанию, поставляемый с IDE (Eclipse), для форматирования кода;

05 Прочие характеристики

Именование файлов JSP

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

Например: viewMessage.jsp, editUser.jsp и т. д.

06 Соглашение об именах для конкретных проектов

1. Постоянный слой

  • Файлы и объекты отображения Hibernate точно соответствуют именам таблиц базы данных;
    Например: Advertisement.hbm.xml , Advertisement.java

  • Доступ к данным DAO
    Интерфейс DAO и имена классов реализации должны полностью соответствовать обычным правилам именования классов интерфейса и реализации, а методы доступа к данным в DAO должны быть достаточно абстрактными, чтобы описывать основные операции CRUD в базе данных;
    Например: ICrossAdDAO (интерфейс), CrossAdDAO (класс реализации)

  • Различные файлы конфигурации HQL для управления базой данных.
    В принципе, количество файлов HQL равно количеству служб на уровне служб системы, а имена файлов HQL соответствуют имени службы;
    Например: resource.hbm.xml

2. Сервисный уровень

(1) Сервисный интерфейс и реализация

Интерфейс службы и класс реализации должны полностью соответствовать правилам именования обычного интерфейса и класса реализации; имя службы, определенное проектом, называется субъектом и заканчивается на «Serv».
Такие как: IResourceServ (сервисный интерфейс), ResourceServ (класс реализации интерфейса)

(2) Метод сервисного интерфейса

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

  • Тип возвращаемого значения — логический: начните с «есть» или «имеет».
  • Получить некоторые данные: получить+ описание данных существительное во множественном числе + тип данных;
  • Получить все данные: get+All+ описание данных существительное во множественном числе + тип данных;
  • Получить/запросить некоторые данные через XXX: получить/запросить+ описание данных существительное во множественном числе + тип данных +By+ условие;
  • Добавить некоторые данные: сохранить/добавить+ описание данных существительное ()
  • Обновить определенные данные: сохранить/обновить+ описание данных существительное;
  • Удалить определенные данные: удалить/удалить+ описание данных существительное;

(3) Бизнес-объекты

Название компании +BO

(4) Объект параметра запроса

Все классы параметров запроса, продолжающие Abst***QuerySpec, соответствуют следующим правилам:

  • Запрос+ Имя описания данных для запроса + Спецификация
  • При передаче в качестве параметра имя параметра должно быть: запрашиваемое существительное описания данных +Spec

Например: QueryProgramSpec

3. Уровень MVC

(1) Уровень управления действиями

  • Имя класса действия: имя функционального модуля +Action ;
  • Названия методов действий максимально точно описывают направление миграции страниц.

Такие как: LoginAction (действие для входа в систему), toWelcome (метод действия для перехода на страницу приветствия)

(2) Файл ресурсов

  • Файл глобальных ресурсов системы: globalMessages_+ тип кодировки символов +.properties
  • Файл ресурсов внутри функционального модуля: package.properties

4. Конфигурационный файл Spring

(1) Файлы конфигурации, связанные с действиями

  • Каталог файлов:WebRoot/WEB-INF/spring/action/Имя функционального модуля+_ApplicationContext.xml

(2) Файлы конфигурации, связанные со службами

  • Каталог файлов:WebRoot/WEB-INF/spring/services/Services_ApplicationContext.xml

(3) Глобальный файл конфигурации

  • Каталог файлов:WebRoot/WEB-INF/spring/Название конструкции+_ApplicationContext.xml

(4) JSP-файл

Используйте полное описание на английском языке, чтобы объяснить функцию, выполняемую JSP, включая как можно больше ярких глаголов, первая буква в нижнем регистре,
Например: viewMessage.jsp, editUser.jsp и т. д.

07 Краткое описание именования приложений

Все файлы и переменные представлены английскими словами. Старайтесь избегать сокращений и сокращений.

1. Java-класс

Класс java помечен регистром верблюда в соответствии со спецификацией java, первая буква класса java заглавная, и первая буква каждого слова в имени класса заглавная.

Класс Java представляет вещь в реальном мире, и существительное класса предпочтительно является существительным. Лучше всего использовать реалистичное имя. Например, сотрудники используют Employee вместо Employ, чтобы избежать двусмысленности. Аббревиатуру empl лучше не использовать.

  • Слои часто используются в прикладном программном обеспечении, и имя класса каждого уровня должно как можно чаще сопровождаться суффиксом уровня.
  • Рекомендуется, чтобы классы сущностей не имели суффикса.
  • Уровень данных использует суффикс SQLMapper.
  • Параметр запроса уровня данных — Param.
  • Сервисный уровень использует сервис
  • Веб-уровень использует Packager
  • Форма формы веб-слоя имеет суффикс Form

Например, модули сотрудников: Employee (сущность), EmployeeSQLMapper (уровень данных), EmployeeService (уровень службы), EmployeePackager (веб-уровень).

Распространенные английские имена (лучше всего составить словарь общеупотребительной лексики)

  • Сотрудник: сотрудник
  • Раздел:отдел

2. Поля

Согласно нотации верблюжьего регистра java, поля java начинаются со строчной буквы, и каждое слово пишется с большой буквы (кроме первого слова).

Поле представляет собой имя атрибута вещи в классе в действительности, предпочтительно существительное. Имена полей должны быть максимально точными словами, по возможности одним словом. Нет необходимости помещать имя класса перед полем, например поле идентификатора сотрудника, вы можете напрямую использовать идентификатор вместо идентификатора сотрудника.Если есть два поля, которые могут вызвать двусмысленность, вы можете добавить описательные слова, чтобы различать их. .

Именование полей лучше всего подходит для понимания слова.

3. Метод

Метод представляет собой действие, он представляет собой действие, предпочтительно глагол или глагольную фразу, или первое слово является глаголом.

Методы свойств, начинающиеся с get/set, за которыми следует имя поля, первая буква имени поля пишется с заглавной буквы.

Методы уровня данных могут начинаться только со слов insert (вставка), delete (удаление), update (обновление), select (поиск), count (статистика), а другие методы уровня не должны начинаться с этих 5 слов во избежание недоразумений.

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

Метод веб-уровня предпочтительно представляет собой язык, близкий к сети, такой как регистрация, вход в систему, выход из системы и другие методы.

4. Переменные

Переменные — важный элемент метода, и подходящее имя может сделать этот код в сто раз более элегантным (утрировано). Имена переменных пишутся строчными буквами.

Переменные относятся к именам, избегайте использования других частей речи.

Используйте имена, которые представляют значение метода. Если список сотрудников:

Лучше использовать список сотрудников или список сотрудников, чем использовать список списка или, что еще хуже, список l, если используются сотрудники списка и сотрудники карты, вы можете использовать сотрудников список и список сотрудников соответственно.

Переменная пользовательского типа может взять собственное имя, изменив первую букву на строчную.

5. Имя XML-файла

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

Файл сопоставления Ibatas: имя пространства имен — это имя класса сущности модуля, первая буква написана заглавной, а псевдоним типа принимает *** имя класса. Имена resultMap и sql написаны строчными буквами, а имена методов совпадают с именами методов уровня данных.

Имена файлов Form и FormItem отмечены верблюжьим регистром. Имена форм также пишутся с большой буквы. Имя элемента в форме используется с именем свойства класса формы формы. CamelCase (желательно без _)

Имена файлов действий пишутся с заглавной буквы, а поля имени файла и имени действия — строчными.

6. Наименование URL

Имя пути URL-адреса такое же в нижнем регистре (все буквы в нижнем регистре), а имя параметра, переданное методом get, совпадает с именем пути URL-адреса в нижнем регистре.

(1) Спецификация J2EE

Спецификация J2EE

J2EE (платформа Java 2, Enterprise Edition) — это спецификация для разработки распределенных приложений корпоративного уровня, определенная SUN. Он предоставляет модель многоуровневого распределенного приложения и ряд технических спецификаций разработки. Модель многоуровневого распределенного приложения относится к разделению логики приложения на несколько уровней в соответствии с функциями. Каждый уровень поддерживает соответствующие серверы и компоненты. Запуск в контейнере EJB), контейнеры взаимодействуют через связанные протоколы для реализации взаимных вызовов между компонентами. Разработчики, которые следуют этой спецификации, получат широкую отраслевую поддержку, что сделает разработку приложений корпоративного уровня простой и быстрой.

Иерархия компонентов J2EE

Компоненты и иерархия J2EE показаны на рис. 1-1.

Рисунок 1-1 Иерархия компонентов J2EE (опущена)

① Спецификация J2EE определяет следующие компоненты:

А. Клиентские компоненты
Б. Веб-компоненты
C. Компоненты EJB

② Спецификация J2EE определяет следующие четыре уровня.

А. Уровень клиента

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

B. Веб-уровень

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

C. Бизнес-уровень

Бизнес-уровень также называется уровнем EJB или прикладным уровнем, который состоит из сервера EJB и компонентов EJB. В нормальных условиях многие разработчики объединяют продукты Web-сервера и EJB-сервера в выпуске, называемом сервером приложений. Уровень EJB используется для реализации бизнес-логики информационной системы уровня предприятия. Это ядро ​​корпоративного приложения, которое обрабатывается компонентами EJB, работающими на бизнес-уровне. Бин получает данные от клиента, обрабатывает их, а затем отправляет данные на уровень корпоративной информационной системы для хранения. Точно так же Бин также может извлекать данные из информационной системы предприятия и отправлять их клиентской программе. EJB на бизнес-уровне должен работать в контейнере, а контейнер решает основные проблемы, такие как обработка транзакций, жизненный цикл, управление состоянием, многопоточное управление безопасностью, пул ресурсов и т. д.

D. Уровень корпоративной информационной системы

Работа с программным обеспечением корпоративных систем, включая системы корпоративной инфраструктуры, системы баз данных и другие устаревшие системы. Будущие версии J2EE будут поддерживать архитектуру коннектора. Это стандартный API, который соединяет платформу J2EE и уровень корпоративной информационной системы.
Бизнес-уровень и веб-уровень вместе образуют средний уровень трехуровневого приложения J2EE, а два других уровня — это клиентский уровень и уровень хранения или уровень корпоративной информационной системы.

E. Технология распределенных приложений J2EE

Для реализации распределенных приложений уровня предприятия J2EE определяет множество технических стандартов, а инструменты разработки и API, соответствующие этим стандартам, обеспечивают поддержку разработки приложений уровня предприятия. Эти технологии охватывают доступ к базам данных, распределенные коммуникации, безопасность и многое другое. Несколько аспектов обеспечения поддержки распределенных приложений.

а. Технология компонентов

Основная идея J2EE основана на приложении компонент/контейнер. Каждый компонент предоставляет интерфейс для методов, свойств и событий. Компоненты могут разрабатываться на нескольких языках. Компоненты можно использовать повторно, совместно использовать и распространять.

б. Сервлеты и JSP

Сервлеты используются для создания динамических страниц или для получения пользовательских запросов для создания соответствующих операций (вызов EJB). JSP основан на тексте. Соответствующие сервлеты генерируются контейнером, так что содержимое и отображение разделены. API сервлетов предоставляется в J2EE для создания сервлетов.

в. Технология EJB

Спецификация EJB предоставляет способ разработки и развертывания серверных компонентов. Каждый EJB делится по функциональной логике, при разработке не обязательно обращать внимание на детали базовой системы, а только на конкретный анализ транзакций. После того, как компонент EJB разработан, он развертывается в контейнере EJB в соответствии со спецификацией для выполнения соответствующей функции транзакции. EJB поддерживает распределенные вычисления. Действительно воплощает в себе приложения корпоративного класса.

г. Доступ к базе данных

Будь то традиционная корпоративная информационная система или будущая корпоративная информационная система, база данных занимает важное место. Разработка распределенных систем требует хорошей гибкости и масштабируемости доступа к базе данных. JDBC (JavaDatabase Connectivity) — это интерфейс разработки, независимый от конкретной системы управления базами данных. Он предоставляет общий механизм доступа к базам данных и структурам хранения SQL, а также общий базовый интерфейс прикладного программирования, поддерживающий основные функции SQL. Он предоставляет единый пользовательский интерфейс для различных интерфейсов баз данных. Предоставляет различные методы подключения к базе данных. J2EE предоставляет JDBC API, чтобы сделать различные операции с базами данных простыми и выполнимыми.

е. Технология распределенной связи

Технология распределенной связи является основной технологией распределенной корпоративной системы. Платформа J2EE предоставляет несколько режимов связи для веб-приложений и приложений EJB.

Чтобы объект, работающий на одной машине, вызывал объект на другой машине,J2EE реализует следующие методы связи:

  • Java RMI(Удаленный вызов метода): Удаленный вызов метода. Java RMI реализует удаленную связь между объектами Java. Сервер использует реестр для привязки имени к удаленному объекту.Клиент ищет удаленный объект в реестре сервера по имени, загружает локальный прокси удаленного объекта после его нахождения и вызывает метод удаленного объекта.
  • Java IDL(Java Inte***ce Defilation Language): Язык определения интерфейса. Может быть реализована CORBA-совместимая связь удаленных объектов для объектов Java.
  • JNDI(Интерфейс именования и каталогов Java): Интерфейс именования и каталогов Java. JNDI предоставляет стандартный именованный интерфейс для доступа к удаленным объектам в распределенных системах. Объекты основного интерфейса EJB, источники данных, серверы сообщений и т. д. могут быть зарегистрированы на сервере имен в виде дерева JDNI, а вызывающие их объекты ищут удаленный объект с указанным именем на сервере имен JNDI через JDNI-совместимый программный интерфейс.
  • JMS(Служба сообщений Java): служба сообщений Java. Определяет набор спецификаций для разработки приложений промежуточного программного обеспечения для обмена сообщениями. Пока клиент Java и промежуточный уровень Java получают доступ к системе сообщений, реализуя простой интерфейс, определенный JMS, сложные приложения можно реализовывать, не обращая внимания на низкоуровневые технические детали.

08 Спецификация программирования JAVA

1. Область применения

Эта спецификация применяется к проектам, использующим спецификацию J2EE, и все коды JAVA в проекте (включая JSP, SERVLET, JAVABEAN, EJB) должны соответствовать этой спецификации. В то же время его также можно использовать в качестве ссылки для других проектов.

2. Классы и методы проектирования

(1) Создавайте классы с сильной сплоченностью

Важность методов часто легче понять, чем важность классов.Метод — это фрагмент кода, выполняющий одну и ту же функцию. Класс часто ошибочно считают контейнером только для методов. Некоторые разработчики даже идут дальше этой идеи, помещая все свои методы в один класс.

① J2EE представляет собой набор технической архитектуры, которая полностью отличается от традиционной разработки приложений.Он содержит множество компонентов, которые в основном могут упростить и стандартизировать разработку и развертывание прикладных систем, тем самым улучшая переносимость, безопасность и ценность повторного использования.

② Четырехуровневая модель J2EE

  • Компоненты клиентского уровня, работающие на клиентских компьютерах
  • Компоненты веб-уровня, работающие на сервере J2EE
  • Компоненты уровня бизнес-логики, работающие на сервере J2EE
  • Программное обеспечение уровня корпоративной информационной системы, работающее на сервере EIS

09 Компоненты приложения J2EE

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

Следующие компоненты J2EE определены в спецификации J2EE.:

  • Клиенты приложений и апплеты являются компонентами уровня клиента.
  • Java Servlet и JavaServer Pages (JSP) являются компонентами веб-уровня.
  • Enterprise JavaBeans (EJB) — это компоненты бизнес-уровня.

1. Компоненты клиентского уровня

Приложения J2EE могут быть сетевыми или традиционными.

2. Компоненты веб-уровня

Компоненты веб-уровня J2EE могут быть JSP-страницами или сервлетами.Согласно спецификации J2EE, статические HTML-страницы и апплеты не считаются компонентами веб-уровня. Как и клиентский уровень, показанный на рисунке ниже, веб-уровень может содержать некоторые объекты JavaBean для обработки пользовательского ввода и отправки ввода корпоративному компоненту, работающему на бизнес-уровне, для обработки.

3. Компоненты бизнес-уровня

Логика кода бизнес-уровня используется для удовлетворения потребностей специальных областей бизнеса, таких как банковское дело, розничная торговля, финансы и т. д., и обрабатывается корпоративным компонентом, работающим на бизнес-уровне.На следующем рисунке показано, как корпоративный компонент получает данные из программы-клиента и обрабатывает их (при необходимости), и отправляет на уровень EIS для хранения, этот процесс также может быть обратным. Существует три типа корпоративных компонентов: сеансовые компоненты, объектные компоненты и компоненты, управляемые сообщениями. Сеансовые компоненты представляют собой временное взаимодействие с клиентскими программами. Когда клиентская программа завершает выполнение, сеансовые компоненты и связанные с ними данные исчезают. Вместо этого объектный компонент представляет постоянная запись в таблице базы данных. Когда клиентская программа завершает работу или сервер выключается, существуют скрытые службы, которые обеспечивают сохранение данных объектного компонента. Компонент, управляемый сообщениями, сочетает в себе функции сеансовых компонентов и прослушивателей сообщений JMS, что позволяет компонент бизнес-уровня для асинхронного получения сообщений JMS.

4. Уровень корпоративной информационной системы

Уровень корпоративной информационной системы обрабатывает программное обеспечение корпоративной информационной системы, включая системы корпоративной инфраструктуры, такие как планирование ресурсов предприятия (ERP), обработку транзакций мэйнфреймов, системы баз данных и другие унаследованные информационные системы.Например, компонентам приложений J2EE может потребоваться доступ к корпоративной информации для базы данных. Система подключения 3, платформа J2EE состоит из набора служб (служб), интерфейсов прикладных программ (API) и протоколов, которые обеспечивают функциональную поддержку для разработки многоуровневых веб-приложений.Ниже приводится простое описание 13 технических спецификаций в J2EE.описать

5. JDBC(Java Database Connectivity)

JDBC API обеспечивает одинаковый способ доступа к различным базам данных. Как и ODBC, JDBC скрывает некоторые детали от разработчиков. Кроме того, доступ JDCB к базам данных также не зависит от платформы. JNDI (интерфейс имени и каталога Java)

API JNDI используется для выполнения служб имен и каталогов. Он обеспечивает согласованную модель для доступа и управления ресурсами уровня предприятия, такими как DNS и LDAP, локальные файловые системы или объекты на серверах приложений.

6. EJB(Enterprise JavaBean)

Одной из причин, по которой технология J2EE привлекла к себе широкое внимание средств массовой информации, является EJB. Они обеспечивают основу для разработки и реализации распределенной бизнес-логики, что значительно упрощает разработку масштабируемых и очень сложных приложений корпоративного уровня. Спецификация EJB определяет, когда и как компоненты EJB взаимодействуют со своими контейнерами. Контейнеры отвечают за предоставление общих служб, таких как службы каталогов, управление транзакциями, безопасность, объединение ресурсов и отказоустойчивость. Но здесь стоит отметить, что EJB — не единственный способ реализации J2EE. Благодаря открытости J2EE некоторые производители могут достичь той же цели параллельно с EJB. RMI (вызов удаленного метода)

Как следует из названия, протокол RMI вызывает методы удаленных объектов. Он использует сериализацию для передачи данных между клиентом и сервером. RMI — это протокол более низкого уровня, используемый компонентами EJB.

7. Java IDL/CORBA

Благодаря поддержке Java IDL разработчики могут интегрировать Java и CORBA вместе. Они могут создавать объекты Java и делать их доступными для развертывания в CORBA ORB, или они могут создавать классы Java и действовать как клиенты объектов CORBA, развернутых с другими ORB. Последний подход предоставляет еще один способ использования Java для интеграции ваших новых приложений с унаследованными системами. JSP (страницы сервера Java)

Страница JSP состоит из кода HTML и встроенного в него кода Java. Сервер обрабатывает код Java после запроса страницы клиентом, а затем возвращает сгенерированную HTML-страницу браузеру клиента.

8. Java Servlet

Сервлет — это небольшая программа на языке Java, которая расширяет функциональные возможности веб-сервера. Как серверное приложение, оно начинает выполняться по запросу, подобно сценарию CGI Perl. Большинство функций, предоставляемых Servlet, похожи на JSP, но способ реализации отличается. JSP обычно представляет собой небольшое количество кода Java, встроенного в большую часть кода HTML, в то время как все сервлеты написаны на Java и генерируют HTML.

9. XML(Extensible Markup Language)

XML — это язык, который можно использовать для определения других языков разметки. Он используется для обмена данными в различных бизнес-процессах.

Развитие XML и Java не зависит друг от друга, однако у него и у Java одна и та же цель выравнивания

Стоя. Комбинируя Java и XML, можно получить идеально ровную
автономное решение.

10. JMS(Java Message Service)

MS — это интерфейс прикладного программирования (API) для связи с промежуточным программным обеспечением, ориентированным на сообщения. Он поддерживает как двухточечные домены, так и домены, поддерживающие типы публикации/подписки, а также обеспечивает поддержку следующих типов: санкционированный обмен сообщениями, транзакционный обмен сообщениями, последовательный обмен сообщениями и поддержка устойчивых подписок. JMS также предоставляет другой способ интеграции вашего приложения с устаревшими серверными системами.

11. JTA(Java Transaction Architecture)

JTA определяет стандартный API, из которого прикладные системы могут получать доступ к различным средствам мониторинга транзакций.

12. JTS(Java Transaction Service):

JTS — это базовая реализация мониторинга транзакций CORBA OTS. JTS определяет, как реализован менеджер транзакций. Менеджер транзакций — это образ Java, который поддерживает спецификацию Java Transaction API (JTA) на высоком уровне и реализует спецификацию OMG OTS на более низком уровне. Менеджер транзакций JTS предоставляет службы транзакций для серверов приложений, менеджеров ресурсов, независимых приложений и менеджеров коммуникационных ресурсов.

13. JavaMail

JavaMail — это API для доступа к почтовым серверам, который предоставляет набор абстрактных классов для почтовых серверов. Поддерживается не только SMTP-сервер, но и IMAP-сервер.

14. JAF(JavaBeans Activation Framework)

JavaMail использует JAF для обработки вложений электронной почты в кодировке MIME. Потоки байтов MIME можно преобразовывать в объекты Java и из них. Большинству приложений не нужно использовать JAF напрямую.