Mostrando entradas con la etiqueta bases_de_datos. Mostrar todas las entradas
Mostrando entradas con la etiqueta bases_de_datos. Mostrar todas las entradas

jueves, 30 de mayo de 2013

MetaModel y BeanShell propuestos para Apache™ Incubator

Apache™ Incubator

Es posible contabilizar más de 100 proyectos en el ecosistema de la ​Apache Software Foundation. El ​Apache™ Incubator es el punto de partida en el camino a convertirse en un proyecto oficial de la fundación. Recientemente se han propuesto dos proyectos interesantes. La primera ​propuesta que quería mencionar es la de ​BeanSheall, uno de los lenguajes de programación utilizado para escribir macros en ​Apache™ Open Office™. Este último ya es un proyecto oficial de la fundación; razón por la cual se podría justificar la incorporación directa a este proyecto en vez de pasar por todo el proceso de incubación. Quizás se justifique más incorporarlo en ​Apache™ Commons debido a que este proyecto ha estado relacionado con ​Apache™ Maven y ​Apache™ JMeter desde hace varios años.

La segunda ​propuesta es ​MetaModel; un framework muy interesante que provee una interfaz común para acceso, exploración y consulta de diferentes tipos de fuentes de datos. Entre los objetivos iniciales del proyecto se menciona establecer vínculos con otros proyectos de primer nivel como ​POI, ​Gora, ​HBase y ​CouchDB. Resulta interesante saber que estas dos tecnologías podrían incorporarse próximamente al ecosistema de la ASF, por lo que les invito a ​suscribirse mediante RSS a este blog si está interesado en conocer más acerca del futuro de ambos.

viernes, 4 de septiembre de 2009

Introducción a la API de Google Analytics

Para ratificar el compromiso de Google con los desarrolladores, esta semana vió la luz una de las solicitudes más anheladas por la comunidad que gira alrededor de las APIs de Google. El gigante de Mountain View acerca la tecnología Google Analytics a los desarrolladores ofreciendo un protocolo REST similar al de sus parientes cercanos.

Google avanza comprometido con los desarrolladores

Hace un tiempo ya Google había demostrado su compromiso con los amantes de sus tecnologías y, atendiendo a las peticiones de los fieles desarrolladores, introdujo a Java como lenguaje en Google App Engine. Este paso también generó una especie de onda expansiva beneficiosa pues cualquier lenguaje que pueda ejecutarse sobre la máquina virtual de Java también podrá ser utilizado. Por tanto se habla de que ya hay aplicaciones que se encuentran en esa nube y que están implementadas en PHP, Ruby (¿recuerdan a Ruby on Rails?), Groovy y sería posible también que resurgieran otros como Scala, ¿quién sabe?.

Para ponerle la tapa al pomo de ahora en adelante la plataforma gratuita de análisis de visitas de los sitios web tiene también una API de programación que incluye primeramente a los lenguajes Java y JavaScript. Otras nueve librerías están a disposición para acceder a las estadísticasproveídas por este servicio. Entre los lenguajes se encuentra, especialmente Python (ya disponibles para su uso en Google App Engine), PHP y Ruby. Como el servicio esta en fase beta, se han establecido cuotas para su uso racional.

Esta decisión también influye en las sinergias que induce la trasnacional sobre la comunidad de sus usuarios, le añaden valor agregado al servicio, y contribuyen a su mejora continua aprovechando la imaginación de los programadores. Con el auge de los mashups y sumándo las posibilidades ya disponibles en Google Visualization API, Android, Google Maps API y otros, Google da pruebas de que la onda expansiva que acompaña a cada una de sus tecnologías es cada vez más fuerte. En este caso, ya desde el mismo lanzamiento existen ejemplos concretos que lo demuestran: la visualización de las estadísticas en dispositivos móviles, la inclusión de gráficos en presentaciones de Microsoft Power Point, la integración con aplicaciones para hojas de cálculo. ¡¡¡ Señores, lo de Google ya es demasiado !!!

Instalando el cliente de Google Data API

Para no dejarles con las ganas aquí les muestro un ejemplo básico para construir con Python una aplicación de consola que utilice esta nueva y útil interfaz de programación para obtener las estadísticas. Si no conoce este lenguaje le propongo que siga el curso de Python (una serie de artículos ;o) que vengo redactando desde hace un buen tiempo ya para la revista TuxInfo. Por brevedad voy a suponer que ya tienen instalado correctamente un intérprete de Python.

Antes de pensar en programar hay que instalar una versión de la librería posterior a la 1.3.2. Fue en este momento cuando la implementación de Sal Uryasev fue incluída en este paquete. Después de descargar una versión reciente hay que descompactar el fichero. Si se escoge el fichero .ZIP entonces puede ejecutar los siguientes comandos.

$ unzip -x  gdata-1.3.2.zip
Archive:  gdata-1.3.2.zip  
  inflating: gdata.py-1.3.2/README.txt
  inflating: gdata.py-1.3.2/RELEASE_NOTES.txt
  ...

$ ls 
gdata.py-1.3.2      gdata-1.3.2.zip

Si se escoge el fichero TAR.GZ entonces hay que ejecutar los siguientes comandos.

$ gzip -dc gdata-2.0.0.tar.gz > gdata-2.0.0.tar

$ tar -xf gdata-2.0.0.tar

$ ls
gdata-1.3.2                   gdata-1.3.2.tar
gdata-1.3.2.tar.gz

En cualquiera de los casos, el siguiente paso es ejecutar el script de instalación estándar. Para ello hay que colocarse en la carpeta donde se ha descompactado el código fuente y ejecutar los siguientes comandos :

$ cd gdata.py-1.3.2

$ ls
INSTALL.txt        README.txt         samples            tests
MANIFEST           RELEASE_NOTES.txt  setup.py
PKG-INFO           pydocs             src

$ python setup.py install
...

De esta forma se instala la librería de forma tal que todos los usuarios pueden utilizarla. Si Usted no desea que esto suceda, puede instalarla en su directorio personal de la siguiente manera.

$ cd gdata.py-1.3.2

$ ls
INSTALL.txt        README.txt         samples            tests
MANIFEST           RELEASE_NOTES.txt  setup.py
PKG-INFO           pydocs             src

