Saas, software as a service, Software como servicio

Lenguajes de programación, frameworks y productos para hacer saas

Alguna vez he comentado que a partir de las estadísticas del blog se descubren muchas de las dudas que el público tiene sobre saas. Típicas son las preguntas sobre el significado del saas, sus ventajas y desventajas, diferencias entre ASP y saas y otra de las que más aparece es precisamente de lo que trata este post: tecnologías, herramientas, lenguajes de programación,etc, que se utilizan para hacer saas.
Para contestar a estas preguntas pensé que lo mejor sería preguntar a la empresas que estan vendiendo saas. Y así lo hice. Lance una encuesta a aquellas que han publicado sus soluciones en la sección «Saas de la semana», y el resultado ha sido el siguiente. Aunque la muestra de empresas no es muy grande (contestaron 25 empresas, por cierto, gracias a todas) , creo que es suficiente para entrever que es lo que más se está utilizando y porqué.
Lenguajes de programación

Una vez me dijo Francois Derbaix, el fundador de TopRural, que una startup debería apostar por PHP por precio  y una empresa asentada debería apostar Java por su robusted y seguridad. Y la verdad es que las razones de las empresas que han contestado la encuesta han ido más o menos por ahí.

Como se puede ver en el gráfico,  Java y PHP  son los lenguajes que más se utilizan, algo normal aunque quizás no me esperaba que estuviera tan equilibrado. Las razones comunes para utilizar Java es su potencia , robustez, la gran cantidad de frameworks  y experiencia del equipo de desarrollo.  Y en el caso de PHP son la velocidad en el desarrollo o lo que es lo mismo precio y por otro lado la gran cantidad de programadores. Para ambos lenguajes algunas de las empresas han hecho alusión a la posibilidad de desplegarlo en cualquier plataforma como caracteristica notable.

Me ha sorprendido el porcentaje de uso de Ruby y el entusiasmo de la empresas al explicar las razones de uso.  La sencillez y potencia del lenguaje, la velocidad en el desarrollo y la flexibilidad por ser intepretado (algo que comparte con PHP) son los motivos para su elección.

Falta un lenguaje que no he metido en el gráfico porque no tiene el mismo uso: javascript. Tengo que reconocer que las preguntas realizadas al hacer la encuesta no fueron muy acertadas y por eso solo han hecho referencia la mitad de la empresas pero estoy seguro que la totalidad de ellas lo utilizan para la interface de usuario.

En mi opinión, la elección del lenguaje de programación hay que hacerla con sumo cuidado porque puede ser determinante en el éxito del proyecto.  Factores como el número de usuarios que soportará, la proyección (futuro) del lenguaje, la documentación, la comunidad, el tiempo de desarrollo, los frameworks, la funcionalidad a cubrir procurando no tener que hacer arcos de iglesia por una mala elección del lenguaje, etc. deben ser tenidos en cuenta.

Frameworks

Aquí hay de todo y lógicamente muy dependiente a cada lenguaje de programación. Para java lo que más se utiliza es Struts y Spring , para PHP Symphony y para Ruby, Ruby on Rails. Esta es la lista de frameworks que están utilizando:

  • .NET (Windows)
  • Java
    Propios ( hasta 4 empresas prefieren desarrollar framework propios), Struts, Liferay,Spring,GWT (google Web Toolkit),hivemind,jfreecharts,Hibernate3,Apache Hadoop,Apache commons,Batik,JasperReports
  • PHP
    CodeIgniter,Symfony,Propios ( 3 empresas prefieren desarrollar framework propios)
  • Ruby
    Ruby on Rails,Sinatra,RailsMetal
  • JavaScripts
    JQuery,ExtJS

Arquitectura (Servidor Web, Servidor de aplicaciones y BBDD)

Los productos utilizados en las distintas capas de una típica arquitectura web son los que todo el mundo espera. El software libre gana por goleada a cualquier otro producto por la gran comunidad, la documentación y el coste 0 del producto.

Servidor Web

Apache es el más utilizado, y poco que decir porque el producto ya ha llegado hasta las empresas más conservadoras. Es el más documentado, es software libre y tiene una gran comunidad. Java, PHP y Python son lo que lo utilzan.

ISS es el segundo más utilizado para entornos .NET de Microsoft.

Servidor de Aplicaciones

Los lenguajes que hacen uso del servidor de aplicaciones son Java (Tomcat, JBoss, Jetty), .NET y Ruby por lo que los porcentajes que aparecen no es por el total de empresas.  De ellos el más utilizado es Tomcat, algo nada extraño y Passenger para Ruby.

En realidad .NET no tiene un servidor de aplicaciones como tal pero se considera que está embebido en el servidor web por eso lo destaco.

Servidor de BBDD

Tampoco hay grandes sorpresas aquí. El caracter libre de MySQL y PostGres hace que el porcentaje de uso de las suma de ambas este en el 87% . Estabilidad, precio, multiplataforma, gran comunidad y facilidad para encontrar administradores son los motivos de adopción de estás herramientas.

Oracle dice que mantendrá Mysql, de hecho ya han sacado versión,  pero empieza a haber cierta reticencia a la adopción de este producto en favor de PostGres.

Esto es todo. Espero que pueda ser útil y de nuevo quiero dar las gracias a todas las empresas que me han ayudado a hacer este pequeño estudio.

Entradas relacionadas: