Hace una semanas, me llego un planteamiento por parte de un compañero de trabajo, a cerca de una pequeña pega en un cliente. El tema, es que en este cliente se ha desplegado una solcución usando Infopath – Biztalk – Sharepoint, la chulada es que todo el trabajo de un área importante de este cliente se gestiona a través de formularios de Infopath publicados y firmados a través de certificados, con la pega de que desde hace tres años el cliente ha tenido que mantener una solución Citrix para que estos formularios se abriesen en un tiempo respetables a través del IE (2 a 5 seg). Pues bien hace poco, probando un nuevo formularío, un compañero “grande entre los grandes” Jorge de Diego Rozas se dío cuenta de que la apertura de este nuevo formulario rondaba los 2 min, en un equipo con las recomendaciones de Microsoft (ya sabeis hasta arriba de RAM, con chorrocientos procesadores quad core, etc.).
Pues bien, realizada la consulta al fabricante de rigor y dando mas palos de ciegos gracias a las no-ayudas, Jorge consiguio dar con el click, y nuca mejor dicho, ya que solamente se trataba de desmarcar una de las cientos de opciones inutiles del IE.
Lo dicho Jorge, un excelente trabajo, sigo siendo de la opinión de que debes de ser de las pocas personas en España que saben tanto y han entrado tan a fondo en un producto tan ventajoso como Infopath.
Aqui os dejo plasmada la solución.
Se usó la herramienta Fiddler2, un rastreador del tráfico de la red, para ver que llamadas podía estar realizando el formulario InfoPath.
Como se puede observar en la imagen superior, al abrir el formulario de InfoPath, éste se intentaba conectar a la dirección crl.microsoft.com fallando en el acceso, aún desconozco el motivo, y propiciando una ralentización en la apertura del formulario. Se optó por buscar información en Internet y encontramos una solución muy similar a la propuesta por Microsoft.
Se desactivó una de las Opciones de Internet dentro de la pestaña de Opciones Avanzadas, en el apartado de Seguridad.
Como se puede observar, el check es distinto según el explorador, aunque muy parecido, lo que nos ayudó a encontrarlo fácilmente. Teniendo en cuenta que el InfoPath corre en cliente, optamos por desactivar esta casilla, en lugar de la que hay justamente encima de la seleccionada.
Después de esto se hizo otra prueba de acceso y el tiempo bajo de 48 segundos a 2 segundos. Lo volvimos a abrir usando el Fiddler2 y comprobamos que el formulario InfoPath, no seguía conectándose a la URL de Microsoft, justificando así el rápido acceso al documento.
Se puede observar que sin ningún tipo de problema, el formulario se abre sin ningún tipo de llamada ni conflicto al intentar salir a la dirección de Microsoft.
De todos modos, seguía habiendo un caso en el InfoPath mostraba cierta lentitud al abrirse, cuando éste se había firmado y era de plena confianza.
Para ello simplemente hemos creado un certificado mediante el programa Makecert.exe ejecutándolo desde la consola de “MS-DOS”. Primero ir al directorio:
“C:\Archivos de programa\Microsoft SDKs\Windows\v6.0A\bin” y a posteriori ejecutar el siguiente comando:
makecert -r -pe -n "CN=SIPA" -b 01/01/2010 -e 01/01/2036 -ss my -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12
Una vez ejecutado el comando, lo debería de implementar como un Certificado personal. A continuación, para agilizar la apertura del formulario, se instalará el certificado en las “Entidades emisoras raíz de confianza”.
Con esto hemos conseguido reducir en algunos equipos, desde 2 minutos 40 segundos hasta 5 segundos solamente. En otros casos, en los que el equipo es más potente conseguiremos una apertura inmediata optimizando el rendimiento del PC.
BBT2+ (En homenaje a Jorge de Diego Rozas)