$ python setup.py install  --home=/home/user_name
...

Después solo basta iniciar el intérprete de Python ...

$ python

... y comprobar que todo marcha bien.

>>> import gdata
>>>

¡Ya estamos listos!

Autentificación

Al igual que con todos los servicios de Google Data API, lo primero que es preciso hacer es autentificarse.

>>> from gdata.analytics.service import AnalyticsDataService as ADS
>>> s = ADS(email='murphy@gmail.com', password='can_hurt_your_eyes', \
...         source='aaa-aaa-v1')
...
>>> s.ProgrammaticLogin()
>>>

Para utilizar la API más cómodamente se utiliza la clase gdata.analytics.service.AnalyticsDataService. Sus instancias dan acceso al servicio Google Analytics. En el mismo paquete hay otras clases que se utilizan para acceder a otros servicios de Google. Sin embargo en todos los casos el procedimiento es el mismo, y se comienza por suministrar la cuenta del usuario, su password, y un parámetro llamado source, que se emplea para identificar a nuestra aplicación (pero que no es muy relevante para probar ;o). A continuación se llama al procedimiento de autentificación. Para todos los servicios hay tres modalidades disponibles: OAuth, AuthSub y ClientLogin. La última es la única que se puede utilizar para construir aplicaciones de escritorio, razón por la cual se invoca el método ProgrammaticLogin en el ejemplo.

Después de hacer todo esto el servicio es capaz de dar acceso solamente a la información sobre los sitios de nuestra propiedad.

Utilizando la API de Google Analytics

A continuación le muestro varios ejemplos que utilicé para probar. Para cada uno de ellos utilicé las estadísticas de mi sitio de administración de proyectos. Primeramente quería saber las principales fuentes de las visitas y los rechazos que acontecían.

>>> url = 'https://www.google.com/analytics/feeds/data/?ids=ga:12345678&dimensions=ga:source,ga:medium&metrics=ga:visits,ga:bounces&sort=-ga:visits&start-date=2009-06-01&end-date=2009-06-30&max-results=25'
>>> f = s.AnalyticsDataFeed(url)
>>> for e in f.entry:
...     for d in e.dimension:
...             print d.name, d.value,
...     for m in e.metric:
...             print m.name, m.value,
...     print
...
ga:source (direct) ga:medium (none) ga:visits 31 ga:bounces 12
ga:source trac-hacks.org ga:medium referral ga:visits 13 ga:bounces 5
ga:source pypi.python.org ga:medium referral ga:visits 12 ga:bounces 7
ga:source google ga:medium organic ga:visits 11 ga:bounces 10
ga:source groups.google.com ga:medium referral ga:visits 2 ga:bounces 2
ga:source trac.edgewall.org ga:medium referral ga:visits 2 ga:bounces 0
ga:source gossamer-threads.com ga:medium referral ga:visits 1 ga:bounces 0
ga:source groups.google.be ga:medium referral ga:visits 1 ga:bounces 1
ga:source mail.google.com ga:medium referral ga:visits 1 ga:bounces 0

Como se puede ver en el ejemplo lo primero que hay que hacer es construir la URL mediante la cual se recuperan los datos que deseamos. La base siempre es la misma https://www.google.com/analytics/feeds/data/. Para especificar qué datos deseamos obtener se utilizan diferentes parámetros, pero uno que no puede faltar nunca es el identificador de nuestra propiedad (i.e. el sitio para el cual queremos obtener las estadísticas). Para ello se utiliza el parámetro ids (en este caso ids=ga:12345678). Tenga en cuenta que siempre hay que utilizar el prefijo ga:.

Las estadísticas están organizadas en la forma de una tabla. Para cada dimensión se obtienen los valores de una o varias métricas. Por ejemplo, en este caso las dimensiones utilizadas son la fuente desde donde se accedió al sitio y el medio utilizado para llegar hasta las páginas. Para esto se necesita el parámetro dimensions=ga:source,ga:medium. Por otra parte las métricas solicitadas fueron los números de las visitas y de rechazos, por lo que se incluyeron el parámetro metrics=ga:visits,ga:bounces. Para presentar los valores de una forma más cómoda, he ordenado los resultados en orden descendente por la cantidad de visitas (i.e. sort=-ga:visits). Este parámetro realmente no es obligatorio. Otro parámetro opcional es max-results, el cual permite acotar el número de elementos a incluir en cada petición (e.g. max-results=25 se ha empleado para solicitar no más de 25 filas con datos). Por el contrario, es obligatorio especificar el intervalo de tiempo en el que se quieren acotar las mediciones. Para ello se emplean los parámetros start-date y end-date (e.g. en el ejemplo start-date=2009-06-01&end-date=2009-06-30 se utiliza para obtener las mediciones hechas durante el mes de junio del año 2009).

Después de haber conformado la URL, se pasa como parámetro al método AnalyticsDataFeed de la instancia del servicio mencionada en el epígrafe anterior. El valor retornado es un objeto que contiene los valores que estamos buscando. A través de la colección entry podemos acceder a las filas individuales. Cada fila es representada por un objeto que se coresponde con un valor diferente de las distintas dimensiones. Dichos valores pueden ser obtenidos recorriendo la coleccion dimension. Las métricas solicitadas se encuentran en la colección metric.

¡Eso es todo! Veamos otros casos ;o).

El último ejemplo ilustrará cómo obtener las páginas más visitadas del sitio.

