Feed on Posts or Comments

Oracle Fernando José on 03 Jul 2008

Oracle+BEA línea de evolución

Thomas Kurian en un webcast de 1:40 minutos de duración ( si tienen tiempo merece la pena verlo ) expuso el roadmap o línea de evolución de los productos conjuntos de Oracle y BEA. Como era de esperarse algunos productos se van otros se quedan.

Primero los productos de BEA se clasificaron en tres grupos: estratégicos, en desarrollo y convergencia y en periodo de mantenimiento. El primero son los productos que se incorporarán inmediatamente, los segundos se rediseñaran e incluiran en la línea de productos de Oracle, finalmente a los últimos se les brindará soporte ya que BEA los quitó de su línea de desarrollo antes de la adquisición de la empresa. Es muy interesante que Oracle quiera dar soporte a todos los productos y no forzar las migración, esto genera un costo bastante que se compenzar al mantener la base de clientes.

En la segunda parte de la charla Thomas Kurian fue explicando cada una de las areas de arquitectura de negocio tanto en la estratégia a adoptar por Oracle como evaluando producto por producto la línea de desarrollo. Los temás mas relevantes (en mi opinión) por área de negocio son:

Herramientas de Desarrollo: JDeveloper es y será la herramienta de referencia para toda la pila de aplicaciones. Productos anteriores de BEA como BEA Workshop se fusionara en un producto de Oracle llamado Eclipse Pack ( para Eclipse obvio) . Se continúa el soporte de desarrollo de Forms y Reports.

Servidores de Aplicaciones y Procesamiento de Transacciones: Se pone énfasis a un producto que muchos lo daban por muerto Tuxedo, este producto será el principal para procesamiento de transacciones en plataformas C, C++ y Cobol. El notición ( para mi ) fue que el servidor de aplicaciones principal es el de BEA y que todo lo que tiene relación con “fusion” estará orientado a este servidor de aplicaciones; se continua dando soporte y desarrollo al OC4J de Oracle. JRockit de BEA es la máquina virtual de Java por defecto para Oracle, aunque se soportarán y certificarán otras Java VM (Sun,IBM). Toplink continuará siendo el referente para la gestión de JPA y EJBs y Coherence será el producto para realizar datagrids.

SOA: En el campo de SOA se mantiene Oracle Data Integration como producto de ETL ( es interesante ver como encaja esto con Oracle BIEE ) . Se unen dos productos Oracle ESB y Aqualogic Service Bus de BEA para formar Oracle Service Bus . Se mantiene BPEL processes manager como herramienta - plataforma de orquestación, sin embargo se integrará BEA Weblogic Integration a Oracle BPEL.

BPM: Se unen BPA ( una herramienta creada por ARIS para Oracle?) y Aqualogic BPM Designer de BEA, también se fusionaran las máquinas de ejecución de ambas lineas de producto ofreciendo una aplicación en conjunto que reemplace el BPM suite.

Enterprise 2.0 y Portales: Oracle Universal content manager como gestor de contenidos, Oracle Web Center como framework de desarrollo. La inclusión de productos de BEA como Pathways para análisis de flujo de navegación en sitios web y tagging . Todos los productos se fusionarán en Oracle Web Center.

Identity Management: Se mantiene el Oracle Identity Manager (LDAP) y la mayoría de productos de gestión de identidad ( Role, Access, SSO, Identity Federation). Se añade al grupo Aqualogic Enterprise Secutity como gestor de autorización (no autenticación).

Enterprise System Management: Enterprise Manager Grid Control (OEM) tiene muchos más management packs para control de Middleware de BEA, SOA, Identity Management, BPM??. También plugins de diagnostico de Middleware (AD4J, JRockit).

SOA Gobernance: Todo el gobierno de servicios se centrará alrededor del repositorio Aqualogic de BEA, se mantiene Oracle Service Repository (UDDI), para control de calidad de servicio Oracle Web Service Manager. Se complementa esta área con plugins para Grid Control (OEM) , el plugin de gestión de servicios (SLAs) y el de gestión de SOA.

Service Delivery Platform: finalmente Kurian hablo de productos orientados a las Telcos, pricipalmente en la gestión de protocolos SIP, PBX Virtuales, etc. De este tema se poco asi que prefiero no opinar.

