Saturday, June 16, 2012

Linux, Cloud, Open Source, Virtualiztion, PaaS, Java, BigData, Mobile, and more in a single event: Red Hat Summit and JBoss World 2012

What is the only high-tech event in the industry that can concentrate, in a charming city like Boston, all the technologies and thought leaders that are driving software innovation today? The answer is Red Hat Summit and JBoss World 2012 on June 27th to 29th, let me prove why...

This is not just another software vendor event, in which you only see the vendor's product stack from the angle that they want, as its name implies, Summit 2012 is a multi-perspective open event, in which the open source communities, an ecosystem of Red Hat partners, and independent parties get together in aparticipative event hosted by Red Hat to talk and share experiences as they drive forward the next fronteer in information technology and software development.

Let me prove you through the 7 points below why you get the best of the software industry in a single event, and show you how Red Hat is powering many more critical areas than you may think in today's tech world:

Watch this cool Summit video by clicking here

1) Linux is by far the most important operating system today, is powering everything, from mobile, to tablets, to servers, to cloud. Red Hat is the #1 contributor to the Linux kernel, the #1
Enterprise-grade Linux, and the #1 commercial open source company ever.

2) The Java Virtual Machines (either coding with the Java Language, with JRuby, Ceylon, Scala, or others) are the most deployed technology in enterprise software space.
The products, services, and open source projects around JVM-based technologies represent the larger software ecosystem in the industry, and drive the most innovative projects in the open source space; and JBoss is the leading full JEE open source application server, the first one implementing EE6 full profile.

3) SOA, EDA, ESB, and BRMS are the way of doing middleware these days, and open source projects like SwitchYard, Drools, JBoss ESB, and commercial products in the JBoss Enterprise Middleware portfolio  represent the most influencing technologies in the this space.

4) Cloud Computing, despite being the queen of the tech buzz these days, it is effectively changing the way we thinking about software infrastructure, distribution, ownership, economics, and end user consumption. If you look closely, at Summit you have in a single place the thought leaders behind the most exciting and popular IaaS and PaaS technologies in the cloud space: OpenStack, OpenShift Origin, DeltaCloud, Katello, CloudForms, and manny others.

5) Virtualization exploded from being a single-vendor monopoly to an open source standard, KVM has emerged and it was immediately described byt the market analist and tech experts as the virtualization technology with the best long term strategy and most promising market potential. Red Hat is a strong contributor to the KVM open source community and a market disruptor with its commercial virtualization product: Red Hat Enterprise Virtualization.

6) Big Data is the new trend on structured storage, but you cannot enjoy the benefits of a NoSQL data store if you do not have a solid unstructured data infrastructure underneath. For these reason Red Hat is embracing together key complementary technologies like Gluster FS via Red Hat Enterprise Storage, Infinispan via JBoss Data Grid, Condor via Red Hat Enterprise MRG Grid, and MongoDB via OpenShift.

7) Mobile and Web, Do you think on JBoss when it comes to Mobile App Development? most likely you don't, but there is already a thriving community that is changing that, JBoss Developer Studio integrates with open source projects like JBoss Tools, AeroGear, Node.JS, and POH5 in OpenShift to deliver a developer experience that combines HTML5, CSS, JQuery, Mobile, Web, CDI, EE, Middleware, and Cloud.

Isn't exciting?!
Come to Boston on Jun 27th and attend to 7+ conferences in one by only joining us at Red Hat and JBoss World 2012

Check Richard Morrell's Blog for additional perspectives about Summit.


My sessions at Red Hat Summit 2012 and JBoss World 2012 Sessions on Thursday June 28th:

OpenShift: What's new and What's next in RedHat's PaaS
June 28th 10:40 AM EST

What's New in Java Frameworks for Web, Mobile, and Cloud
June 28th  1:20 PM EST

More about my roadmap session with Mike Hicks in OpenShift blog.


References:

The red rectangle in the Wikipedia article remarks the paragraph sating that Red Hat is the largest corporate contributor to the Linux kernel.



Related Blogs by Juan Noceda (follow on Twitter: @Juan_Noceda):

Node.JS and the OpenShift Roadmap - Audio Interview by Gordon Haff

Reasonable concerns about privacy and security in public clouds and its mitigation trends 

Tuesday, June 12, 2012

Monday, June 4, 2012

(Spanish) ¿Por qué Java EE sigue liderando en términos de innovación?

Me encanta Node.JS, Ruby me parece excelente, Ceylon promete mucho, Scala está viviendo un gran momento, Zend Server es un gran paso adelante para PHP, Play! 2 está madurando muy bien (Inclusive dentro de PaaS) y como ellos muchos otros lenguajes, frameworks y plataformas están generando un admirable nivel de innovación en el campo de la informática, en especial en el ámbito del software empresarial.

Muchas de estas tecnologías ya tienen varios años de madurez pero son relativamente jóvenes comparadas con el punto de inicio de Java, que ya data de mucho más de una década. Paradogicamente, muchas de estas tecnologías están basadas en Java.
Para una tecnología nueva es muy fácil evolucionar rápido, en cierta forma está todo por hacer, pero es realmente remarcable alcanzar ese mísmo nivel de avance con tecnologías ya establecidas como Java, o en particualr Java Enterprise Edition (JEE) la cuál goza de un liderazgo indiscutido en el ámbito empresarial en lo que vá del milenio.

Si ponemos atención, veremos que Java tiene un rol central en una gran parte de los proyectos más innovativos en términos de software empresarial, móvil, big data, NoSQL y cloud. Y mejor aún, la mayoría son open source:

Vert.X
Una alternativa políglota a Node.JS corriendo en la Java Virtual Machine (JVM)

TorqueBox
Ruby corriendo sobe la JVM y usufructuando servicios empresariales de JBoss

Spring
El framework de Java que rompió los esquemas tradicionales de JEE promoviendo una arquitectura de capas clara, Dependency Injection, AOP y uso de Design Patterns.

Hibernate ORM
El framework más popular en la comunidad Java para persistir y leer Objetos en una Base de Datos Relacional sin escribir SQL.

CDI
Posiblemente el framework más moderno y sofisticado para Java, la próxima frontera de innovación por encima de Spring.

Play!
Una nueva plataforma empresarial para Java pensada desde cero para ser liviana y competitiva con JEE

Infinispan
Una interesante conjugacion de Distributed Cache y NoSQL que escala horizontalmente para dar forma a una auténtica Data Grid.

XNIO
Non-blocking I/O.

AeroGear
Fusion de HTML5, JQuery, JS y Java (POH5) que promueve un patron de arquitectura de aplicaciones móviles respaldadas por un backend empresarial.

Al detenemos un segundo y observar cuales son los proyectos de open source mas importantes de la industria (que es donde se concentra la mayor cantidad de innovación), una gran parte de ellos gravitan alrededor de tecnologías Java. Mi teoría es que Java es frecuentemente elegido por los desarrolladores de soluciones y frameworks por ser un lenguaje de aplicación general muy versátil y con un campo de acción muy amplio, es sumamente poderoso en relación a lo relativamente fácil que es de aprender, es abierto, extensible y para ser un lenguaje de alto nivel brinda un gran capacidad de control fino.

En cierta forma también su vigencia en popularidad está avalada por una buena reputación que goza de más de una década de liderazgo en numerosas áreas del desarrollo de software, que recorre desde Application Servers, a aplicaciones comerciales para PCs, pasando por plataformas móviles como el SDK de Android (aunque sea un derivado de Java), hasta juegos y software the control de dispositivos (o "embedded software").
 
Creo que su diseño original, pensado desde cero para objetos, y su estructura modular y jerárquica de clases y librerías, dieron origen a una base sólida para que el lenguaje creciera de manera orgánica pero manteniendo la simplicidad y la elegancia. Hoy en día hat otros lenguajes alternativos a Java que fueron creados más recientemente con tendencias más "modernas", aún así nuevo software empresarial, nuevos proyectos de código abierto y nuevos frameworks son comenzados cada día en Java, probando así, que por los puntos antes descriptos, el vapor sigue humeando bastante caliente sobre iconico logo de la taza de café.

Por último, otra gran razón de su vigencia en la cresta de la ola innovativa, es el ecosistema de empresas comerciales y proyectos de código abierto que se generaron alrededor de Java, que de alguna forma trascendió sobre la compañía que le dio origen, pasando a ser casi más propiedad de la comunidad que de un sólo proveedor de software, dicho sea de paso, una comunidad que atrae y genera la mayor cantidad de líderes en el ambiente tecnológico.

Durante mi visita al última visita a JavaOne, tuve el privilegio de intercambiar perspectivas en persona con muchos de esos líderes de las comunidades de código abierto (comunidades asociadas a los projectos open-source listados más arriba), fue un evento único, con una gran muestra de lo que es la vanguardia en Java, una experiencia que quiero repetir en JavaOne 2012.

Pero por ahora los grandes eventos Java que se vienen este mes (Junio 2012) son JBoss World - Red Hat Summit y JUDCon, en le primero de ellos tengo el privilegio de conducir una presentación sobre mi producto: OpenShift PaaS, en el contexto de Java EE y JBoss y como así también moderar un panel sobre Java frameworks (Enterprise, Mobile, and Cloud) con reconocidos miembros de la comunidad Java.

Se que este 2012 mucha gente alrededor del mundo está viniendo a Boston para ser parte de esta excitante semana del 25 de Junio, en la cual tendré la suerte de reunirme con varios amigos de España y América Latina. Si quieren tener un mini adelanto en español de los temas que trataremos pueden escuchar la parte 1 de esta entrevista que nos hicieron en JavaHispano.


Saturday, June 2, 2012

JavaScript is back! (Again) ...Again? This time: Node.JS

No! this is not 1999!
No, you are not living in the times in which Netscape lost its browser kingdom to Microsoft and developers discovered the magic of client-side web programming thanks to Brendan Erich's creation: an ECMA script dialect called JavaScript.

Netscape is no longer around trying to convince us that iPlanet is THE web server, and JavaScript is THE web application server-side language to rule the WWW.
No more Microsoft telling us that VBScript is the way to go for ASP, but just in case you didn't not like it they also offeredd JScript.

There is no more pushing by IBM promoting Lotus Domino (Today positioned as"enterprise social" platform) as a web programming environment, suggesting an "efficient?" programming language salad that used to mix: formul@ language, Java, JavaScript, a pseudo VB and VBScript as the ideal solution to code for the desktop, the documents, the intranet, the internet, and everything else that may come up in front of you.

No! neither we are in 1998, in the middle of the explosion of Microsoft Explorer 4.0, DHTML, Flash 4, and Java Applets integrated with the browser's DOM via JavaScript; or full Flash coding with ActionScript 2.

So, if we are not at the end of the 90s, and if the pros and cons of JavaScript as programming language were well stated and debated through 2,472,743 blogs, 783 books, and 63,887,981 forum threads around the world for more than a decade, then, Why is JavaScript hot again?!

Actually, JavaScript has never gone away, totally the opposite, it was powering the web (and many other things) for more than a decade and there are no signs for that to decline any time soon.
In fact, many surveys suggest that JavaScript is at the top 5 in the list of most popular programming languages around the world these days; it is easy to figure out why: Is not he most elegant and expressive language, but it is compact, it is easy, it is flexible, it is fairly coherent, and more importantly, it was highly popularized thanks to the exponential growth of the web.

But even if JavasScript was always there and growing, two or three years ago it wasn't necessary cutting-edge to say that you were doing a project in JavaScript. This powerful language for mere mortals used to be associated to the late 90s Dot Com bubble, so it was kind of old school in the late 00s and early 10s.

Despite of being extremely handy, JavaScript always had the karma of being a -scripting- language, preventing it from enjoying the prestige and respect of the strong-typed and compiled languages. Like if being interpreted or compiled was what draws the line between second and first class languages! As side note, Ruby and other languages brought a positive spin to this prejudice with a fresh wave of new "dynamic languages", helping to change the perception about interpreted languages, but that is a discussion for another post.