>>> f = s.AnalyticsDataFeed('https://www.google.com/analytics/feeds/data/?ids=ga:12345678&dimensions=ga:pagePath&metrics=ga:pageviews,ga:uniquePageviews,ga:timeOnPage&sort=-ga:pageviews&start-date=2009-06-01&end-date=2009-06-30&max-results=25')
>>> for e in f.entry:
...     for d in e.dimension:
...             print d.name, d.value,
...     for m in e.metric:
...             print m.name, m.value,
...     print
...
ga:pagePath /traccgi/swlcu/wiki/En/Devel/TracGViz ga:pageviews 39 ga:uniquePageviews 32 ga:timeOnPage 5847.0
ga:pagePath /traccgi/swlcu ga:pageviews 17 ga:uniquePageviews 15 ga:timeOnPage 657.0
ga:pagePath /traccgi/swlcu/wiki/En/Devel/TracGViz/TracLinks ga:pageviews 13 ga:uniquePageviews 9 ga:timeOnPage 3929.0
ga:pagePath /external/opensvn.csie.org/traccgi/swlcu/timeline ga:pageviews 7 ga:uniquePageviews 6 ga:timeOnPage 91.0
ga:pagePath /traccgi/swlcu/roadmap ga:pageviews 7 ga:uniquePageviews 7 ga:timeOnPage 1118.0
ga:pagePath /traccgi/swlcu/wiki/TracPlugins ga:pageviews 7 ga:uniquePageviews 4 ga:timeOnPage 476.0
ga:pagePath /traccgi/swlcu/browser ga:pageviews 6 ga:uniquePageviews 4 ga:timeOnPage 120.0
ga:pagePath /traccgi/swlcu/wiki/En/Devel/TracGViz/TracLinks?action=edit ga:pageviews 6 ga:uniquePageviews 6 ga:timeOnPage 976.0
ga:pagePath /external/opensvn.csie.org/traccgi/swlcu/browser ga:pageviews 4 ga:uniquePageviews 4 ga:timeOnPage 98.0
ga:pagePath /traccgi/swlcu/timeline ga:pageviews 4 ga:uniquePageviews 4 ga:timeOnPage 358.0
ga:pagePath /traccgi/swlcu/wiki ga:pageviews 4 ga:uniquePageviews 3 ga:timeOnPage 180.0
ga:pagePath /traccgi/swlcu/wiki/En/Devel/TracGViz/EmbedGVizGadget ga:pageviews 4 ga:uniquePageviews 3 ga:timeOnPage 273.0
ga:pagePath /external/opensvn.csie.org/traccgi/swlcu/browser/trunk ga:pageviews 3 ga:uniquePageviews 3 ga:timeOnPage 102.0
ga:pagePath /traccgi/swlcu/browser/trunk ga:pageviews 3 ga:uniquePageviews 1 ga:timeOnPage 254.0
ga:pagePath /traccgi/swlcu/wiki/En/Devel/TracGViz/DataSources ga:pageviews 3 ga:uniquePageviews 2 ga:timeOnPage 24.0
ga:pagePath /traccgi/swlcu/wiki/En/Devel/TracGViz/TracLinks?version=5 ga:pageviews 3 ga:uniquePageviews 2 ga:timeOnPage 836.0
ga:pagePath /traccgi/swlcu/wiki/En/Devel/TracI18N ga:pageviews 3 ga:uniquePageviews 3 ga:timeOnPage 368.0
ga:pagePath /traccgi/swlcu/xmlrpc ga:pageviews 3 ga:uniquePageviews 3 ga:timeOnPage 0.0
ga:pagePath /external/opensvn.csie.org/traccgi/swlcu/roadmap ga:pageviews 2 ga:uniquePageviews 2 ga:timeOnPage 34.0
ga:pagePath /external/opensvn.csie.org/traccgi/swlcu/wiki/En/Devel/TracGViz/DataSources ga:pageviews 2 ga:uniquePageviews 2 ga:timeOnPage 34.0
ga:pagePath /traccgi/swlcu/attachment/wiki/En/Devel/TracGViz/ ga:pageviews 2 ga:uniquePageviews 1 ga:timeOnPage 58.0
ga:pagePath /traccgi/swlcu/attachment/wiki/En/Devel/TracGViz/EmbedGVizGadget/timeline.json ga:pageviews 2 ga:uniquePageviews 2 ga:timeOnPage 2697.0
ga:pagePath /traccgi/swlcu/attachment/wiki/En/Devel/TracGViz/TracGViz-1.2.1.tar.gz?action=delete ga:pageviews 2 ga:uniquePageviews 1 ga:timeOnPage 598.0
ga:pagePath /traccgi/swlcu/browser/trunk/trac-dev/i18n/README?rev=14 ga:pageviews 2 ga:uniquePageviews 2 ga:timeOnPage 17.0
ga:pagePath /traccgi/swlcu/browser/trunk/trac-dev/i18n/msgs/es/trac.po ga:pageviews 2 ga:uniquePageviews 2 ga:timeOnPage 8.0

Les explico los valores de los parámetros incluídos en la URL:

Parámetro Valor Descripción
ids ga:12345678 El identificador de la propiedad (sitio) web
dimensions ga:pagePath La ubicación de las páginas del sitio
metrics ga:pageviews
ga:uniquePageviews
ga:timeOnPage
Los datos solicitados son el número de consultas para cada página, el número de solicitudes individuales y el tiempo promedio que los usuarios permanecieron en esta página
sort -ga:pageviews Devuelve primero las páginas más vistas
start-date 2009-06-01 Descarta mediciones anteriores al 1 de julio del 2009
end-date 2009-06-30 Descarta mediciones posteriores al 30 de julio del 2009
max-results 25 Devolver no más de 25 resultados

Antes de finalizar quería aclarar que todas las métricas no son compatibles con todas las dimensiones, por lo que hay que tener cuidado al utilizarlas.

Conclusiones

Las estadísticas son muy importantes. La API de Google Analytics tiene una estructura relativamente sencilla (bueno ... después que llegas a conocerla un poquito ;o) y puede llegar a ser una herramienta muy útil. De hecho, me acabo de dar cuenta de que la página más vista del sitio es la del plugin TracGViz. ¿Nunca les he hablado de él? ¡Ostias! Por suerte tengo las estadísticas. Pronto les haré una nota para que lo conozcan. Pero bueno, simelo piden también abordaré cualquier tema que sea de su interés. ¡Hasta pronto! .

martes, 26 de mayo de 2009

Oracle : por más que engorda sigue subiendo ...

Oracle se propone llegar bien alto: a partir de ahora quiere ser el señor de las nubes. ¿Una nueva cruzada? Lo que sí es cierto es que este nuevo gran gigante tiene mucha hambre. Apenas comenzaba a digerir al sol y ya tenía otra presa entre sus fauces. Si sigue engordando así, entonces ... ¿cómo planea llegar tan alto? Por ahora todo parece indicar que va en busca de agenciarse su jet personal.