Al finalizar puntualizó que la mayoría de productos BEA ingresaran como 10gR3 y se cortó un poco en decir que va a pasar en 11g aunque el camino cada vez parece más claro.

En conclusión, el servidor de applicaciones preferido por Oracle será el de BEA. Enterprise Manager Grid Control tiene una función predominante con plugins que trascienden varias capas de negocio ( SOA, SLAs, VMs, etc) . Muchos productos BEA-Oracle tanto de SOA, BPEL y BPM se fusionan para formar una propuesta más consistente. En fin que hay que estudiar con premura el servidor de aplicaciones de BEA y luego ir evaluando el resto de productos (uff ufff).

Existe información adicional en un sitio web preparado especialmente por Oracle para explicar esta transición. Blogs de Oracle [1][2] y externos [1] se hacen eco de este tema a la vez.

Saludos y ha estudiar BEA y Siebel.

Oracle Fernando José on 13 Jun 2008

Certificaciones Oracle

Con este post quiero aclarar un poco como es el sistema de certificaciones y los requisitos. Primero existen dos tipos de certificaciones en Oracle, una que se basa en tres niveles ( asociado, profesional y master ) y otra que es especifica de un producto o tecnología (experto).

certificaciones oracleEstos dos tipos de certificaciones aplican para diferentes productos, así se puede ser profesional, asociado o master en bases de datos, servidores de aplicaciones o el Linux de Oracle. Los niveles han variado en el número de exámenes y productos certificables por ejemplo en versión 9i de base de datos para ser profesional se requirían 4 exámenes, dos para asociado ( SQL y fundamentos) y dos más para llegar a profesional ( respaldos RMAN y afinamiento ). En versión 10g de bases de datos solo se requieren dos exámenes 1 para asociado ( SQL y fundamentos ) y otro examen para profesional ( respaldos y afinamiento ).

Si bien para ser asociado (OCA) no es necesario ningún requisito adicional a dar el examen, que se lo puede tomar en cualquier centro prometrics, para ser profesional (OCP) se requiere seguir algún curso referente a la tecnología en la que queremos tomar el examen en Oracle University ( no son válidos cursos ni “masters” en ningún otro sitio ).

Otra historia es llegar a ser un Oracle Master que no es lo mismo que cursar un “master en oracle”. Para ser Oracle Master se tiene que dar un examen que dura dos dias y cuyo custo esta alrededor de 2000 euros, además se tiene que haber realizado 2 cursos en Oracle University de temas avanzados ( RAC, data guard, streams, …) . El examen es complicado porque se basan en la instalar o afinar un serie de escenarios sobre servidores Linux y bases de datos 10g, la buena noticia es que se lo puede dar en Madrid en las instalaciones de Oracle University. Sé que existen muy pocos OCM en España, no se diga Latinoamérica, creo que existe uno en versión 10g y otro en versión 9i en toda España. Creo que mal han hecho ciertas empresas en llamar a sus planes de formación masters, crean mucha confusión con las certificaciones originales no se diga con títulos oficiales de universidades, aunque las universidades tienen la culpa también en países como EE.UU. no hay problemas en los escalafones de estudio uno es BS, MS /MSc y PhD no existe a donde más tirar (pregunten como es en España LOL).

Existen productos muy interesantes para certificarse como son los servidores de aplicaciones , que últimamente han quitado el requisito de realizar un curso en Oracle University para certificarse como profesional; o las de linux que te permiten convalidar certificaciones LPI u otros exámenes. No esperes una certificación en desarrollo con Oracle de peso, el lenguaje estelar de Oracle es Java y las certificaciones Java las lleva SUN. Oracle podría plantearse una certificación en su framework de desarrollo rápido (ADF) pero al día de hoy no esta disponible. Oracle tenía una certificación para PL/SQL y desarrollo en forms pero era para versión 9i y no he sabido más de ella.

Con todas las compras que Oracle ha realizado ahora tiene certificaciones de People Soft, de Oracle Applications, de Siebel tanto en CRM como en BI además de en Hyperion . Existen dos programas de profesionales que están para mantener los productos adquiridos antes del famoso “Fusión” de Oracle, orientados a productos de Applicaciones 11i y a Siebel CRM 7. El resto de productos están todos orientados a la certificación de experto que en casi todos los casos requiere un curso en Oracle University como requisito previo a obtener la certificación.

