1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-26 08:22:08 +01:00
Files
archived-doc-es/reference/sam/setup.xml
Pedro Antonio Gil Rodríguez 231f6de4b7 Actualización a la última versión
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@334801 c90b9560-bf6c-de11-be94-00142212c4b1
2014-09-07 11:20:34 +00:00

364 lines
14 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: ba08db8805ddb14cbab613c893dd47eacbda22f2 Maintainer: regiemix Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="sam.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.setup;
<!-- {{{ Requirements -->
<section xml:id="sam.requirements">
&reftitle.required;
<para>
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 <link xlink:href="&url.ibm.ia94;">
Introducing XMS - The IBM Message Service API</link>.
</para>
<para>
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 (<link xlink:href="&url.ibm.mqc6;">MQC6</link>).
</para>
<para>
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 <literal>WebSphere Platform
Messaging (WPM)</literal> entonces no se necesita instalar el paquete
MQC6.
</para>
<para>
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 <envar>PATH</envar> de tal forma que Apache y PHP puedan encontrar las
.DLLs/bibliotecas necesarias.
</para>
</section>
<!-- }}} -->
<!-- {{{ Installation -->
<section xml:id="sam.installation">
&reftitle.install;
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;sam">&url.pecl.package;sam</link>.
</para>
<para>
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.
</para>
<para>
Si únicamente se desea utilizar el soporte interno MQTT entonces se puede
configurar SAM como una extensión o simplemente referir a
<filename>php_sam.php</filename> con una cláusula <function>require</function> o
<function>require_once</function> en su script PHP. En este caso
únicamente es necesario instalar el código sin construir la extensión utilizando el instalador
PEAR:
<screen>
<![CDATA[
pecl install -B SAM
]]>
</screen>
</para>
<!-- {{{ Linux -->
<section xml:id="sam.installation.linux">
<title>Pasos de la instalación Linux</title>
<para>
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:
<screen>
<![CDATA[
pecl install sam
]]>
</screen>
(Dependiendo de su entorno PHP, probablemente será necesario ser "root"
para hacer esto.)
</para>
<para>
Asegurar que el módulo es cargado por PHP, añadiendo la siguiente línea
a &php.ini;:
<screen>
<![CDATA[
extension=sam.so
]]>
</screen>
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.
<screen>
<![CDATA[
extension=sam_xms.so
]]>
</screen>
</para>
<para>
Si no puede utilizar el instalador PEAR, puede recargar la extensión
y la construcción manualmente:
<screen>
<![CDATA[
pear download sam #downloads sam-<version>.tgz
tar -xzf sam-<version>.tgz
cd sam-<version>
phpize
./configure
make
make install #debería ser "root" para ejecutar este paso
]]>
</screen>
</para>
<para>
Para trabajar con el código más reciente, necesitará extraerlo de
SVN y construirlo manualmente como en el paso anterior.
</para>
</section>
<!-- }}} -->
<!-- {{{ Windows -->
<section xml:id="sam.installation.windows">
<title>Pasos de instalación Windows</title>
<para>
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.
</para>
<para>
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.
</para>
<para>
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.
</para>
<para>
Se ha de tener algo parecido a:
<screen>
<![CDATA[
c:\php-build\-
|
|---php-5.0.5--|---build
| |---ext
| |--- ...
|
|---win32build--|---bin
|---include
|---lib
]]>
</screen>
</para>
<para>
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
<literal>SDK Microsoft Windows Platform</literal> que también puede
descargarse de la web de Microsoft.
</para>
<para>
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>
<para>
Para construir la extensión, abrir una ventana con un entorno de construcción yendo a
Inicio <screen>menu->Todos los programas->microsoft platform SDK for windows->
open build environment window->windows 200 build environment->
set windows 2000 build environment (retail)</screen>
</para>
<para>
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
<command>vcvars32.bat</command> en la ventana.
</para>
<para>
Cambiar el directorio a nuestro directorio de trabajo que hemos elegido p.e.
cd <filename>c:\php-build</filename>. Entonces
asegurar que las herramientas win32build son accesibles añadiéndolas a la
variable de entorno <envar>PATH</envar>:
<screen>
<![CDATA[
set PATH=..\win32build\bin;%PATH%
]]>
</screen>
</para>
<para>
Ejecutar el comando <command>buildconf.bat</command>. Esto debe reconstruir el fichero
<filename>configure.js</filename>.
</para>
<para>
Ejecutar el comando <command>cscript</command> con las opciones apropiadas. Para construir únicamente la
extensión SAM framework y el soporte MQTT utilizar:
<screen>
<![CDATA[
cscript /nologo configure.js --with-sam
]]>
</screen>
Para construir la framework SAM y el soporte XMS support utilizar:
<screen>
<![CDATA[
cscript /nologo configure.js --with-sam --with-sam_xms="c:\program files\ibm\xms"
]]>
</screen>
</para>
<para>
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.
</para>
<para>
Se puede especificar cualquier otro parámetro <command>cscript</command> que sea necesario para
incluir o excluir elementos de la construcción PHP u opciones seleccionadas.
</para>
<para>
Asumiendo que todo ha ido bien finalmente se debe ejecutar un "make" para la framework SAM!
<screen>
<![CDATA[
nmake php_sam.dll
]]>
</screen>
También si se está utilizando el soporte XMS se debe hacer el "make" de las extensiones sam_xms:
<screen>
<![CDATA[
nmake php_sam_xms.dll
]]>
</screen>
</para>
<para>
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á.
</para>
<para>
Las DLLs creadas (<filename>php_sam.dll</filename> y opcionalmente
<filename>php_sam_xms.dll</filename>) 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;:
<screen>
<![CDATA[
extension=php_sam.dll
]]>
</screen>
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.
<screen>
<![CDATA[
extension=php_sam_xms.dll
]]>
</screen>
</para>
</section>
<!-- }}} -->
<!-- {{{ VS2005 -->
<section xml:id="sam.installation.vs2005">
<title>Pasos adicionales para Visual Studio 2005</title>
<para>
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 <filename>php_sam.dll</filename> 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 <filename>php_sam.dll</filename> (habitualmente
Release_TS o Debug_TS bajo el directorio fuente de PHP) y ejecutar el
conjuro mágico siguiente:
<screen>
<![CDATA[
mt.exe -manifest php_sam.dll.manifest -outputresource:php_sam.dll;2
]]>
</screen>
Si se están utilizando las capacidades XMS será necesario hacer lo mismo con
SAM XMS DLL:
<screen>
<![CDATA[
mt.exe -manifest php_sam_xms.dll.manifest -outputresource:php_sam_xms.dll;2
]]>
</screen>
</para>
<para>
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
<link xlink:href="&url.ms.crt;">paquete de ejecución</link>.
</para>
</section>
<!-- }}} -->
</section>
<!-- }}} -->
<!-- {{{ Configuration -->
<section xml:id="sam.configuration">
&reftitle.runtime;
<section xml:id="sam.configuration.mapping">
<title>Soporte del protocolo y mapeado</title>
<para>
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".
</para>
<para>
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:
<screen>
<![CDATA[
[sam]
sam.factory.mqtt=mqtt
sam.factory.wmq=xms
sam.factory.wmq:client=xms
sam.factory.wmq:bindings=xms
sam.factory.wpm=xms
sam.factory.rtt=xms
]]>
</screen>
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 <literal>SAM_WMQ=wmq</literal>,
<literal>SAM_WPM=wpm</literal>, <literal>SAM_RTT=rtt</literal>,
<literal>SAM_MQTT=mqtt</literal>, etc.
</para>
<para>
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 <filename>sam_factory_xxx.php</filename>. Si no se encuentra la entrada, el soporte será por defecto XMS.
</para>
</section>
</section>
<!-- }}} -->
<!-- {{{ Resources -->
<section xml:id="sam.resources">
&reftitle.resources;
&no.resource;
</section>
<!-- }}} -->
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->