&reftitle.setup;
&reftitle.required; La extensión SAM actúa de interface de los productos middleware IBM Messaging and Queuing utilizando un conjunto de librerías y un código cliente llamado XMS. Este paquete está disponible como una descarga gratuíta en la guía de soporte de IBM pack IA94. Hay una descripción de los links del paquete y de la descarga en el artículo Introducing XMS - The IBM Message Service API. Si se desea utilizar SAM para acceder a la infrastructura de mensajería y encolado de mensajes dentro de un WebSphere MQ entonces será necesario también tener instalado un gestor de colas local MQ o tener instalado el paquete cliente WebSphere MQ. El paquete cliente está disponible de forma gratuíta como un paquete de soporte (MQC6). Si lo que se desea es únicamente experimentar con el envío de mensajes hacia y desde las colas de WebSphere Application Server utilizando el protocolo WebSphere Platform Messaging (WPM) entonces no se necesita instalar el paquete MQC6. Después de la instalación de estos paquetes es necesario asegurarse de que el directorio XMS binary y, si se están utilizando, el directorio MQ client bin, están incluídos en la variable de entorno PATH de tal forma que Apache y PHP puedan encontrar las .DLLs/bibliotecas necesarias.
&reftitle.install; &pecl.info; &url.pecl.package;sam. El soporte de la framework SAM y MQTT puede ser construído y utilizado sin ningún otro requisito previo. El soporte para otros protocolos a parte de MQTT se proporciona en un conjunto de librerías y un código cliente denominado XMS. Si únicamente se desea utilizar el soporte interno MQTT entonces se puede configurar SAM como una extensión o simplemente referir a php_sam.php con una cláusula require o require_once en su script PHP. En este caso únicamente es necesario instalar el código sin construir la extensión utilizando el instalador PEAR:
Pasos de la instalación Linux La extensión SAM se proporciona como un módulo PECL module, el cual se puede descargar e instalar en un solo paso como se muestra a continuación: (Dependiendo de su entorno PHP, probablemente será necesario ser "root" para hacer esto.) Asegurar que el módulo es cargado por PHP, añadiendo la siguiente línea a &php.ini;: Si se desea utilizar el soporte XMS para acceder a la familia IBM Messaging and Queuing se debe también activar la extensión SAM XMS. Si no puede utilizar el instalador PEAR, puede recargar la extensión y la construcción manualmente: .tgz tar -xzf sam-.tgz cd sam- phpize ./configure make make install #debería ser "root" para ejecutar este paso ]]> Para trabajar con el código más reciente, necesitará extraerlo de SVN y construirlo manualmente como en el paso anterior.
Pasos de instalación Windows Probablemente será necesario construir la extensión SAM para Windows puesto que sólo hay un rango liminado de ficheros binarios precompilados disponibles en la web de SAM. La extensión puede construirse utilizando los procedimientos estándares de construcción de las extensiones Windows. Necesitará las fuentes de PHP para la versión de PHP para la que se quiere construir la extensión SAM, las cuales se pueden obtener de php.net. Se debe desempaquetar en un directorio de trabajo cualquiera. También serán necesarias las librerías y cabeceras utilizadas por las extensiones PHP disponibles de http://www.php.net/extra/win32build.zip y éstas deben ser descomprimidas de tal forma que se sitúen en el directorio de trabajo. Se ha de tener algo parecido a: Será necesario un compilador como la versión gratuíta de Visual Studio C++ Express de la web de Microsoft. También será necesario el SDK Microsoft Windows Platform que también puede descargarse de la web de Microsoft. Obtener el código de la extensión SAM utilizando PEAR (pecl download sam) o SVN y copiar los ficheros a un nuevo directorio "sam" bajo el directorio "ext" en su árbol de código PHP. Para construir la extensión, abrir una ventana con un entorno de construcción yendo a Inicio menu->Todos los programas->microsoft platform SDK for windows-> open build environment window->windows 200 build environment-> set windows 2000 build environment (retail) Esto debe abrir una ventana de comandos con todas las variables de entorno configuradas para acceder a la plataforma SDK etc. Entonces será necesario definir las variables de entorno de Visual Studio mediante el comando vcvars32.bat en la ventana. Cambiar el directorio a nuestro directorio de trabajo que hemos elegido p.e. cd c:\php-build. Entonces asegurar que las herramientas win32build son accesibles añadiéndolas a la variable de entorno PATH: Ejecutar el comando buildconf.bat. Esto debe reconstruir el fichero configure.js. Ejecutar el comando cscript con las opciones apropiadas. Para construir únicamente la extensión SAM framework y el soporte MQTT utilizar: Para construir la framework SAM y el soporte XMS support utilizar: El parámetro adicional pasado para sam_xms es el path de instalación a las librerias XMS y el runtime que fue instalado tal y como se describió en el apartado de requisitos previos al principio de esta página. Se puede especificar cualquier otro parámetro cscript que sea necesario para incluir o excluir elementos de la construcción PHP u opciones seleccionadas. Asumiendo que todo ha ido bien finalmente se debe ejecutar un "make" para la framework SAM! También si se está utilizando el soporte XMS se debe hacer el "make" de las extensiones sam_xms: Si se ha utilizado Visual Studio 2005 para construir las DLLs lea, por favor, los pasos siguientes que se especifican abajo para ejecutar antes de continuar más allá. Las DLLs creadas (php_sam.dll y opcionalmente php_sam_xms.dll) pueden copiarse ahora al subdirectorio apropiado de su configuración PHP . Asegurarse de que el/los módulo/s son cargados por PHP, añadiendo las siguientes líneas a &php.ini;: Si se desea utilizar el soporte XMS para acceder a la familia IBM Messaging and Queuing se debe activar también la extensión SAM XMS.
Pasos adicionales para Visual Studio 2005 Si se construye la extensión SAM extension con el compilador y las herramientas Microsoft Visual Studio 2005 es necesario realizar otro paso en el proceso de construcción para asegurar que php_sam.dll puede linkar con las librerías del runtime C runtime en el momento de ejecución. Este paso incluye el manifiesto de dependencia en la DLL. Ir al directorio donde se ha generado php_sam.dll (habitualmente Release_TS o Debug_TS bajo el directorio fuente de PHP) y ejecutar el conjuro mágico siguiente: Si se están utilizando las capacidades XMS será necesario hacer lo mismo con SAM XMS DLL: Si se construye la extensión SAM utilizando el compilador y las librerías de Microsoft Visual Studio 2005 también será necesario asegurar que los componentes del ejecutable están instalados en el sistema en el cual se desea utilizar SAM. Esto se puede hacer instalando Visual Studio 2005 o utilizando el distribuíble gratuíto paquete de ejecución.
&reftitle.runtime;
Soporte del protocolo y mapeado La framework SAM puede ser extendida para soportar otros protocolos de mensajería y mecanismos de conexión. Para añadir el soporte para una nueva librería de protocolo o conexión se debe definir una clase de soporte, ya sea como una extensión C o como un script PHP, y un script "factory" debe ser creado. La clase de soporte debe implementar todos los métodos de la clase SAMConnection aunque ésta no debe heredarlos de SAMConnection. El script de factory debe ser llamado por la framework SAM para crear una instancia de la clase implementada. La manera que SAM elige que factory llamar está basada en el protocolo especificado como el primer parámetro del método "connect". Por defecto el soporte interno MQTT será utilizado si una llamada connect especifica un protocolo de SAM_MQTT ("mqtt"), para cualquier otro protocolo SAM intentará utilizar la extensión de soporte XMS. Para añadir soporte para protocolos adicionales o para modificar el comportamiento por defecto, las entradas deben añadirse a &php.ini; en la sección [sam]. El mapeado por defecto es equivalente a las siguientes entradas: Como se puede ver en estos ejemplos las entradas toman la forma "sam.factory.pppp=xxx" donde pppp es el string con el protocolo especificado en el método connect y xxx es un sufijo de factory. Nota: SAM define constantes para ese string con el protocolo como SAM_WMQ=wmq, SAM_WPM=wpm, SAM_RTT=rtt, SAM_MQTT=mqtt, etc. Cuando se identifique el código de soporte a utilizar en un método connect SAM busca el nombre del protocolo en la entradas del fichero &php.ini; y entonces invoca un script de factory llamado sam_factory_xxx.php. Si no se encuentra la entrada, el soporte será por defecto XMS.
&reftitle.resources; &no.resource;