Ahora la pregunta es ¿Qué certificación me conviene?, podemos analizar por este tema por rol:

  • Si eres un DBA de Oracle la certificación es al menos un OCP en base de datos, un OCM es factible pero teniendo al menos unos 5 años de experiencia en Oracle y un buen sistema de financiamiento ya que con los cursos y el coste del examen esta certificación puede salir en alrededor de 5000 euros. Si ya estas certificado como OCP (9 o 10) es conveniente dar el examen de actualización a Oracle 11g ya que cuando salga la 11gR2 el número de nuevas características incrementará y con ello la dificultad del examen.
  • Si tu rol es de desarrollador Oracle no existe una certificación en Java, PL/SQL, WS o BPEL. La opción es obtener un OCA en Bases de datos y en otro en servidores de aplicaciones, eso indica que tienes un buen nivel de SQL y que conoces la infraestructura de un IAS/OAS.
  • Un administrador /analista de BI tendría que ir por Siebel e Hyperion ya que al parecer son los productos en los que se basa la BI EE de 10g y en la que se va a basar la BI EE 11g. Para estos productos hay certificaciones de experto basados en las versiones de producción. Se puede esperar a ver que sucede con la versión 11g de BI que al parecer viene con múltiples sorpresas.
  • Un administrador / analista de CRM tiene la certificación de profesional en versión 7 u 8 de Siebel disponible a espera de lo que puede pasar con “Fusión” de Oracle. Parece que Oracle va a basar su suite de CRM en el producto de Siebel.
  • Un administrador de sistemas Linux puede optar por un OCP en Linux de Oracle que es muy parecido ( es más es un clon ) de RHAS así que si tienes una certificación LPI o un RHCE y trabajas con Linux de Oracle es algo que se puede obtener sin ponerle mucho esfuerzo.

Finalmente queda esperar para saber que sucede con la fusión de aplicaciones de Oracle además de la fusión de BEA y Oracle, puede salir un producto de servidor de aplicaciones interesante ( o desastroso!).

Personal Fernando José on 02 Jun 2008

Ubuntu 8.04 primeros pasos

Bueno tengo Ubuntu 8.04 en el portátil y no lo ponía en el desktop por simple y pura pereza. He aprovechado este fin de semana sin tareas para instalarlo y de paso escribo este post para no olvidarme de como lo he “tuneado”.

Lo primero es bajar de version el firefox, no se a quien se le ocurrió poner el último firefox pero el resultado es que no funcionan la mitad de las extensiones que utilizo. Con el gestor de paquetes desintalo firefox 3 e instalo firefox 2. La única pega es que no funcionan bien los plugins, prácticamente hay que instalarlos a mano. El de flash es sencillo se descarga el tar.gz de la página de adobe a donde nos redirecciona firefox, se lo descomprime (tar -zxvf archivo) y se ejecuta en la línea de comandos el flashplayer-installer.

Instalar java no es tan sencillo primero java no viene instala asi que tendremos que instalar todos los paquetes del jre 6 con el synaptic, luego vamos a ‘/usr/lib/firefox/plugins‘ y luego generamos un link simbólico con ‘sudo ln -s /usr/lib/jvm/java-6-sun/jre/plugin/i386/ns7/libjavaplugin_oji.so‘ . Listo se reinicia firefox y funciona.

Los íconos no me terminan de gustar por lo tanto unoa va gnome-look.org se descargan los íconos que uno quiere utilizar, se los descomprime y el directorio resultante se pone en el home del usuario dentro de la carpeta .icons (/home/usuario/.icons/ ). Una vez que estan allí ya se listan en el menu de personalización en temas.

Otro problema es que las pagínas web no se muestran correctamente, esto es porque como gran aporte de Microsoft a la web casi todas las páginas utilizan sus fuentes para las tipografías. Para instalar los TT Fonts compatibles con MS Windows se instala el paquete msttcorefonts (sudo apt-get msttcorefonts). Es necesario tener activado los repositorios de terceros en las fuentes de software.

Bueno ya tengo firefox 2.0 con los plugins básicos y las tipografías necesarias, además he puesto unos íconos que me gustan, solo me faltan poner unos monitores de temperatura y de procesos. Instalo los paquetes lm-sensors, sensors-applet y hddtemp. Cuando se instalan con synaptic pregrunta si quieres configurar hddtemp como demonio, es necesario aceptar esta opción para poder medir la temperatura de los discos. Los sensores se tienes que configurar a mano, ejecutamos (sudo sensors-detect) y aceptamos los descubrimientos, adicionalmente agregará unas líneas al /etc/modules. Si no se quiere reiniciar la máquina se pueden cargar los módulos con ‘modprobre  modprobe nombre-modulo’, finalmente se agraga el applet con los sensores a una barra de tareas. Puede ser necesario salir de la session y volver a entrar para que el applet se presente en la lista.

sensor applet

Como se ve muestra en la imagen tengo la temperatura de la tarjeta gráfica, del cpu, de cada disco duro y la velocidad de los ventiladore. Puedo además poner la temperatura de cada core y la temperatura interna del case pero no me son relevantes en este instante.

Bueno y por último como tengo una buena tarjeta gráfica active todos los efectos Para configurar los efectos al detalles se necesita el paquete ‘compizconfig-backend-gconf‘ luego en el menu de preferecias tendremos una gestión avanzada de ellos.
Listo con estos pasos mi Linux esta listo para usarlo, ahora solo tengo que poner unas cuantas aplicaciones pero eso ya es otro cuento.

DB & Oracle Fernando José on 18 May 2008

Repetir comandos de SQLPLUS y RMAN en Linux

¿Cansado de crear archivos para probar comandos de rman o sqlplus? ¿ Buscas una forma de  poder repetir los comandos de rman o sqlplus en Linux (*NIX)?. Veo en el blog de Lutz Hartmann como utilizar un programa llamado rwrap para invocar  a sqlplus/rman y solucionar este problema. Este pequeño programa incluye las opciones de repetir comandos en estas dos interfaces  (realmente los ejecuta dentro de un embalaje virtual que recuerda los comandos previamente ingresados).

Al parecer es un poco inestable y comandos como spool o el host no funcionan del todo bien, por lo que al realizar el alias en Linux es conveniente establecer otros nombres que no sean: rman o sqlplus . ( alias sqlplusw=’rpwrap sqlplus’ , alias rmanw=’rpwrap rman’)

He encontrado más referencias sobre esta solución en ésta otra web  con una variante que permite crear un diccionario de palabras a completar,  con esta base se puede hacer que rman/sqlplus reemplacen o completen  términos como oracle_home o oracle_base . Bastante útil para sacarse la frustración de encima.

Personal & Procesos Fernando José on 12 May 2008

Aplicación para crear mapas mentales (¿ Y presentaciones?)

Creo que lo comenté en un curso hace poco. Mi hermano me envió el link de una aplicación para realizar mapas mentales y en base al flujo de estos poder hacer una presentación (para exponer la ideas duuu!).  Realmente podría servir para organizar información porque tiene conexión con repositorios de ontología. El programa se llama Visual Understanding Environment ( o Entorno de Comprensión Visual?). Espero poner unos mapas explicando algunos temas con esta herramienta.

Bueno el proyecto está en esta página, es un proyecto de la Universidad de Tufts (Creo que queda en Nueva Inglaterra) .  El proyecto se llama VUE y tiene ya sus años, una página en sourceforge y otra en la wikipedia. Espero que sea de ayuda

DB & Oracle Fernando José on 03 May 2008

ApEx en la nube de Amazon (APEX+EC2+S3)

apexlogoBueno me quede con la idea de montar un APEX en el internet y hoy por fin lo probé. Contraté una cuenta de Amazon Web Services, en toda esa lista de productos de AWS los que interesan para este proyecto son el EC2 ( Elastic cloud) o la nube y los servicios de almacenamiento S3 (Simple Storage Services ). Una vez que tienes las claves de acceso puedes leer este documento que explica como iniciar/parar/crear una máquina virtual en el EC2, a nivel local (en la máquina de casa) se emplea un API de gestión que utiliza java 5 y las llaves de acceso que te da Amazon.

El primer punto interesante es que uno no tiene que hacer mucho esfuerzo para crear una máquina virtua en la nube, existen máquinas virtuales listas con Fedora Core y Ubuntu. Yo escogí una maquina virtual pública que tiene Ubuntu 7.10 , en base a esta cree la imagen privada siguiendo el documento de Amazon y estuvo lista en pocos minutos.

