<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2015846341115824002</id><updated>2026-08-11T14:47:45.460+02:00</updated><category term="Big Data"/><category term="Cloudera"/><category term="Kafka"/><category term="OAS"/><category term="Oracle"/><category term="Portal"/><category term="SSO"/><category term="Topic"/><category term="ValidatorForm"/><category term="ajax"/><category term="dwr"/><category term="ecosistema de software"/><category term="java"/><category term="metodologías"/><category term="scrum"/><category term="ssosdk"/><category term="struts"/><category term="validate"/><title type='text'>El blog de Tala</title><subtitle type='html'>Analyst / IT Consultant / J2EE and BigData Architecture</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jmtalavera.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://jmtalavera.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>jmtalavera</name><uri>http://www.blogger.com/profile/17883424835757744295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2015846341115824002.post-5761583760607413920</id><published>2020-04-17T14:16:00.000+02:00</published><updated>2020-04-17T14:16:52.469+02:00</updated><title type='text'>Imágenes Dockers</title><content type='html'>Estoy aprendiendo bastante sobre el tema de docker y docker swarm , gestión de Stacks, Servicios, Containers, Volumenes, .. y sus configuraciones.&lt;br /&gt;
&lt;br /&gt;
Una herramienta que me está ayudando mucho es Portainer, te permite llevar la administración de todos tus servidores docker de manera sencilla y ágil. Muy recomendable:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.portainer.io/&quot;&gt;https://www.portainer.io/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Pongo un enlace a mi perfil en docker hub por si le queréis echar un vistazo:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://hub.docker.com/repository/docker/jmtalavera&quot;&gt;https://hub.docker.com/repository/docker/jmtalavera&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Y mi código en GitHub:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/jmtalavera1978/docker&quot;&gt;https://github.com/jmtalavera1978/docker&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://jmtalavera.blogspot.com/feeds/5761583760607413920/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jmtalavera.blogspot.com/2020/04/imagenes-dockers.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/5761583760607413920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/5761583760607413920'/><link rel='alternate' type='text/html' href='http://jmtalavera.blogspot.com/2020/04/imagenes-dockers.html' title='Imágenes Dockers'/><author><name>jmtalavera</name><uri>http://www.blogger.com/profile/17883424835757744295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015846341115824002.post-661770942720338833</id><published>2018-02-14T17:18:00.001+01:00</published><updated>2022-11-17T12:05:15.450+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Big Data"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloudera"/><category scheme="http://www.blogger.com/atom/ns#" term="Kafka"/><category scheme="http://www.blogger.com/atom/ns#" term="Topic"/><title type='text'>BIGDATA - KAFKA - Introducción y Comandos Básicos para Topics</title><content type='html'>&lt;h2&gt;
&lt;span lang=&quot;FR&quot;&gt;1.&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;FR&quot;&gt;INTRODUCCIÓN&lt;/span&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;Kafka es un sistema de mensajería &lt;/span&gt;&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;(&lt;/span&gt;&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;Publish-Subscribe&lt;/span&gt;&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;)&lt;/span&gt;&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
de alto rendimiento, escalable y tolerante a fallos diseñado para inge&lt;/span&gt;&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;rir&lt;/span&gt;&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
datos a gran velocidad.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;1.1.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Conceptos&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;/div&gt;
&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt; text-indent: -18pt;&quot;&gt;Kafka mantiene los mensajes en categorías llamadas &lt;b&gt;Topics&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt; text-indent: -18pt;&quot;&gt;Los &lt;b&gt;productores &lt;/b&gt;publican mensajes en un Topic Kafka.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt; text-indent: -18pt;&quot;&gt;Los &lt;b&gt;consumidores &lt;/b&gt;se suscriben a los Topics y reciben los mensajes
publicados en estos Topics.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt; text-indent: -18pt;&quot;&gt;Kafka se ejecuta como un cluster de uno o más servidores, cada
una de los cuales se llama &lt;b&gt;Broker&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/span&gt;&lt;/ul&gt;
&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
&lt;/span&gt;
&lt;div&gt;
&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span face=&quot;&amp;quot;verdana&amp;quot; , sans-serif&quot; lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span lang=&quot;FR&quot;&gt;1.2.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Estilo de Mensajería&lt;/span&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;Los sistemas de mensajería tradicionales tienen
2 modelos: Queues (P2P) y Topics (Publish-Suscribe).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;En una cola (Queue) cada mensaje va a un
consumidor, mientras que en un Tópico (Topic) se hace emite cada mensaje a
todos los consumidores (broadcast).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;Kafka ofrece una abstracción que permite
contemplar ambos modelos:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;El &#39;&lt;b&gt;Consumer
group&#39;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-size: 9pt;&quot;&gt;Los consumidores se identifican con un identificador de grupo de consumidores o &#39;Consumer Group ID&#39;, cada mensaje publicado a un Topic en Kafka es enviado a una
única instancia dentro del mismo grupo. Esto implica que puede existir varios consumidores de un mismo grupo ejecutándose en paralelo y subscritos al mismo Tópico, sin que se procese un mismo mensaje a la vez por dos o más consumidores, lo que permite un procesamiento más rápido de los mensajes enviados a Kafka (crecimiento horizontal).&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: 9pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;De este modo si todas las instancias de consumidores
tienen el mismo Id. de Grupo funciona como un Sistema de Colas (Queue),
mientras que si cada instancia tiene un Id. de Grupo distinto funciona como un Sistema
Publish-Suscribe.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;
&lt;h3&gt;
&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;1.3.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Anatomía de Tópicos: Particiones&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-TRAD&quot;&gt;En Kafka los Tópicos se organizan en &lt;b&gt;particiones&lt;/b&gt;, que son secuencias de mensajes ordenados e inmutables.
Los mensajes en una partición tienen asignado un número secuencial llamado &#39;&lt;b&gt;offset&lt;/b&gt;&#39; que identifica cada mensaje en una partición (esto permite que el rendimiento sea constante).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;
&lt;!--[if mso &amp; !supportInlineShapes &amp; supportFields]&gt;&lt;span
lang=ES-TRAD&gt;&lt;span style=&#39;mso-element:field-begin;mso-field-lock:yes&#39;&gt;&lt;/span&gt;&lt;span
style=&#39;mso-spacerun:yes&#39;&gt; &lt;/span&gt;SHAPE &lt;span
style=&#39;mso-spacerun:yes&#39;&gt; &lt;/span&gt;\* MERGEFORMAT &lt;span style=&#39;mso-element:field-separator&#39;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;v:rect alt=&quot;https://unpocodejava.files.wordpress.com/2013/07/image0102.jpg?w=616&quot; filled=&quot;f&quot; id=&quot;Rectángulo_x0020_7&quot; o:gfxdata=&quot;UEsDBBQABgAIAAAAIQC75UiUBQEAAB4CAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbKSRvU7DMBSF
dyTewfKKEqcMCKEmHfgZgaE8wMW+SSwc27JvS/v23KTJgkoXFsu+P+c7Ol5vDoMTe0zZBl/LVVlJ
gV4HY31Xy4/tS3EvRSbwBlzwWMsjZrlprq/W22PELHjb51r2RPFBqax7HCCXIaLnThvSAMTP1KkI
+gs6VLdVdad08ISeCho1ZLN+whZ2jsTzgcsnJwldluLxNDiyagkxOquB2Knae/OLUsyEkjenmdzb
mG/YhlRnCWPnb8C898bRJGtQvEOiVxjYhtLOxs8AySiT4JuDystlVV4WPeM6tK3VaILeDZxIOSsu
ti/jidNGNZ3/J08yC1dNv9v8AAAA//8DAFBLAwQUAAYACAAAACEArTA/8cEAAAAyAQAACwAAAF9y
ZWxzLy5yZWxzhI/NCsIwEITvgu8Q9m7TehCRpr2I4FX0AdZk2wbbJGTj39ubi6AgeJtl2G9m6vYx
jeJGka13CqqiBEFOe2Ndr+B03C3WIDihMzh6RwqexNA281l9oBFTfuLBBhaZ4ljBkFLYSMl6oAm5
8IFcdjofJ0z5jL0MqC/Yk1yW5UrGTwY0X0yxNwri3lQgjs+Qk/+zfddZTVuvrxO59CNCmoj3vCwj
MfaUFOjRhrPHaN4Wv0VV5OYgm1p+LW1eAAAA//8DAFBLAwQUAAYACAAAACEALe3HthoDAADHBgAA
HwAAAGNsaXBib2FyZC9kcmF3aW5ncy9kcmF3aW5nMS54bWykVUtu2zAQ3RfoHQjuZUmOLFtClCCx
raBA2gZxewBGoiWmFKmS9K9FD9Oz9GIdUnLsOEUXiRf2kBy+efNmhj6/3DYcranSTIoMh4MAIyoK
WTJRZfjrl9ybYKQNESXhUtAM76jGlxfv352TtFKkrVmBAEHolGS4NqZNfV8XNW2IHsiWCjhbStUQ
A0tV+aUiG0BuuD8MgthvCBP44gA1I4aglWKvgOKy+EbLKRFrogGSF+nxTs+RF29HJqlY36h20d4p
y7z4tL5TiJUZBuUEaUAi7PcHvRss/ZNb1QFgu1SN9ZfLJdo6lJ39dhh0a1ABm2dBPA5GGBVw1Ntd
jPrzP24V9fy/94BMFxSMIyK6tTTE+mVm431m97Qwf36LasUlgs2S6kJ1imqo+0q0EjqHPpI1GSwZ
p3qwkapsFdV6UMgGah6e+cHYZw2paBAGw8FjW11usjiMnzTbR9ftLVRUIyGnNREVvdItBIcOBS77
LaXkpqak1Ha7UxnK0SE4xQ9gUKOHzUcgl2GyMtI13euVf1KQpK3S5obKBlkjwwpIOnCyvtWm47R3
cfLKnHHuisfFsw3A7Hag6HDVntnyu2n4mQTJfDKfRF40jOdeFMxm3lU+jbw4D8ej2dlsOp2Fv2zc
MEprVpZU2DD7yQyjF23fsEJJLZfGFQZ6jxV0P522TsFhNrXkrLRwlpJW1cOUK7QmPMO5+/TKH7n5
z2m49odcTlIKh1FwPUy8PJ6MvSiPRl4yDiZeECbXSRxESTTLn6d0ywR9e0pok+FkNBy5Kh2RPskt
cJ+XuZG0YYYqxFmT4cmTE0ltI85F6UprCOOdfSSFpX+QAsq9LzSYun9NzHbhptBsr2W5s4I9wC80
r5LQXPDCwEsNRi3VD4w28P5mWH9fEUUx4h8EzEESRhG4GbeIRuMhLNTxycPxCREFQGXYYNSZUwMr
uLJqFatqiBQ6mYS8gqFZsr6hO06WHddmYXacuqwdcyrKO6LIPXDmMLcZptqbL3odwQOSPSS30nTR
2kelG5QueycHOJ484e5q/5dj/yeO1xd/AQAA//8DAFBLAwQUAAYACAAAACEAnE5eIeIGAAA6HAAA
GgAAAGNsaXBib2FyZC90aGVtZS90aGVtZTEueG1s7FlPbxtFFL8j8R1Ge2/j/42jOlXs2A20aaPY
LepxvB7vTjO7s5oZJ/UNtUckJERBHKjEjQMCKrUSl/JpAkVQpH4F3szsrnfiNUnbCCpoDvHu29+8
/+/Nm93LV+5FDB0SISmPO171YsVDJPb5hMZBx7s1GlxY95BUOJ5gxmPS8eZEelc233/vMt7wGU3G
HIvJKCQRQcAolhu444VKJRtra9IHMpYXeUJieDblIsIKbkWwNhH4CAREbK1WqbTWIkxjbxM4Ks2o
z+BfrKQm+EwMNRuCYhyB9JvTKfWJwU4Oqhoh57LHBDrErOMBzwk/GpF7ykMMSwUPOl7F/Hlrm5fX
8Ea6iKkVawvrBuYvXZcumBzUjEwRjHOh1UGjfWk7528ATC3j+v1+r1/N+RkA9n2w1OpS5NkYrFe7
Gc8CyF4u8+5VmpWGiy/wry/p3O52u812qotlakD2srGEX6+0Gls1B29AFt9cwje6W71ey8EbkMW3
lvCDS+1Ww8UbUMhofLCE1gEdDFLuOWTK2U4pfB3g65UUvkBBNuTZpUVMeaxW5VqE73IxAIAGMqxo
jNQ8IVPsQ072cDQWFGsBeIPgwhNL8uUSSctC0hc0UR3vwwTHXgHy8tn3L589Qcf3nx7f/+n4wYPj
+z9aRs6qHRwHxVUvvv3sz0cfoz+efPPi4RfleFnE//rDJ7/8/Hk5EMpnYd7zLx//9vTx868+/f27
hyXwLYHHRfiIRkSiG+QI7fMIDDNecTUnY/FqK0YhpsUVW3EgcYy1lBL+fRU66BtzzNLoOHp0ievB
2wLaRxnw6uyuo/AwFDNFSyRfCyMHuMs563JR6oVrWlbBzaNZHJQLF7Mibh/jwzLZPRw78e3PEuib
WVo6hvdC4qi5x3CscEBiopB+xg8IKbHuDqWOX3epL7jkU4XuUNTFtNQlIzp2smmxaIdGEJd5mc0Q
b8c3u7dRl7Myq7fJoYuEqsCsRPkRYY4br+KZwlEZyxGOWNHh17EKy5QczoVfxPWlgkgHhHHUnxAp
y9bcFGBvIejXMHSs0rDvsnnkIoWiB2U8r2POi8htftALcZSUYYc0DovYD+QBpChGe1yVwXe5WyH6
HuKA45Xhvk2JE+7Tu8EtGjgqLRJEP5mJklheJdzJ3+GcTTExrQaautOrIxr/XeNmFDq3lXB+jRta
5fOvH5Xo/ba27C3YvcpqZudEo16FO9mee1xM6NvfnbfxLN4jUBDLW9S75vyuOXv/+ea8qp7PvyUv
ujA0aD2L2EHbjN3Ryql7Shkbqjkj16UZvCXsPZMBEPU6c7ok+SksCeFSVzIIcHCBwGYNElx9RFU4
DHECQ3vV00wCmbIOJEq4hMOiIZfy1ngY/JU9ajb1IcR2DonVLp9Ycl2Ts7NGzsZoFZgDbSaorhmc
VVj9UsoUbHsdYVWt1JmlVY1qpik60nKTtYvNoRxcnpsGxNybMNQgGIXAyy0432vRcNjBjEy0322M
srCYKJxniGSIJySNkbZ7OUZVE6QsV5YM0XbYZNAHx1O8VpDW1mzfQNpZglQU11ghLovem0Qpy+BF
lIDbyXJkcbE4WYyOOl67WWt6yMdJx5vCORkuowSiLvUciVkAb5h8JWzan1rMpsoX0WxnhrlFUIVX
H9bvSwY7fSARUm1jGdrUMI/SFGCxlmT1rzXBredlQEk3OpsW9XVIhn9NC/CjG1oynRJfFYNdoGjf
2du0lfKZImIYTo7QmM3EPobw61QFeyZUwusO0xH0Dbyb0942j9zmnBZd8Y2YwVk6ZkmI03arSzSr
ZAs3DSnXwdwV1APbSnU3xr26Kabkz8mUYhr/z0zR+wm8fahPdAR8eNErMNKV0vG4UCGHLpSE1B8I
GBxM74Bsgfe78BiSCt5Km19BDvWvrTnLw5Q1HCLVPg2QoLAfqVAQsgdtyWTfKcyq6d5lWbKUkcmo
groysWqPySFhI90DW3pv91AIqW66SdoGDO5k/rn3aQWNAz3kFOvN6WT53mtr4J+efGwxg1FuHzYD
Teb/XMV8PFjsqna9WZ7tvUVD9IPFmNXIqgKEFbaCdlr2r6nCK261tmMtWVxrZspBFJctBmI+ECXw
Dgnpf7D/UeEz+wVDb6gjvg+9FcHHC80M0gay+oIdPJBukJY4hsHJEm0yaVbWtenopL2WbdbnPOnm
ck84W2t2lni/orPz4cwV59TieTo79bDja0tb6WqI7MkSBdI0O8iYwJR9ydrFCRoH1Y4HX5Mg0Pfg
Cr5HeUCraVpN0+AKPjLBsGS/DHW89CKjwHNLyTH1jFLPMI2M0sgozYwCw1n6DSajtKBT6c8m8NlO
/3go+0ICE1z6RSVrqs7nvs2/AAAA//8DAFBLAwQUAAYACAAAACEAnGZGQbsAAAAkAQAAKgAAAGNs
aXBib2FyZC9kcmF3aW5ncy9fcmVscy9kcmF3aW5nMS54bWwucmVsc4SPzQrCMBCE74LvEPZu0noQ
kSa9iNCr1AcIyTYtNj8kUezbG+hFQfCyMLPsN7NN+7IzeWJMk3ccaloBQae8npzhcOsvuyOQlKXT
cvYOOSyYoBXbTXPFWeZylMYpJFIoLnEYcw4nxpIa0cpEfUBXNoOPVuYio2FBqrs0yPZVdWDxkwHi
i0k6zSF2ugbSL6Ek/2f7YZgUnr16WHT5RwTLpRcWoIwGMwdKV2edNS1dgYmGff0m3gAAAP//AwBQ
SwECLQAUAAYACAAAACEAu+VIlAUBAAAeAgAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlw
ZXNdLnhtbFBLAQItABQABgAIAAAAIQCtMD/xwQAAADIBAAALAAAAAAAAAAAAAAAAADYBAABfcmVs
cy8ucmVsc1BLAQItABQABgAIAAAAIQAt7ce2GgMAAMcGAAAfAAAAAAAAAAAAAAAAACACAABjbGlw
Ym9hcmQvZHJhd2luZ3MvZHJhd2luZzEueG1sUEsBAi0AFAAGAAgAAAAhAJxOXiHiBgAAOhwAABoA
AAAAAAAAAAAAAAAAdwUAAGNsaXBib2FyZC90aGVtZS90aGVtZTEueG1sUEsBAi0AFAAGAAgAAAAh
AJxmRkG7AAAAJAEAACoAAAAAAAAAAAAAAAAAkQwAAGNsaXBib2FyZC9kcmF3aW5ncy9fcmVscy9k
cmF3aW5nMS54bWwucmVsc1BLBQYAAAAABQAFAGcBAACUDQAAAAA=
&quot; o:spid=&quot;_x0000_s1026&quot; stroked=&quot;f&quot; style=&quot;height: 24.15pt; mso-left-percent: -10001; mso-position-horizontal-relative: char; mso-position-horizontal: absolute; mso-position-vertical-relative: line; mso-position-vertical: absolute; mso-top-percent: -10001; mso-wrap-style: square; v-text-anchor: top; visibility: visible; width: 24.15pt;&quot;&gt;
 &lt;o:lock aspectratio=&quot;t&quot; v:ext=&quot;edit&quot;&gt;
 &lt;w:wrap type=&quot;none&quot;&gt;
 &lt;w:anchorlock&gt;
&lt;/w:anchorlock&gt;&lt;/w:wrap&gt;&lt;/o:lock&gt;&lt;/v:rect&gt;&lt;v:shapetype coordsize=&quot;21600,21600&quot; filled=&quot;f&quot; id=&quot;_x0000_t75&quot; o:preferrelative=&quot;t&quot; o:spt=&quot;75&quot; path=&quot;m@4@5l@4@11@9@11@9@5xe&quot; stroked=&quot;f&quot;&gt;
 &lt;v:stroke joinstyle=&quot;miter&quot;&gt;
 &lt;v:formulas&gt;
  &lt;v:f eqn=&quot;if lineDrawn pixelLineWidth 0&quot;&gt;
  &lt;v:f eqn=&quot;sum @0 1 0&quot;&gt;
  &lt;v:f eqn=&quot;sum 0 0 @1&quot;&gt;
  &lt;v:f eqn=&quot;prod @2 1 2&quot;&gt;
  &lt;v:f eqn=&quot;prod @3 21600 pixelWidth&quot;&gt;
  &lt;v:f eqn=&quot;prod @3 21600 pixelHeight&quot;&gt;
  &lt;v:f eqn=&quot;sum @0 0 1&quot;&gt;
  &lt;v:f eqn=&quot;prod @6 1 2&quot;&gt;
  &lt;v:f eqn=&quot;prod @7 21600 pixelWidth&quot;&gt;
  &lt;v:f eqn=&quot;sum @8 21600 0&quot;&gt;
  &lt;v:f eqn=&quot;prod @7 21600 pixelHeight&quot;&gt;
  &lt;v:f eqn=&quot;sum @10 21600 0&quot;&gt;
 &lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;
 &lt;v:path gradientshapeok=&quot;t&quot; o:connecttype=&quot;rect&quot; o:extrusionok=&quot;f&quot;&gt;
 &lt;o:lock aspectratio=&quot;t&quot; v:ext=&quot;edit&quot;&gt;
&lt;/o:lock&gt;&lt;/v:path&gt;&lt;/v:stroke&gt;&lt;/v:shapetype&gt;&lt;/span&gt;&lt;!--[if mso &amp; !supportInlineShapes &amp; supportFields]&gt;&lt;span
lang=ES-TRAD&gt;&lt;v:shape id=&quot;_x0000_i1026&quot; type=&quot;#_x0000_t75&quot; style=&#39;width:24.15pt;
 height:24.15pt&#39;&gt;
 &lt;v:imagedata croptop=&quot;-65520f&quot; cropbottom=&quot;65520f&quot;/&gt;
&lt;/v:shape&gt;&lt;span style=&#39;mso-element:field-end&#39;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;v:shape alt=&quot;https://kafka.apache.org/090/images/log_anatomy.png&quot; id=&quot;Imagen_x0020_9&quot; o:spid=&quot;_x0000_i1025&quot; style=&quot;height: 146.25pt; mso-wrap-style: square; visibility: visible; width: 228pt;&quot; type=&quot;#_x0000_t75&quot;&gt;
 &lt;v:imagedata o:title=&quot;log_anatomy&quot; src=&quot;file:///C:/Users/ayesa1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png&quot;&gt;
&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
&lt;/span&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-size: 9pt;&quot;&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-TRAD&quot;&gt;Las particiones se distribuyen sobre los servidores del clúster
Kafka, de modo que cada Servidor se encarga de manejar los datos y peticiones a
una parte de las particiones.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-TRAD&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Las particiones se &lt;b&gt;replican&lt;/b&gt;
a un número configurable de servidores para tolerancia a fallos (recomendado 3
mínimo).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-TRAD&quot;&gt;Las particiones permiten que el tamaño de un Tópico sea mayor que
la capacidad de un Servidor, cada partición individual debe caber en el
servidor que lo almacena, pero un tópico está formado por varias particiones.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-TRAD&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Cada partición tiene un Servidor que actúa como Líder (&lt;b&gt;leader&lt;/b&gt;) y servidores que actúan
como Seguidores (&lt;b&gt;followers&lt;/b&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-TRAD&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; El leader maneja todas las peticiones de lectura y escritura para
una partición mientras que los followers replican al leader pasivamente.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-TRAD&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Si el líder falla uno de los seguidores automáticamente se
convierte en el nuevo líder.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-TRAD&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Cada Servidor actúa como líder para algunas de las particiones y
como seguidor para otras de modo que&amp;nbsp; la carga se balancea correctamente en el clúster.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;ES-TRAD&quot; style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[endif]--&gt;&lt;span lang=&quot;ES-TRAD&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; El clúster Kafka mantiene todos los datos publicados (sean
consumidos o no) por un tiempo configurable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l1 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;span lang=&quot;FR&quot;&gt;1.4.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Sincronización entre Clusters&lt;/span&gt;&lt;/h3&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;Un Cluster Kafka no está pensado para
estar distribuido entre datacenters, el soporte para escenarios
multi-datacenter en Kafka se da a través del mirroring entre clusters.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;Esta característica permite que el
cluster mirror actúe como consumidor del cluster fuente.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;span lang=&quot;FR&quot;&gt;2.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Mantenimiento y comandos para Topics&lt;/span&gt;&lt;/h3&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;

&lt;span lang=&quot;FR&quot; style=&quot;font-size: 9pt;&quot;&gt;Es necesario saber la ruta del zookeeper de kafka que se define al añadir
el módulo de kafka en Cloudera o la solución BigData que se esté utilizando. &lt;b&gt;Supongamos &lt;/b&gt;que la ruta relativa definida es: &lt;b&gt;/kafka&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;span lang=&quot;FR&quot; style=&quot;font-size: 9pt;&quot;&gt;y que se esté usando el puesto por defecto: &lt;b&gt;2181&lt;/b&gt;. En caso contrario habrá que poner los valores correspondientes.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;span lang=&quot;FR&quot; style=&quot;font-size: 9pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h4&gt;
&lt;span lang=&quot;FR&quot;&gt;2.1.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Crear un Topic&lt;/span&gt;&lt;/h4&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;

&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 3pt solid rgb(229, 229, 229); mso-element: para-border-div; padding: 0cm;&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0cm; mso-border-alt: solid #E5E5E5 3.0pt; mso-hyphenate: auto; mso-padding-alt: 0cm 0cm 0cm 0cm; padding: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;
&lt;span style=&quot;background-color: black; color: white;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;kafka-topics --create --zookeeper [ZOOKEEPER-HOST&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;]&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;:2181/kafka &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;--replication-factor &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;2&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt; --partitions &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;2&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt; --topic &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;[TOPIC_NAME]&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h4&gt;
&lt;span lang=&quot;FR&quot;&gt;2.2.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Modificar un Topic&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;

&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: 3pt solid rgb(229, 229, 229); mso-element: para-border-div; padding: 0cm;&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0cm; mso-border-alt: solid #E5E5E5 3.0pt; mso-hyphenate: auto; mso-padding-alt: 0cm 0cm 0cm 0cm; padding: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;
&lt;span style=&quot;background-color: black;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;kafka-topics --zookeeper&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;[ZOOKEEPER-HOST&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;]&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;:2181/kafka&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;&amp;nbsp;--alter&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt; --partitions 4&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;&amp;nbsp;--topic&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-size: 9pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;[TOPIC_NAME]&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h4&gt;
&lt;span lang=&quot;FR&quot;&gt;2.3.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Eliminar un Topic&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;border: 3pt solid rgb(229, 229, 229); mso-element: para-border-div; padding: 0cm;&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;border: none; line-height: normal; margin-bottom: 0cm; mso-border-alt: solid #E5E5E5 3.0pt; mso-hyphenate: auto; mso-padding-alt: 0cm 0cm 0cm 0cm; padding: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;
&lt;span style=&quot;background-color: black;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;kafka-topics --delete --zookeeper&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;[ZOOKEEPER-HOST&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;]&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;:2181/kafka&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;--topic&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-size: 9pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;[TOPIC_NAME]&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;Si el
topic se queda como marcado para eliminación. Para eliminarlo por completo hay
que hacer lo siguiente&amp;nbsp;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 36pt; mso-list: l0 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;FR&quot;&gt;1.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;&amp;nbsp;Parar los brokers de kafka.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 36pt; mso-list: l0 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;FR&quot;&gt;2.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Borrar los datos de topics del disco, normalmente
están en la carpeta siguiente (hay que eliminar lo que corresponda a nuestro
topic):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 72pt; mso-list: l0 level2 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;FR&quot;&gt;a.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;/var/local/kafka/data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 36pt; mso-list: l0 level1 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;FR&quot;&gt;3.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp; &amp;nbsp;Ó&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Borrar los topics de zookeeper, para
ello:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 72pt; mso-list: l0 level2 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;FR&quot;&gt;a.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Ejecutar&amp;nbsp;: zookeeper-shell.sh [ZOOKEEPER-HOST]:2181/kafka)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 72pt; mso-list: l0 level2 lfo2; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;&amp;nbsp; &amp;nbsp;El comando debe estar en una ruta asimilar a la siguiente:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 72pt; mso-list: l0 level2 lfo2; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/opt/cloudera/parcels/KAFKA-2.2.0-1.2.2.0.p0.68/lib/kafka/bin/&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 72pt; mso-list: l0 level2 lfo2; text-indent: -18pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span lang=&quot;FR&quot;&gt;b.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Borrar
los topics de la siquiente ruta:&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 72pt; mso-list: l0 level2 lfo2; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; rmr
/kafka/brokers/topics/[TOPIC_NAME]&amp;nbsp; ó&amp;nbsp; /brokers/topics/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;[TOPIC_NAME]&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 72pt; mso-list: l0 level2 lfo2; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;FR&quot; style=&quot;font-size: 9pt; text-indent: -18pt;&quot;&gt;c.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;FR&quot; style=&quot;font-size: 9pt; text-indent: -18pt;&quot;&gt;Comprobar y borrar también los directorios:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 72pt; mso-list: l0 level2 lfo2; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/kafka/config/topics/&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;[TOPIC_NAME]&lt;/span&gt;&lt;span lang=&quot;FR&quot; style=&quot;font-size: 9pt; text-indent: -18pt;&quot;&gt;&amp;nbsp;ó&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 9pt; text-indent: -18pt;&quot;&gt;/config/topics/&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;[TOPIC_NAME]&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 72pt; mso-list: l0 level2 lfo2; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/kafka/admin/delete_topics/&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;[TOPIC_NAME]&lt;/span&gt;&lt;span style=&quot;font-size: 9pt; text-indent: -18pt;&quot;&gt;&amp;nbsp;ó /admin/delete_topics/&lt;/span&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;[TOPIC_NAME]&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-left: 72pt; mso-list: l0 level2 lfo2; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;d.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;FR&quot;&gt;Comprobar con&amp;nbsp;:&amp;nbsp;&amp;nbsp; ls [RUTA]&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;
&lt;span lang=&quot;FR&quot;&gt;2.4.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Listar Topics&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;border: 3pt solid rgb(229, 229, 229); mso-element: para-border-div; padding: 0cm;&quot;&gt;
&lt;pre style=&quot;border: none; mso-border-alt: solid #E5E5E5 3.0pt; mso-padding-alt: 0cm 0cm 0cm 0cm; padding: 0cm;&quot;&gt;&lt;span style=&quot;background-color: black;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;kafka-topics --list --zookeeper &lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; font-size: 9pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;[ZOOKEEPER-HOST&lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; font-size: 9pt;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;]&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; font-size: 9pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;:2181/kafka&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;
&lt;span lang=&quot;FR&quot;&gt;2.5.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Enviar mensajes a un Topic&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;border: 3pt solid rgb(229, 229, 229); mso-element: para-border-div; padding: 0cm;&quot;&gt;
&lt;pre style=&quot;border: none; mso-border-alt: solid #E5E5E5 3.0pt; mso-padding-alt: 0cm 0cm 0cm 0cm; padding: 0cm;&quot;&gt;&lt;span style=&quot;background-color: black; color: white;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;kafka-console-producer --broker-list &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;[SERVER1:9092,SERVER2:9092,...]&lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; font-size: 9pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;border: none; mso-border-alt: solid #E5E5E5 3.0pt; mso-padding-alt: 0cm 0cm 0cm 0cm; padding: 0cm;&quot;&gt;&lt;span style=&quot;background-color: black; color: white;&quot;&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; font-size: 9pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;--topic &lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; font-size: 9pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;[TOPIC_NAME]&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;&amp;gt;&lt;span style=&quot;color: #1f497d; mso-themecolor: text2;&quot;&gt;Mensaje1&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;&amp;gt;&lt;span style=&quot;color: #1f497d; mso-themecolor: text2;&quot;&gt;Mensaje2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoQuote&quot;&gt;
&lt;span style=&quot;font-size: 9pt;&quot;&gt;&amp;gt;Crtl^C (salir)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoQuote&quot;&gt;
&lt;span style=&quot;font-size: 9pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;Esto nos
permitirá enviar mensajes de prueba para probar nuestros consumidores.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;
&lt;span lang=&quot;FR&quot;&gt;2.6.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Recibir mensajes de un Topic&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;border: 3pt solid rgb(229, 229, 229); mso-element: para-border-div; padding: 0cm;&quot;&gt;
&lt;pre style=&quot;border: none; mso-border-alt: solid #E5E5E5 3.0pt; mso-padding-alt: 0cm 0cm 0cm 0cm; padding: 0cm;&quot;&gt;&lt;span style=&quot;background-color: black; color: white;&quot;&gt;&lt;a href=&quot;https://draft.blogger.com/null&quot; name=&quot;_Hlk494989169&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;kafka-console-consumer --zookeeper &lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; white-space: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;[ZOOKEEPER-HOST&lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; white-space: normal;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;]&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; white-space: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;:2181/kafka&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt; --topic &lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; font-size: 9pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;[TOPIC_NAME] [&lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; font-size: 9pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;--from-beginning]&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot; style=&quot;margin-bottom: 0cm;&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;Mensaje1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;GenricoA4TextodeCuerpo&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;Mensaje2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoQuote&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;
&lt;span lang=&quot;FR&quot;&gt;2.7.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Consultar descripción de un topic&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;border: 3pt solid rgb(229, 229, 229); mso-element: para-border-div; padding: 0cm;&quot;&gt;
&lt;pre style=&quot;border: none; mso-border-alt: solid #E5E5E5 3.0pt; mso-padding-alt: 0cm 0cm 0cm 0cm; padding: 0cm;&quot;&gt;&lt;span style=&quot;background-color: black; color: white;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;kafka-topics --describe&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt; &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;--zookeeper &lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; white-space: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;[ZOOKEEPER-HOST&lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; white-space: normal;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;]&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; white-space: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;:2181/kafka&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt; --topic &lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Verdana, sans-serif; font-size: 9pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot;; font-size: 11.5pt;&quot;&gt;[TOPIC_NAME]&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;

































