Ya dediqué unas líneas a analizar las implicaciones de la compra de Sun por parte de Oracle y abordé los beneficios que aportaba a su entrada en el mundo del Cloud Computing. Sé que puede haber algunos incrédulos. Yo mismo nunca pensé que todo fuera a acontecer tan rápidamente. Lo cierto es que pocos días atrás se celebró el primer aniversario de Google App Engine. En este marcó se organizó otra edición del evento Google Campfire para hacer un repaso de lo acontecido hasta el momento. Tal cita iba precedida de nuevas funcionalidades disponibles - y muy solicitadas - para esta plataforma SaaS, por lo que también hubo sorpresas. Lo que quizás nadie se imaginó era que se lanzará una tecnología tan prometedora bautizada con el nombre Secure Data Connector. Aquí empieza la función ...

¿ Qué son los SDC ?

Los SDC son el mecanismo en que Google conectará de una manera segura las aplicaciones que se ejecutan en su nube con los datos que se manejan localmente por las empresas. Esto quiere decir que el gigante de Mountain View está decidido extender su influencia más allá de sus centros de datos, y así continuar su evangelio hasta llegar lo más próximo posible a sus clientes: a las mismísimas empresas. Y para esto está decidido a darnos el control para pasar por alto las restricciones establecidas por los cortafuegos desplegados al interior de las organizaciones. De más está decir que el código fuente del SDC Agent está disponible para ser descargado.

Esto - y otras tecnologías presentadas en el evento antes mencionado - hace que tomen un nuevo matiz los argumentos acerca de la privacidad de los datos manejados por los servicios de Google. También se han facilitado otros mecanismos para migrar los datos de las aplicaciones hacia y fuera de sus infraestructuras. Pero bueno, bueno ... ¿este artículo no era acerca de Oracle? ¿Qué tiene que ver todo esto?

La conquista del Olimpo ... con los pies en las empresas

Uno de los pioneros en el uso de esta tecnología es nada más y nada menos que Oracle. La aplicación objetivo resulta ser la exitosa herramienta de gestión de relaciones con los clientes conocida como Siebel CRM. No se extrañe si les digo que hablamos de un producto de otra de las empresas devoradas por esta hambrienta corporación. Esta no es más que la continuación de una estrategia que comenzó con Oracle CRM On Demand Integration to Siebel CRM. Esta solución pretendía estrechar la distancias entre sus productos tradicionales y las más recientes solución Oracle CRM On Demand.

En esta ocasión se pueden combinar los gadgets que ofrece Oracle con los SDC para ver y utilizar los datos de los clientes en sitios que hacen uso de la infraestructura y tecnologías de Google. Pero la interacción tampoco es limitada a este escenario. Los SDC también facilitan la integración con otras tecnologías como Google Spreadsheets. En el evento antes mencionado se mostró cómo se podía tener acceso desde Google Spreadsheets a información de precios que se maneja y administra detrás de un firewall por una organización, con el objetivo de utilizarla de una manera colaborativa y abierta ya sea por parte de los propios clientes, o para el consumo de aplicaciones de terceros.

Los conectores permiten controlar el acceso a la información utilizando como punto de partida las cuentas de usuario de Google (sí la misma con la que se accede a GMail ). Por tanto desde ya se cuenta con una gran base potencial de usuarios que pueden aprovechar estas «bondades». Pero esto no es todo, utilizando los gadgets también es posible interactuar con esta aplicación aún si se encuentra detrás de un firewall. No importa que estemos por allá arriba por las nubes, ahora ya se podrá tener también los pies en la empresa al mismo tiempo.

¿Esto es todo?

Parece que a penas se comienza a vislumbrar lo que sucederá en este campo. Según el Wall Street Journal Oracle, a partir de su vasta experiencia, se dispone a desarrollar siete soluciones SaaS dirigidas a la gestión empresarial. Según algunos pronto se tendrá un herramienta de ayuda a la conducción de una campaña publicitaria, más una segunda cuyo propósito será la gestión de los recursos humanos de las empresas.

Por el momento se continúa con la adquisición de empresas a un ritmo que podría parecer desenfrenado. Oracle engulló recientemente a Virtual Iron, empresa especializada en virtualización y gestión orientada a las PyME que está radicada en Lowell, Massachussets. Esta adquisición representa un golpe para SAP. El propio Hasso Plattner, cofundador de SAP Ventures había sido el creador de un fondo de inversión que servía a la sociedad de respaldo financiero. Entre sus partners se encuentran SAP IBM, SAP Microsoft y SAP Sun Microsystems. Nada, una movida de Oracle dirigida a debilitar a su archi-rival y a ampliar la gama de sus productos de virtualización Oracle VM, basados en Xen Hypervisor.

Conclusiones

Todo esto tiene implicaciones profundas. Para comenzar, la suite ofimática de SAP Microsoft se está quedando atrás en lo que respecta a este nuevo mercado, y adolece de funcionalidades tan útiles como la interoperabilidad transparente con otros sistemas - y ni siquiera voy a hablar de las limitantes que se derivan de su archiconocido arcaico modelo de protección de "SU" propiedad intelectual -. Google puso el dedo en la llaga al comprender que solo la tecnología subyacentelas es lo que diferencia a una hoja de cálculo, una base de datos, los datos en un gráfico o interfaz de usuario y hasta un simple arreglo - y esto me recuerda algo que decía y dice mi profesor Medardo Rodríguez -. La empresa se ha propuesto romper las barreras que existían, y hasta el momento lo viene logrando. Oracle, que lo comprendió muy bien, le siguió los pasos para hacer frente a otros competidores que ya estaban dando quehacer por las nubes, como Salesforce.com. Solo que esta vez aborda la situación desde la perspectiva donde se siente más fuerte, y donde realmente se puede considerar casi como rey. La amplia base de usuarios locales de los productos empresariales de Oracle ahora se dirige a converger con el vasto número de cuentas de Google. Intento este que quizás ayude a hacer más rentable las aplicaciones empresariales SaaS, algo que Larry Ellison señalaba como deficiencia de sus productos de este tipo.

miércoles, 29 de abril de 2009

Here comes the Sun ... turu ruru. It's Oracle's !