Una vez arriba acceder a la máquina virtual desde un windows es ligeramente complicado porque uno tiene que configurar el Putty, desde Linux no es ningún problema. Una vez dentro de la maquina virtual añadiendo el repositorio de Oracle instalar una base de datos XE es tan fácil como hacer ‘apt-get install oracle-xe’. El proceso de instalación se queja de que no tiene swap pero la memoría de la máquina virtual es más que suficiente para una XE (1.7GB) y no presenta problemas después.

Una vez con la base de datos XE arriba podemos con wget obtener el software de ApEx 3.1, este paso tiene un truco. Se realiza con el comando:

wget –cookies=yes –http-user=<usuario_otn> –http-passwd=<password_otn> http://download.oracle.com/otn/java/appexpress/apex_3.1.zip

Este comando la primera vez hace la descarga de un link del jsp de autorización, pero la segunda vez que lo ejecutas ya descarga el programa porque deja guardadas las contraseñas en el cookie.

Se puede tambien con scp inyectar el archivo zip del APEX desde el ordenador de casa pero yo tengo el problema de que mi velocidad de subida va bajando paulatinamente (gracias Orange por eso me cambio de proveedor!) . Al final tomaba como 45 minutos subir el archivo, con wget lo hice en menos de 5 minutos desde la máquina virtual.

Bueno una vez que se tiene el archivo se lo extrae (unzip) y se instala utilzando sqlplus. El problema que tenemos con este paso es que las variables de entorno no estan creadas para la instalación. El paquete oracle-xe instala un usuario oracle pero no deja configurado el entorno. Puedes crear un archivo .bash_profile en el home del usuario oracle (su - oracle) que contenga esto:

#!/bin/bash
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH
export PATH

Se puede cargar este archivo con el comando ‘. .bash_profile’ y probar que esten establecidas en el entorno con ‘env | grep ORACLE’ . Una vez que las variables están establecidas ya puedes seguir la guia de instalación de APEX sin problemas.

Una vez terminada la instalación de APEX no hay que olvidar actualizar las images, ya que nuestra instalaciónde APEX es un actualización de la versión 3.0 (Oracle XE viene con APEX), si no se ejecuta este comando las imagenes no se presentan.

SQL> @apxldimg /usr/lib/oracle/xe/app/oracle/product/10.2.0/

Finalmente es necesario abrir el puerto 8080 que utiliza APEX en las maquinas virtuales de la nube, el comando ‘ec2-authorize default -p 8080′ del API de Amazon hace lo suyo.

Saludos. FJA

DB & Oracle Fernando José on 06 Apr 2008

¿Hosting de APEX? y ¿Por qué no virtualización?

apex logoBueno primero ¿Qué es APEX?, si alguien conoció HTMLDB es simplemente la evolución de ese producto, para alguien nuevo en Oracle es un entorno RAD (Desarrollo de Applicaciones Rápido) orientado a la web y que funciona sobre una base de datos Oracle (10 o superior).

Oracle Application Express o APEX es un producto interesante para cualquier persona que tenga conocimientos de PL/SQL y BD Oracle ya que brinda un entorno para realizar applicaciones orientadas a formularios y reportes muy rápidamente con una curva de aprendizaje muy corta.

Justamente necesito hacer una aplicación con estas características:

  • Un solo formulario
  • Sistema de reportes básico, probablemente ordenamientos a demanda.
  • Impresión de reportes.

El problema que tengo con APEX está en que todos los hostings que encuentro a un precio interesante (no mas de 30 USD al mes) no incorporan una base de datos Oracle, ni tan si quiera la version Express, o si te ofrecen un hosting con APEX te dan un espacio en disco de risa.
Ahora bien, mi hermano que es un experto escudriñando la red me envió la dirección de un sitio en el que te dan un servidor virtual en el que puedes instalar un ubuntu (xubuntu?) a un buen precio, si esto es verdad puedo por alrededor de 30 USD al mes o menos tener una base de datos Oracle XE con APEX en un servidor virtual con 512 MB de RAM y disco suficiente para una aplicacion con unos pocos usuarios.

Si lo piensas bien una vez que se tiene Ubunto basta con agregar el repositorio de Oracle para Debian y instalar la base de datos XE con el apt-get, luego se instala con el APEX 3.1. con el script de instalación. Es una buena opción a probar.

Oracle Fernando José on 30 Mar 2008

¿Que contiene cada versión de Oracle BI?

Para los que conocimos las antiguas herramientas de BI de Oracle (discoverer, warehouse builder, reports, portal ..) Oracle Logola compra de Siebel ha cambiado todos los productos. Tuve recien un curso de BI EE+ y nos explicaron todas las herramientas a detalle. Pues bien ahora, en versión 10g, Oracle ofrece 3 “paquetes” de BI:

  • Oracle BI Enterprise Edition: que es Siebel Analytics con todos los módulos.
  • Oracle BI Standard Edition: que es discoverer y warehouse builder.
  • Oracle BI Standar Edition One: que es un versión reducida de Siebel Analytics.

Recientemente la Enterprise Edition tiene un + que refleja la comprar de Hyperion, además se van a vender plataformas BI listas para diferentes industrias que se llamaran BI Applications. La consolidación de los productos de BI se realizará en la versión 11g aunque todo apunta indudablemente a que los productos de Siebel tendrán mas peso sin que esto reste soporte a las empresas que ya tengan un desarrollo en discoverer.

Después de tener mis primeros pinitos en BI EE es fácil saber porque se consolidarán las herramientas de BI con Siebel, el producto es limpio y sencillo, puede alimentarse de varias fuentes de datos y tiene integración con servicios de reportes y autenticación.

En la parte de extración, transformación y carga (ETL) Oracle seguramente seguirá utilizando Warehouse Builder ya que lo incluye inclusive en la versión 11g de la base de datos, pero está por verse la consolidación que se realice con productos de Siebel e Hyperion, además de terceros que tienen relación directa como informática. Estaré pendiente de que ocurre.

Procesos Fernando José on 17 Feb 2008

ITIL moda o realidad

Veo un vídeo en youtube de CIO Magazine sobre ITIL. Muchos concuerdan que no es solo un término de moda (hype) si no es una realidad en la empresa (is happening), lo que no les preguntan es que versión de ITIL!. ITIL V3 es muy diferente que la V2 sobre todo en establecer como centro del framework a los servicios y no los procesos (una GRAN diferencia). En fin es interesante saber la opinión de los gerentes de informática (CIOs) sobre este tema, creo que cambios de mentalidad como ITIL o SOA solo se pueden hacer con respaldo de la cúpula (y más arriba LOL).

Cuales son las opiniones de estos CIOs sobre SOA… ver para saber (aunque lo pongo en un empate técnico).

GridControl & DB & Oracle Fernando José on 15 Feb 2008

Licenciamiento de OEM 10g (o algo que no uso y debería)

La semana anterior estuve dando un curso de Grid Control Oracle Enterprise Manager 10g. Uno de mis alumnos trabajaba en consultoria-ventas (Saludos Juan Carlos). Le hice unas cuantas preguntas sobre licenciamiento y me sorprende la información que me da:

  • OEM 10g no existe en la lista de precios como producto, al licenciar la base uno tiene acceso a instalar Grid Control.
  • El licenciamiento se da a nivel de producto por management packs para la base de datos y con packs de afinamiento/gestión para el servidor de aplicaciones.
  • OEM Grid Control tiene opciones licenciables (aunque no tengo mucha idea de como ) que son el gestor de servicio, el gestor de provisionamiento (provisioning en inglés) y el gestor de configuración.
  • Los plugins de grid control para gestionar productos no Oracle ( Bases de Datos SQL-Server, DB2, Websphere, etc, etc) tienen un coste extra.

En conclusión Grid Control es una herramienta a la cual se tiene acceso pero no he visto muchas intalaciones del mismo, se puede pero no se utiliza. Tener todas las bases de datos, servidores de aplicaciones, alertas y la capacidad de gestionar tareas desde un punto centralizado me parece una característica muy importante cuando se tienen muchas bases o un RAC.

Me queda la duda del licenciamiento cuando se tiene un esquema de alta disponibilida de grid control. Ya tendremos alguna otra oportunidad de preguntar al respecto.

Next Page »