<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>soa suite &#8211; Oscar Blancarte &#8211; Software Architecture</title>
	<atom:link href="https://www.oscarblancarteblog.com/tag/soa-suite-2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.oscarblancarteblog.com</link>
	<description>Software Architect &#38; FullStack developer</description>
	<lastBuildDate>Tue, 22 Jul 2014 16:47:13 +0000</lastBuildDate>
	<language>es-MX</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.5.9</generator>

<image>
	<url>https://www.oscarblancarteblog.com/wp-content/uploads/2019/03/cropped-ob-32x32.png</url>
	<title>soa suite &#8211; Oscar Blancarte &#8211; Software Architecture</title>
	<link>https://www.oscarblancarteblog.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">89905023</site>	<item>
		<title>SOA Suite &#8211; Como usar el DataBase Adapter</title>
		<link>https://www.oscarblancarteblog.com/2014/07/22/soa-suite-como-usar-el-database-adapter-en-una-composicion-soa/</link>
					<comments>https://www.oscarblancarteblog.com/2014/07/22/soa-suite-como-usar-el-database-adapter-en-una-composicion-soa/#respond</comments>
		
		<dc:creator><![CDATA[oblancarte]]></dc:creator>
		<pubDate>Tue, 22 Jul 2014 16:47:13 +0000</pubDate>
				<category><![CDATA[BPEL]]></category>
		<category><![CDATA[SOA Suite]]></category>
		<category><![CDATA[bpel]]></category>
		<category><![CDATA[Data Base Adapter]]></category>
		<category><![CDATA[soa suite]]></category>
		<guid isPermaLink="false">http://javamex.wordpress.com/?p=167</guid>

					<description><![CDATA[<p>En post pasados ya he hablado de que es una Composición SOA y de los Componentes que ofrece Oracle SOA Suite sin embargo es esta ocasión nos enfocaremos al DataBase Adapter para crear una composición la cual se conecte a una base de datos y guarde los datos de un registro de usuario. En este punto asumimos que ya [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.oscarblancarteblog.com/2014/07/22/soa-suite-como-usar-el-database-adapter-en-una-composicion-soa/">SOA Suite &#8211; Como usar el DataBase Adapter</a> appeared first on <a rel="nofollow" href="https://www.oscarblancarteblog.com">Oscar Blancarte - Software Architecture</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>				<a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/composite21.png"><img loading="lazy" class="alignleft wp-image-188" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/composite21.png" alt="DataBase Adapter" width="207" height="100" /></a>En post pasados ya he hablado de que es una <a href="https://www.oscarblancarteblog.com/2014/07/16/oracle-soa-suite-que-es-un-composite/" target="_blank" rel="noopener noreferrer">Composición SOA</a> y de los <a href="https://www.oscarblancarteblog.com/2014/07/17/soa-suite-componentes-de-una-composicion-soa/" target="_blank" rel="noopener noreferrer">Componentes</a> que ofrece Oracle SOA Suite sin embargo es esta ocasión nos enfocaremos al DataBase Adapter para crear una composición la cual se conecte a una base de datos y guarde los datos de un registro de usuario.</p>
<p>En este punto asumimos que ya sabes como crear un proyecto SOA, configurar un <a href="https://www.oscarblancarteblog.com/2014/07/21/como-crear-un-datasource-en-weblogic/" target="_blank" rel="noopener noreferrer">Data Source</a> y un <a href="https://www.oscarblancarteblog.com/2014/07/21/como-crear-un-connection-pool-en-weblogic/" target="_blank" rel="noopener noreferrer">Connection Pool</a> desde la consola de WebLogic.<span id="more-167"></span></p>
<p>&nbsp;</p>
<p>Una vez creado nuestro proyecto SOA lo que sigue es crear un <a href="https://www.oscarblancarteblog.com/2014/07/16/que-es-un-schema-en-xml/" target="_blank" rel="noopener noreferrer">Schema</a> el cual contenga los tipos de datos que usaremos para el Request y Response de nuestro servicio el cual quedaría a sí.</p>
<p><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/schema.png"><img loading="lazy" class="aligncenter wp-image-172 size-full" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/schema.png" alt="DataBase Adapter" width="343" height="557" /></a></p>
<p style="text-align: center;">fig.1: Muestra la estructura del schema necesario para crear el servicio de registro de usuarios.</p>
<p style="text-align: left;">Ya con el schema procedemos a crear un proceso <a href="https://www.oscarblancarteblog.com/2014/07/16/oracle-soa-suite-como-crear-un-bpel/" target="_blank" rel="noopener noreferrer">BPEL</a> con el schema anterior y configuramos para que quede de la siguiente manera:</p>
<p style="text-align: left;"><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/createbpel2.png"><img loading="lazy" class="aligncenter wp-image-173" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/createbpel2.png" alt="DataBase Adapter" width="512" height="355" /></a></p>
<p style="text-align: center;">Fig.2: Muestra la configuración del BPEL con el Reques y Response del Schema anterior.</p>
<p style="text-align: left;">El paso siguiente es crear la tabla de USUARIOS en nuestra base de datos la cual deberá estar accesible con el usuario que usaremos en el registro del DataSource.</p>
<p style="text-align: left;"><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/tablausuarios.png"><img loading="lazy" class="aligncenter wp-image-176 size-full" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/tablausuarios.png" alt="DataBase Adapter" width="353" height="145" /></a></p>
<p style="text-align: left;">En este punto tendremos la Composición SOA de la siguiente manera:</p>
<p style="text-align: left;"><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/composite1.png"><img loading="lazy" class="aligncenter wp-image-174" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/composite1.png" alt="DataBase Adapter" width="525" height="246" /></a></p>
<p style="text-align: center;">Fig.3: Estado de la Composición después de crear el proceso BPEL.</p>
<p style="text-align: left;">Lo que sigue a continuación es crear un DataBase Adapter para lo cual arrastramos el <strong>DataBase Adaper</strong> de la paleta a la sección de <strong>External References</strong> y nos saldrá el Wizzard y presionamos siguiente en la primera pantalla llevándonos a la siguiente pantalla:<a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/dbadapterwizzard2.png"><img loading="lazy" class="aligncenter wp-image-180" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/dbadapterwizzard2.png" alt="DataBase Adapter" width="451" height="378" /></a></p>
<p style="text-align: left;">En esta pantalla solo podremos el nombre que le daremos al Adaptador dentro de Composite por lo que ponemos un nombre que lo identifique rápidamente y presionamos <strong>Next </strong>para continuar.</p>
<p style="text-align: left;"> La siguiente tendremos que definir la forma en que nos vamos a conectar a la base de datos para lo cual vamos a requerir dos conexiones distintas, la primera(Arriba) es una conexión diracta con la base de datos que se utilizara exclusivamente en tiempo de desarrolla, ya que sera necesaria para introspectar la base de datos y crear los Schemas necesarios para hacer la comunicación. En caso de no tener ninguna disponible tendremos que crear una nueva con el botón verde de +.</p>
<p style="text-align: left;">Una vez configurada nuestra conexión tendremos que configurar la segunda(Abajo) esta es exclusiva para tiempo de ejecución y tendremos que poner el nombre del JNDI de un Connection Pool (<a href="https://www.oscarblancarteblog.com/2014/07/21/como-crear-un-connection-pool-en-weblogic/" target="_blank" rel="noopener noreferrer">Como crear un Connection Pool</a>) registrado en WebLogic y presionamos <strong>Next</strong> para continuar.<a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/dbadapterwizzard3.png"><img loading="lazy" class="aligncenter wp-image-181" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/dbadapterwizzard3.png" alt="DataBase Adapter" width="509" height="427" /></a></p>
<p style="text-align: left;">En la siguiente pantalla tendremos que especificar el tipo de operaciones que realizaremos, En este caso como solo haremos Insert y Select seleccionamos las opciones siguientes y presionamos <strong>Next.<a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/dbadapterwizzard4.png"><img loading="lazy" class="aligncenter wp-image-182" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/dbadapterwizzard4.png" alt="DataBase Adapter" width="501" height="419" /></a></strong></p>
<p style="text-align: left;"> La siguiente pantalla es para seleccionar las tablas con las que estaremos trabajando por lo que el botón de <strong>Import Tables </strong>y seleccionamos la tabla de usuarios para continuar.</p>
<p style="text-align: left;"><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/dbadapterwizzard5.png"><img loading="lazy" class="aligncenter wp-image-183" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/dbadapterwizzard5.png" alt="DataBase Adapter" width="495" height="254" /></a></p>
<p style="text-align: left;">La siguiente pantalla es para realizar las asociaciones pero como no tenemos solo presionamos <strong>Next</strong>.</p>
<p style="text-align: left;">El wizzard nos dirigirá a la pantalla para seleccionar los campo con lo cuales podremos interactuar por lo que seleccionamos todos y continuamos.<a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/dbadapterwizzard7.png"><img loading="lazy" class="aligncenter wp-image-184" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/dbadapterwizzard7.png" alt="DataBase Adapter" width="512" height="432" /></a></p>
<p style="text-align: left;"> En el siguiente paso configuramos el Query del Select de la siguiente manera pues buscaremos al Usuario por medio de su nombre de usuario o correo.</p>
<p style="text-align: left;"><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/dbadapterwizzard8.png"><img loading="lazy" class="aligncenter wp-image-185" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/dbadapterwizzard8.png" alt="DataBase Adapter" width="503" height="421" /></a>Finalmente presionamos Next en las dos siguientes pantalla para finalizar y tendremos el DBAdapter en nuestra composición.</p>
<p style="text-align: left;">El siguiente paso sera asociar el DBAdapter al BPEL como se muestra en la siguiente imagen:<a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/composite21.png"><img loading="lazy" class="aligncenter wp-image-188" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/composite21.png" alt="DataBase Adapter" width="500" height="247" /></a></p>
<p style="text-align: left;">En este punto la composición SOA ya esta lista pero faltara programar el BPEL para que realice las operaciones necesaria para registrar al usuario.</p>
<p style="text-align: left;">En este caso la lógica del BPEL sera la siguiente, Cuando llega una solicitud validara que el nombre de usuario no exista consultando la tabla por medio del nombre de usuario, si no existe registrara al usuario y regresara el código &#8216;000&#8217; y la leyenda &#8216;Registro Exitoso&#8217;, en caso de que el usuario ya exista regresaremos el error &#8216;111&#8217; y la leyenda &#8216;Usuario existente&#8217; y finalizara.</p>
<p style="text-align: left;"><strong>DESARROLLO DEL BPEL</strong></p>
<p style="text-align: left;">Primero que nada abrimos el BPEL dando doble click sobre el, esto nos llevara al editor y veremos lo siguiente en pantalla:</p>
<p style="text-align: left;"><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel1.png"><img loading="lazy" class="aligncenter wp-image-189" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel1.png" alt="DataBase Adapter" width="465" height="281" /></a>Si prestamos atención en la imagen veremos en rojo el DBAdapter que configuramos hace un momento como un PartnerLink lo cual indica que todo va bien hasta ahorita.</p>
<p style="text-align: left;">El siguiente paso sera crear una actividad Invoke de la siguiente manera:</p>
<p style="text-align: left;"><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel21.png"><img loading="lazy" class="aligncenter wp-image-191" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel21.png" alt="DataBase Adapter" width="524" height="297" /></a>En esta pantalla tendremos que definir primero que nada el nombre de la actividad en en el campo <strong>Name</strong>, después seleccionar el PartnerLink que deseamos invocar y tener cuidad de seleccionar la Operación de Select, Otro paso importante es crear la variables Input y Output de la parte de abajo y ponerles el nombre <strong>QueryUserInputVariable</strong> y <strong>QueryUserOutputVariable</strong> para finalizar.</p>
<p style="text-align: left;">Seguido creamos un actividad Assign para asignar los valores de entrada(InputVariable) a la variable de entrada del servicio (<strong>QueryUserInputVariable</strong>) para lo cual aremos la siguiente asignación:<a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/assign.png"><img loading="lazy" class="aligncenter wp-image-193" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/assign.png" alt="DataBase Adapter" width="493" height="309" /></a></p>
<p style="text-align: left;">El BPEL nos quedara de la siguiente manera:<a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel3.png"><img loading="lazy" class="aligncenter wp-image-194" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel3.png" alt="DataBase Adapter" width="520" height="311" /></a>En este momento la variable QueryUserOutputVariable contendrá los resultados de la invocación del servicio por lo que tendremos que validar si encontró resultados mediante una actividad IF debajo del la actividad Invoke y la configuraremos de la siguiente manera:<a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel4.png"><img loading="lazy" class="aligncenter wp-image-195 size-full" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel4.png" alt="DataBase Adapter" width="422" height="397" /></a>En este IF contamos los nodos del resultado, si es mayor que cero entonces quiere decir que el usuario ya existe y tendremos que regresar el error. Por lo cual agregamos una actividad Assign y un Reply quedando el IF de la siguiente manera:<a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel5.png"><img loading="lazy" class="aligncenter wp-image-197" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel5.png" alt="DataBase Adapter" width="425" height="309" /></a></p>
<p style="text-align: left;">La actividad <strong>ErrorAssign</strong> lo configuramos de la siguiente manera:<a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel6.png"><img loading="lazy" class="aligncenter wp-image-198" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel6.png" alt="DataBase Adapter" width="530" height="333" /></a></p>
<p style="text-align: left;">La actividad <strong>ErrorReply </strong>la configuramos de la siguiente manera:</p>
<p style="text-align: left;"><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel7.png"><img loading="lazy" class="aligncenter wp-image-200" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel7.png" alt="DataBase Adapter" width="531" height="305" /></a>Con esto lograremos que el BPEL regrese el error al detectar que ya existe el usuario.</p>
<p style="text-align: left;">El siguiente paso sera crear otra actividad Invoke para el mismo PartnerLink pero esta vez para la operación de Insert y definiremos las variables de entrada(InsertUsuarioInputVariable).</p>
<p style="text-align: left;"><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel8.png"><img loading="lazy" class="aligncenter wp-image-201" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel8.png" alt="DataBase Adapter" width="505" height="531" /></a></p>
<p style="text-align: left;">Creamos una actividad Assign para asignar los valores de la variable <strong>InsertUsuarioInputVariable </strong>para que quede de la siguiente manera:<a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel9.png"><img loading="lazy" class="aligncenter wp-image-203 size-full" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpel9.png" alt="DataBase Adapter" width="660" height="411" /></a></p>
<p style="text-align: left;">Finalmente con un assign modificamos la variable OutputVariable para regresar el código 000 y la leyenda Registro Exitoso.</p>
<p style="text-align: left;">y el BPEL quedara de la siguiente manera:</p>
<p style="text-align: left;"><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpelfinal.png"><img loading="lazy" class="aligncenter wp-image-204 size-full" title="DataBase Adapter" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/bpelfinal.png" alt="DataBase Adapter" width="317" height="451" /></a></p>
<p style="text-align: left;">Solo nos queda deployar y probar el servicio.</p>
<p>The post <a rel="nofollow" href="https://www.oscarblancarteblog.com/2014/07/22/soa-suite-como-usar-el-database-adapter-en-una-composicion-soa/">SOA Suite &#8211; Como usar el DataBase Adapter</a> appeared first on <a rel="nofollow" href="https://www.oscarblancarteblog.com">Oscar Blancarte - Software Architecture</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.oscarblancarteblog.com/2014/07/22/soa-suite-como-usar-el-database-adapter-en-una-composicion-soa/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">167</post-id>	</item>
		<item>
		<title>SOA Suite &#8211; Componentes de una Composición SOA</title>
		<link>https://www.oscarblancarteblog.com/2014/07/17/soa-suite-componentes-de-una-composicion-soa/</link>
					<comments>https://www.oscarblancarteblog.com/2014/07/17/soa-suite-componentes-de-una-composicion-soa/#comments</comments>
		
		<dc:creator><![CDATA[oblancarte]]></dc:creator>
		<pubDate>Thu, 17 Jul 2014 21:03:07 +0000</pubDate>
				<category><![CDATA[SOA Suite]]></category>
		<category><![CDATA[soa suite]]></category>
		<guid isPermaLink="false">http://javamex.wordpress.com/?p=95</guid>

					<description><![CDATA[<p>En una entrada pasada ya hable acerca de lo que es una Composición SOA por lo que les dejo de nuevo el link por si quieren leerlo antes de empezar a ver los diferentes componentes que Oracle SOA Suite nos proporciona Componentes de una Composición SOA: Service Component HumanTask: Cuando automatizamos proceso por medio de BPEL [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.oscarblancarteblog.com/2014/07/17/soa-suite-componentes-de-una-composicion-soa/">SOA Suite &#8211; Componentes de una Composición SOA</a> appeared first on <a rel="nofollow" href="https://www.oscarblancarteblog.com">Oscar Blancarte - Software Architecture</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">En una entrada pasada ya hable acerca de lo que es una <a href="https://www.oscarblancarteblog.com/2014/07/16/oracle-soa-suite-que-es-un-composite/">Composición SOA</a> por lo que les dejo de nuevo el link por si quieren leerlo antes de empezar a ver los diferentes componentes que Oracle SOA Suite nos proporciona</p>
<p style="text-align: justify;">
<p style="text-align: justify;"><strong>Componentes de una Composición SOA:</strong><span id="more-95"></span></p>
<p style="text-align: justify;"><strong>Service Component</strong></p>
<ul style="text-align: justify;">
<li><strong>HumanTask: </strong>Cuando automatizamos proceso por medio de BPEL o BPM llega el momento en que la computadora no es capaz de tomar una decisión por si mismo por lo que requiere de la intervención de un Humano para que toma la decisión mas apropiada y a si continuar con el resto del flujo. Estas decisiones se hacen mediante HumanTask las cuales son mini-aplicaciones ADF que son desplegadas en el portal WorkList de la SOA Suite.</li>
</ul>
<ul style="text-align: justify;">
<li><strong>Business Rule: </strong>Este componente sirve para exponer reglas de negocio re-utilizables que pueden ser modificadas sin necesidad de desplegar nuevamente. En una Business Rule podemos definir funciones que ayuden a hacer cálculos o tomar sediciones de una forma mas inteligente, También nos da la posibilidad de crear Tablas de sección las cuales arrojan un resultado mediante la evaluación de reglas cruzadas.</li>
<li><strong>BPEL Process: </strong>Los BPEL estan diseñados para orquestar servios y realizar integraciones de forma automática con la menor interacción humana. Ya tengo una Entrada en la cual hablo mucho mas a detalle de lo <a href="https://www.oscarblancarteblog.com/2014/07/15/que-es-bpel/">que es un BPEL</a> y también hablo de <a href="https://www.oscarblancarteblog.com/2014/07/16/oracle-soa-suite-como-crear-un-bpel/">como crear un BPEL</a>.</li>
<li><strong>Mediator:</strong> Los mediator están diseñados para mediar entre un component y otro, es decir nos ayuda a convertir el formato de salida de un servicio en la entrada de otro, pero también nos sirve para inyectar nuevos parámetros.</li>
<li><strong>Spring Context: </strong>Para los ya familiarizados con este potente framework se le hará muy simple comprender su funcionalidad pero para lo que no les podría comentar que este componte nos sirve para tener una interacción mas directa con Java ya que a través de este componente es posible ejecutar clases java para hacer funcionalidad muy especificas que con BPEL serie imposible o muy difícil de realizar.</li>
<li></li>
</ul>
<p style="text-align: justify;"><strong>Service Adapter</strong></p>
<ul>
<li><strong>B2B Adapter: </strong>Este es un adaptador especifico para comunicarnos con la plataforma de B2B de Oracle SOA Suite por medio de una cola de mensajes JMS</li>
<li><strong>BAM Adapter: </strong>Este adaptador nos permite comunicarnos con Business Activity Monitor(BAM) una plataforma de monitorio en tiempo real.</li>
<li><strong>Data Base Adapter: </strong>Adaptador que nos permite interactuar con una base de datos determinada, Esta comunicación se hacer siempre a través de un Pool de conexiones que se tiene que configurar desde la consola de WebLogc y que es accedida por medio del JNDI.</li>
<li><strong>Direct Binding Adapter: </strong>Este es un adaptador que nos permite comunicarnos con nuestros recursos a a través del protocolo propietario de Oracle llamado t3 el cual tiene la ventaja que es mucho mas directo y que ayuda al performance.</li>
<li><strong>EJB Services: </strong>Adaptador que nos ayuda a comunicarnos por medio de EJB los cuales son parte del JavaEE.</li>
<li><strong>File Adapter:  </strong>Este adaptador esta diseñado para interactuar con sistemas de archivos o servidores FTP/SFTP y nos permite hacer operaciones de lectura, escritura y borrado.</li>
<li><strong>HTTP Binding: </strong>Este componente nos permite leer o enviar cualquier tipo dato a través de una conexión HTTP.</li>
<li><strong>JMS Adapter: </strong>Adaptador que nos permite recuperar y encolar mensajes en una Cola(Queue) JMS. Les comparto una entrada que habla de las <a href="https://www.oscarblancarteblog.com/2014/07/15/jms-en-las-integraciones/">Colas JMS</a>.</li>
<li><strong>Web Services: </strong>Uno de los mas usados y sirve para exponer un webservice o comunicarse con algún WebService externo.</li>
<li><strong>MQ Adapter: </strong>Bastante parecido al JMS Adapter pero este sirve para comunicarse con el proveedor MQ que le pertenece a IBM, Aun que al final sigue las especificaciones de JMS.</li>
</ul>
<p>&nbsp;</p>
<p>Por lo pronto lo dejo hasta aquí, mas adelante estaré publicando entradas para cada componente.		</p>
<p>The post <a rel="nofollow" href="https://www.oscarblancarteblog.com/2014/07/17/soa-suite-componentes-de-una-composicion-soa/">SOA Suite &#8211; Componentes de una Composición SOA</a> appeared first on <a rel="nofollow" href="https://www.oscarblancarteblog.com">Oscar Blancarte - Software Architecture</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.oscarblancarteblog.com/2014/07/17/soa-suite-componentes-de-una-composicion-soa/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">95</post-id>	</item>
		<item>
		<title>Que es BPEL</title>
		<link>https://www.oscarblancarteblog.com/2014/07/15/que-es-bpel/</link>
					<comments>https://www.oscarblancarteblog.com/2014/07/15/que-es-bpel/#comments</comments>
		
		<dc:creator><![CDATA[oblancarte]]></dc:creator>
		<pubDate>Tue, 15 Jul 2014 16:17:28 +0000</pubDate>
				<category><![CDATA[BPEL]]></category>
		<category><![CDATA[bpel]]></category>
		<category><![CDATA[composición soa]]></category>
		<category><![CDATA[composite]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[Schema]]></category>
		<category><![CDATA[soa]]></category>
		<category><![CDATA[soa suite]]></category>
		<category><![CDATA[webservice]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XSD]]></category>
		<guid isPermaLink="false">http://javamex.wordpress.com/2014/07/15/que-es-bpel/</guid>

					<description><![CDATA[<p>BPEL también conocido como Business Process Execution Language es un lenguaje diseñado por la organización OASIS la cual se encarga de definir estándares a nivel mundial, Este lenguaje esta definido en XML y esta diseñado para orquestar procesos de forma automática. Se le llama Orquestar por que BPEL es el encargado de consumir varios servicios en un [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://www.oscarblancarteblog.com/2014/07/15/que-es-bpel/">Que es BPEL</a> appeared first on <a rel="nofollow" href="https://www.oscarblancarteblog.com">Oscar Blancarte - Software Architecture</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">BPEL también conocido como Business Process Execution Language es un lenguaje diseñado por la organización OASIS la cual se encarga de definir estándares a nivel mundial, Este lenguaje esta definido en XML y esta diseñado para orquestar procesos de forma automática.</p>
<p style="text-align: justify;">Se le llama Orquestar por que BPEL es el encargado de consumir varios servicios en un orden especificado y realizar una función muy concreta.<span id="more-473"></span></p>
<p style="text-align: justify;">Escenario practico.</p>
<p style="text-align: justify;">Agencia de viaje: Imagínate que entras a un pagina de agencia de viaje en la cual puedes comprar un paquete que incluye boletos de avión y hotel. Lo único que tenemos que hacer nosotros es decir a donde queremos con la fecha y la agencia de viaje nos arrojara los paquetes con un precio y solo tenemos que pagar con nuestra tarjeta de crédito para que nuestra reservación quede lista.</p>
<p style="text-align: justify;">Una vez que confirmamos nuestra compra la agencia de viaje tendrá que hacer algunas operaciones que no dependen de ella como seria reservar el boleto de avión con la aerolínea, reservar los día del cuarto directamente con el Hotel, Hacer un cargo por el porcentaje que gana la agencia por realizar la venta y por ultimo guardar en el sistema de la agencia el registro de la venta.</p>
<p style="text-align: justify;"><a href="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/agencia-de-viaje4.png"><img loading="lazy" class="aligncenter  wp-image-7" src="http://www.oscarblancarteblog.com/wp-content/uploads/2014/07/agencia-de-viaje4.png" alt="Agencia de viaje" width="557" height="193" /></a></p>
<p style="text-align: justify;"><em>Fig.1: Muestra el proceso a realizar para completar una reservación.</em></p>
<p style="text-align: justify;">Si nos damos cuenta los pasos 2,3,4 no depende de la agencia de viaje si no de servicios que exponen los proveedores como webservices.</p>
<p style="text-align: justify;">Como encaja BPEL en este escenario.</p>
<p style="text-align: justify;">Con BPEL podemos crear un solo servicio que reciba todos los parámetros necesarios para realizar la operación como los datos de la reservación y los datos de la tarjeta de crédito, con estos primero realizaremos la reservación del avión, luego reservaremos el hotel, cargaremos nuestra utilidad al cliente, Guardaremos el registro de la reservación y finalmente regresaremos al cliente la confirmación al cliente. A este proceso se le conoce como orquestar ya que toma el flujo de la ejecución y realiza las tareas de forma automática y en un orden especificado.</p>
<p style="text-align: justify;">Si bien esto te puede parecer algo que cualquier lenguaje pueda realizar la realidad es que BPEL esta diseñador para estos escenarios lo que permite una programación mucho mas rápida.</p>
<p>The post <a rel="nofollow" href="https://www.oscarblancarteblog.com/2014/07/15/que-es-bpel/">Que es BPEL</a> appeared first on <a rel="nofollow" href="https://www.oscarblancarteblog.com">Oscar Blancarte - Software Architecture</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.oscarblancarteblog.com/2014/07/15/que-es-bpel/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">473</post-id>	</item>
	</channel>
</rss>
