<?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>Data Base Adapter &#8211; Oscar Blancarte &#8211; Software Architecture</title>
	<atom:link href="https://www.oscarblancarteblog.com/tag/data-base-adapter/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.5</generator>

<image>
	<url>https://www.oscarblancarteblog.com/wp-content/uploads/2019/03/cropped-ob-32x32.png</url>
	<title>Data Base Adapter &#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>
	</channel>
</rss>