La semana pasada no fue como otra cualquiera, sin dudas pasará a la historia. Es por esto que me motivé a redactar este resumen sobre la caida de uno de los paradigmáticos. Sun, Oracle, Google, Microsoft ... todos tendrán su espacio acá, en el blog de Simelo; y simelo pide no faltará un comentario acerca de ese tema que a Usted le inquieta sobre este turbulento mundo de la tecnología y la informática.

¿El pez grande se comió al chiquito?

Sin dudas la noticia de la semana, y quizás del año, sea la reciente compra por parte de Oracle del gigantísimo Sun Microsystems por unos 7400 millones de dólares estadounidenses ($9,50 por action, 42% por encima del valor estimado en $6,69). Después de tambalearse por un buen tiempo debido a los problemas financieros, y luego del fracaso de las negociaciones con IBM, la decisión se ha hecho efectiva. La razón es que la empresa que nos tenía acostumbrado a sus increíbles tecnologías ya no obtiene los ingresos que le permitan sostener los costos de desarrollo. Y es así como el cuarto vendedor de servidores a nivel mundial se ve absorvido por el campeón de las herramientas empresariales.

Ahora el panorama del sector cambiará radicalmente, y si alguien veía remoto el sueño de Larry Ellison en el que Oracle destronaba a Microsoft, espero que se les vaya quitando esa idea. Lo que sí es seguro es que la transición será (y ya es) traumática. Hay muchas soluciones duplicadas, y la fusión no puede traer otra cosa más que la simplificación; y quien dice esto dice también despidos, que se estiman entre 5500 y 10000 segun Sanford C. Bernstein & Co., en medio de un contexto ya deteriorado por la crisis financiera. Jonathan Schwartz PDG de la empresa absorvida, a comunicado a sus empleados que

La adquisición no cambia las cosas, sino las personas (...) La mayor prioridad de Oracle consiste en la creación de un ambiente favorable en el que las mentes más brillantes podrán continuar inventando y proyectándose hacia el futuro.

¿Llegará esto al punto del canibalismo? Vayamos por partes.

Hablemos en el lenguaje de ... Oracle

Muchos ya conocemos lo que representa Java en el ámbito de los lenguajes de programación. Por si no están enterados, solo les digo que todos los índices que conozco, especialmente TIOBE y LUI, lo colocan en el lugar cimero en la larga lista de lenguajes, siendo imbatible en cuanto a número de proyectos. Un bastión de este lenguaje es su estándar Java Enterprise Edition para desarrollo de aplicaciones y servidores web. Después de la adquisición de BEA Oracle ya contaba con Oracle WebLogic Server. Ahora se nutre con Glassfish, el IDE Netbeans y otras tecnologías muy cercanas, por ejemplo relacionadas con web services y capas de servicios SOA más plataformas de seguridad web para SSO y gestión de identidad. Todo esto ahora tendrá nuevas influencias y se suma a tecnologías ya manejadas por Oracle. Por tanto la pregunta es: ¿Se continuará con la estrategia open source? ¿Qué es lo que desaparecerá? ¿Qué es lo que se queda?

Además, dónde sí Java es rey indiscutible es en el campo de los teléfonos celulares, y otros dispositivos móbiles. Java Mobile Edition es la única interfaz de programación con realmente amplia y sólida adopción en este contexto. Otro de los perseguidores, Android, también está fundamentado en este lenguaje, pero propone mecanismos alternativos e incompatibles. Pues si bien Oracle no tenía una presencia relevante en este campo, de la noche a la mañana se ha convertido en el patrón de todas estas plataformas. Por tanto irán de a por todas contra la impronta de Microsoft y su Windows Mobile, integrando el nuevo know-how en sus aplicaciones empresariales para móbiles.

Productos de gestión empresarial

En el sector de las tecnologías empresariales, Oracle, según Forrester y Gartner, es líder indiscutible. En el segundo trimestre del 2008, este último analista señalaba a la compañía como un líder en el mercado de las plataformas de gestión de riesgos financieros y de manejo empresarial (EGRC) con su propuesta Oracle GRC Manager. Después de la acquisición de Siebel e Hyperion, la trasnacional se ha afianzado también en el campo de la gestión de relaciones con clientes (CRM) y de infraestructura de aplicaciones.

En el caso de los BPMS centrados en la integración, aparecía con dos productos. El primero de ellos era su producto líder, Oracle SOA Suite y Oracle BPA Suite, que se agrupaba caprichosamente en la vanguardia con los productos de SAP, TIBCO Software, IBM y le seguían los pasos a Software AG. A un segundo plano quedaba relegado Oracle BEA WebLogic Integration. Por su parte Sun Microsystems hacía presencia ya más en la retaguardia con Sun Java Composite Application Platform Suite (CAPS): Sun eInsight BPM, Sun eGate Integrator, Sun Adapters, Sun eView Studio. Pero además, poseía su Glassfish ESB muy atractivo para desarrollos en Java. ¿Qué resultará de la fusión?

Hagamos un poco de retórica. Atendiendo al informe de Forrester del tercer trimestre de 2007 acerca de los BPMS centrados en tareas humanas, BEA le daba caza a los líderes con su AquaLogic BPM. El líder en aquel momento era SmartBPM Suite de PegaSystems, y se perdió del mapa después de la fusión con el propio Oracle. Oracle le echó las manos a BEA y así logró más profundidad en sus propuesta al ofrecer al mismo tiempo facilidades de integración y un marco excelente para coordinar el capital humano. Pero esto tuvo su precio, en el análisis del cuarto trimestre del 2008 se ve una conclusión más o menos así

Oracle's BEA WebLogic Integration has solid functionality but an unclear path forward. It is a very capable product but has a clouded future due to the stated product direction that Oracle provided.

Y de eso mismo estamos hablando: ¿Qué dirección tomarán de ahora en adelante estos productos de Sun Microsystems?

Nuevos servidores y sistemas operativos para …

En el área de los servidores Oracle ha dado el salto. En un abrir y cerrar de ojos ya es, nada más y nada menos, que el cuarto comercializador a nivel mundial en esta rama, tercero en Europa (12% en volúmen de negocios) y primero en el segmento de servidores RISC/Itanium. HP, IBM y ¡je! Microsoft están muy cerca. En septiembre del año 2008 ya se establecían estrategias con el primero para la introducción de Oracle en el mercado del hardware. Pero ahora ya tiene a la mano toda la arquitectura SPARC (basada en RISC). ¿Cuál es el sello distintivo del nuevo contendiente? Pues que a esto y a todo lo demás se suma el control de tecnologías de virtualización como VirtualBox, más otras como DTrace -que permite a los administradores de sistemas resolver problemas de kernel y aplicación en sistemas en producción y en tiempo real-, Sun Containers -una tecnología tipo virtualización con la que es posible dividir el sistema operativo en partes discretas gestionables y securizables de forma independiente- o el sistema de archivos ZFS. Súmenle otras tecnologías como las VTL y otras destinadas a la preservación de datos. Todas ellas están en la punta del iceberg. Hace ya un tiempo que leí en TuxInfo declaraciones de Jim Zemlin, director ejecutivo de la Linux Foundation diciendo acerca de estas tecnologías que

es un entorno ofrecido por una empresa con dificultades financieras (...) no están repercutiendo en el mercado en modo alguno

Pues bien, ahora ya tienen un nuevo dueño; y de ahora en adelante no contarán con Marc Tremblay, gurú de los super-servidores SPARC, antiguo vice-presidente y arquitecto de productos de red y procesadores de Sun Microsystems. El caballero se traslada al grupo 'Strategic Software/Silicon Architectures' de Microsoft ... para dar un saltico del mundo libre hacia el propietario :-/. Se disgrega así otro de los estrategas después de la partida de Andreas von Bechtolsheim, co-fundador de la compañía en 1982.

Pero también se suma a todo esto los sistemas operativos Solaris y OpenSolaris. El primero es una opción líder en el campo de las telecomunicaciones y otras aplicaciones con exigentes tiempos de respuesta, o incluso en tiempo real. Además se hereda un acuerdo OEM por el cual los servidores HP ProLiant son equipados con el sistema operativo Solaris. Alrededor del mismo gira todo un negocio muy rentable y una actividad de soporte que no es probable que el nuevo regente se desprenda de él. Este modelo de servicios reporta alrededor del 40% de los ingresos y está concebido en tres ejes: soporte y mantenimiento -para mantener en operación la infraestructura de sus clientes-, los servicios profesionales -proyectos de desarrollo a la medida e instalación-, y la administración directa en los centros de datos de los clientes.

Sin embargo la situación se torna distinta respecto a OpenSolaris, pues ya Oracle apoyaba la distribución Oracle Unbreakable Linux desde una cruzada anti-RedHat y anti-Microsoft, no muy fructífera, por cierto. Por tanto no es extraño que Larry Ellison, presidente de Oracle haya dicho públicamente que uno de los principales motivos del interés de la compañía en Sun Microsystems residía en su sistema operativo Solaris, que durante mucho tiempo ha sido una importante plataforma para la popular Oracle Database 11g y ha conseguido hacerse con una saludable y significativa base instalada entre las empresas. Además hace sólo un par de semanas que el máximo arquitecto de software e ingeniero GNU/Linux de la compañía, Edward Screven, declaró que la compañía desearía ver a GNU/Linux convertirse en el sistema operativo por defecto para su centro de datos. En el comunicado se explica que

está más comprometido que nunca con Linux y otras plataformas abiertas y continuará dando soporte y mejorando sus sólidas alianzas sectoriales.

Por esto no se descarta la fusión de ambos sistemas operativos, idea que ya se veía venir desde 2008.5? cuando ya se contaba con GNOME como entorno de escritorio, se incorporaban desarrollos de Ian Murdock, creador de Debian y se contaba con Sun xVM Hypervisor, basado en el trabajo de la comunidad Xen para ejecutar Solaris, GNU/Linux y Windows en máquinas virtuales. El mismo Jim Zemlin, en su momento, apostaba abiertamente por la paralización del desarrollo y soporte a Solaris y el paso de Sun a GNU/Linux, al igual que otras plataformas Unix como AIX de IBM o el HP-UK de Hewlett-Packard, a los que tampoco veía un gran futuro. Lo argumentaba diciendo que

Solaris no tiene casi nuevos despliegues y es un entorno ofrecido por una empresa con dificultades financieras. Los fabricantes tampoco ven un futuro brillante para Solaris (...) es mucho más caro, pierde cuota de mercado porque no tiene buen precio/rendimiento, es más costoso de gestionar y su ciclo de vida está empezando a ser completado.

Un escollo a superar para la unión será los términos de licencia para OpenSolaris y GNU/Linux. Actualmente, aunque ambas plataformas sean de código abierto, tales términos resultan incompatibles. OpenSolaris se ofrece bajo la licencia de Sun CDDL (Common Development and Distribution License), mientras que GNU/Linux se distribuye según las condiciones de GPL (GNU General Public License). Para resolver este inconveniente, Oracle podría cambiar los términos de licencia para OpenSolaris cuando adquiera la propiedad del producto, y así las funcionalidades disponibles en GNU/Linux y OpenSolaris serían transferibles sin problemas.

En la misma órbita hay otras tecnologías como Looking Glass, el escritorio 3D desarrollado por la gigante Sun Microsystems, con un grado muy alto de madurez, siendo muy estable y funcional. El mismo está totalmente basado en la tecnología Java y si bien en un primer momento estuvo pensado para que funcionara en la plataforma Solaris de la empresa, ahora el entorno se instala perfectamente en cualquier distro GNU/Linux.

Pero ya IBM venía tomando medidas. En diciembre pasado firmó un acuerdo con Canonical y Virtual Bridges (virtualización) para ofrecer una solución empresarial con su potente Ubuntu en un despliegue orientado al uso de clientes ligeros. De esta forma Big Blue expediría licencias de su suite Lotus. HP también está siendo precavido e incluye VMware en sus servidores ProLiant y BladeSystem y también en sus sistemas de almacenamiento StorageWorks. También lanza dispositivos móbiles equipados con Windows Mobile 6.5 y sigue adelante con servidores Itaniuum.

... para llegar a las nubes

En el fondo de todo esto se complementa muy bien con la estrategia de cloud computing de Oracle. Ya en septiembre del año anterior, habían firmado con Intel un acuerdo en este sentido, que abarcaba integración de datos y virtualización. Por otra parte, recuerdo cuando Bruno Hourdel, Director de Marketing de Sun France mencionaba que la compañía se guiaba por el slogan The Network is the computer y adelantaba las intenciones de entrar en el área de PaaS (Platform as a Service) e IaaS (Infrastructure as a Service). Para eso adquirieron a Q-layer. Ahora se hacen evidentes los beneficios de la reciente unión para Oracle.

En este plano los principales actores son Amazon con servicios como EC2, Google con Google App Engine junto a compañías afines como lombardi y Salesforce, Microsoft con su propuesta Azure, IBM, Cisco. Echemos un vistazo a la competencia.

Una de las batallas de nuestros días es la competencia en el plano de las aplicaciones empresariales vinculadas al Cloud Computing. En este sector Salesforce es uno de los más potentes, y orbita alrededor de Google. De hecho, provee integración de sus servicios con Google App Engine, en un fenómeno de integración entre dos nubes. El mismo actor coquetea con ofrecer su servicio Force.com for Amazon Web Services, cubriendo así dos de los más influyentes entornos del momento. La respuesta de Oracle ha sido escalonada. Después de lanzar Oracle CRM On Demand Integration to Siebel CRM, lo ha acercado al alcance de sus socios, y en marzo de este año ya estaba la versión para móbiles y con características sociales. Con Oracle Gadget Wizard for Google Apps se comienza un acercamiento entre Google Apps y Siebel CRM. Es decir, ambas compañías comprenden bien el camino que tienen por delante. Baste mencionar que Marc Benioff, fundador de Salesforce en 1999, trabajó en Oracle durante trece años. Solo que esta última empresa presenta una cartera más profunda al tener un producto para desplegarlo en las propias empresas y otro para andar por las nubes, estando ambos bien relacionados.

Por otra parte, en septiembre del 2008 IBM anuncia la apertura de cuatro nuevos centros de datos en países en vías de desarrollo con altas potencialidades: Brasil (São Paulo), India (Bangalore), Corea (Seul) y Vietnam (Hanoi). Ya en abril del 2009 Big Blue abre las puertas de un primer laboratorio en Hong Kong. De esta manera el grupo apunta al reforzamiento de su producto SaaS llamado IBM LotusLive en la importante y dinámica zona Asia Pacífico. Todo esto gira en torno a la oferta de IBM llamada Blue Spruce. Una característica de esta alternativa es que necesita de ciertos elementos adicionales para funcionar, pero se dice que estarán ya integrados a Safari, Firefox e Internet Explorer en el 2010, y ya forman parte de sus proyectos de desarrollo. La estrategia se profundizará con la entrada del producto Lotus Live Engage, que se facturará entre $10-$45 USD mensuales.

Big Blue también trata de formar una alianza entre los principales actores del Cloud Computing. Por el momento ni Google, ni Microsoft, ni Amazon, ni Salesforce.com se han sumado a la propuesta. Todo lo contrario ocurre con Sun, VMware, EMC y Cisco. Esto se venía gestando ya hace un tiempo, lo que se me hizo evidente con la intención expresa de la ISO -y mencionada en Informática 2009 por François Coallier- de sumar al Cloud Computing a sus normas internacionales.

Microsoft se aventura en el sector con Azure. Este servicio ya se vió afectado durante 22h entre los días 13 y 14 de marzo del 2009, sin que hubiera una explicación de los hechos. Ahora bien, una ventaja en este caso es que, al basarse en .NET, se posibilita el uso de varios lenguajes de programación. Esto redunda en mayor número de adeptos. Este actor posee además productos SaaS en el área de oficina, como veremos más adelante.

En lo concerniente a Amazon, tenemos la reciente oferta del servidor de aplicaciones Glassfish para los usuarios del servicio Amazon EC2. Esta variante se suma a los ya establecidos JBoss Enterprise Application Platform y Oracle WebLogic Server. Sus servicios S3 e EC2 son indudablemente de los más populares y aceptados.

Todo esto es muy importante puesto a que el Cloud Computing es una rama prometedora que, según los analistas de Gartner, sobrepasará los $56 mil millones USD este año, y los $150 mil millones USD en el 2013.

Mirando hacia la oficina

Sí, aquí también se llevaron el gato al agua. OpenOffice y StarOffice son las soluciones para la oficina con que contaba Sun, y ya lograba hacer competencia a Goliat (digo Microsoft). ¿Se abre otro frente de batalla en esta dirección, o se descontinúa el producto?. Me inclino más por la primera, aunque por ahora ¿quién sabe lo que ocurrirá?

La cuestión es que se tendrán que enfrentar a tres grandes actores. El primero es Microsoft que, dominando ya este sector, le ha dado luz verde a servicios SaaS como Office Live Workspace, que ya contaban con 3 millones de usuarios en marzo de este año. Además prepara su próxima versión Office 2010 acompañada de Exchange 2010, que se menciona que será la ilustración perfecta del concepto de SaaS.

El segundo gran contendiente es IBM con su cartera de productos Lotus. La misma está disponible para los teléfonos S60 de Nokia -Lotus Notes Traveler- y el iPhone -Lotus iNote Ultralite-, con lo cual pretenden acercarse a más de 80 millones de usuarios. Además ya incursiona en la convergencia con SaaS al lanzar LotusLive. El servicio está compuesto por las herramientas de colaboración Lotus Live Engage y LotusLive Connections, video-conferencias a través de LotusLive Meetings y LotusLive Events; y finalmente LotusLive Notes y LotusLive iNotes como soluciones de comunicación por e-mail. Como parte de LotusLive Connections se planea integrar los contactos de la red social LinkedIn. Otros acuerdos incluyen al servicio VoIP de Skype, y a Salesforce.com.

El tercero en la arena es Google. En este caso la amplia y eficiente estrategia hacia la web (en la que no profundizaré aquí por brevedad ;) se suma a la existencia de Google Documents, Google Spreadsheets y Google Apps. Por ahora estos servicios soportan los siguientes formatos:

Extensión Tipo MIME
CSV text/csv
TSV text/tab-separated-values
TAB text/tab-separated-values
HTML text/html
HTM text/html
DOC application/msword
ODS application/x-vnd.oasis.opendocument.spreadsheet
ODT application/vnd.oasis.opendocument.text
RTF application/rtf
SXW application/vnd.sun.xml.writer
TXT text/plain
XLS application/vnd.ms-excel
PPT application/vnd.ms-powerpoint
PPS application/vnd.ms-powerpoint

