Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
10 Июл 2023
3 мин
139

Как использовать Java API for XML Registries (JAXR)

Изучите основы JAXR и его использование для работы с XML-реестрами, такими как UDDI и ebXML, в нашей практической статье для новичков.

Java API for XML Registries (JAXR) предоставляет стандартный способ для Java-приложений взаимодействовать с различными видами XML-реестров. В этой статье мы рассмотрим основные понятия JAXR и как его использовать для работы с данными и реестрами.

Основы JAXR

JAXR является частью Java EE и предоставляет единый API для работы с различными реестрами, такими как UDDI (Universal Description, Discovery, and Integration) и ebXML (Electronic Business using eXtensible Markup Language). Он обеспечивает абстракцию от конкретных реализаций и протоколов, позволяя разработчикам использовать один и тот же код для работы с разными реестрами.

Создание подключения к реестру

Для начала работы с JAXR сначала необходимо создать подключение к реестру. Это можно сделать с помощью класса javax.xml.registry.ConnectionFactory. Вот пример создания подключения к UDDI-реестру:

import javax.xml.registry.Connection;
import javax.xml.registry.ConnectionFactory;
import javax.xml.registry.JAXRException;

public class JaxrExample {
    public static void main(String[] args) throws JAXRException {
        ConnectionFactory factory = ConnectionFactory.newInstance();
        factory.setProperty(ConnectionFactory.UDDI_FIND_QUALIFIER, "exactNameMatch");
        Connection connection = factory.createConnection();
        // работа с реестром
    }
}

Работа с данными реестра

После того, как подключение к реестру создано, можно начать работать с данными. В JAXR все данные представлены с помощью объектов, реализующих интерфейс javax.xml.registry.infomodel.RegistryObject. Эти объекты могут быть организациями, услугами, классификациями и другими сущностями, хранящимися в реестре.

Поиск объектов в реестре

Для поиска объектов в реестре используется интерфейс javax.xml.registry.BusinessQueryManager. Вот пример поиска организации по имени:

import javax.xml.registry.BusinessQueryManager;
import javax.xml.registry.RegistryService;
import javax.xml.registry.infomodel.Organization;
import java.util.Collection;

public class JaxrExample {
    public static void main(String[] args) throws JAXRException {
        // создание подключения (см. выше)
        RegistryService registryService = connection.getRegistryService();
        BusinessQueryManager queryManager = registryService.getBusinessQueryManager();

        String namePattern = "My Organization";
        Collection<Organization> organizations = queryManager.findOrganizations(null, namePattern, null, null, null, null);

        for (Organization organization : organizations) {
            System.out.println("Найдена организация: " + organization.getName().getValue());
        }
    }
}

Создание и сохранение объектов в реестре

Для создания и сохранения объектов в реестре используется интерфейс javax.xml.registry.BusinessLifeCycleManager. Вот пример создания и сохранения новой организации:

import javax.xml.registry.BusinessLifeCycleManager;
import javax.xml.registry.JAXRException;
import javax.xml.registry.infomodel.Organization;
import javax.xml.registry.infomodel.User;

public class JaxrExample {
    public static void main(String[] args) throws JAXRException {
        // создание подключения и получение QueryManager (см. выше)
        BusinessLifeCycleManager lifeCycleManager = registryService.getBusinessLifeCycleManager();

        User user = queryManager.getAuthenticatedUser();
        Organization organization = lifeCycleManager.createOrganization(lifeCycleManager.createInternationalString("My New Organization"));
        organization.setPrimaryContact(user);

        lifeCycleManager.saveOrganizations(Collections.singletonList(organization));
        System.out.println("Организация создана");
    }
}

😉 В заключение, JAXR предоставляет универсальный API для работы с XML-реестрами, такими как UDDI и ebXML. В этой статье мы рассмотрели основные понятия JAXR и примеры его использования для работы с данными и реестрами.

Для дальнейшего изучения JAXR рекомендуется обратиться к официальной документации Java EE и примерам кода для различных реестров. Удачи вам в освоении JAXR и разработке Java-приложений!

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий