sábado, 28 de noviembre de 2015

JavaOne 2015 - A sus 20 años -

En mi asistencia a Oracle Open World decidí incluir también al JavaOne.
Primero, era interesante volver a las acostumbradas platicas y segundo por que a los 20 años de cumpleaños de Java era atractivo ver como estaba la comunidad.


Arrancando el lunes y a diferencia del evento hermano, solo asignaron 2 hoteles. Un evento que llegó en el año 2000 a llenar los dos Moscone y con una comunidad internacional, ahora estaba reducido a una exposición con una sala menor a cualquiera del Oracle Open World y no mas de 20 salones de pláticas.

Mi primera pregunta, donde está la comunidad Java!!

Note que parte de esa comunidad estaba ya en el otro evento, y quizá ya no tanto como desarrolladores sino contro rol. De igual manera, aunque gran parte de la plataforma que se tenía en Oracle Open World al final se ejecuta sobre JVM pero ya es otro el giro.

Donde quedo la emoción de cuando se anunciaban mas APIs. Recuerdo en 1999 cuando llenamos la sala y oimos sobre EJB 1.1 o JMS 1.0 o JINI y probabamos de manera inmediata la tecnología.

Viejos tiempos dije y de ahi me di cuenta de otro hecho, la comunidad ya no es joven, ya no eramos esos programadores entre 20 y 30 años. Poca sangre joven note.  Y donde están esos programadores Java, se supone que hay bastante comunidad.

La respuesta está en una comunidad que por rollos legales y comerciales, para ORACLE es más innombrable que Voldermot

Si, Android, y muchos lectores me van a matar, pero si Java se sigue aprendiendo es por que la anti tesis de ORACLE le ha renovado vida.  
En el evento de JavaOne 2015 cero mención a Android. ORACLE aún sigue hablando de Java Micro Edition pero pues creo que nadie me discute que el tiempo ya dio su respuesta sobre lo que resulto con la idea de dispositivos moviles habilitados con Java. No fue ORACLE el ganador...

Que hay de Java 8? Bueno, ya saben, el intento de incorporar algunos elementos de progamación funcional al lenguaje, las tan citadas Lambda. Este ejemplo era muy tipico de ver ...


Si fuera el único mundo de programación Java quizá muchos dirian, que bien, pero esto ya tienen bastante tiempo con lenguajes como Ruby y como siempre he criticado en Java, siempre se ha temido dar ciudadania a expresiones que requiere el lenguaje. Expresiones regulares resulta demasiado complejo frente a lenguajes que si le dieron esa capacidad de ser ciudadanos de primer mundo en la sintáxis tales como Perl, Python, Ruby. Ahora pasa lo mismo con las lambdas. 

Después de 20 años, por fin se admite que el manejo de las rutas de clases o CLASSPATH necesita ser organizado. Era una crítica que hacian los detractores de la platforma. JDK 1.8 nos ofrece una herramienta llamada jdeps para amaestrar el mundo de los cientos de JAR y no vivir la pesadilla de ClassNotFoundException o peores. 

JavaFX, prefiero mejor no hacer comentarios en un mundo donde HTML5 ya resolvió muchos problemas de Interfaz de usuario.

JavaScript es soportado con el motor de ORACLE llamado Nashorn , no es impresionante si ya se conocia Mozilla Rhino. Pero espero que esto permita ver hacia un posible enfoque políglota del ambiente.

¿Que hay de JEE 7? Bueno,  está llegando un poco tarde a una película que ya lleva un tiempo avanzando. Mientras otras plataformas de programación están en busca de ambientes ligeros (ejemplo Sinatra con Ruby o Flask con Python) nuestro viejo conocido framework aun se niega a seguir dieta.  
Si, ya se tiene inyección de la dependencia, JPA ya converge con Hibernate. Aún siguen las discusiones para que usar Spring si ya JEE 7 cubre todo.  Ya se habla de generar microservicios (aunque aun falta mucho por entender de este estilo ). Pero aquí es donde empezaron mis dudas sobre Java hace años, la sobre especificación y la verdad atado a modelos de hace ya una decada que han demostrado no ser tan efectivos. No quiero un Node.js o Ruby ligero, pero creo que la comunidad de desarrollo ya sabe lo que implica programar aplicaciones en el backend y Java EE 7 aún necesita hacer algo para simplificar el tema.

JSF aún sigue seriamente considerado en la ruta de tecnología de JEE y veo de la comunidad ortodoxa aún el alejamiento hacia Javascript.  No quiero ser pesimista pero JSF temo que sufrirá el destino que Java FX a menos que se replantee. O qué sensación tienen al ver este diagrama de JSF 2.0 para entenderlo a fondo.



Nube, nube por doquier pero ... Les comparto esta presentación  y ésta del evento y ustedes juzgen sobre el tema. 
Su servidor no encontró respuestas sobre cual es la manera de diseñar aplicaciones Java para la nube y tenemos que agregar un poco la manera como ORACLE está enfocado el tema de nube y muchas veces no queda clara su estrategia en términos de PaaS  

Hubo temas donde se toco Scala como lenguaje funcional.

Una plática muy interesante desde la perspectiva de ingeniería donde se hizo una consola de juegos de los años 90 usando Raspberry Pi, impresion 3D y mucha electrónica y superando muchos obstaculos.  Estuvo Stephen Chin, quien es ORACLE Java Community Manager.

Internet of Things estuvo presente, pero aún me pregunto por que no han desenterrado el último regalo de ingeniería que nos dejo Biil Joy, JXTA.

El cierre del Vava one fue entretenido. Salvo que al inicio y mas con la cultura de EUA, nos cerrraron las puertas a los que llegamos un par de minutos tarde por falta de espacio.  Ya que pudimos pasar y con una cervez en mano por su error, pude ver un show preparado por la comunidad Java, la guio Stephen Chin, recorriendo en el tiempo estos 20 años con un Tardis tipo Dr. Who y con la aparición de James Gosgling y recuperando la tradición de aventar las playeras. Algunas bromas donde veo como la comunidad aun cree en ciertos principios como verdad única (JSF, JEE, un solo lenguaje, sintáxis cada vez complicada) 

Les comparto el video del Keynote del cierre. Aun me pregunto por que Brasil se nos adelanto como comunidad Java ... Creo que no nos enfocamos a unir la comunidad mexicana, que vaya que si sabemos del lenguaje pero cada uno en nuestro mundo. Se habló de Java para 2035 (y me quede pensando si yo estaría ahí a mis 63 años o si realmenta existiría un Java One 2035)  y ya saben, los niños, el futuro. Pense, quiero que las nuevas generaciones aprendan Java? 

En resumen, JavaOne 2015 fue una experiencia muy interesante, y más que fui en otra óptica, ya no quiero programar todo en Java y se que ese no es el camino. Extrañe a la comunidad joven (ahora en el mundo del desarrollo móvil o aplicaciones Web con Jscript) y también tuve nostalgia por aquellos tiempos donde el mercado Java daba para cientos de empresas que te mostraban tecnología.

Así que no es lo mismo los tres mosqueteros que 20 años después.  

Deseo que el lenguaje continue pero necesita evolucionar ya, necesita morir y renacer, como el ave fénix. A esto escribire otro articulo que se me ocurrió en el mismo evento.



viernes, 27 de noviembre de 2015

Oracle Open World 2015

Hace un mes fue el evento de ORACLE Open World 2015 en la ciudad de San Francisco.

Para su servidor me dio la oportunidad de volver a visitar la bella ciudad de San Francisco despues de 11 años.

El domingo 25 empezó la acción en la tarde. ORACLE lleno todos los Moscone ( digase tres) mas cuatro hoteles. La cantidad de gente que se estaba inscribiendo y tomando su tipica mochila eran varios miles y de varias naciones.

ORACLE cerro la calle - Howard Street - para poner una explanda para que se pudieran ver los keynotes y tomar descanso, alimentos. 

Asi se vió la calle por 5 días


La estrategia de ORACLE fue tratar de mostrar a los asistentes que son una plataforma solida en temas de nube. Aquí empezo mi primer cuestionamiento al señor ORAC Larry Ellison donde en 2008 tuvo una ausencia de visión diciendo que era un término de moda y ahora en 2015 se esfuerza por vender la idea de que su empresa es la única que tiene una visión adecuada en términos de nube . La verdad al oir su platica (que por cierto la volvió a repetir igualita el miercoles de esa semana) sentí la sensación de oir conceptos ya usados por otros grandes en términos de computo en la nube, pero Mr. LE los vendia como si aparecieran la primera vez. La verdad su platica fue mas de mercadotecnia y no ofrecio ninguna óptica novedosa sobre el tema de Cloud Computing. 

De hecho basta con ver el sitio de la nube de ORACLE y ver que su catalogo de servicios apunta mas a SaaS y PaaS. IaaS es puesto en tres servicios. Pero lo que noto es que no hay una estrategia de integración de los servicios como lo hace AWS o Azure. Son servicios ofrecidos para que tome instancias y ya.  Me arriesgo con todos estos comentarios a perder a todos los fans de la empresa roja, pero si se ve que aún les falta por trabajar en una verdadera visión de nube.

En cuanto las platicas, hubo de todo, y era imposible abarcar todas, ya que iban desde las mas especializadas para sectores verticales (manufactura, retail, CRM, ERP, energía, finanzas), middleware, base de datos, hardware y nube.  Algunas si eran de contenido técnico adecuado y otras era para mostrar mas la solución. 

Me dio algo de gusto ver que muchos ingenieros de SUN y BEA siguen trabajando y de hecho son los más simpáticos , sencillos y claros de entender. 

En el estánd destinado a la tecnología de cómputo convergente estaban los equipos ExaData, ExaLogic, Exalytics entre otras. Llamó mucha la atención el SPARC M7 (si SPARC sigue vivo) con capacidades de hardware para base de datos  (mi profesor Jaime Porras de sistemas operativos y base de datos tuvo razón, el hardware va acabar sustituyendo a muchas funciones del sistema operativo y los DBMS) y la verdad es impresionante el grado de ingeniería aplicado.  Todos los ingenieros amablemente explicaban su tecnología y con paciencia resolvian dudas, como en los viejos tiempos de SUN Microsystems.

En el salón de exposición más grande, ORACLE puso una serie de demostraciones de la tecnología. En el mundo del RDBMS sigue la oferta de su tecnología de ORACLE 12c pero también está ya tomando una importancia preoponderante el mundo NoSQL. De todo tipo de modelos de base de datos - grafos, jerarárquica, espacial, columnar, en memoria, Hadoop, Spark, redes semánticas, llave valor, documental - y con verdaderos modelos de base de datos distribuidas (adios al ACID bienvenido el teorema CAP?).  

Adios al XML como estándar de intercambio de datos, JSON está predominando como un modelo simple y ligero.

Mi predicción es que al gigante rojo le falta muy poco para ofrecer de una manera integra el manejo de base de datos y su siguiente versión de maneajador de base de datos va a ofrecer soporte al mundo relacional y NoSQL

Big Data? BuzzWord? Hablar de procesamiento de TeraBytes en cuestión de segundos ya no es digno de caravanas mostrando respeto. Ya es una realidad que se necesiten capacidades computo y almacenamiento en el orden de PetaBytes y modelos nuevos de procesamiento aparecen, ya no solo el MapReduce de Hadoop, sino Spark quien ayuda a realizar este tipo de proezas.  

Ojo, para procesamiento estadístico de datos, el lenguaje R está siendo adoptado también por ORACLE y lo ofrece ya como parte de su pila tecnológica (agradezco que por fin se acabe la era de oscuridad generada por SPSS y SAS )

Datawarehouse ?? Si sigue sonando, yo creo cada vez se puede cuestionar el modelo propuesto por Inmon o Kimball donde estaba la seperación entre el mundo transaccional y el analítico. Pero ahora con esquemas flexibles, procesamiento más barato, diversos algortimos de manejo de datos, quizá hablar de un ETL resulte ya algo rancio.

WebLogic, al igual que Java, pues sigue el destino cruel de solo estar soportando lo de siempre pero no les puedo decir si hay algo impresionante. Creo que la nube va acabar matando a los servidores de aplicaciones y ahora los conviere en arquitecturas monolíticas (o no, lo que antes presumiamos como modular ahora es monolítico!!)

Por ahí me encontre todavía en un estánd una demostración de Tuxedo 12c, la navaja suiza del mundo cliente servidor y que insisto entendamos y respetemos por todo lo que dio de tecnologìa y que se sigue viendo en acción.

Solaris, aun existe pero no empiecen con ideas macabras de llevarlo al mundo x86

El mundo SaaS es impresionante la gama de soluciones que existen.  Larry casi casi dice que el no ve a SAP en la nube. 

Me percato de algo, en un par de años la necesidad de un DBA o especialista de middleware o Sysadmin de sistema operativo se va a ver reducida. Asi que a muchos colegas les aconsejo que vayan pensando mas en términos de soluciones de negocio, de entender más las necesidades de la industria vertical. La nube va a provocar que la infraestructura de software o middleware se vuelva un commodity. 

El trabajo estará en apoyara a los negocios a explotar los componentes tipo SaaS o para cuestiones especificas usar PaaS.

¿ Que hay de SOA o de BPM? Palabras tan usadas en eventos anteriores ahora ya no son recordadas por las áreas de ventas. SOA es una realidad ya, no tanto como fue concebido hace 10 años, pero ahora la plataforma PaaS y SaaS están llevando dicha visión a la realidad, pero un SOA implantado por los fabricantes de software mas que por las compañías mismas. Si alguien sigue estancado con la idea sobre SOA, reacccionen y agilicen el tema, ahi está ya en acción (registro UDDI ?? Para que?)

La lección de ORACLE Open World 2015 es que si es importante tomar en serio el tema de nube, si algunos quieren creer que son lideres pues adelante o quizá los mas escépticos como yo, analicen como están las piezas del juego. Mi opinion es que seamos multi lenguajes, multi nubes y los tecnológos empecemos más a entender el mundo de las soluciones verticales, la plataforma SaaS está a la distancia de un click al fin y acabo

Y Java ... esa es otra historia y si, tengo mas por escribir al respecto

p.d. El evento de cierre de ORACLE Open World fue agradable, no soy fan de Elton John pero si lo hicieron en grande