&lt;/span&gt;&lt;/div&gt;
&lt;h2 style=&quot;margin-left: 0cm; mso-list: none; tab-stops: 1.0cm 42.55pt 2.0cm 70.9pt 99.25pt; text-indent: 0cm;&quot;&gt;
&lt;span lang=&quot;FR&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h4&gt;&lt;span lang=&quot;FR&quot;&gt;2.8.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Consultar lista de brokers&lt;/span&gt;&lt;/h4&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;pre spellcheck=&quot;false&quot; style=&quot;background: rgb(230, 233, 236); border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.85); font-size: 16px; line-height: 1.6rem; margin-top: 3.2rem; outline: 0px; overflow-x: auto; padding: 3.2rem; vertical-align: baseline;&quot;&gt;zookeeper-shell.sh [zookeeper_address] &amp;lt;&amp;lt;&amp;lt; &lt;span class=&quot;hljs-string&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #e61e89; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;ls /brokers/ids&quot;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;h4&gt;&lt;span lang=&quot;FR&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h4&gt;&lt;h4&gt;&lt;span lang=&quot;FR&quot;&gt;2.9.&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang=&quot;FR&quot;&gt;Eliminar mesanjes de un Topic de Kafka&lt;/span&gt;&lt;/h4&gt;&lt;pre spellcheck=&quot;false&quot; style=&quot;background: rgb(230, 233, 236); border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.85); font-size: 16px; line-height: 1.6rem; margin-top: 3.2rem; outline: 0px; overflow-x: auto; padding: 3.2rem; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;kafka&lt;/span&gt;&lt;span class=&quot;hljs-literal&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #17afb8; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;topics&lt;/span&gt; &lt;span class=&quot;hljs-literal&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #17afb8; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;zookeeper&lt;/span&gt; &lt;span class=&quot;hljs-title&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #900021; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;zookeeper_address&lt;/span&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #900021; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;hljs-literal&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #17afb8; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;alter&lt;/span&gt; &lt;span class=&quot;hljs-literal&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #17afb8; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;topic&lt;/span&gt; &lt;span class=&quot;hljs-title&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #900021; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;TOPIC_NAME&lt;/span&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #900021; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;hljs-literal&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #17afb8; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;config&lt;/span&gt; &lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;retention&lt;/span&gt;&lt;span class=&quot;hljs-string&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #e61e89; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ms=1000&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;kafka&lt;/span&gt;&lt;span class=&quot;hljs-literal&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #17afb8; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;topics&lt;/span&gt; &lt;span class=&quot;hljs-literal&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #17afb8; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;zookeeper&lt;/span&gt; &lt;span class=&quot;hljs-title&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #900021; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;zookeeper_address&lt;/span&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #900021; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;hljs-literal&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #17afb8; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;alter&lt;/span&gt; &lt;span class=&quot;hljs-literal&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #17afb8; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;topic&lt;/span&gt; &lt;span class=&quot;hljs-title&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #900021; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;TOPIC_NAME&lt;/span&gt;&lt;span class=&quot;hljs-title&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #900021; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;hljs-literal&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #17afb8; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;hljs-literal&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #17afb8; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;config&lt;/span&gt; &lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;retention&lt;/span&gt;&lt;span class=&quot;hljs-string&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #e61e89; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ms&lt;/span&gt;
&lt;/pre&gt;
&lt;div&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; color: #9b9ea2; font-style: italic; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;ES-TRAD&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://jmtalavera.blogspot.com/feeds/661770942720338833/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jmtalavera.blogspot.com/2018/02/bigdata-kafka-introduccion-y-comandos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/661770942720338833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/661770942720338833'/><link rel='alternate' type='text/html' href='http://jmtalavera.blogspot.com/2018/02/bigdata-kafka-introduccion-y-comandos.html' title='BIGDATA - KAFKA - Introducción y Comandos Básicos para Topics'/><author><name>jmtalavera</name><uri>http://www.blogger.com/profile/17883424835757744295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015846341115824002.post-7009182785022071750</id><published>2014-09-10T14:56:00.002+02:00</published><updated>2014-09-10T14:56:29.342+02:00</updated><title type='text'>Mi primera aplicación Android en Google Play Store</title><content type='html'>Acaban de publicar mi primera aplicación implementada para móviles Android, es una aplicación sencilla que permite acceder en la web de compras ecológicas &lt;a href=&quot;http://www.cerroviejo.org/&quot;&gt;http://www.cerroviejo.org&lt;/a&gt; y guardar los datos de acceso, pero por algo hay que empezar:&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://play.google.com/store/apps/details?id=org.cerroviejo.android&amp;amp;hl=es&quot;&gt;https://play.google.com/store/apps/details?id=org.cerroviejo.android&amp;amp;hl=es&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-Ctq5lDwPfLU/VBBKIP7ur_I/AAAAAAAABZk/RM9lWzHb-Ag/s1600/cerroviejoPlay.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Cerro Viejo en Google Play&quot; border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-Ctq5lDwPfLU/VBBKIP7ur_I/AAAAAAAABZk/RM9lWzHb-Ag/s1600/cerroviejoPlay.png&quot; height=&quot;377&quot; title=&quot;Cerro Viejo en Google Play&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://jmtalavera.blogspot.com/feeds/7009182785022071750/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jmtalavera.blogspot.com/2014/09/mi-primera-aplicacion-android-en-google.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/7009182785022071750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/7009182785022071750'/><link rel='alternate' type='text/html' href='http://jmtalavera.blogspot.com/2014/09/mi-primera-aplicacion-android-en-google.html' title='Mi primera aplicación Android en Google Play Store'/><author><name>jmtalavera</name><uri>http://www.blogger.com/profile/17883424835757744295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-Ctq5lDwPfLU/VBBKIP7ur_I/AAAAAAAABZk/RM9lWzHb-Ag/s72-c/cerroviejoPlay.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015846341115824002.post-4159377596257586859</id><published>2014-08-11T10:37:00.000+02:00</published><updated>2017-04-18T09:53:13.743+02:00</updated><title type='text'>Formato de filas alternativas en Hoja de Cálculo de Google Docs</title><content type='html'>&lt;br /&gt;
Conseguir un formato de filas alternativas en las Hojas de Cálculo de Google Docs es bastante sencillo, aunque yo no encontré información al respecto y tuve que investigar un poco entre las funciones que proporciona. Entre ellas está &lt;b style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;ISEVEN(#VALOR)&lt;/span&gt;&lt;/b&gt;, que comprueba si el número que se le pasa es PAR.&lt;br /&gt;
&lt;br /&gt;
Para conseguir, por ejemplo, un color de fila alternativo, basta con seguir los siguientes pasos:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Seleccionar las celdas o filas que queramos formatear.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Seleccionar Color de Relleno -&amp;gt; Formato Condicional.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;El valor condicional debe ser:&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;La fórmula personalizada es: &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue;&quot;&gt;&lt;span class=&quot; default-formula-text-color&quot; dir=&quot;auto&quot; style=&quot;font-size: 13px; white-space: pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot; default-formula-text-color&quot; dir=&quot;auto&quot; style=&quot;font-size: 13px; white-space: pre-wrap;&quot;&gt;ISEVEN&lt;/span&gt;&lt;span class=&quot; default-formula-text-color match-paren&quot; dir=&quot;auto&quot; style=&quot;font-size: 13px; white-space: pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot; default-formula-text-color&quot; dir=&quot;auto&quot; style=&quot;font-size: 13px; white-space: pre-wrap;&quot;&gt;ROW&lt;/span&gt;&lt;span class=&quot; default-formula-text-color&quot; dir=&quot;auto&quot; style=&quot;font-size: 13px; white-space: pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot; default-formula-text-color&quot; dir=&quot;auto&quot; style=&quot;font-size: 13px; white-space: pre-wrap;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot; match-paren default-formula-text-color&quot; dir=&quot;auto&quot; style=&quot;font-size: 13px; white-space: pre-wrap;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Seleccionar formato de Texto y/o de Fondo para las filas pares.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Para hacer lo mismo, para filas impares, solo hay que negar la función anterior o sumarle 1 al número de fila:    &lt;/span&gt;&lt;/span&gt;&lt;b style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span class=&quot; default-formula-text-color&quot; dir=&quot;auto&quot; style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 13px; white-space: pre-wrap;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot; default-formula-text-color&quot; dir=&quot;auto&quot; style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 13px; white-space: pre-wrap;&quot;&gt;ISEVEN&lt;/span&gt;&lt;span class=&quot; default-formula-text-color match-paren&quot; dir=&quot;auto&quot; style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 13px; white-space: pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot; default-formula-text-color&quot; dir=&quot;auto&quot; style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 13px; white-space: pre-wrap;&quot;&gt;ROW&lt;/span&gt;&lt;span class=&quot; default-formula-text-color&quot; dir=&quot;auto&quot; style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 13px; white-space: pre-wrap;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot; default-formula-text-color&quot; dir=&quot;auto&quot; style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 13px; white-space: pre-wrap;&quot;&gt;)+1&lt;/span&gt;&lt;span class=&quot; match-paren default-formula-text-color&quot; dir=&quot;auto&quot; style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: 13px; white-space: pre-wrap;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://jmtalavera.blogspot.com/feeds/4159377596257586859/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jmtalavera.blogspot.com/2014/08/formato-de-filas-alternativas-en-hoja.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/4159377596257586859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/4159377596257586859'/><link rel='alternate' type='text/html' href='http://jmtalavera.blogspot.com/2014/08/formato-de-filas-alternativas-en-hoja.html' title='Formato de filas alternativas en Hoja de Cálculo de Google Docs'/><author><name>jmtalavera</name><uri>http://www.blogger.com/profile/17883424835757744295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015846341115824002.post-7322298959428847440</id><published>2012-01-13T12:05:00.000+01:00</published><updated>2012-01-18T23:11:32.195+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ecosistema de software"/><category scheme="http://www.blogger.com/atom/ns#" term="metodologías"/><category scheme="http://www.blogger.com/atom/ns#" term="scrum"/><title type='text'>Metodologías Ágiles, Ecosistema y Reciclaje de Software</title><content type='html'>Esta es una propuesta que pretende la modernización de los procesos de desarrollo a través de mejoras en partes importantes del desarrollo de software: la metodología y los sistemas de desarrollo.&lt;br /&gt;
&lt;br /&gt;
Para modernización de metodologías propongo la implantación de una de las metodologías ágiles de desarrollo más conocida y utilizada en la actualidad: SCRUM; que además es compatible con las metodologías de calidad actuales (no las sustituye, las complementa).&lt;br /&gt;
&lt;br /&gt;
Como mejora en los sistemas de desarrollo se propone la creación de un ecosistema de software completo que permita la mejora de la calidad y reciclaje de software.&lt;br /&gt;
&lt;br /&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:WordDocument&gt;  &lt;w:View&gt;Normal&lt;/w:View&gt;  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;  &lt;w:HyphenationZone&gt;21&lt;/w:HyphenationZone&gt;  &lt;w:PunctuationKerning/&gt;  &lt;w:ValidateAgainstSchemas/&gt;  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;  &lt;w:Compatibility&gt;   &lt;w:BreakWrappedTables/&gt;   &lt;w:SnapToGridInCell/&gt;   &lt;w:WrapTextWithPunct/&gt;   &lt;w:UseAsianBreakRules/&gt;   &lt;w:DontGrowAutofit/&gt;  &lt;/w:Compatibility&gt;  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt; &lt;/w:WordDocument&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:LatentStyles DefLockedState=&quot;false&quot; LatentStyleCount=&quot;156&quot;&gt; &lt;/w:LatentStyles&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if !mso]&gt;&lt;img src=&quot;http://img2.blogblog.com/img/video_object.png&quot; style=&quot;background-color: #b2b2b2; &quot; class=&quot;BLOGGER-object-element tr_noresize tr_placeholder&quot; id=&quot;ieooui&quot; data-original-id=&quot;ieooui&quot; /&gt;&lt;style&gt;st1\:*{behavior:url(#ieooui) }&lt;/style&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;&lt;style&gt; /* Style Definitions */ table.MsoNormalTable {mso-style-name:&quot;Tabla normal&quot;; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:&quot;&quot;; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:&quot;Times New Roman&quot;; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;}&lt;/style&gt;&lt;![endif]--&gt;&lt;br /&gt;
&lt;h3&gt;Modernización de la metodología: Metodología y flujo de información ágil&lt;/h3&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Implantación de dos formas de trabajo que agilicen losdesarrollos:&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;&lt;u&gt;Implantación de una metodología ágil&lt;/u&gt;&lt;/b&gt; tipo SCRUM,que puede ser incluida en las ofertas a clientes o pliegos, mejorando dichasofertas. Permite agilizar el desarrollo al separar diseño y construcción, y escompatible con las metodologías de calidad actuales (métrica, CMMI,…). &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Es     un proceso ágil e iterativo que nos ayuda a poner nuestro mayor esfuerzo     en entregar el valor más importante de un producto en el tiempo más corto     posible.&lt;/li&gt;&lt;li&gt;Nos     permite enviar, inspeccionar y evaluar periódicamente software funcionando     (cada 2-6 semanas aproximadamente).&lt;/li&gt;&lt;li&gt;El     negocio determina las prioridades, los equipos se auto-administran para     encontrar la mejor forma de encontrar las características más     prioritarias.&lt;/li&gt;&lt;li&gt;Cada     30 días aproximadamente se puede ver software real que funciona y decidir     si se entrega así o se sigue refinando en el siguiente ciclo.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Ventajas:&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;circle&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l2 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;Fácil     de explicar y entender.&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l2 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;Máximo     valor por el esfuerzo.&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l2 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;Equipos     auto-organizados, multi-aprendizaje.&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l2 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;Liberación     de versiones totalmente funcionales, aunque con funcionalidad limitada, en     cada iteración.&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l2 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;Orientación     al cliente: lo involucra y le permite establecer prioridades.&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l2 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;Satisface     al cliente con entregas tempranas y continuas de productos parcialmente     funcionales.&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l2 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;Provee     a la gerencia o dirección con un vistazo diario sobre el nivel de     productividad y los factores que la afectan.&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l2 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;Mayor     productividad en el desarrollo de software.&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l2 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;Permite     producir software de forma regular, consistente y competitiva.&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;mso-list: l2 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;Útil     en entornos con requisitos inestables, se aceptan requisitos cambiantes,     incluso en etapas avanzadas.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;La principal desventaja de esta metodología de trabajo esque si se aplica de forma estricta no es aplicable a grandes proyectos, sinembargo, esto se puede resolver dividiendo el desarrollo de aplicacionesgrandes en módulos y separando por equipos y aplicando la metodología por cada equipode desarrollo o/o módulo (sería un SCRUM Modular). &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Posteriormente se puede aplicar la metodología ágil en unnivel superior (que podría estar integrado por los analistas o los analistasprogramadores principales de cada grupo) por el cual se realice la comunicacióncon los clientes a través de las reuniones o conferencias que se aplican enesta metodología (SCRUM Jerarquizado).&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;La potencia de esta metodología se encuentra en laflexibilidad con la que se puede llevar a cabo según interese en cada proyecto,no hay que seguirla de manera estricta.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Más información en: &lt;a href=&quot;http://jmtalavera.blogspot.com/2009/09/manual-de-scrum.html&quot;&gt;http://jmtalavera.blogspot.com/2009/09/manual-de-scrum.html&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;h3&gt;Modernización de los procesos: Ecosistema de desarrollo y de reciclaje deSoftware&lt;/h3&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Trataría en realizar la implantación de un ecosistema desoftware completo, en la cual se disponga de algunas de lasherramientas que la integran como son artifactory, jira o HGC, la Wiki…&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Existe un grupo de google que habla acerca de este tema: &lt;a href=&quot;http://groups.google.com/group/ecosistemas-software&quot;&gt;http://groups.google.com/group/ecosistemas-software&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Un ecosistema de desarrollo de software (&lt;em&gt;developmentecosystem&lt;/em&gt;) es un espacio de trabajo en el que conviven una serie deherramientas que permiten a un equipo de desarrollo modelar una metodología detrabajo que les ayude a ser más eficientes. Un ecosistema de desarrollo desoftware:&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l0 level1 lfo4; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Facilita la integración continua.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l0 level1 lfo4; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Facilita la automatización.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Algunas de las herramientas que pueden ayudar a tal fin sonlas siguientes:&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;u&gt;Maven&lt;/u&gt;: Herramienta de gestión de proyectos desoftware y herramienta de comprensión y gestión de dependencias entrelibrerías. Sería interesante definir arquetipos o plantillas de integración delos proyectos en los repositorios &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;u&gt;Apache Continuum&lt;/u&gt;:Servidor de integración continua, integrable con repositorios de código.Pruebas de calidad y de consistencia. &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;u&gt;Hudson&lt;/u&gt;: Otroservidor, este extensible, para integración continua.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;u&gt;Sonar&lt;/u&gt;:Plataforma de medición de calidad del código.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt;OpenFire y/opandion&lt;/u&gt;: Proporcionan herramientas de servidor y cliente para colaboraciónen tiempo real (Servicios de mensajería corporativa).&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;u&gt;JUnit&lt;/u&gt;: Testeo unitario de aplicaciones.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;u&gt;Apache JMeter&lt;/u&gt;: Herramienta de prueba de carga, pruebasunitarias o monitoreo.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;u&gt;Apache Archiva o artifactory&lt;/u&gt;: Repositorios deMaven y Maven2, gestión de dependencias, hace de proxy caché de un repositoriopropio con otros existentes. Habría que integrarlo con el resto de herramientas y utilizarlo como base enel reciclaje de software desarrollado en la empresa, ya sean utilidades(validaciones java por ejemplo), módulos extensibles &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;(por ejemplo, módulos configurables de integracióncon repositorios LDAP) o productos.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;u&gt;Jira o trac&lt;/u&gt;: Sistemasde gestión de tareas e incidencias.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;u&gt;Wiki&lt;/u&gt;: Sitio web cuyas páginas pueden sereditadas rápidamente por múltiples usuarios, donde gestionar la información delos proyecto, utilidades, módulos y productos de la empresa.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l5 level1 lfo5; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;u&gt;Repositorio Subversion o GIT&lt;/u&gt;: Sistema de control deversiones que mejora el desarrollo colaborativo.&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Mejoras de la solución conjunta:&lt;/h3&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Aumenta la productividad y se reduce el tiempo de losdesarrollos:&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l1 level2 lfo6; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Segúnla metodología SCRUM los desarrollos se pueden empezar en paralelo con eldiseño.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l1 level2 lfo6; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Mayorreutilización de código (reciclaje), componentes, soluciones y/o productos quepueden ser compartidos en el Artifactory y documentados en WIKI corporativa.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 54.0pt;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Mejora de la calidad del software: El uso deherramientas de pruebas unitarias JUNIT no es obligatorio, por eso laintegración con herramientas como Sonar puede permitir la evaluación de lacalidad de cada proyecto integrado en artifactory.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 18.0pt;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36.0pt; mso-list: l1 level1 lfo6; tab-stops: list 36.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Mayor grado de implicación y satisfacción del cliente:&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l1 level2 lfo6; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Mejorael conocimiento del cliente sobre la evolución del proyecto.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72.0pt; mso-list: l1 level2 lfo6; tab-stops: list 72.0pt; text-indent: -18.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;o&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Elcliente puede ver como evoluciona su producto y hacer pequeñas rectificacionessobre la marcha.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 54.0pt;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 18.0pt;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;-&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Fiabilidad, estabilidad y escalabilidad: se detectanerrores con mayor antelación a lo largo de las distintas etapas de desarrollo,por lo que el producto será mucho mejor y se acercará más a las necesidades delcliente, que haciendo una única entrega al final.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 18pt;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 18pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 12pt;&quot;&gt;Fomenta la colaboración para el desarrollo/evolución de productos quepueden ser vendidos bajo&amp;nbsp; licencia en el mercado actual o abriendo mercado enotros sitios (si un proyecto es innovador, es más fácil convertirlo enproducto).&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jmtalavera.blogspot.com/feeds/7322298959428847440/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jmtalavera.blogspot.com/2012/01/metodologias-agiles-ecosistema-y.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/7322298959428847440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/7322298959428847440'/><link rel='alternate' type='text/html' href='http://jmtalavera.blogspot.com/2012/01/metodologias-agiles-ecosistema-y.html' title='Metodologías Ágiles, Ecosistema y Reciclaje de Software'/><author><name>jmtalavera</name><uri>http://www.blogger.com/profile/17883424835757744295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015846341115824002.post-4259504788977385026</id><published>2009-11-09T16:54:00.099+01:00</published><updated>2009-11-09T19:58:58.395+01:00</updated><title type='text'>Nuevas funcionalidades incluidas en Java 6</title><content type='html'>Voy a hacer un poco de autoaprendizaje, y voy a empezar por la parte principal de mi trabajo (siendo analista j2ee no puede ser otro que el lenguaje Java). Este el primero de lo que espero sea una indeterminada y larga lista de artículos de programación centradas en los entornos de programación basados en Java.&lt;br /&gt;
&lt;br /&gt;
Creo que me había quedado un poco obsoleto y estancado en la versión 5 de este lenguaje, así que decidí dar un paso más y estudiar la versión de Java que se está utilizando ahora mismo en el panorama empresarial: Java 6, o&amp;nbsp; JDK 1.6 (del JSR 270).&lt;br /&gt;
&lt;br /&gt;
Lo primero sería estudiar las diferencias con la versión anterior, aquí listo las mejoras que proporciona Java 6 con respecto a su anterior versión:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;CAMBIOS EN EL CORE&lt;/i&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Inclusión de motores de scripting&lt;/b&gt;: Se incluye el motor de Javascript&amp;nbsp; Rhino desarrollado por Mozilla.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;F&lt;/b&gt;&lt;b&gt;irma Digital XML&lt;/b&gt; (JSR 105): Sin necesidad de utilizar librerías externas (javax.xml.crypto). Esto viene muy bien para firmar peticiones SOAP.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;API de compilación Java&lt;/b&gt;: Permitiría generar código automático en memoria, sin necesidad de fuentes. Esto pienso nos daría mucho juego, tiene muchas posibilidades (tengo que ver si se puede utilizar junto con el API Reflection), permitiendo generar clases dinámicas dependiendo de factores externos como, por ejemplo, datos de configuración o una bade de datos.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Procesamiento de anotaciones&lt;/b&gt;: Ahora siguiendo el JSR 269 en vez de la JSR 175 de la version 5, se estandariza el procesamiento de dichas anotaciones. Para procesar anotaciones únicamente hay que extender de la clase &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;AbstractProccesor &lt;/span&gt;(indicando las anotaciones a capturar) y sobreescribir el método &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;process&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Depurador en tiempo de ejecución&lt;/b&gt;: Se puede iniciar depuración en tiempo de ejecución, almacenando dentro de las clases compiladas más información que la que se almacenaba anteriormente. Para aplicaciones móviles JME CLDC, esto permite que éstas se ejecuten más rápidamente.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Nueva clase &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ServiceLoader&lt;/span&gt;&lt;/b&gt;: Permite estandarizar la creación de servicios de proveedores externos, realiza una búsqueda de la implementación de un servicio de forma más sencilla. Hay que indicar la clase que se quiere en el META-INF/services/{paquete.interfaz}. Se puede utilizar como una factoría para una interfaz dada que pueda tener una o varias implementaciones.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Colecciones &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Deque &lt;/span&gt;y &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;BlockingDeque&lt;/span&gt;&lt;/b&gt;: Permiten crear colas doblemente enlazadas (permiten insertar datos al principio o al final). La implementación de la interfaz &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Deque &lt;/span&gt;es &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ArrayDeque&lt;/span&gt;, al cual no se accede a través de su índice. La inserción y obtención tiene un coste menor al de un &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ArrayList&lt;/span&gt;, a no ser que se necesite realizar búsquedas por índice. &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;BlockingDeke&lt;/span&gt;, además, da soporte al bloqueo de operaciones de inserción y obtención.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Mejoras ordenamiento de colecciones &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Set &lt;/span&gt;y &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Map&lt;/span&gt;&lt;/b&gt;: Permitiendo realizar búsquedas bidireccionales y a partir o hasta un elemento dado si los elementos están ordenados (interfaces &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;NavigableSet &lt;/span&gt;y &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;NavigableMap&lt;/span&gt;).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Nueva clase&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt; java.io.Console&lt;/span&gt;&lt;/b&gt;: Permite leer contraseñas sin que se muestre en la pantalla.&lt;/li&gt;
&lt;li&gt;Inclusión de Base de datos Derby JavaDB.&lt;/li&gt;
&lt;li&gt;Modificación en la clase &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;File &lt;/span&gt;para conocer el espacio en disco y poder cambiar sus atributos.&lt;/li&gt;
&lt;li&gt;Mejoras en la concurrencia (JSR 166).&lt;/li&gt;
&lt;li&gt;Inclusión del programa JConsole para monitorización de rendimiento de forma gráfica.&lt;/li&gt;
&lt;li&gt;Incorporación de un pequeño servidor HTTP.&lt;/li&gt;
&lt;li&gt;Implementación del manejador de cookies.&lt;/li&gt;
&lt;li&gt;Internacionalización de los nombre de dominio IDN.&lt;/li&gt;
&lt;/ul&gt;&lt;i&gt;CAMBIOS ORIENTADOS AL CLIENTE&lt;/i&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; Acceso a las aplicaciones nativas.&lt;/li&gt;
&lt;li&gt;Pantallas Splash.&lt;/li&gt;
&lt;li&gt;Soporte barra de tareas del sistema.&lt;/li&gt;
&lt;li&gt;Ordenamiento y filtrado de tablas.&lt;/li&gt;
&lt;li&gt;SwingWorker.&lt;/li&gt;
&lt;/ul&gt;&lt;i&gt;CAMBIOS ORIENTADOS AL SERVIDOR&lt;/i&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; JDBC versión 4.0.&lt;/li&gt;
&lt;li&gt;Procesamiento de XML usando StAX.&lt;/li&gt;
&lt;li&gt;Anotaciones para Servicio Web.&lt;/li&gt;
&lt;li&gt;Simplificación del mapeo Objeto/XML utilizando JABX 2.0.&lt;/li&gt;
&lt;li&gt;Simplificación de la exposición de Servicios Web y la creación de clientes usando JAX-WS 2.0.&lt;/li&gt;
&lt;li&gt;Estandarización de anotaciones comunes.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;Son bastantes mejoras y cambios, sin embargo no tan significativos como los que se introdujeron con la versión Java 5 con respecto a su predecesora Java 1.4.</content><link rel='replies' type='application/atom+xml' href='http://jmtalavera.blogspot.com/feeds/4259504788977385026/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jmtalavera.blogspot.com/2009/11/nuevas-funcionalidades-incluidas-en.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/4259504788977385026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/4259504788977385026'/><link rel='alternate' type='text/html' href='http://jmtalavera.blogspot.com/2009/11/nuevas-funcionalidades-incluidas-en.html' title='Nuevas funcionalidades incluidas en Java 6'/><author><name>jmtalavera</name><uri>http://www.blogger.com/profile/17883424835757744295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015846341115824002.post-7706159749717921574</id><published>2008-11-18T14:44:00.033+01:00</published><updated>2017-06-07T11:58:56.330+02:00</updated><title type='text'>ConfiguratorPattern</title><content type='html'>&lt;span style=&quot;font-weight: bold;&quot;&gt;OBJETIVO&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
En todos las aplicaciones hay funcionalidades básicas e imprescindibles que tienen su mayor defecto la dispersión (funcionalidades no agrupadas que se utilizan en todas partes, en todos los módulos funcionales): trazas, control de excepciones, configuración, multilenguaje...&lt;br /&gt;
&lt;br /&gt;
En este artículo vamos a hacer hincapié en la configuración de una aplicación, que es la base de todo producto, y el mayor problema a la hora de desplegar en diferentes máquinas (quitando problemas de infraestructura) y de administrar versiones según el entorno de destino.&lt;br /&gt;
&lt;br /&gt;
Vamos a intentar plantear un patrón de configuración (ConfiguratorPattern), basado en Java, utilizando buenas prácticas y la experiencia adquirida a lo largo de los años.&lt;br /&gt;
&lt;br /&gt;
Como objetivos voy a intentar que se cumplan los siguientes:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Acceso a cualquier variable de configuración de forma rápida y centralizada.&lt;/li&gt;
&lt;li&gt;Permitir el cacheo de la configuración en memoria, para un acceso más rápido.&lt;/li&gt;
&lt;li&gt;Permitir el refresco de dicha caché dado un tiempo determinado.&lt;/li&gt;
&lt;li&gt;Permitir la instalación y actualización de la aplicación de una manera rápida y lo más independiente del entorno posible.&lt;/li&gt;
&lt;li&gt;Impedir que cualquier cambio que se realice en el módulo de configuración pueda afectar al resto de código en el que se encuentra dispersa esta funcionalidad.&lt;/li&gt;
&lt;/ol&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Estos objetivos implican reducción del acoplamiento y aumento de la cohesión interna del componente -&lt;br /&gt;
&lt;br /&gt;
La configuración de cualquier aplicación basada en tecnología Java puede ser homogenea o heterogenea, es decir, puede estar basada en el mismo soporte (por ejemplo, un fichero xml) o en varios soportes de diferente naturaleza (ficheros de texto o properties, xml o una tabla en base de datos).&lt;br /&gt;
&lt;br /&gt;
Echando a un lado aquellos módulos predefinidos  que tienen una forma de generar su configuración de una manera predefinida (por ejemplo, log4j.properties o log4j.xml en trazas de log4j), se debe intentar que el resto de configuración propia del proyecto sea lo más homogenea posible, utilizando siempre el mismo soporte, esto quiere decir utilizar siempre ficheros de propiedades, un fichero xml o una tabla en base de datos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;IMPLEMENTACIÓN&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Para cumplir los objetivos que nos hemos impuesto necesitamos una clase como la siguiente:&lt;br /&gt;
&lt;br /&gt;
Datos de configuración obligatorios:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;allowRefresh&lt;/span&gt;: true o false indicando si se debe autorefrescar la configuración&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;refreshTime&lt;/span&gt;: Número de minutos entre cada refresco (se actualizará cuando se llame la próxima vez a cualquier variable de configuración)&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;pre&gt;public final class Configurator {
 // ~ Campos estáticos / Constantes //
 // ------------------------------------------
 private static Map&amp;lt;String, Object&amp;gt; propertiesMap = new HashMap&amp;lt;&amp;gt;();
 private static long refreshTime = 60;
 // En minutos, por defecto una hora
 private static long lastRefreshTime = 0;
 private static boolean allowRefresh = false;

 static { // Se puede inicializar estaticamente o desde alguna clase o listener
  try {
   initialize();
  } catch (Exception ignored) {
  }
 }

 // ~ Métodos //
 // ----------------------------------------------------------------
 /**
  * * Comprueba si es necesario actualizar la configuracion *
  * 
  * @throws ConfigurationException
  */
 private static void refreshConfiguration() throws Exception {
  long currentTime = System.currentTimeMillis();
  if (allowRefresh) {
   if (currentTime &amp;gt; (refreshTime + lastRefreshTime)) {
    initialize();
   }
  }
 }

 /**
  * * Obtiene un subconjunto de propiedades dado un patrón de inicio Por *
  * ejemplo (&#39;animales&#39;): animales.leon animales.cabra animales.camaleon *
  * * @param key * @param pattern * * @return ArrayList * @throws
  * ConfigurationException
  */
 public static List getFilterKeySet(String key, String pattern) {
  List res = new ArrayList();
  try {
   refreshConfiguration();
   if (!pattern.endsWith(&quot;.&quot;)) {
    pattern = pattern + &quot;.&quot;;
   }
   Set keys = ((Map) propertiesMap.get(key)).keySet();
   Iterator e = keys.iterator();
   while (e.hasNext()) {
    String akey = (String) e.next();
    if (akey.startsWith(pattern)) {
     res.add(akey);
    }
   }
  } catch (Exception e) {
   res = new ArrayList();
  }
  return res;
 }

 /**
  * Obtiene un parámetro de configuración del sistema como cadena *
  * @param group 
  * @param key 
  * @return String
  */
 public static String getPropertyAsString(String group, String key) {
  String value = null;
  refreshConfiguration();
  value = (String) ((Map) propertiesMap.get(group)).get(key);
  return value;
 }
 
 /**
  * Obtiene un parámetro de configuración del sistema como [TIPO], * , las
  * que se necesiten de este tipo u otro * * @param group * @param key *
  * @return [TIPO]
  */
 public static TIPO getPropertyAsTIPO(String group, String key){
  TIPO value = null;
  refreshConfiguration();
  value = new TIPO(((Map)propertiesMap.get(group)).get(key).toString());
  return value;
 }

 /** * Inicialización de la configuración de la aplicación */ 
 public static void initialize() throws Exception {
  try {    
   propertiesMap = new HashMap();    
   //CARGAR LOS DATOS DE CONFIGURACIÓN, desde la fuente de datos,    
   // y utilizando un mapa doble y agrupando por grupo    
   while (hayElementos) { 
    propertiesMap.add [....]   ;
   }    
   lastRefreshTime = System.currentTimeMillis();
  } catch (Exception e) {    
    System.out.println(&quot;Error al cargar la configuración de la aplicación: &quot; + e);   
    throw e;  
  } 
 }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Se aconseja utilizar como soporte de la configuración una tabla en base de datos (la conexión se debe configurar por jndi utilizando la configuración del servidor de aplicaciones: pool de conexiones gestionado por contenedor), de este tipo:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #000066; font-family: &amp;quot;courier new&amp;quot;; font-style: italic;&quot;&gt;   CONFIGURACION (GRUPO, VARIABLE, VALOR, DESCRIPCION) FK (GRUPO, VARIABLE);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
De esta forma, en cada entorno con su propia base de datos se podrá desplegar y redesplegar la aplicación las veces que se requieran sin tener que modificar la configuración en dicho entorno (únicamente la primera instalación y breves cambios). Esto viene muy bien si se trata de un producto en continuo desarrollo y se pueden tener diferentes versiones en diferentes clientes.&lt;br /&gt;
&lt;br /&gt;
Hay muchos posibles variantes para este patrón:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Utilizando el patrón Factory para crear y obtener la instancia.&lt;/li&gt;
&lt;li&gt;Utilizando el patrón Singleton en vez de una clase estática.&lt;/li&gt;
&lt;li&gt;Añadiendo cuantas funciones se necesiten.&lt;/li&gt;
&lt;li&gt;Cualquiera que no afecte al rendimiento ni la eficiencia de esta funcionalidad.&lt;/li&gt;
&lt;li&gt;Cargando a la vez las variables allowRefresh y refreshTime desde configuración y actualizando. &lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://jmtalavera.blogspot.com/feeds/7706159749717921574/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jmtalavera.blogspot.com/2008/11/configuratorpattern.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/7706159749717921574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/7706159749717921574'/><link rel='alternate' type='text/html' href='http://jmtalavera.blogspot.com/2008/11/configuratorpattern.html' title='ConfiguratorPattern'/><author><name>jmtalavera</name><uri>http://www.blogger.com/profile/17883424835757744295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015846341115824002.post-1606372564413975097</id><published>2007-10-30T12:34:00.000+01:00</published><updated>2012-01-13T16:10:13.121+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ajax"/><category scheme="http://www.blogger.com/atom/ns#" term="dwr"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="struts"/><category scheme="http://www.blogger.com/atom/ns#" term="validate"/><category scheme="http://www.blogger.com/atom/ns#" term="ValidatorForm"/><title type='text'>Ejecutar el validador automático de formularios de struts desde Ajax</title><content type='html'>&lt;span style=&quot;;font-family:Times New Roman;font-size:100%;&quot;  &gt;&lt;span style=&quot;font-size:12;&quot;&gt;A través de esta clase se podría llamar al validador automático de formularios de struts (que extienden de ValidatorForm) que se configura en el fichero &#39;validation.xml&#39;.&lt;br /&gt;
&lt;br /&gt;
Es ideal para realizar validaciones de servidor cuando se realiza una petición usando Ajax desde un formulario, aunque se podría incluso usar para forzar la validación desde nuestros propios servlets o actions de Struts.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;import  javax.servlet.ServletContext;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;import  javax.servlet.http.HttpServletRequest;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;import  org.apache.commons.validator.Validator;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;import  org.apache.commons.validator.ValidatorException;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;import  org.apache.log4j.Logger ;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;import  org.apache.struts.action.ActionErrors;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;public class StrutsFacadeHelper  {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;    private static final Logger log =  Logger.getLogger(StrutsFacadeHelper.class);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;    &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;    /**&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;     * Permite  validar un formulario o bean que extienda de ValidatorForm &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;     * &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;     *  @param formName Nombre del formulario declarado en Struts-config y  validation.xml&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;     * @param formBean Objeto ValidatorForm con los datos a  validar&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;     * @param sc ServletContext&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;     * @param request  HttpServletRequest &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;     * @param errors ActionErrors (a devolver)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;      */&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;    public static void ValidateForm (String formName, Object formBean,  ServletContext sc, HttpServletRequest request, ActionErrors errors) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;         Validator validator =  org.apache.struts.validator.Resources.initValidator(formName, formBean, sc,  request, errors, 0);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;        &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;        try {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;             validator.validate();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;        } catch (ValidatorException e) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;             log.error(e.getMessage(), e);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;        }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 51, 255);&quot;&gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Yo lo he usado con DWR con buenos resultados. He aquí un ejemplo (suponemos que la configuración de DWR y de la clase que ejecuta esta función Ajax está correcta):&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:Times New Roman;font-size:100%;&quot;  &gt;&lt;span style=&quot;font-size:12;&quot;&gt;public String compruebaUsuarioClaveDWR (String &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:Times New Roman;font-size:100%;&quot;  &gt;&lt;span style=&quot;font-size:12;&quot;&gt;usuario_id, String clave&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 153);font-family:Times New Roman;font-size:100%;&quot;  &gt;&lt;span style=&quot;font-size:12;&quot;&gt;) {...&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;//Obtenemos el contexto&lt;/span&gt;&lt;br /&gt;
WebContext  ctx = WebContextFactory.get();&lt;br /&gt;
HttpServletRequest request =  ctx.getHttpServletRequest();&lt;br /&gt;
ActionErrors errores = new  ActionErrors();&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;//Obtener formulario&lt;/span&gt;&lt;br /&gt;
UsuarioForm formulario = new  UsuarioForm (usuario_id, clave);&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;//Validación de servidor del  formulario &lt;/span&gt;&lt;br /&gt;
StrutsFacadeHelper.ValidateForm(&quot;usuarioForm&quot;, formulario,  ctx.getServletContext(), request, errores);&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;//Comprobar si hay  errores&lt;/span&gt;&lt;br /&gt;
if (errores.isEmpty()) {&lt;br /&gt;
 //funcionalidad, comprobar usuario - clave&lt;br /&gt;
} else {&lt;br /&gt;
  request.setAttribute (Globals.ERROR_KEY, errores);&lt;br /&gt;
 return  ctx.forwardToString(&quot;[URL]/error.jsp&quot;); &lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;//o devolver una  cadena de errores (o xml) en vez de devolver una página que  contenga ...&lt;html:errors&gt;...&lt;/html:errors&gt;&lt;/span&gt;&lt;br /&gt;
}&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://jmtalavera.blogspot.com/feeds/1606372564413975097/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jmtalavera.blogspot.com/2007/10/ejecutar-el-validador-automtico-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/1606372564413975097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/1606372564413975097'/><link rel='alternate' type='text/html' href='http://jmtalavera.blogspot.com/2007/10/ejecutar-el-validador-automtico-de.html' title='Ejecutar el validador automático de formularios de struts desde Ajax'/><author><name>jmtalavera</name><uri>http://www.blogger.com/profile/17883424835757744295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015846341115824002.post-3185873800222744916</id><published>2007-02-26T11:10:00.000+01:00</published><updated>2007-10-30T15:33:00.390+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OAS"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="Portal"/><category scheme="http://www.blogger.com/atom/ns#" term="SSO"/><category scheme="http://www.blogger.com/atom/ns#" term="ssosdk"/><title type='text'>Aplicaciones Asociadas a SSO en Oracle AS Portal</title><content type='html'>&lt;h1 style=&quot;text-align: center;&quot; align=&quot;center&quot;&gt;&lt;a name=&quot;_Toc156370826&quot;&gt;Integración de Aplicaciones&lt;/a&gt;&lt;a name=&quot;_Toc156370826&quot;&gt; con SSO en Oracle Portal&lt;/a&gt;&lt;/h1&gt;&lt;h2&gt;&lt;a name=&quot;_Toc156370827&quot;&gt;Indice&lt;/a&gt;&lt;/h2&gt;                                &lt;p style=&quot;margin: 0cm 0cm 0.0001pt; line-height: 150%;&quot;&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;&#39;mso-spacerun:yes&#39;&quot;&gt; &lt;/span&gt;TOC \o &amp;quot;1-3&amp;quot; \h \z &lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a href=&quot;http://www2.blogger.com/post-create.g?blogID=2015846341115824002#_Toc156370826&quot;&gt;Integración de Aplicaciones con SSO en Oracle Portal&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370826 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800320036000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;a href=&quot;http://www2.blogger.com/post-create.g?blogID=2015846341115824002#_Toc156370828&quot;&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370827 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800320037000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;Indice&lt;br /&gt;1.- Introducción&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370828 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800320038000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;&quot;&gt;&lt;a href=&quot;http://www2.blogger.com/post-create.g?blogID=2015846341115824002#_Toc156370829&quot;&gt;1.1.- Proteger aplicaciones usando mod_oss&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370829 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800320039000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;a href=&quot;http://www2.blogger.com/post-create.g?blogID=2015846341115824002#_Toc156370834&quot;&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370830 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800330030000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;2.- Código recomendado para cierre de sesión&lt;br /&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370831 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800330031000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;3.- Código recomendado para abrir sesión&lt;br /&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370832 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800330032000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;4.- Obtener datos del usuario logado en SSO Server&lt;br /&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370833 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800330033000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;5.- Encriptar y desencriptar cookies de aplicación&lt;br /&gt;6.- Registro de una aplicación asociada en el SSO Server&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370834 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800330034000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;&quot;&gt;&lt;a href=&quot;http://www2.blogger.com/post-create.g?blogID=2015846341115824002#_Toc156370835&quot;&gt;6.1.- Atributos de una aplicación asociada&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370835 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800330035000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;a href=&quot;http://www2.blogger.com/post-create.g?blogID=2015846341115824002#_Toc156370837&quot;&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370836 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800330036000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;7.- Atributos de usuario pasados a aplicaciones asociadas&lt;br /&gt;8.- Asociar una aplicación a SSO paso a paso&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370837 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;13&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800330037000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;&quot;&gt;&lt;a href=&quot;http://www2.blogger.com/post-create.g?blogID=2015846341115824002#_Toc156370838&quot;&gt;8.1.- Crear la nueva aplicación asociada en el SSO&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;.. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370838 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;13&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800330038000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a href=&quot;http://www2.blogger.com/post-create.g?blogID=2015846341115824002#_Toc156370839&quot;&gt;8.2.- Creación y configuración de la Base de datos de aplicaciones asociadas&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370839 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;15&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800330039000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a href=&quot;http://www2.blogger.com/post-create.g?blogID=2015846341115824002#_Toc156370840&quot;&gt;8.2.- Configuración de la aplicación asociada&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370840 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;17&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800340030000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;a href=&quot;http://www2.blogger.com/post-create.g?blogID=2015846341115824002#_Toc156370841&quot;&gt;9.- Bibliografía y documentación&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;&quot;&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-begin&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&#39;display:none;mso-hide:screen;text-decoration:none;color:windowtext;&quot;&gt; PAGEREF _Toc156370841 \h &lt;/span&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-separator&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;19&lt;/span&gt;&lt;span style=&quot;display: none; text-decoration: none; color: rgb(0, 0, 0);&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003100350036003300370030003800340031000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style=&quot;&#39;;color:windowtext;&quot;&gt;&lt;span style=&quot;&#39;mso-element:field-end&#39;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name=&quot;_Toc156370828&quot;&gt;1.- Introducción&lt;/a&gt;&lt;/h2&gt;  &lt;p class=&quot;Prrafotrastitulo3&quot; style=&quot;margin-left: 0cm;&quot;&gt;Con el fín de integrar varias aplicaciones bajo el mismo sistema de autenticación, Oracle proporciona dos componentes que los desarrolladores pueden utilizar para simplificar el desarrollo en un entorno de aplicaciones empresariales:&lt;/p&gt;  &lt;p class=&quot;Prrafotrastitulo3&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;El SSO de Oracle AS permite la autentificación de todos los usuarios mediante un único nombre y contraseña, centralizando la administración de conexión de todos los usuarios.&lt;/p&gt;  &lt;p class=&quot;Prrafotrastitulo3&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;El portal de Oracle AS integra datos de fuentes diversas. Las páginas del Portal de Oracle AS controlan el contenido en regiones llamadas portlets que muestran datos de otros sitios Web o aplicaciones.&lt;/p&gt;  &lt;p class=&quot;Prrafotrastitulo3&quot; style=&quot;margin-left: 0cm;&quot;&gt;Oracle Portal permite el intercambio de datos de sesión de SSO a través de cookies y proporciona un SDK, que incluye ejemplos explicativos, para obtener, crear y modificar cookies entre distintas aplicaciones para obtener datos del usuario logado, obtenerlos, modificarlos o crear nuevos datos o, incluso, redireccionar automáticamente a páginas de SSO si es necesario (por usuario no logado, sesión expirada,…) o comprobar las credenciales de acceso. Estas cookies, si existen, poseen datos encriptados.&lt;/p&gt;  &lt;p class=&quot;Prrafotrastitulo3&quot; style=&quot;margin-left: 0cm;&quot;&gt;En conclusión, esta SDK permite interactuar con el servidor SSO de Oracle Portal. El archivo que se debe importar en cada aplicación es “ssosdk902.jar” junto con el “ssosdk902.zip” que viene con código fuente de ejemplo, y se encuentran en la carpeta siguiente:&lt;/p&gt;  &lt;p class=&quot;Prrafotrastitulo3&quot; style=&quot;margin-left: 0cm;&quot;&gt;&lt;b style=&quot;&quot;&gt;$INFRA_HOME/sso/lib&lt;/b&gt;, donde $INFRA_HOME es el raiz de Oracle Infraestructura&lt;/p&gt;  &lt;p class=&quot;PieImagen&quot; style=&quot;margin-left: 0cm; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size:11;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;El siguiente diagrama muestra el flujo de información en la integración de aplicaciones con SSO Server:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h1 style=&quot;text-align: center;&quot; align=&quot;center&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://bp0.blogger.com/_XEe-YeS8_20/ReKlaAEUxPI/AAAAAAAAAAM/VK_KmJhTCjo/s1600-h/clip_image002.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://bp0.blogger.com/_XEe-YeS8_20/ReKlaAEUxPI/AAAAAAAAAAM/VK_KmJhTCjo/s320/clip_image002.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5035769199466956018&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 18pt; text-align: center;&quot; align=&quot;center&quot;&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Aquí se explica paso a paso como el SSO utiliza las cookies para autenticar a usuarios en otras aplicaciones: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style=&quot;margin-top: 0cm;&quot; start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Un usuario invoca una      aplicación asociada o externa al portal.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;La aplicación busca      en el navegador del usuario la cookie de login. Si se encuentra presente,      autentica al usuario a través de la información cifrada en la cookie. Si la      cookie de login no está presente, la aplicación redirecciona de forma      transparente hacia la página de autenticación de SSO Server. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;El servidor de SSO muestra      la página de conexión para aceptar el usuario y contraseña y fija una cookie      de conexión o login si las credenciales son válidas. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Después de autenticar      al usuario, el servidor de SSO transparentemente vuelve a redireccionar a      la aplicación correspondiente usando un URL con un parámetro cifrado que      identifica al usuario. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;La aplicación      asociada debe encargarse de descifrar el parámetro, establecer su propio mantenimiento      de la sesión (por ejemplo, determinando qué privilegios debe conceder al      usuario), y mantener el sistema de cookies de modo que no se necesite      volver a dirigir el flujo al servidor de SSO.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;El SSO SDK se puede obtener de la siguiente ruta:&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;        [ORACLE_INFRAESTRUCTURE]/sso/lib/ssosdk902.zip &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;El javadoc de este paquete lo podemos leer en la siguiente ruta:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/toc.htm&quot;&gt;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/toc.htm&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;Es necesario instalar el SSO SDK, siguiendo los pasos del fichero fichero “ReadMe.txt”.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a name=&quot;_Toc156370829&quot;&gt;1.1.- Proteger aplicaciones usando mod_oss&lt;/a&gt;&lt;/h3&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;En Oracle AS se puede utilizar mod_osso, un módulo de la autentificación del servidor de HTTP de Oracle, que permite el acceso único simple a través de SSO. es un alternativa simple al SSO SDK, usado en otras versiones para integrar aplicaciones. El mod_osso simplifica el proceso de autenticación sirviendo las utilidades del SSO a aplicaciones externas.&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Mod_osso puede redireccionar al usuario al módulo de autentificación SSO únicamente si la url llamad se encuentra protegida.&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;Existe dos métodos de protección usando mod_osso:&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Proteger URLs estáticamente&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Proteger URLs dinámicamente&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h4 style=&quot;margin-left: 0cm;&quot;&gt;1.1.1.- Proteger URLs estáticamente&lt;/h4&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;Se utiliza el fichero “mod_osso.conf” situado en la carpeta “%INFRA_HOME%/Apache/Apache/conf” de la carpeta de Oracle AS Infraestructura. En el siguiente ejemplo podemos observar como se protege la url ‘/private’ para que requiera un usuario válido:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;ifmodule c=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/ifmodule&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007306&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007308&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;location&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/location&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007309&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;ifmodule c=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/ifmodule&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007306&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007308&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;location&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/location&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007309&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;/span&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;ifmodule&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/ifmodule&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007306&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007308&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;location&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/location&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007309&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;ifmodule&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/ifmodule&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007306&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007308&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;location&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/location&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007309&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;AuthType Basic&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007310&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;require valid-user&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007311&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007312&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007313&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007311&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007312&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007313&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007311&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007312&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007313&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007311&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007312&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;1007313&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Ejemplo: &lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10852/mod_osso.htm#1006382&quot;&gt;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10852/mod_osso.htm#1006382&lt;/a&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h4 style=&quot;margin-left: 0cm;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;1.1.2.- Proteger URLs dinámicamente&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Se utilizan cabeceras como las que se muestran en la tabla siguiente:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;width: 100%;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;100%&quot;&gt;  &lt;thead&gt;   &lt;tr style=&quot;&quot;&gt;    &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;bottom&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Directiva&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style=&quot;padding: 2.25pt; width: 26%;&quot; valign=&quot;bottom&quot; width=&quot;26%&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;1007167&quot;&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Código de estado&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style=&quot;padding: 2.25pt; width: 42.94%;&quot; valign=&quot;bottom&quot; width=&quot;42%&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;1007169&quot;&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Cabeceras&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;1007171&quot;&gt;&lt;/a&gt;Petición de autenticación&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; width: 26%;&quot; valign=&quot;top&quot; width=&quot;26%&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;1007173&quot;&gt;&lt;/a&gt;401, 499&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; width: 42.94%;&quot; valign=&quot;top&quot; width=&quot;42%&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;1007176&quot;&gt;&lt;/a&gt;-&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;1007178&quot;&gt;&lt;/a&gt;Petición forzada de autenticación&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; width: 26%;&quot; valign=&quot;top&quot; width=&quot;26%&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;1007180&quot;&gt;&lt;/a&gt;499&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; width: 42.94%;&quot; valign=&quot;top&quot; width=&quot;42%&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;1007182&quot;&gt;&lt;/a&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;Osso-Paranoid:&lt;/code&gt;&lt;code&gt;true&lt;/code&gt;&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;1007184&quot;&gt;&lt;/a&gt;Single Sign-Off&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; width: 26%;&quot; valign=&quot;top&quot; width=&quot;26%&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;1007186&quot;&gt;&lt;/a&gt;470&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; width: 42.94%;&quot; valign=&quot;top&quot; width=&quot;42%&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;1007188&quot;&gt;&lt;/a&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;Osso-Return-URL &lt;/span&gt;&lt;/code&gt;&lt;a name=&quot;1007189&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Esta es la URL de retorno despues de completar el ‘single sign-on’&lt;/span&gt;   &lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;1007193&quot;&gt;&lt;/a&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Ejemplo: &lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10852/mod_osso.htm#1006437&quot;&gt;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10852/mod_osso.htm#1006437&lt;/a&gt;&lt;/p&gt;  &lt;span style=&quot;&quot;&gt;  &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name=&quot;_Toc156370830&quot;&gt;2.- Código recomendado para cierre de sesión&lt;/a&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;i&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// Clear application session, if any&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;1007056&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;String l_return_url := &lt;i&gt;return url to your application e.g. home page&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;1007057&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;response.setHeader( &quot;Osso-Return-Url&quot;, l_return_url);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;1007063&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;response.sendError( 470, &quot;Oracle SSO&quot; );&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name=&quot;_Toc156370831&quot;&gt;3.- Código recomendado para abrir sesión&lt;/a&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// Get user name from application session. This session was&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007007&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// established by the application or OC4J session&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007008&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;String username = request.getSession().getAttribute(&#39;USER_NAME&#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007009&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007010&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// Get subscriber name from application session. This session was&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007011&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// established by the application or OC4J session&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007012&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;String subscriber = request.getSession().getAttribute(&#39;SUBSCRIBER_NAME&#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007013&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007014&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// Get user security information from application session. This session // was &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;established by the application or OC4J session&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007015&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;String user_sec_info = request.getSession().getAttribute(&#39;USER_APP_SEC&#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007016&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007017&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// Get username and subscriber name from JAZN API */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007018&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;JAZNUserAdaptor jaznuser  = (JAZNUserAdaptor)requset.getUserPrincipal();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007019&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;String ssousername&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;= jaznuser.getName();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007020&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;String ssosubscriber = jaznuser.getRealm().getName();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007021&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007022&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// If you are not using JAZN api then you can also get the username and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007023&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// subscriber name from mod_osso headers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007024&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;String ssousername&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;= request.getRemoteUser();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007025&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;String ssosubscriber = request.getHeader(&#39;OSSO-SUBSCRIBER&#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007026&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007027&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// Check for application session. Create it if necessary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007028&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;if((username == null) || (subscriber == null) )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007029&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;  {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007030&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;    &lt;i&gt;...Code to create application session. Get the user information from &lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;i&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;    JAZN api(or mod_osso headers if you are not using JAZN api) and     populate &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;i&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;the application session with user, subscriber and user     security info...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007031&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;  }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007032&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007033&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;if((username != null)&amp;amp;&amp;amp;(subscriber != null)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007034&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;  &amp;amp;&amp;amp;(ssousername != null)&amp;amp;&amp;amp;(ssosubscriber != null)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007035&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;  &amp;amp;&amp;amp;(username.equalsIgnoreCase(ssousername) == 0 )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007036&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;&quot;&gt;&amp;amp;&amp;amp;(subscriber.equalsIgnoreCase(ssosubscriber) == 0))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007037&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007038&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;  // Show personalized user content&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007039&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;show_personalized_page(username, subscriber, user_sec_info);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007040&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007041&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007042&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007043&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;     &lt;i&gt;...Code to Wipe-out application session, followed by...&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007044&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007045&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// Send Dynamic Directive for login&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007046&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// If you are using JAZN then you should use following code&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007047&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// response.sendError( 401);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007048&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007049&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;// If you are not using JAZN api then you should use following code&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007050&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;// response.sendError( 499, &quot;Oracle SSO&quot; );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a name=&quot;1007051&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;}&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name=&quot;_Toc156370832&quot;&gt;4.- Obtener datos del usuario logado en SSO Server&lt;/a&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Al obtener de la sesión el usuario de tipo SSOUserInfo, podemos leer de él la siguiente información:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;width: 100%;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;100%&quot;&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td colspan=&quot;2&quot; style=&quot;padding: 2.25pt; background: rgb(204, 204, 255) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;method_summary&quot;&gt;&lt;/a&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;b&gt;Method Summary&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; width: 25.06%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot; valign=&quot;top&quot; width=&quot;25%&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot; align=&quot;right&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt; java.lang.String&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;b&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/oracle/security/sso/enabler/SSOUserInfo.html#getIPAddress%28%29&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;getIPAddress&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;Returns the IP   address of the user&#39;s computer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; width: 25.06%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot; valign=&quot;top&quot; width=&quot;25%&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot; align=&quot;right&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt; &lt;/span&gt;&lt;/code&gt;&lt;code&gt;java.lang.String&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;b&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/oracle/security/sso/enabler/SSOUserInfo.html#getLocale%28%29&quot;&gt;&lt;span style=&quot;&quot;&gt;getLocale&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;()&lt;/code&gt;&lt;br /&gt;Returns locale   information.&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; width: 25.06%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot; valign=&quot;top&quot; width=&quot;25%&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot; align=&quot;right&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt; int&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;b&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/oracle/security/sso/enabler/SSOUserInfo.html#getSSOTimeRemaining%28%29&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;getSSOTimeRemaining&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;Returns the   remaining session time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; width: 25.06%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot; valign=&quot;top&quot; width=&quot;25%&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot; align=&quot;right&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt; &lt;/span&gt;&lt;/code&gt;&lt;code&gt;java.lang.String&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;b&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/oracle/security/sso/enabler/SSOUserInfo.html#getSSOUserName%28%29&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;getSSOUserName&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;Returns the   authenticated user name.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; width: 25.06%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot; valign=&quot;top&quot; width=&quot;25%&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot; align=&quot;right&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt; &lt;/span&gt;&lt;/code&gt;&lt;code&gt;java.lang.String&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;b&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/oracle/security/sso/enabler/SSOUserInfo.html#getSubscriberDN%28%29&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;getSubscriberDN&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;Returns the   directory DN of the subscriber.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; width: 25.06%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot; valign=&quot;top&quot; width=&quot;25%&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot; align=&quot;right&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt; &lt;/span&gt;&lt;/code&gt;&lt;code&gt;java.lang.String&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;b&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/oracle/security/sso/enabler/SSOUserInfo.html#getSubscriberGuid%28%29&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;getSubscriberGuid&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;Returns the   directory GUID of the subscriber.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; width: 25.06%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot; valign=&quot;top&quot; width=&quot;25%&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot; align=&quot;right&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt; &lt;/span&gt;&lt;/code&gt;&lt;code&gt;java.lang.String&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;b&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/oracle/security/sso/enabler/SSOUserInfo.html#getSubscriberName%28%29&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;getSubscriberName&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;Returns the   subscriber name.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; width: 25.06%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot; valign=&quot;top&quot; width=&quot;25%&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot; align=&quot;right&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt; &lt;/span&gt;&lt;/code&gt;&lt;code&gt;java.lang.String&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;b&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/oracle/security/sso/enabler/SSOUserInfo.html#getUrlRequested%28%29&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;getUrlRequested&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;Returns the   requested URL.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; width: 25.06%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot; valign=&quot;top&quot; width=&quot;25%&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot; align=&quot;right&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt; &lt;/span&gt;&lt;/code&gt;&lt;code&gt;java.lang.String&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;b&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/oracle/security/sso/enabler/SSOUserInfo.html#getUserDN%28%29&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;getUserDN&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;Returns the   directory DN of the user.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; width: 25.06%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot; valign=&quot;top&quot; width=&quot;25%&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: right;&quot; align=&quot;right&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt; &lt;/span&gt;&lt;/code&gt;&lt;code&gt;java.lang.String&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;b&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/oracle/security/sso/enabler/SSOUserInfo.html#getUserGuid%28%29&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;getUserGuid&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;Returns the   directory GUID of the user.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name=&quot;_Toc156370833&quot;&gt;5.- Encriptar y desencriptar cookies de aplicación&lt;/a&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;La clase del SSO SDK, SSOEnabler.class, posee los siguientes métodos de encriptación que habrá que invocar cuando se cree o lea cualquier cookie de sesión:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;java.lang.String&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;b&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/oracle/security/sso/enabler/SSOEnabler.html#decryptCookie%28java.lang.String,%20java.lang.String%29&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;decryptCookie&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;(java.lang.String p_listenerToken, java.lang.String p_encryptedCookie)&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;java.lang.String&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;b&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10422/oracle/security/sso/enabler/SSOEnabler.html#encryptCookie%28java.lang.String,%20java.lang.String%29&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;encryptCookie&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot;&gt;(java.lang.String p_listenerToken, java.lang.String p_appCookie)&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name=&quot;_Toc156370834&quot;&gt;6.- Registro de una aplicación asociada en el SSO Server&lt;/a&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;En la siguiente ruta deberemos dar de alta nuestra aplicación para incluirlo en el sistema de acceso único de SSO Server, con los parámetros asociados correspondientes:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;http://[SERVIDOR]:[PUERTO]/pls/orasso/orasso.home&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;El puerto por defecto suele ser el 7777. El acceso se debe de realizar con el usuario administrador (orcladmin). Una vez iniciado aparecerá la siguiente pantalla:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id=&quot;_x0000_i1029&quot; type=&quot;#_x0000_t75&quot; style=&quot;&#39;width:424.5pt;height:318.75pt&#39;&quot; bordertopcolor=&quot;this&quot; borderleftcolor=&quot;this&quot; borderbottomcolor=&quot;this&quot; borderrightcolor=&quot;this&quot;&gt;  &lt;v:imagedata src=&quot;file:///C:\WINDOWS\TEMP\msohtml1\01\clip_image005.png&quot; title=&quot;&quot;&gt;  &lt;w:bordertop type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderleft type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderbottom type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderright type=&quot;single&quot; width=&quot;4&quot;&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://bp0.blogger.com/_XEe-YeS8_20/ReKo5AEUxQI/AAAAAAAAAAU/C582fvknNhA/s1600-h/clip_image002.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://bp0.blogger.com/_XEe-YeS8_20/ReKo5AEUxQI/AAAAAAAAAAU/C582fvknNhA/s400/clip_image002.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5035773030577784066&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Pulsamos el enlace ‘Administrador del Servidor SSO’ y nos aparece la siguiente pantalla:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id=&quot;_x0000_i1030&quot; type=&quot;#_x0000_t75&quot; style=&quot;&#39;width:389.25pt;height:291.75pt&#39;&quot; bordertopcolor=&quot;this&quot; borderleftcolor=&quot;this&quot; borderbottomcolor=&quot;this&quot; borderrightcolor=&quot;this&quot;&gt;  &lt;v:imagedata src=&quot;file:///C:\WINDOWS\TEMP\msohtml1\01\clip_image007.png&quot; title=&quot;&quot;&gt;  &lt;w:bordertop type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderleft type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderbottom type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderright type=&quot;single&quot; width=&quot;4&quot;&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://bp3.blogger.com/_XEe-YeS8_20/ReKsGwEUxRI/AAAAAAAAAAk/eJxhsZTi86A/s1600-h/clip_image002.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://bp3.blogger.com/_XEe-YeS8_20/ReKsGwEUxRI/AAAAAAAAAAk/eJxhsZTi86A/s400/clip_image002.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5035776565335868690&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Seleccionamos ahora ‘Administrar Aplicaciones Asociadas’. Nos aparece:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id=&quot;_x0000_i1031&quot; type=&quot;#_x0000_t75&quot; style=&quot;&#39;width:388.5pt;height:291.75pt&#39;&quot; bordertopcolor=&quot;this&quot; borderleftcolor=&quot;this&quot; borderbottomcolor=&quot;this&quot; borderrightcolor=&quot;this&quot;&gt;  &lt;v:imagedata src=&quot;file:///C:\WINDOWS\TEMP\msohtml1\01\clip_image009.png&quot; title=&quot;&quot;&gt;  &lt;w:bordertop type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderleft type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderbottom type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderright type=&quot;single&quot; width=&quot;4&quot;&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://bp3.blogger.com/_XEe-YeS8_20/ReKshwEUxSI/AAAAAAAAAAs/EHfRBFENuy8/s1600-h/Dibujo.JPG&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://bp3.blogger.com/_XEe-YeS8_20/ReKshwEUxSI/AAAAAAAAAAs/EHfRBFENuy8/s400/Dibujo.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5035777029192336674&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Pulsamos ‘Agregar Aplicación Asociada’ y escribimos todos los datos que nos solicitan, nos creará unas URLs de conexión y desconexión automáticamente:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id=&quot;_x0000_i1032&quot; type=&quot;#_x0000_t75&quot; style=&quot;&#39;width:424.5pt;height:318.75pt&#39;&quot; bordertopcolor=&quot;this&quot; borderleftcolor=&quot;this&quot; borderbottomcolor=&quot;this&quot; borderrightcolor=&quot;this&quot;&gt;  &lt;v:imagedata src=&quot;file:///C:\WINDOWS\TEMP\msohtml1\01\clip_image011.png&quot; title=&quot;&quot;&gt;  &lt;w:bordertop type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderleft type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderbottom type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderright type=&quot;single&quot; width=&quot;4&quot;&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://bp0.blogger.com/_XEe-YeS8_20/ReKsxAEUxTI/AAAAAAAAAA0/4mX1F5sl3G0/s1600-h/clip_image002.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://bp0.blogger.com/_XEe-YeS8_20/ReKsxAEUxTI/AAAAAAAAAA0/4mX1F5sl3G0/s400/clip_image002.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5035777291185341746&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a name=&quot;_Toc156370835&quot;&gt;6.1.- Atributos de una aplicación asociada&lt;/a&gt;&lt;/h3&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Para el login:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;width: 100%;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;100%&quot;&gt;  &lt;thead&gt;   &lt;tr style=&quot;&quot;&gt;    &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;bottom&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;635008&quot;&gt;&lt;/a&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Field&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;bottom&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;635010&quot;&gt;&lt;/a&gt;&lt;b&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Description&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;635012&quot;&gt;&lt;/a&gt;Name&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;635014&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;Enter a   unique name for the partner application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;635016&quot;&gt;&lt;/a&gt;Home URL&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;635018&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;Enter the   URL of the home page for the application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;635021&quot;&gt;&lt;/a&gt;Success URL&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;635023&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;Enter the   URL to the routine responsible for establishing the partner application&#39;s   session and session cookies. This routine should redirect the browser to the   URL that the user originally requested. &lt;a name=&quot;635024&quot;&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;The URL must point to a procedure   that processes the user identification information from the single sign-on   server. Include the &lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;http://&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt; prefix in the URL. The following   example shows a success URL for OracleAS Portal:&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt; &lt;/span&gt;&lt;a name=&quot;635273&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;http://server.domain.com:5000/pls/DAD/portal.wwsec_app_priv.process_signon&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;635027&quot;&gt;&lt;/a&gt;Logout URL&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;a name=&quot;635029&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;Enter the   URL for the logout routine of the application. The single sign-off page   invokes this URL in parallel with others, enabling users to simultaneously   log out of the server and active partner applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Para las franjas de validez de login integrado en SSO Server:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;width: 100%;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;100%&quot;&gt;  &lt;thead&gt;   &lt;tr style=&quot;&quot;&gt;    &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;bottom&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;635037&quot;&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Field&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;bottom&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;635039&quot;&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Description&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;635041&quot;&gt;&lt;/a&gt;Start Date&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;635043&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;Enter the date when users are first able to access the partner   application through the single sign-on server. &lt;/span&gt;Use the format shown   next to the field label. &lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;635045&quot;&gt;&lt;/a&gt;End Date&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;635047&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;Enter the date when users are last able to access the partner   application through the single sign-on server. Use the format shown next to   the field label. &lt;a name=&quot;635048&quot;&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;strong&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;Note:&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt; If you leave this field blank,   this partner application is valid for an indefinite period.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Para los daos del administrador de la aplicación:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;width: 100%;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;100%&quot;&gt;  &lt;thead&gt;   &lt;tr style=&quot;&quot;&gt;    &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;bottom&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;635056&quot;&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Field&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;bottom&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;635058&quot;&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Description&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;635060&quot;&gt;&lt;/a&gt;Administrator E-mail&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;635062&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;Enter the e-mail address of the administrator of the partner   application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;635064&quot;&gt;&lt;/a&gt;Administrator Information&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;a name=&quot;635066&quot;&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;Enter any additional information that you want to include about the   administrator of the partner application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name=&quot;_Toc156370836&quot;&gt;7.- Atributos de usuario pasados a aplicaciones asociadas&lt;/a&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Listado de todos los atributos que ‘mod_osso’ pasa a las aplicaciones asociadas:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class=&quot;MsoNormalTable&quot; style=&quot;width: 100%;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;100%&quot;&gt;  &lt;thead&gt;   &lt;tr style=&quot;&quot;&gt;    &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;bottom&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;635640&quot;&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;HTTP    Header Name&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;bottom&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;635642&quot;&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Description&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;bottom&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;635644&quot;&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;Source&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;    &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;bottom&quot;&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;635526&quot;&gt;&lt;/a&gt;&lt;strong&gt;&lt;span  lang=&quot;EN-GB&quot; style=&quot;font-family:Arial;&quot;&gt;Use as Key or Handle?&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;/td&gt;   &lt;/tr&gt;  &lt;/thead&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635592&quot;&gt;&lt;/a&gt;&lt;code&gt;Osso-User-Guid&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635594&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;Single sign-on user&#39;s globally unique user ID (GUID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635596&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;Single sign-on user&#39;s globally unique user ID (GUID)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635534&quot;&gt;&lt;/a&gt;Recommended&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635598&quot;&gt;&lt;/a&gt;&lt;code&gt;Osso-Subscriber-Guid&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635600&quot;&gt;&lt;/a&gt;Realm GUID&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635602&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;Realm entry in Oracle Internet Directory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635542&quot;&gt;&lt;/a&gt;Recommended&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635604&quot;&gt;&lt;/a&gt;&lt;code&gt;Remote-User&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635606&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;User nickname as entered by user on the login page&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635608&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;Single sign-on login page&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635550&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;Recommended for pre-9.0.4 applications, but not for 9.0.4   applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635610&quot;&gt;&lt;/a&gt;&lt;code&gt;Osso-Subscriber&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635612&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;User-friendly name for a realm&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635614&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;Realm entry in Oracle Internet Directory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635558&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;Recommended for pre-9.0.4 applications, but not for 9.0.4   applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635616&quot;&gt;&lt;/a&gt;&lt;code&gt;Accept-Language&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635618&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;Language and territory in ISO format&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635620&quot;&gt;&lt;/a&gt;Single sign-on server&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635566&quot;&gt;&lt;/a&gt;Not applicable&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635622&quot;&gt;&lt;/a&gt;&lt;code&gt;Osso-User-Dn&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635624&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;Single sign-on user&#39;s distinguished name (DN)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635626&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;User entry in Oracle Internet Directory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635574&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;Not recommended. Use GUID headers to perform user searches in Oracle   Internet Directory. Deprecated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635628&quot;&gt;&lt;/a&gt;&lt;code&gt;Osso-Subscriber-DN&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635630&quot;&gt;&lt;/a&gt;Realm DN&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635632&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;Realm entry in Oracle Internet Directory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;padding: 2.25pt;&quot; valign=&quot;top&quot;&gt;   &lt;p class=&quot;tb&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a name=&quot;635582&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:100%;&quot;&gt;Not recommended. Use GUID headers to perform user searches in Oracle   Internet Directory. Deprecated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;  &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name=&quot;_Toc156370837&quot;&gt;8.- Asociar una aplicación a SSO paso a paso&lt;/a&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Para asociar una aplicación a SSO hay que seguir los siguientes pasos, no necesariamente en el mismo orden:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a name=&quot;_Toc156370838&quot;&gt;8.1.- Crear la nueva aplicación asociada en el SSO&lt;/a&gt;&lt;/h3&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Acceder a la consola de administración de SSO, normalmente se encuentra en la siguiente ruta:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;http://[HOST_INFRAESTRUCTURA]:7777/pls/orasso/ORASSO.home&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;Por ejemplo,&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;http://localhost:7777/pls/orasso/ORASSO.home&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Conectar con el usuario ‘orcladmin’, aparecerá mas o menos la siguiente ventana:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 35.4pt;&quot;&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id=&quot;_x0000_i1033&quot; type=&quot;#_x0000_t75&quot; style=&quot;&#39;width:424.5pt;height:228.75pt&#39;&quot; bordertopcolor=&quot;this&quot; borderleftcolor=&quot;this&quot; borderbottomcolor=&quot;this&quot; borderrightcolor=&quot;this&quot;&gt;  &lt;v:imagedata src=&quot;file:///C:\WINDOWS\TEMP\msohtml1\01\clip_image013.png&quot; title=&quot;&quot;&gt;  &lt;w:bordertop type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderleft type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderbottom type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderright type=&quot;single&quot; width=&quot;4&quot;&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://bp3.blogger.com/_XEe-YeS8_20/ReKtHwEUxUI/AAAAAAAAAA8/D6MJ0ETpBZQ/s1600-h/clip_image002.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://bp3.blogger.com/_XEe-YeS8_20/ReKtHwEUxUI/AAAAAAAAAA8/D6MJ0ETpBZQ/s400/clip_image002.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5035777682027365698&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;display: none;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Entrar en la opción ‘Administración del servidor SSO’, luego en ‘Administrar Aplicaciones Asociadas’ y, por último, en ‘Agregar Aplicación Asociada’, Debemos ver algo tal que así:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 35.4pt;&quot;&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id=&quot;_x0000_i1034&quot; type=&quot;#_x0000_t75&quot; style=&quot;&#39;width:424.5pt;height:336.75pt&#39;&quot; bordertopcolor=&quot;this&quot; borderleftcolor=&quot;this&quot; borderbottomcolor=&quot;this&quot; borderrightcolor=&quot;this&quot;&gt;  &lt;v:imagedata src=&quot;file:///C:\WINDOWS\TEMP\msohtml1\01\clip_image015.png&quot; title=&quot;&quot;&gt;  &lt;w:bordertop type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderleft type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderbottom type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderright type=&quot;single&quot; width=&quot;4&quot;&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://bp1.blogger.com/_XEe-YeS8_20/ReKtdQEUxWI/AAAAAAAAABM/0yN7tiZ4vmU/s1600-h/clip_image003.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://bp1.blogger.com/_XEe-YeS8_20/ReKtdQEUxWI/AAAAAAAAABM/0yN7tiZ4vmU/s400/clip_image003.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5035778051394553186&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Rellenamos los datos de nuestra aplicación, para ello debemos tener en cuenta que en las urls de conexión y desconexión, debemos poner la ruta a los jsps o servlets proporcionados por el ejemplo que indicaremos más adelante (ssodemo).&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;La aplicación generará automáticamente una serie de parámetros que debemos apuntar pues nos servirán más adelante:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 72pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;o&lt;span style=&quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Identificador&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 72pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;o&lt;span style=&quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Elemento&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 72pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;o&lt;span style=&quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Clave de Cifrado&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 72pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;o&lt;span style=&quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;URL de Conexión&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 72pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;o&lt;span style=&quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;URL de Desconexión Única&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 35.4pt;&quot;&gt;Podemos consultarlos pulsando sobre el enlace ‘editar’ de nuestra aplicación asociada, creada anteriormente:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 35.4pt;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 35.4pt;&quot;&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id=&quot;_x0000_i1035&quot; type=&quot;#_x0000_t75&quot; style=&quot;&#39;width:424.5pt;height:230.25pt&#39;&quot; bordertopcolor=&quot;this&quot; borderleftcolor=&quot;this&quot; borderbottomcolor=&quot;this&quot; borderrightcolor=&quot;this&quot;&gt;  &lt;v:imagedata src=&quot;file:///C:\WINDOWS\TEMP\msohtml1\01\clip_image017.png&quot; title=&quot;&quot;&gt;  &lt;w:bordertop type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderleft type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderbottom type=&quot;single&quot; width=&quot;4&quot;&gt;  &lt;w:borderright type=&quot;single&quot; width=&quot;4&quot;&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://bp1.blogger.com/_XEe-YeS8_20/ReKtZQEUxVI/AAAAAAAAABE/FYRVWE7bgfc/s1600-h/clip_image002.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;http://bp1.blogger.com/_XEe-YeS8_20/ReKtZQEUxVI/AAAAAAAAABE/FYRVWE7bgfc/s400/clip_image002.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5035777982675076434&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a name=&quot;_Toc156370839&quot;&gt;8.2.- Creación y configuración de la Base de datos de aplicaciones asociadas&lt;/a&gt;&lt;/h3&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Es necesario instalar o tener una instancia accesible de la base de datos para aplicaciones asociadas, cuyos scripts de instalación se proporcionan en el paquete ‘ssosdk902.zip’. Seguir los siguientes pasos para su configuración:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Si no existe se instala creando un esquema nuevo o utilizando uno existente, según los scripts del paquete de desarrollo de sso.&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Una vez creado hay que ejecutar sobre dicha base de datos el siguiente script, también existente en dicho paquete, para instalar la aplicación anteriormente dada de alta el el administrador de SSO de Oracle: regapp.sql.&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;A continuación ponemos las sentencias a ejecutar para su comodidad:&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;PROMPT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;PROMPT Partner Application Configuration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;PROMPT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot;&gt;PROMPT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot;&gt;declare&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_listener_token varchar2(255);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_site_token&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;varchar2(255); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_site_id&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;varchar2(255);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_login_url&lt;span style=&quot;&quot;&gt;      &lt;/span&gt;varchar2(2000);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_logout_url&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;varchar2(2000);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;l_cookie_version varchar2(80);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_encryption_key varchar2(1000);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_ip_check&lt;span style=&quot;&quot;&gt;       &lt;/span&gt;varchar2(1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;begin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_listener_token&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;:= &#39;&amp;amp;Listener_Token&#39;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_site_id&lt;span style=&quot;&quot;&gt;         &lt;/span&gt;:= &#39;&amp;amp;Site_ID&#39;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_site_token&lt;span style=&quot;&quot;&gt;      &lt;/span&gt;:= &#39;&amp;amp;Site_Token&#39;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_login_url&lt;span style=&quot;&quot;&gt;       &lt;/span&gt;:= &#39;&amp;amp;Login_URL&#39;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_cookie_version&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;:= &#39;v1.2&#39;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_encryption_key&lt;span style=&quot;&quot;&gt;  &lt;/span&gt;:= &#39;&amp;amp;Encryption_Key&#39;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;l_ip_check&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;:= &#39;&amp;amp;IP_Check&#39;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;begin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;wwsec_sso_enabler.delete_enabler_config&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;      &lt;/span&gt;(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;p_lsnr_token =&gt; l_listener_token&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;      &lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;exception&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;when others then null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;end;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;wwsec_sso_enabler.create_enabler_config&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;      &lt;/span&gt;(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;p_lsnr_token&lt;span style=&quot;&quot;&gt;         &lt;/span&gt;=&gt; l_listener_token&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_site_token&lt;span style=&quot;&quot;&gt;         &lt;/span&gt;=&gt; l_site_token&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_site_id&lt;span style=&quot;&quot;&gt;            &lt;/span&gt;=&gt; l_site_id &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_ls_login_url&lt;span style=&quot;&quot;&gt;       &lt;/span&gt;=&gt; l_login_url&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_ls_logout_url&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;=&gt; &#39;&#39;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_url_cookie_version =&gt; l_cookie_version&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_encryption_key&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;=&gt; l_encryption_key&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_ipaddr_check&lt;span style=&quot;&quot;&gt;       &lt;/span&gt;=&gt; l_ip_check&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;      &lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;wwsec_sso_enabler.get_enabler_config&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;      &lt;/span&gt;(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;p_lsnr_token&lt;span style=&quot;&quot;&gt;         &lt;/span&gt;=&gt; l_listener_token&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_site_token&lt;span style=&quot;&quot;&gt;         &lt;/span&gt;=&gt; l_site_token&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_site_id&lt;span style=&quot;&quot;&gt;            &lt;/span&gt;=&gt; l_site_id&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_ls_login_url&lt;span style=&quot;&quot;&gt;       &lt;/span&gt;=&gt; l_login_url&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_ls_logout_url&lt;span style=&quot;&quot;&gt;      &lt;/span&gt;=&gt; l_logout_url&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_url_cookie_version =&gt; l_cookie_version&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_encryption_key&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;=&gt; l_encryption_key&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;,p_ipaddr_check&lt;span style=&quot;&quot;&gt;       &lt;/span&gt;=&gt; l_ip_check&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;      &lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;dbms_output.put_line(&#39;------------------------------------------------ &#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;dbms_output.put_line(&#39;Registration successful. &#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;dbms_output.put_line(&#39;Listener token: &#39; || l_listener_token);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;dbms_output.put_line(&#39;Site id&lt;span style=&quot;&quot;&gt;       &lt;/span&gt;: &#39; || l_site_id);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;dbms_output.put_line(&#39;Site token&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;: &#39; || l_site_token);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;dbms_output.put_line(&#39;Encryption key: &#39; || l_encryption_key);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;dbms_output.put_line(&#39;Login URL&lt;span style=&quot;&quot;&gt;     &lt;/span&gt;: &#39; || l_login_url);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;dbms_output.put_line(&#39;Logout URL&lt;span style=&quot;&quot;&gt;    &lt;/span&gt;: &#39; || l_logout_url);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;dbms_output.put_line(&#39;IP check&lt;span style=&quot;&quot;&gt;      &lt;/span&gt;: &#39; || l_ip_check);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;dbms_output.put_line(&#39;------------------------------------------------ &#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;exception&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;   &lt;/span&gt;when others then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;dbms_output.put_line(&#39;------------------------------------------------ &#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;dbms_output.put_line(&#39;ERROR: Error in registration. Please try again&#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;dbms_output.put_line(sqlerrm);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot; lang=&quot;EN-GB&quot;&gt;&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;dbms_output.put_line(&#39;------------------------------------------------ &#39;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot;&gt;end;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot;&gt;/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 153);&quot;&gt;commit;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 70.5pt;&quot;&gt;Durante la ejecución de estas sentencias se le solicitará una serie de parámetros cuya relación con los campos que se definieron en el punto 8.1, es la siguiente&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 70.5pt;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class=&quot;MsoTableGrid&quot; style=&quot;border: medium none ; width: 388.65pt; margin-left: 70.8pt; border-collapse: collapse;&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;518&quot;&gt;  &lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 141.85pt;&quot; valign=&quot;top&quot; width=&quot;189&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b style=&quot;&quot;&gt;CAMPO SOLICITADO&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 246.8pt;&quot; valign=&quot;top&quot; width=&quot;329&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b style=&quot;&quot;&gt;DATO RELACIONADO&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border-style: none solid solid; padding: 0cm 5.4pt; width: 141.85pt;&quot; valign=&quot;top&quot; width=&quot;189&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;LISTENER_TOKEN&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border-style: none solid solid none; padding: 0cm 5.4pt; width: 246.8pt;&quot; valign=&quot;top&quot; width=&quot;329&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;NOMBRE DEL SERVIDOR &lt;/p&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;(Por ej.,   sev-des-app.tb-solutions.com)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border-style: none solid solid; padding: 0cm 5.4pt; width: 141.85pt;&quot; valign=&quot;top&quot; width=&quot;189&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;SITE_ID&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style=&quot;border-style: none solid solid none; padding: 0cm 5.4pt; width: 246.8pt;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;&quot; valign=&quot;top&quot; width=&quot;329&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;IDENTIFICADOR, de la conexión a la aplicación asociada   (Por ej., 52F81BF5)&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 141.85pt;&quot; valign=&quot;top&quot; width=&quot;189&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;SITE_TOKEN&lt;/p&gt;   &lt;/td&gt;   &lt;td color=&quot;-moz-use-text-color windowtext windowtext -moz-use-text-color&quot; style=&quot;border-style: none solid solid none; padding: 0cm 5.4pt; width: 246.8pt;&quot; valign=&quot;top&quot; width=&quot;329&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;ELEMENTO, de la conexión a la aplicación asociada (Por   ej., 87TIUG4K52F81BF5)&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 141.85pt;&quot; valign=&quot;top&quot; width=&quot;189&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;LOGIN_URL&lt;/p&gt;   &lt;/td&gt;   &lt;td color=&quot;-moz-use-text-color windowtext windowtext -moz-use-text-color&quot; style=&quot;border-style: none solid solid none; padding: 0cm 5.4pt; width: 246.8pt;&quot; valign=&quot;top&quot; width=&quot;329&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;URL DE CONEXIÓN, de la conexión a la aplicación asociada   (Por ej., &lt;span style=&quot;color:blue;&quot;&gt;http://localhost:7777/pls/orasso/   orasso.wwsso_app_admin.ls_login&lt;/span&gt;)&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 141.85pt;&quot; valign=&quot;top&quot; width=&quot;189&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;ENCRYPTION_KEY&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 246.8pt;&quot; valign=&quot;top&quot; width=&quot;329&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;CLAVE DE CIFRADO, de la conexión a la aplicación asociada   (Por ej., 95A79762E9BA8D18)&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=&quot;&quot;&gt;   &lt;td style=&quot;border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 141.85pt;&quot; valign=&quot;top&quot; width=&quot;189&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;IP_CHECK&lt;/p&gt;   &lt;/td&gt;   &lt;td style=&quot;border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 246.8pt;&quot; valign=&quot;top&quot; width=&quot;329&quot;&gt;   &lt;p class=&quot;MsoNormal&quot;&gt;Y o N, indica si se debe filtrar por IP las cookies o no.   Poner por defecto N.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a name=&quot;_Toc156370840&quot;&gt;8.2.- Configuración de la aplicación asociada&lt;/a&gt;&lt;/h3&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Importar la librería ‘ssosdk902.jar’ proporcionada por el SDK de SSO.&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Importar la librería para realizar consultar con la base de datos de aplicaciones asociadas.&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 35.4pt;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Ver los ejemplos que posee el SDK de SSO y crearse una solución a medida.&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 53.4pt; text-indent: -18pt;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family:Symbol;&quot;&gt;&lt;span style=&quot;&quot;&gt;·&lt;span style=&quot;&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Por último, ya que podemos probar la sesión y obtener el usuario dado de alta en SSO, deberemos obtener dicho usuario y habilitar o deshabilitar permisos sobre páginas privadas para dicho usuario según la funcionalidad requerida. &lt;b style=&quot;&quot;&gt;Todo el control de permisos&lt;/b&gt; en este caso &lt;b style=&quot;&quot;&gt;lo debe realizar la aplicación asociada&lt;/b&gt; correspondiente. Sería conveniente crear un servicio de comprobación de permisos de usuarios o que sirva para relacionar los usuarios de SSO con los propios de la aplicación asociada.&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 35.4pt;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 35.4pt;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;  &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name=&quot;_Toc156370841&quot;&gt;9.- Bibliografía y documentación&lt;/a&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b style=&quot;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:10;&quot;  &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Using Oracle9&lt;i&gt;i&lt;/i&gt;AS Single Sign-On&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://www.oracle.com/technology/sample_code/products/iportal/htdocs/sso/ssoover.html&quot;&gt;http://www.oracle.com/technology/sample_code/products/iportal/htdocs/sso/ssoover.html&lt;/a&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b style=&quot;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:10;&quot;  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;b style=&quot;&quot;&gt;&lt;span  lang=&quot;EN-GB&quot; style=&quot;font-family:Arial;&quot;&gt;Writing Partner Applications Using Java APIs&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b style=&quot;&quot;&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:10;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://www.di.unipi.it/%7Eghelli/didattica/bdl/A97329_03/manage.902/a96114/examples.htm#1002397&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;http://www.di.unipi.it/~ghelli/didattica/bdl/A97329_03/manage.902/a96114/examples.htm#1002397&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;strong&gt;&lt;span style=&quot;;font-family:Arial;font-size:10;&quot;  lang=&quot;EN-GB&quot; &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;strong&gt;&lt;span  lang=&quot;EN-GB&quot; style=&quot;font-family:Arial;&quot;&gt;Oracle® Application Server Single Sign-On Application Developer&#39;s Guide&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:Arial;font-size:10;&quot;  lang=&quot;EN-GB&quot; &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10852/toc.htm&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;http://ftp.unex.es/oradoc/application_server_10g/manage.904/b10852/toc.htm&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a name=&quot;top&quot;&gt;&lt;/a&gt;&lt;b style=&quot;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:10;&quot;  lang=&quot;EN-GB&quot; &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Adding Partner and External Applications&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://12.46.245.173/help/wvpartnr.htm&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;http://12.46.245.173/help/wvpartnr.htm &lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b style=&quot;&quot;&gt;&lt;span lang=&quot;EN-GB&quot;  style=&quot;font-size:10;&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;b style=&quot;&quot;&gt;&lt;span style=&quot;;font-family:Arial;font-size:10;&quot;  &gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Oracle9iAS Single Sign-On Administrator&#39;s Guide&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family:Arial;&quot;&gt;&lt;a href=&quot;http://www.di.unipi.it/%7Eghelli/didattica/bdl/A97329_03/manage.902/a96115/toc.htm&quot;&gt;http://www.di.unipi.it/~ghelli/didattica/bdl/A97329_03/manage.902/a96115/toc.htm&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://jmtalavera.blogspot.com/feeds/3185873800222744916/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://jmtalavera.blogspot.com/2007/02/aplicaciones-asociadas-sso-en-oracle-as.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/3185873800222744916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015846341115824002/posts/default/3185873800222744916'/><link rel='alternate' type='text/html' href='http://jmtalavera.blogspot.com/2007/02/aplicaciones-asociadas-sso-en-oracle-as.html' title='Aplicaciones Asociadas a SSO en Oracle AS Portal'/><author><name>jmtalavera</name><uri>http://www.blogger.com/profile/17883424835757744295</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp0.blogger.com/_XEe-YeS8_20/ReKlaAEUxPI/AAAAAAAAAAM/VK_KmJhTCjo/s72-c/clip_image002.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>