But here we are, in 2012, and surprisingly, if you are in the middle of a conversation among geeks and you crack a comment saying that you are working in a cool cutting-edge project in JavaScrip then now you are cool again! Why? well, this time the JavaScript wave came back to the shore with a surfer on top of it, who has a cool t-shirt reading: Node.JS.

Unless you were isolated from the high-tech buzz for the last 3+ years you may know that Node.JS is enjoying an impressive momentum. And why is that? Popularity does not grow from the trees, it must be a reason for Node.JS' hype. Yes, there are several reasons...

Node.JS brings a refreshing perspective to the world of "serving stuff in a network", its creators, were frustrated with the scaling, resource consumption, and performance challenges of traditional web servers; which are essentially an evolution of the file server.

Most web servers were originally conceived to deliver files over a network (the Internet), their inherit request/response paradigm was designed focusing each thread on serving (transferring) a file until the transaction is complete and just then switch to "available mode" to take the next request. Even if most of the web servers do this cycle in multiple parallel threads of execution, each of them takes ownership of a nice amount of resources in the server while the transaction lasts.

So, Node.JS original creator, Ryan Dahl, conceived a platform optimized to execute code (instead of serving a file) as a response to a network request, the result was a framework that allows us to accept network requests in a non-blocking fashion in each server thread (Node.JS is not the only platform with non-blocking I/O). In other words, a process can have a listener that can take a request then put a routine to work on that request without waiting for it to finish as it switches back to listen mode regardless if the processing of the previous request finished or not.

To materialize the just described non-blocking I/O paradigm, the creators of Node needed to empower the developer in this model with a programming language according to this kind of fire-and-forget pattern. For diverse technical and popularity reasons they have chosen JavaScript (via Google's V8).

Instead of being "the killer app", JavaScript played the role of "the killer lang" in Node's initiative, JavaScript has brought programming component to the Node promise, acting as a catalytic for this idea having a non-blocking web server that is light, fast and easy to code.

Node.JS creators recognize that JavaScript has been chosen not only for being a good technical fit, but also for its degree of popularity; which was expected to help in the adoption of Node, and boy! it did.

Node.JS is not a multi-purpose platform/framework, though. It was designed to do -not everything- but a few things well, like processing tons of short asynchronous network request and deliver small responses as fast as possible.

Because of that, Node earned a nice popularity in the implementation of mash-ups, social, network gaming, and mobile apps; which in their majority match with the previously described "many short network interactions" model. These type of applications are also known as "Systems of Engagement" (in opposite to traditional Systems of Records such as ERPs, CRMs, and others).

To wrap up this post up, here is my advice: Node.JS is great, take advantage of it, enjoy it, but do not use it to recreate models that Node is escaping from.
Like in every other new beginning of an emerging technology, several additional tools and frameworks may take that technology in many different directions, not always in happy ones.
Node is suffering this issue now, ironically you will find that there are already frameworks out there on top of Node that are trying to use it as file server or as a traditional dynamic web server, resembling the type of models that Node was born to improve, not to emulate.

Let's learn from the industry's past mistakes, the last decade is full of examples of bad JavaScript uses that led to millions and millions of spaghetti mark-up and scripting, let's make sure that this time we do it right with Node. Remember that good design patterns for modular, reusable, and maintainable systems are still valid, even in this new paradigm. You can try node for free on the cloud today with OpenShift, Red Hat's Platform-as-a-Service (PaaS)

JavaScript is not back, it is not back simply because it was never gone, now new programming paradigms are testing its resiliency to the pass of time and its adaptability to new technology trends; its proven success on passing these challenges is validating once again how simple, versatile, and powerful the language is.

Related Resources: Podcast interview to Juan Noceda by Gordon Haff introducing Node.JS in OpenShift.

Stay up to date on this and related topics by following me on twitter: @Juan_Noceda