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

<channel>
	<title>Blog sobre Administración de Contenidos (CMS) para Portales, Diarios, Revistas y Comunidades &#187; alto trafico</title>
	<atom:link href="http://blog.tfsla.com/tag/alto-trafico/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tfsla.com</link>
	<description>Software de Administración de Contenidos, Facebook Apps, TV Widgets y tecnologías Internet</description>
	<lastBuildDate>Thu, 02 Feb 2012 20:02:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Utilizar OPENCMS en sitios de alto tráfico</title>
		<link>http://blog.tfsla.com/2009/06/utilizar-opencms-en-sitios-de-alto-trafico/</link>
		<comments>http://blog.tfsla.com/2009/06/utilizar-opencms-en-sitios-de-alto-trafico/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 15:34:45 +0000</pubDate>
		<dc:creator>Hernán</dc:creator>
				<category><![CDATA[OpenCms]]></category>
		<category><![CDATA[alto trafico]]></category>
		<category><![CDATA[arquitectura]]></category>
		<category><![CDATA[dinámico]]></category>
		<category><![CDATA[estático]]></category>
		<category><![CDATA[flexcache]]></category>

		<guid isPermaLink="false">http://blog.tfsla.com/?p=82</guid>
		<description><![CDATA[El presente artículo busca presentar a administradores y usuarios una serie de consideraciones a tener en cuenta al momento de utilizar OpenCMS en sitios de alto tráfico. Este artículo aplica a situaciones donde la instalación de OpenCMS utiliza las extensiones corporativas de Alkacon OCEE con el módulo de Cluster activo con al menos 2 nodos. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-84" title="informationhighwaylights2" src="http://blog.tfsla.com/wp-content/uploads/2009/06/informationhighwaylights2.jpg" alt="informationhighwaylights2" width="480" height="268" /></p>
<p>El presente artículo busca presentar a administradores y usuarios una serie de consideraciones a tener en cuenta al momento de utilizar OpenCMS en sitios de alto tráfico.</p>
<p><span id="more-82"></span></p>
<p>Este artículo aplica a situaciones donde la instalación de OpenCMS utiliza las extensiones corporativas de Alkacon OCEE con el módulo de Cluster activo con al menos 2 nodos.</p>
<h2>1. Arquitectura</h2>
<p>OpenCMS nos permite elegir entre diferentes arquitecturas posibles:</p>
<p>1. OCEE Módulo Cluster con <strong>base de datos única </strong>para Workplace y nodos</p>
<p>2. OCEE Módulo Cluster con base de datos <strong>local en cada nodo</strong></p>
<p>3. OCEE Módulo Cluster + <strong>OCEE Replicator</strong></p>
<p>4. OCEE Módulo de Cluster con 1 base de datos dedicada para Workplace y 1 base de datos dedicada para nodos (<strong>replicación MySQL</strong>)</p>
<p>La elección de la arquitectura es sin lugar a dudas uno de los <strong>factores de éxito clave</strong>. En otro artículo especialmente dedicado a este tema, detallaremos los pros y contras de cada escenario.</p>
<h2>2. Modalidad para servir contenido</h2>
<p>La forma mediante la cual OpenCMS entrega el contenido a los navegantes define una serie de factores a revisar según el escenario. En el artículo <a href="http://blog.tfsla.com/2009/05/opencms-servir-contenido-de-forma-estatica-dinamica-o-mixta/" target="_blank"><strong>Opencms: Servidor contenido de forma estática, dinámica o mixta </strong></a>exploramos este tema.</p>
<h2>3. Conectividad del Workplace</h2>
<p>En situaciones de alto tráfico, los accesos de los navegantes <strong>pueden saturar los enlaces</strong>. Por tal motivo, es muy importante contar con un acceso dedicado al Workplace que nos permita tener acceso a las herramientas de administración.</p>
<p>Es altamente recomendable que los usuarios del sistema no <strong>compitan por el ancho de banda </strong>con los navegantes y que el Workplace <strong>no esté sirviendo páginas </strong>a navegantes.</p>
<p>Desde el punto de vista de seguridad, es ideal que el Workplace <strong>no se encuentre publicado </strong>en Internet.</p>
<h2>4. Balanceo de Carga</h2>
<p>Los módulos de OpenCMS poseen requerimientos especiales respecto del balanceo de carga. Es importante que el balanceador utilice sesiones persistentes (también llamadas <strong>sticky sessions</strong>). De esta forma, cuando un usuario está navegando el sitio, quedará asociado a un nodo en particular por el lapso de su sesión.</p>
<p>De otra forma, si un usuario <strong>recibiese páginas de diferentes miembros </strong>del cluster,  todos aquellos módulos que hacen uso del ingreso (login) del usuario pueden funcionar de forma anormal.</p>
<h2>5. Frecuencia de Publicación</h2>
<p>La publicación continua del contenido es el <strong><span style="text-decoration: underline;">peor enemigo del alto tráfico</span></strong>. Cada vez que un usuario publica un nuevo contenido, los sistemas de cache deben regenerarse total o parcialmente, con la consecuente perdida de performance.</p>
<p>Cuando un sistema de administración de contenidos recibe publicaciones continuas, la efectividad de estos sistemas se reduce drásticamente. Esto aplica a cualquier publicación, ya sea modificación de contenidos existentes o la incorporación de nuevos contenidos al proyecto online.</p>
<p>Como buena práctica, es <strong>recomendable publicar contenidos </strong>a <strong>intervalos de 5 minutos </strong>o más.</p>
<h2>6. Prepararse para la crisis</h2>
<p>Existen 2 cuestiones esenciales que nos van a permitir administrar correctamente una crisis de tráfico:</p>
<p><strong>TEMPLATES DE EMERGENCIA: </strong>tener un juego de templates alternativos para las páginas más visitadas que sean muy <strong>livianos</strong>. Es importante que estos templates sean lo más simple posibles, quitando todos los elementos gráficos que no sean indispensables.</p>
<p><strong>DESHABILITAR FUNCIONALIDAD DINÁMICA: </strong>ingresos de usuarios registrados, encuestas, búsquedas, valoración, comentarios y otras funcionalidades dinámicas implican un esfuerzo extra.</p>
<p>Durante una situación de crisis, un posible camino de acción es deshabilitar estos servicios para reducir la cantidad de elementos a regenerarse en el cache y evitar la mayor cantidad posible de consultas a la base de datos.</p>
<h2>7. Monitoreo Continuo</h2>
<p>El último punto, y no menos importante que los anteriores, es conocer su infraestructura. Tener mecanismos de monitoreo activo de servicios, enlaces y servidores como NAGIOS va a permitir detectar fallas de forma temprana y corregirlas sin mayores dificultades para los navegantes.</p>
<p>Por otro lado, tener estadísticas de utilización de los recursos (procesador, memoria, acceso a discos, tráfico de red) como lo ofrecido por MUNIN nos va a permitir identificar rápidamente las posibles fuentes del problema.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tfsla.com/2009/06/utilizar-opencms-en-sitios-de-alto-trafico/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Opencms: servir contenido de forma estática, dinámica o mixta</title>
		<link>http://blog.tfsla.com/2009/05/opencms-servir-contenido-de-forma-estatica-dinamica-o-mixta/</link>
		<comments>http://blog.tfsla.com/2009/05/opencms-servir-contenido-de-forma-estatica-dinamica-o-mixta/#comments</comments>
		<pubDate>Tue, 26 May 2009 02:24:31 +0000</pubDate>
		<dc:creator>Hernán</dc:creator>
				<category><![CDATA[OpenCms]]></category>
		<category><![CDATA[alto trafico]]></category>
		<category><![CDATA[dinámico]]></category>
		<category><![CDATA[estático]]></category>
		<category><![CDATA[flexcache]]></category>
		<category><![CDATA[modproxy]]></category>

		<guid isPermaLink="false">http://blog.tfsla.com/?p=65</guid>
		<description><![CDATA[Como servir los contenidos de un sitio Web es muy importante en términos de rendimiento. En OpenCms existen 3 formas de servir el contenido publicado a los visitantes Web: Modo Estático: habilitar la funcionalidad de &#8216;exportar estático&#8217; Modo Dinámico: desde el servlet de OpenCms haciendo uso de Flexcache Modo Mixto: combinación de ambas estrategias Por [...]]]></description>
			<content:encoded><![CDATA[<p>Como servir los contenidos de un sitio Web es muy importante en términos de rendimiento. En OpenCms existen 3 formas de <strong>servir</strong> el contenido publicado a los visitantes Web:</p>
<ol>
<li><strong>Modo Estático</strong>: habilitar la funcionalidad de &#8216;exportar estático&#8217;</li>
<li><strong>Modo Dinámico</strong>: desde el servlet de OpenCms haciendo uso de Flexcache</li>
<li><strong>Modo Mixto</strong>: combinación de ambas estrategias</li>
</ol>
<p><span id="more-65"></span>Por naturaleza, el entorno de trabajo de Opencms es dinámico. Los archivos y carpetas son creados, lockeados, editados y deslockeados en el Workplace (Intranet). Sin embargo, una vez publicados los recursos, estos se vuelven estáticos. Los recursos disponibles en la Web permanecen inalterabes hasta un nuevo evento de publicación.</p>
<p>OpenCMS permite que cada recurso pueda ser configurado independientemente para funcionar en forma dinámica o estática según se evalúe conveniente.</p>
<h2>Páginas en Modo Estático</h2>
<p>En esta modalidad, la página es &#8216;renderizada&#8217; a su forma final al momento de la publicación y luego es almacenada en el sistema de archivos. El contenido de las páginas se combina con el template elegido y el resultado se graba en un archivo HTML.</p>
<p>En el caso de contar con elementos JSP, estos se ejecutan por única vez y su resultado se <strong>&#8216;congela&#8217;</strong> como HTML en el disco.</p>
<p>En esta modalidad de trabajo, no se corren parseos ni interpretaciones en tiempo de ejecución.</p>
<p>OpenCms brinda la posibilidad de configurar a nivel de recurso la exportación estática (true / false). De esta forma, podemos decirle a Opencms que al momento de entregar ese recurso lo haga de forma estática en un servidor Web determinado.</p>
<p>El contenido ya no es servido por el servlet HTTP de OpenCms sino que es servido por el web server creando una total independencia y desvinculación del motor de edición y publicación.</p>
<p><strong>Ventajas del Modo Estático:</strong></p>
<p>- Gran velocidad al servir páginas pre-generadas.</p>
<p> <strong>Desventajas del Modo Estático:</strong></p>
<p>- Incapacidad de trabajar con tempates JSP que requieran tomar información de contexto.</p>
<p>- Imposibilidad de personalizar contenido. </p>
<h2>Páginas en Modo Dinámico</h2>
<p>El recurso es procesado por OpenCms en tiempo de ejecución. Al publicar se mueve la página desde el proyecto offline al <strong>proyecto online </strong>y cuando se realiza una nueva consulta a un servidor de frontera, OpenCms combina el contenido con el témplate y genera la página que le es enviada al usuario.</p>
<p>En este punto, los diferentes resultados posibles (variantes de cada JSP) son almacenados en la Flexcache de acuerdo a las directivas definidas por el administrador.</p>
<p><strong>Ventajas del Modo Dinámico:</strong></p>
<p>- Los templates con contenidos dinámicos JSP funcionan mucho mejor.</p>
<p><strong>Desventajas del Modo Dinámico:</strong></p>
<p>- Requiere ajustes de la configuración de Flexcache.</p>
<p>- Tiempo de generación del contenido del cache penaliza al primer visitante</p>
<p>- Requiere estricto control sobre la frecuencia de publicación  </p>
<h2>Modalidad Mixta</h2>
<p>A diferencia de otros Administradores de Contenidos, es natural para OpenCMS operar en un entorno mixto, donde algunos recursos son entregados de forma estática y otros de forma dinámica.</p>
<p>Las imágenes son normalmente definidas como estáticas para hacer uso de estrategias de CACHE a nivel del servidor web (apache mod proxy).</p>
<p>También es posible posible construir <strong>templates </strong>principalmente estáticos que incluyan <strong>bloques dinámicos </strong>incorporados en forma de IFRAMES. El contenido dinámico incorporado a los templates estáticos podrá ser consumido desde los propios servidores de OpenCms.</p>
<p>La mejor estrategia para servir contenidos dependerá mayormente de la arquitectura seleccionada, el tipo de contenido y la funcionalidad a resolver.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tfsla.com/2009/05/opencms-servir-contenido-de-forma-estatica-dinamica-o-mixta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Recomendaciones para mejorar el rendimiento de MYSQL para OPENCMS</title>
		<link>http://blog.tfsla.com/2009/05/mejores-practicas-de-mysql-para-opencms/</link>
		<comments>http://blog.tfsla.com/2009/05/mejores-practicas-de-mysql-para-opencms/#comments</comments>
		<pubDate>Mon, 18 May 2009 20:29:20 +0000</pubDate>
		<dc:creator>Hernán</dc:creator>
				<category><![CDATA[OpenCms]]></category>
		<category><![CDATA[alto trafico]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[tuning]]></category>

		<guid isPermaLink="false">http://blog.tfsla.com/?p=42</guid>
		<description><![CDATA[MYSQL se ha posicionado como una de las base de datos preferidas para los clientes que utilizan OpenCMS, incluso en situaciones de alto tráfico.  No obstante, en portales medianos a grandes, donde el efecto del OCEE Accelerator comienza a disminuir por la cantidad de contenidos generados diariamente y la frecuencia de publicación es medida en [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-43" title="mysql_logo" src="http://blog.tfsla.com/wp-content/uploads/2009/05/mysql_logo.jpg" alt="mysql_logo" width="400" height="232" /></p>
<p>MYSQL se ha posicionado como una de las base de datos preferidas para los clientes que utilizan OpenCMS, incluso en situaciones de <strong>alto tráfico</strong>.  No obstante, en portales medianos a grandes, donde el efecto del <strong>OCEE Accelerator </strong>comienza a disminuir por la <strong>cantidad de contenidos generados </strong>diariamente y la <strong>frecuencia de publicación </strong>es medida en minutos, debemos implementar medidas para prevenir segundos o minutos de NO SERVICIO.</p>
<p><span id="more-42"></span></p>
<p>El momento crucial para la base de datos en una implementación de un administrador de contenidos (CMS) es al momento de servir los contenidos dinámicamente. En este punto, dos mecanismos actúan en OpenCMS para minimizar la carga de la base de datos:</p>
<ol>
<li><strong>OCEE Accelerator: </strong>posee en cache los elementos más utilizados del sistema de archivos virtual (VFS) para evitar sucesivas consultas a la base de datos.</li>
<li><strong>Flexcache: </strong>contiene las principales páginas (JSP) y sus variantes a entregar a los navegantes.</li>
</ol>
<p>Aún con estos elementos en acción, al momento de reconstituir la Flexcache luego de una publicación, habrá un uso intensivo de la base de datos y hay que lograr que la respuesta de la misma sea eficiente. De lo contrario, vamos a tener navegantes esperando que la Flexcache se genere para luego recibir el contenido.</p>
<p>El proceso de <strong>&#8216;tuning&#8217; </strong>de MYSQL requiere de un monitoreo continuo y un previo análisis del entorno y aplicativo sobre el cual se está trabajando para obtener los mejores resultados. Espero que estos elementos sirvan de punto de partida para una mejor comprensión del tema.</p>
<p>A continuación, algunas recomendaciones básicas para mejorar el rendimiento del motor de base de datos MYSQL.</p>
<p><strong>ELECCIÓN DEL FORMATO DE TABLA: MYISAM / INNODB</strong></p>
<p>El formato de tabla dependerá mayormente del tipo de datos a almacenar y las consultas que vamos a realizar en ellos. Para el caso particular del modelo de datos de OpenCMS, <strong>INNODB </strong>es la opción que ha demostrado mejores resultados a nivel de rendimiento en función de nuestra experiencia.</p>
<p>La característica principal de INNODB es que soporta <a title="Transacción (base de datos)" href="http://blog.tfsla.com/wiki/Transacci%C3%B3n_(base_de_datos)">transacciones</a> de tipo <a title="ACID" href="http://blog.tfsla.com/wiki/ACID">ACID</a> y bloqueo de registros e <a title="Integridad referencial" href="http://blog.tfsla.com/wiki/Integridad_referencial">integridad referencial</a>.</p>
<p><strong>INDICES DE LA BASE DE DATOS</strong></p>
<p>A lo largo de diferentes proyectos utilizan tecnología OpenCMS hemos detectado que la instalación por defecto deja lugar para <strong>mejores con relación a los índices</strong>. A partir de un buen conocimiento del modelo de datos de OpenCMS pueden crearse índices adicionales para <strong>mejorar el rendimiento </strong>de la base de datos.</p>
<p><strong>TAMAÑO DEL BUFFER</strong></p>
<p>La lectura del contenido de una base de datos EN MEMORIA es <strong>ampliamente superior </strong>a la lectura del contenido de una base de datos en DISCO. En la medida que podamos tener la mayor porción posible de base de datos en la memoria de nuestro equipo, mejor será el tiempo de respuesta.</p>
<p>Para lograr esto, debemos prestar especial atención KEY_BUFFER_SIZE para el caso de tablas MYISAM e INNODB_BUFFER_SIZE para INNODB. La memoria total que podemos asignar al buffer <strong>está alrededor del 70% al 80% </strong>de la memoria total del equipo en el caso de servidores de base de datos dedicados.</p>
<p><strong>CACHE DE CONSULTAS (QUERY CACHE)</strong></p>
<p>MYSQL utiliza un cache que almacena el texto de una consulta <code class="literal">SELECT</code> junto con el resultado. En el caso de recibir <strong>una consulta idéntica </strong>posteriormente, el servidor devuelve el resultado desde la caché de consultas en lugar de parsear y ejecutar la consulta nuevamente.</p>
<p>Lo recomendable es comenzar con un QUERY CACHE de tamaño por defecto (16mb) e ir subiendo el tamaño del mismo a medida que la <strong>efectividad del cache sube </strong>y la cantidad de bloques disponibles baja.</p>
<p><strong>CACHE DE CONEXIONES (THREAD)</strong></p>
<p>Cada conexión que realizan los servidores Web a la base de datos implica la creación de un nuevo &#8216;thread&#8217;. En vez de terminar el hilo una vez cerrada la conexión, el hilo puede mantenerse en el servidor para ser utilizado por la próxima conexión y hacer el<strong> proceso más eficiente</strong>. Esto es configurable a partir del THREAD_CACHE_SIZE</p>
<p><strong>TABLAS ABIERTAS / TEMPORALES</strong></p>
<p>Por cada tabla que tenemos en MYSQL podemos pensar en un equivalente a un archivo abierto. La cantidad de tablas abiertas están afectadas por los valores TABLE_CACHE, MAX_CONNECTIONS y MAX_TMP_TABLES.</p>
<p>Una configuración inadecuada de estas variables puede llevar a superior límites impuestos por el sistema operativo generando una importante degradación del rendimiento.</p>
<p>Respecto de las tablas temporales, es importante monitorear el estado de la cantidad de tablas temporales generadas en DISCO y tratar de modificar la configuración o el formato de las mismas para lograr que esas tablas sean persistidas en memoria.</p>
<p><strong>LIMPIEZA DE TABLAS HISTÓRICA</strong></p>
<p>Por cada publicación realizada en OpenCMS se guarda un registro de la operación en la tabla del historial. Con el tiempo, <strong>esta tabla puede crecer </strong>considerablemente afectando nuestra habilidad para <strong>resguardo la base </strong>y haciendo que el tamaño de la misma <strong>afecte negativamente </strong>a los componentes de CACHE. Por lo tanto, es recomendable realizar una depuración de CMS_PUBLISH_HISTORY de acuerdo a procedimientos probados y seguros.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tfsla.com/2009/05/mejores-practicas-de-mysql-para-opencms/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>11 razones por las cuales OPENCMS es la mejor solución de CMS para alto tráfico</title>
		<link>http://blog.tfsla.com/2009/05/11-razones-por-las-cuales-opencms-es-la-mejor-solucion-de-cms-para-alto-trafico/</link>
		<comments>http://blog.tfsla.com/2009/05/11-razones-por-las-cuales-opencms-es-la-mejor-solucion-de-cms-para-alto-trafico/#comments</comments>
		<pubDate>Mon, 11 May 2009 18:33:28 +0000</pubDate>
		<dc:creator>Hernán</dc:creator>
				<category><![CDATA[OpenCms]]></category>
		<category><![CDATA[alkacon]]></category>
		<category><![CDATA[alto trafico]]></category>
		<category><![CDATA[diarios]]></category>
		<category><![CDATA[OCEE]]></category>
		<category><![CDATA[revistas]]></category>

		<guid isPermaLink="false">http://blog.tfsla.com/?p=13</guid>
		<description><![CDATA[En el mes de marzo del 2006 nuestra firma tuvo la necesidad de evaluar diferentes tecnologías de Administración de Contenidos (CMS) para el desarrollo de un Diario Online (www.perfil.com). En su momento, la evaluación nos llevó a OpenCMS (www.opencms.org). Recientemente hemos repetido ese proceso de evaluación incluyendo en la comparación productos como Drupal, Alfresco y [...]]]></description>
			<content:encoded><![CDATA[<p>En el mes de marzo del 2006 nuestra firma tuvo la necesidad de evaluar  diferentes tecnologías de Administración de Contenidos (CMS) para el desarrollo  de un <strong>Diario Online (</strong><a href="http://www.perfil.com"><strong>www.perfil.com</strong></a><strong>)</strong>.  En su momento, la evaluación nos llevó a OpenCMS (<a href="http://www.opencms.org">www.opencms.org</a>). Recientemente hemos  repetido ese proceso de evaluación incluyendo en la comparación productos como  <strong>Drupal, Alfresco y Dotnetnuke</strong> y los resultados nos han llevado  a mantener nuestra posición respecto de la línea a seguir para portales de alto  tráfico, diarios y revistas online.</p>
<p>A continuación, compartimos las 11 razones que nos llevaron a elegir OpenCMS  para la construcción de portales de <strong>alto tráfico</strong> como <a href="http://www.perfil.com">www.perfil.com</a>, <a href="http://www.lacapital.com.ar">www.lacapital.com.ar</a> y <a href="http://www.diariouno.net.ar">www.diariouno.net.ar</a>.</p>
<p><span id="more-13"></span></p>
<h2>1. Comunidad / Soporte</h2>
<p>Opencms cuenta con una importante comunidad de desarrollo, más de <strong>120  proveedores</strong> de soluciones a nivel mundial y más de <strong>5.000  casos</strong> de implementación en el mundo entre los cuales se encuentran: FOX  Australia, Dreamworks Animation, 3M, Renault y Bayer.</p>
<p>Posee módulos libres y comerciales provistos por terceras partes y por el  desarrollador del producto (Alkacon Software GmbH).</p>
<p>El soporte comercial de OpenCMS se brinda tanto por la empresa desarrolladora  de la solución (Alkacon Software) como a través de su red de proveedores de  soluciones.</p>
<h2>2. Gestión de Contenido</h2>
<p>La solución permite la utilización de múltiples tipos de contenido o definir  tipos propios a través de un modelo de propiedades y atributos extensible. Los  contenidos son persistidos en un <strong>sistema de archivos virtual  (VFS)</strong> y pueden ser entregados a los navegantes de forma  <strong>estática o dinámica</strong>. Nuestra firma ha extendido OpenCMS para  incorporar soporte a tipos de contenido como: <strong>Video Flash, Audio Flash,  PDF, Noticias, Carteleras</strong>, etc.</p>
<p>El modelo de carga es muy sencillo, pudiendo optar por múltiples editores,  tipos de contenido estructurados o carga programática. La opción por defecto es  un <strong>editor avanzado (FCKEditor</strong>). El editor de contenido puede  ser actualizado de forma independiente al resto de la plataforma permitiendo un  correcto desempeño con navegadores modernos.</p>
<p>OpenCMS posee soporte nativo de <strong>versionado automático</strong>,  permitiendo ver un historial completo de lo ocurrido con un elemento dentro del  sistema. Esto es sumamente importante en un entorno de redacción donde debe  llevarse cierto nivel de control sobre la evolución de una nota. Además, posee  soporte de “bloqueo” de contenido para permitir la <strong>colaboración entre  diferentes usuarios</strong> (símil check-in / check-out).</p>
<h2>3. Templates</h2>
<p>La construcción de templates dentro de la herramienta de CMS es una de las  barreras de entrada más fuertes que presentan muchas soluciones existentes en el  mercado actual.</p>
<p>La generación de templates a medida en OpenCMS puede realizarse utilizando  <strong>cualquier herramienta de diseño web HTML</strong> para su posterior  integración en páginas java (JSP), las cuales pueden ser construidas tomando  como base el templates nativo TEMPLATEONE.</p>
<p>La construcción de estos templates requiere <strong>conocimientos básicos de  Java, HTML / CSS</strong> y sólidos conocimientos de JSP, XML / XSD para  interactuar con funcionalidad dinámica construida por el usuario alrededor de  OpenCMS.</p>
<h2>4. Gestión de Imágenes</h2>
<p>La solución cuenta con un módulo nativo de gestión de imágenes que permite  subir archivos individuales, archivos ZIP para la <strong>carga de múltiples  elementos</strong>, ajuste de tamaño automático, y estatificación configurable a  nivel de elemento o carpetas. De esta forma puede servir el contenido visual  haciendo uso del cache nativo del servidor Web.<br />
Los usuarios pueden organizar  sus imágenes a nivel de Galerías temáticas o por fecha.</p>
<p>Para aquellos casos donde la gestión de activos visuales es un requerimiento  es posible realizar la integración con sistema de imágenes como CUMULUS. OpenCMS  posee uno de los casos más importantes de referencia: THE ROYAL LIBRARY.</p>
<h2>5. Rendimiento, Disponibilidad y Escalabilidad</h2>
<p>La problemática de los sitios de alto tráfico suele estar íntimamente  vinculada con la <strong>reducción del impacto</strong> en múltiples servidores  Web consultando el motor de base de datos. En este punto es importante definir  una estrategia para servir el contenido a los usuarios: dinámica o estático.  Afortunadamente OpenCMS puede trabajar con ambas y expone <strong>mecanismos de  cache diferenciados</strong> para cada caso.</p>
<p>OpenCMS presenta diferentes niveles de cache orientados a solucionar ese  problema en forma eficiente:<br />
1. <strong>FlexCache</strong>: realiza el cache  de las diferentes JSP y sus variantes<br />
2. <strong>OCEE Accelerator  (DB)</strong>: es un sistema de cache que tiene por objetivo reducir la cantidad  de consultas a la base de datos (VFS).<br />
3. <strong>Static Export (servir  estáticamente) + Modproxy</strong>: realiza el cacheo del contenido que fue  definido como estático a nivel del servidor Web Apache.</p>
<p>La FlexCache posee directivas avanzadas para la gestión de diferentes tipos  de contenido. En la versión 6.x se recrea en cada publicación mientras que en  versión 7.x la limpieza del cache se realiza a nivel de ítem. Por su parte el  OCEE Cache de base de datos persiste a través de las múltiples publicaciones y  sólo es renovado cuando el sistema se reinicia o los elementos expiran.</p>
<p>A diferencia de otras soluciones de CMS, la <strong>escalabilidad en  OpenCMS</strong> es provista a nivel de la aplicación OpenCMS Alkacon  <strong>OCEE Cluster</strong> que permite tener un servidor designado como  Workplace (Intranet) y múltiples servidores de frontera encargados de servir el  contenido a los navegantes. Este modelo posibilita una escalabilidad ilimitada y  alta disponibilidad a través de diferentes esquemas de implementación que  detallaremos en otro artículo.<br />
A nivel de base de datos OpenCMS ofrece las  opciones de mercado más reconocidas: MySQL, Microsoft SQL Server, PostgreSQL y  Oracle.</p>
<h2>6. Seguridad</h2>
<p>Los aspectos centrales de la seguridad son:<br />
1. Proteger el acceso a los  contenidos en preparación (externo)<br />
2. Administrar eficientemente el acceso  de usuarios (interno)</p>
<p>A nivel externo, el servidor de Workplace (también llamado Intranet de  publicación) puede existir sin necesidad de estar publicado en Internet. Es  recomendable además que este equipo disponga de conectividad independiente  (entre el servidor y los usuarios que acceden a él) para <strong>no competir por  ancho de banda</strong> con los servidores públicos retrasando la publicación de  nuevo contenido en situaciones de picos de alto tráfico.</p>
<p>A nivel interno, la seguridad se basa en modelo por <strong>listas de  acceso</strong> (ACL) en el Virtual File System a nivel de elemento. Asimismo se  brinda soporte para la gestión de soporte para grupos, roles y usuarios. OpenCMS  posee una extensión comercial OCEE LDAP para la integración con Servicios de  Directorio.</p>
<p>OpenCMS permite además tener un alto nivel de auditoría sobre las acciones de  los usuarios en el sistema mediante un “historial de proyecto’”a nivel de  recurso.</p>
<h2>7. Localización</h2>
<p>OpenCMS tiene <strong>soporte multi-idioma</strong>. Ofrece de forma nativa  las localizaciones para inglés y alemán. La comunidad ha desarrollado  localizaciones para español e italiano.</p>
<h2>8. Motor de Búsquedas</h2>
<p>La solución integra el producto Lucene Search Engine. A partir de una  extensión de OpenCMS, nuestra firma brinda <strong>soporte de búsquedas  avanzadas</strong>. Permite también la construcción de múltiples fuentes de  indexación permitiendo tener un modelo de búsqueda especializado por cada  índice.</p>
<p>Los índices de búsqueda pueden asociarse con <strong>tipos de  contenido</strong>, recursos y proyectos. La indexación se realiza por atributos  de los elementos como por ejemplo título, palabra clave, meta tag, categorías,  fecha de creación, fecha de publicación, edición, tipo de publicación, etc.</p>
<h2>9. Funcionalidad Interactiva</h2>
<p>La funcionalidad interactiva puede ser construida fácilmente como contenido  estructurado o como módulo que extienden a OpenCMS. Actualmente, se encuentran  disponibles módulos para:</p>
<ul>
<li>Registración y Autenticación de Usuarios Web</li>
<li>Valoración de Contenido</li>
<li>Comentarios y Reporte de Abuso</li>
<li>Suscripción y Administración de Newsletter</li>
<li>Opiniones (símil Foro)</li>
<li>Recomendación de contenido</li>
<li>Múltiples tipos de Rankings para los navegantes</li>
<li>RSS para sindicar contenido</li>
<li>Gestor de Encuestas</li>
<li>Etc (<a href="http://www.tfsla.com/productos_opencms_modulos.php">http://www.tfsla.com/productos_opencms_modulos.php</a>)</li>
</ul>
<h2>10. API de Integración y Extensión</h2>
<p>OpenCMS expone <strong>abiertamente todo su código</strong> (excluyendo las  extensiones comerciales) permitiendo a los usuarios tener una versión  personalizada del CMS y extender el mismo. El acceso a la funcionalidad básica  puede realizarse a través de la Core Build API.</p>
<p>El conocimiento disponible sobre el desarrollo se encuentra muy bien  documentado y disponible en <a href="http://www.opencms.org">www.opencms.org</a>, Online Javadoc y el  repositorio CVS.</p>
<h2>11. Separación de Entornos</h2>
<p>La separación tradicional de entornos incluye <em>desarrollo</em>,  <em>pruebas</em> y <em>producción</em>. En OpenCMS es posible alcanzar esta  separación de diferentes formas:</p>
<p>La primera, consiste en tener un <strong>servidor de desarrollo con las  extensiones OCEE</strong> instaladas en modo desarrollo lo cual nos permite  trabajar en un entorno prácticamente idéntico al productivo. Una vez terminado  el desarrollo, el módulo completo puede ser <strong>exportado e  importado</strong> en el nuevo servidor.</p>
<p>La segunda forma implica la utilización del <strong>OCEE Replicator</strong> para enviar la información del servidor de desarrollo al servidor de producción  de forma automática.</p>
<p>La tercera forma, aunque la menos recomendada pero apta para situaciones  particulares, considera el despliegue de OpenCMS en diferentes servidores (N) y  el consumo de 2 o más bases de datos. A idéntico sistema de archivos de los  servidores, la única diferencia posible es el <strong>contenido del sistema de  archivos virtual</strong> (VFS). El VFS vive dentro de una base de datos que  puede <strong>replicarse de forma manual</strong> o automática y lograr que otro  servidor, consumiendo esta base “esclava”, obtenga la misma funcionalidad que la  primera.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tfsla.com/2009/05/11-razones-por-las-cuales-opencms-es-la-mejor-solucion-de-cms-para-alto-trafico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