¿Se nota la variedad? Pues bien, todos los productos del gigante de Mountain View se benefician de otras tecnologías como Google Gears -que asegura el funcionamento offline de una aplicación web, y la sincronización posterior de los datos- y se destacan por su increíble e inédita capacidad de integración incluyendo mapas, video, gadgets, búsqueda, mensajería, visualización 3D, telefonía, gráficos, acceso a datos, dispositivos móbiles, cloud computing, publicidad, traducción, blogs, libros, calendario, redes sociales, reconocimiento de patrones, manejo de canales RSS, anuncios de venta, mini-aplicaciones para escritorios, hojas de cálculo, datos financieros, datos de salud, albums de fotos, filtros de navegación, mensajería instantánea y herramientas para web masters ... ¿todo esto todavía no es suficiente? Sepa Usted que no. Además cada uno de estos servicios es accesible a través de una API por lo que cada usuario le agrega valor al mismo cada vez que implementa sus propias aplicaciones y añade nuevas funcionalidades. La presión de la competencia se está sintiendo y por tanto el gigante de Mountain View promueve Google Apps Premier, destinado a profesionales.

De todas formas OpenOffice tiene una gran base de usuarios y no se puede descartar, al menos por el momento.

Bases de datos

Pues sí, ya todos conocemos la potencia de las soluciones de Oracle en el campo de SGBD relacionales, OLAP, ROLAP, y otras plataformas de acceso a datos. ¿Recuerdan cual era la combinación explosiva en el sector de las tecnologías libres? Si dijeron WAMP, LAMP o PHP con MySQL, están por ahí, muy cerca. No se asombre cuando sepa que el exitoso gestor de bases de datos ahora cae en manos de Oracle, cubriendo así un mayor mercado quedándose como líder absoluto e indiscutible en esta rama.

La trayectoria de MySQL con Sun no fue muy feliz. En menos de un año sus co-fundadores, Michael 'Monty' Widenius y David Axmark ya habían abandonado la compañía. Y en febrero de este año les seguía Marten Mickos, ex-CEO de MySQL AB. Aparentemente todos fueron víctimas de un recorte anterior de alrededor de 6000 empleos, cuando se fusionaron las unidades software infrastructure y database.

Opiniones

¿Qué es lo que han dicho los gurús y los grandes estrategas del sector? Comenzamos por Mark Shuttleworth, presidente de Canonical Ltd, la sociedad que desarrolla Ubuntu. Primeramente menciona que el 80% de las ganacias generadas por el mercado de software son para beneficio de cinco sociedades, siendo Sun una de ellas.

Estoy seguro que Oracle ha tomado en consideración sus estrategias y que no cambiarán de opinión respecto a la plataforma Java, la cual debería seguir siendo distibuida con código abierto. (...) Lo que es interesante en esta historia es que se refuerza la idea de que el software libre y open source sigue siendo sin dudas el motor del mercado en nuestros días.

Segun este distinguido personaje, presenciamos una victoria monumental para la comunidad del software libre al ver a Oracle convertirse en la mayor empresa de software de código abierto. Y yo me preguntaría ¿no sería también uno de los mayores vendedores de software privativo?

Seguimos con Steve Ballmer, presidente de Microsoft.

No tengo idea de por qué una compañía de software compraría otra de hardware

Para Stefen Ried, analista de Forrester Research:

La integración de Sun se hará escencialmente en torno a sus tres productos faro: el sistema operativo Solaris, la base de datos MySQL y el lenguaje de programación Java.

Andy Butler, de Gartner, piensa

(...) que existe la posibilidad de que Oracle se desentienda de una parte del catálogo de Sun

Acerca de la posible venta de la manufactura de hardware transferida a actores como Fujitsu o HP, Henry Peyret, analista de Forrester Research se aventura a decir que:

Oracle podría, eventualmente, tener un interés por conservar la tecnología de centros de datos empacados en forma de contenedores

Según Philippe Nieuwbourg (Decideo) se verá :

(...) sobre todo un énfasis en la integración de software y hardware. Oracle será, después de validar esta adquisición, constructor de servidores, desarrollador de sistemas operativos, bases de datos, software de gestión empresarial, aplicaciones de oficina y componentes open source ... una oferta a la cual solo le falta las PC o las notebooks.

Mathieu Poujol destaca que:

Oracle puede convertirse en un especialista en toda la cadena de valor, hasta las capas más fundamentales de la fabricación de infraestructura para cloud computing

Olivier Rafal de Le Monde Informatique no titubea al decir que de ahora en adelante

Oracle sobrepasa a IBM en términos de covertura tecnológica, pues Big Blue no propone herramientas ERP.

Las mayores preocupaciones otros las centran en el gestor de bases de datos MySQL.

Conclusiones

Acaba de sucumbir la empresa que en los años 90 fue todo un paradigma para la industria de la informática. Pero esta no es la única disyuntiva. ¿Cuál será el futuro de SAP? Después de anunciar pérdidas del órden del 16%, muchos especulan acerca de una posible venta de otro de los grandes y su desplome ante la presión de Oracle. De ser así, se avisora una nueva disputa entre IBM, HP y Microsoft para alcanzar esta nueva prenda ... si es que no están muy ocupados.

La ceguera del gigante IBM se repite una vez más al parecer infantilmente. No le bastó ya una vez con Microsoft, ahora se la han puesto en bandeja de oro a Oracle. Por tanto pierden increíblemente la oportunidad de afianzarse en el mercado de servidores y grandes ordenadores, ampliar la brecha con sus competidores, a la par de aumentar y profundizar su cartera de productos de una manera decisiva para tomar nuevos aires con un futuro promisorio. Todo esto se borró de un porrazo. Mientras Oracle viene de lograr un crecimiento de un 8% en la actividad de software durante el 2008, y ha simplificado a un actor de la competencia, ha logrado valerse de nuevas armas, y ahora más que nunca se encamina hacia la pugna por la hegemonía del sector de las nuevas tecnologías de la informática. Démosle la bienvenida al nuevo gran gigante.