API do Servidor Integrado

O WebSphere eXtreme Scale inclui interfaces de programação de aplicativos (APIs) e interfaces de programação do sistema para integrar clientes e servidores eXtreme Scale dentro de seus aplicativos Java existentes. O tópico a seguir descreve as APIs de servidor integradas disponíveis.

Instanciando o Servidor eXtreme Scale

É possível utilizar várias propriedades para configurar a instância do servidor eXtreme Scale, que pode ser recuperada do método ServerFactory.getServerProperties. O objeto ServerProperties é um singleton, portanto, cada chamada para o método getServerProperties recupera a mesma instância.

É possível criar um novo servidor com o seguinte código.

Server server = ServerFactory.getInstance();

Todas as propriedades configuradas antes da primeira chamada de getInstance são utilizadas para inicializar o servidor.

Configurando Propriedade de Servidor

É possível configurar as propriedades do servidor até que ServerFactory.getInstance seja chamado pela primeira vez. A primeira chamada do método getInstance instancia o servidor eXtreme Scale e lê todas as propriedades configuradas. Configurar as propriedades após a criação não tem efeito. O exemplo a seguir mostra como configurar propriedades antes de criar uma instância do Servidor.

// Get the server properties associated with this process.
ServerProperties serverProperties = ServerFactory.getServerProperties();

// Set the server name for this process.
serverProperties.setServerName("EmbeddedServerA");

// Set the name of the zone this process is contained in.
serverProperties.setZoneName("EmbeddedZone1");

// Set the end point information required to bootstrap to the catalog service.
serverProperties.setCatalogServiceBootstrap("localhost:2809");

// Set the ORB listener host name to use to bind to.
serverProperties.setListenerHost("host.local.domain");

// Set the ORB listener port to use to bind to.
serverProperties.setListenerPort(9010);

// Turn off all MBeans for this process.
serverProperties.setMBeansEnabled(false);

Server server = ServerFactory.getInstance();

Integrando o Serviço de Catálogo

Qualquer configuração JVM que é sinalizada pelo método CatalogServerProperties.setCatalogServer pode hospedar o serviço de catálogo para o eXtreme Scale. Este método indica ao tempo de execução do servidor do eXtreme Scale para instanciar o serviço de catálogo quando o servidor for iniciado. O código a seguir mostra como instanciar o servidor de catálogos do eXtreme Scale:
CatalogServerProperties catalogServerProperties = 
	ServerFactory.getCatalogProperties();
catalogServerProperties.setCatalogServer(true);

Server server = ServerFactory.getInstance();

Integrando o Contêiner do eXtreme Scale

Emita o método Server.createContainer para qualquer JVM para hospedar vários contêineres do eXtreme Scale. O código a seguir mostra como instanciar um contêiner do eXtreme Scale:

Server server = ServerFactory.getInstance();
DeploymentPolicy policy = DeploymentPolicyFactory.createDeploymentPolicy(
    new
File("META-INF/embeddedDeploymentPolicy.xml").toURI().toURL(),
    new File("META-INF/embeddedObjectGrid.xml").toURI().toURL());
Container container = server.createContainer(policy);

Processo do Servidor Autocontido

Você pode iniciar todos os serviços juntos, o que é útil para o desenvolvimento e também prático na produção. Ao iniciar os serviços juntos, um único processo faz todo o seguinte: inicia o serviço de catálogo, inicia um conjunto de contêineres e executa a lógica de conexão do cliente. A inicialização dos serviços desta forma classifica os problemas de programação antes da implementação em um ambiente distribuído. O código a seguir mostra como instanciar um servidor eXtreme Scale autocontido:

CatalogServerProperties catalogServerProperties = 
	ServerFactory.getCatalogProperties();
catalogServerProperties.setCatalogServer(true);

Server server = ServerFactory.getInstance();
DeploymentPolicy policy = DeploymentPolicyFactory.createDeploymentPolicy(
    new
File("META-INF/embeddedDeploymentPolicy.xml").toURI().toURL(),
    new File("META-INF/embeddedObjectGrid.xml").toURI().toURL());
Container container = server.createContainer(policy);

Incorporando o eXtreme Scale no WebSphere Application Server

A configuração para o eXtreme Scale é definida automaticamente quando o eXtreme Scale é instalado em um ambiente do WebSphere Application Server. Você não precisa configurar quaisquer propriedades antes de acessar o servidor para criar um contêiner. O código a seguir mostra como instanciar um servidor do eXtreme Scale no WebSphere Application Server:

Server server = ServerFactory.getInstance();
DeploymentPolicy policy = DeploymentPolicyFactory.createDeploymentPolicy(
    new
File("META-INF/embeddedDeploymentPolicy.xml").toURI().toURL(),
    new File("META-INF/embeddedObjectGrid.xml").toURI().toURL);
Container container = server.createContainer(policy);
Para obter um exemplo passo a passo de como iniciar um serviço de catálogo integrado e contêiner programaticamente, consulte Usando a API do Servidor Integrado para Iniciar e Parar Servidores.