API de servidor incorporado

WebSphere eXtreme Scale incluye interfaces de programación de aplicaciones (API) e interfaces de programación del sistema para incorporar servidores y clientes de eXtreme Scale a sus aplicaciones Java existentes. El tema siguiente describe las API de servidor incorporado disponibles.

Creación de instancias del servidor eXtreme Scale

Puede utilizar diversas propiedades para configurar la instancia del servidor eXtreme Scale, que puede recuperar del método ServerFactory.getServerProperties. El objeto ServerProperties es un singleton, de modo que cada llamada al método getServerProperties recupera la misma instancia.

Puede crear un servidor nuevo con el código siguiente.

Server server = ServerFactory.getInstance();

Todas las propiedades definidas antes de la primera invocación de getInstance se utilizan para inicializar el servidor.

Establecimiento de las propiedades de servidor

Puede establecer las propiedades de servidor hasta que se llame a ServerFactory.getInstance por primera vez. La primera llamada del método getInstance crea una instancia del servidor eXtreme Scale y lee todas las propiedades configuradas. Establecer las propiedades después de la creación no tiene ningún efecto. El ejemplo siguiente muestra cómo definir propiedades antes de crear una instancia de Server.

// Obtener las propiedades de servidor asociadas con este proceso.
ServerProperties serverProperties = ServerFactory.getServerProperties();

// Establecer el nombre del servidor para este proceso.
serverProperties.setServerName("EmbeddedServerA");

// Establecer el nombre de la zona donde está contenido este proceso.
serverProperties.setZoneName("EmbeddedZone1");

// Establecer la información de punto final necesaria para crear una rutina de
carga para el servicio de catálogo.
serverProperties.setCatalogServiceBootstrap("localhost:2809");

// Establecer el nombre de host de escucha ORB que se va a utilizar en los enlaces.
serverProperties.setListenerHost("host.local.domain");

// Establecer el puerto de escucha ORB que se va a utilizar en los enlaces.
serverProperties.setListenerPort(9010);

// Desactivar todos los MBeans de este proceso.
serverProperties.setMBeansEnabled(false);

Server server = ServerFactory.getInstance();

Incorporación del servicio de catálogo

Cualquier valor de JVM señalado por el método CatalogServerProperties.setCatalogServer puede albergar el servicio de catálogo de eXtreme Scale. Este método indica al tiempo de ejecución del servidor eXtreme Scale que cree una instancia del servicio de catálogo cuando se inicie el servidor. El código siguiente muestra cómo crear la instancia del servidor de catálogo de eXtreme Scale:
CatalogServerProperties catalogServerProperties = 
	ServerFactory.getCatalogProperties();
catalogServerProperties.setCatalogServer(true);

Server server = ServerFactory.getInstance();

Incorporación del contenedor de eXtreme Scale

Emita el método Server.createContainer de cualquier JVM para albergar varios contenedores de eXtreme Scale. El código siguiente muestra cómo crear la instancia de un contenedor de 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);

Proceso de servidor autónomo

Puede iniciar todos los servicios de forma conjunta, que es práctico para el desarrollo y, también, práctico para la producción. Al iniciar los servicios de forma conjunta, un único proceso realiza todo lo siguiente: inicia el servicio de catálogo, inicia un conjunto de contenedores y ejecutar la lógica de conexión de cliente. Iniciar los servidores de esta forma clasifica los problemas de programación antes del despliegue en un entorno distribuido. El código siguiente muestra como crear la instancia de un servidor eXtreme Scale autónomo:

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);

Incorporación de eXtreme Scale in WebSphere Application Server

La configuración de eXtreme Scale se realiza automáticamente al instalar eXtreme Scale en un entorno de WebSphere Application Server. No es necesario establecer ninguna propiedad antes de acceder al servidor para crear un contenedor. El código siguiente muestra cómo crear instancias de un servidor eXtreme Scale en 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 ver un ejemplo paso a paso de cómo iniciar un servicio de catálogo y contenedor incorporado mediante programación, consulte el apartado Utilización de la API de servidor incorporado para iniciar y detener servidores.