¿Existe un beneficio clave de programar una solución Enterprise SaaS en Java en lugar de decir RoR o Python o PHP? ¿Qué proveedores de SaaS usan Java?

Existen ventajas técnicas para construir aplicaciones SaaS con Java. Sin embargo, también hay costos; Yo postularía que construir el sistema inicialmente tendrá un costo más alto en Java, pero para cuando un sistema considerable esté parcialmente completo, el costo de entrada más alto de Java habrá pagado más de sí mismo. (Como referencia, estoy pensando en costos y beneficios que he visto de primera mano en productos para los que administro el desarrollo, algunos integrados en Java y otros en Python). Para sistemas más pequeños, no creo que las ventajas de Java sean tal como se pronuncia, y para los sistemas más simples, es probable que Java sea exagerado.

El ejemplo de SaaS integrado en Java incluye la mayoría de las ofertas de SaaS de Oracle, CRM y Cloud Computing para hacer crecer su negocio: Salesforce.com y muchos otros.

FWIW: a menudo, la mejor opción de idioma, etc. es la que una empresa ya conoce y con la que se siente cómoda. La habilidad y los procesos bien perfeccionados a menudo superan las ventajas técnicas menores como las que se ven entre los idiomas.

En aras de la divulgación completa, trabajo en Oracle. Las opiniones y opiniones expresadas en esta publicación son mías y no reflejan necesariamente las opiniones u opiniones de mi empleador.

Escogería un idioma con el que usted y sus colegas estén familiarizados; de lo contrario, mejorar las habilidades requiere tiempo y dinero.

Piense en las bibliotecas y sus proveedores: si necesita acceso de bajo nivel al hardware, esto puede ser más fácil en Java que en los otros idiomas que mencionó. Si necesita admitir hardware de proveedor específico, API u otra funcionalidad, debe buscar si tienen bibliotecas disponibles para el idioma seleccionado. Esto te hará la vida más fácil.

Piense en su público objetivo: si está creando una solución SaaS que será utilizada por los desarrolladores web, por ejemplo, me atrevería a adivinar que usan un lenguaje de script como Python, Ruby o PHP. Si desea que se unan a su proyecto, hagan uso de su plataforma o contribuyan en forma ascendente, debe considerar que es el más popular entre ellos.
Si se dirige a desarrolladores web, ¿qué tan popular es JSP hoy en día?

Openstack está escrito principalmente en Python pero tiene componentes en otros idiomas (de terceros o de otro tipo). Supongo que se podría decir que el público objetivo principal son las operaciones de desarrollo (aunque tiene una amplia base de usuarios), por lo que Python tiene sentido.

Cloud Foundary se escribe principalmente en Ruby y GO. Cloud-stack está escrito principalmente en Java. La elección del idioma realmente varía para las plataformas en la nube.

Hubo algunas cifras que surgieron de la cumbre OpenStack en París en torno a diferentes plataformas en la nube y las cifras detrás de esas plataformas, en términos de compromisos, qué tan grandes eran los equipos de desarrollo centrales, etc. Openstack tiene la mayor base de usuarios, y todos los demás Las plataformas parecen estar secándose, al menos para IaaS. Puedo desenterrar la presentación y las cifras si las necesita.

Piense en su solución en su conjunto: si desea vender su solución, deberá escalarla. Piense en los otros componentes de software con los que su servidor necesitará integrarse, las bases de datos y los sistemas operativos y qué tan bien los admite el idioma elegido. Idealmente, querrá ser agnóstico de hardware y software. Puede estar limitado por políticas de seguridad internas (que restringen cierto software, como el tiempo de ejecución de Java) o el sistema operativo que usa su empresa (puede tener una suscripción de soporte para RHEL y no Ubuntu, por ejemplo).

La otra cosa a considerar es la licencia: sé que Oracle ha picado a Google por su uso de Java en Android, a menos que trabaje para Oracle, esto puede ser un problema. Esta es la razón principal por la que he dejado de usar Java, a menos que sea específicamente para Android.

De hecho, uso todos los idiomas que mencionaste (y más) dentro y fuera del trabajo. Como otros han mencionado, la comunidad de inicio ahora está más enfocada hacia RoR y Python / Django. Si tuviera que hacer esto, lo más probable es que use Python.

Respuesta corta:
Java no está diseñado para SaaS (software como servicio); deshazte de él y aprende algo moderno. Sugiero Python. RoR también es una buena opción, pero no es tan completo.

Respuesta larga:
Si está buscando una aplicación SaaS, solo imagine cómo se vería su producto y descubra la mejor tecnología para implementarlo.

Java es un lenguaje de “pila completa” adecuado para esas “aplicaciones empresariales”, más seguro, estable y confiable. Pero los frameworks Java y Java, digamos, Spring, realmente no están diseñados para SaaS.

1- ¿Funcionará en un navegador?
En caso afirmativo, admitiría automáticamente el acceso agnóstico de la plataforma a objetivos como Windows, Mac, Linux, Mobile – Android, iOS.

Si no, su aplicación SaaS está en una situación muy incorrecta para comenzar.

Si usa Java, funcionará como un applet. lo cual es francamente feo y no será compatible con múltiples plataformas.

2- ¿Cómo quieres escalarlo?
Decenas de usuarios frente a 100 frente a millones. Los modelos de negocio SaaS generalmente están diseñados para escala

Java no escala bien, no está diseñado para aplicaciones de escala de Internet. Supongo que cuando se trata de velocidad, el combo RoR + Nginx es extremadamente difícil de superar.

Para las aplicaciones web, es importante poder escalar agregando procesadores a medida que crece la base de usuarios y aumenta el procesamiento. Para las aplicaciones Java, este proceso puede ser potencialmente más complicado que simplemente comprar e instalar 20 nuevos procesadores. Después de un límite muy pequeño (7-8 CPU), el rendimiento de la aplicación Java que depende de una sola JVM comienza a empeorar con cada CPU agregada.

3- ¿Cuánto tiempo / dinero tienes para desarrollarlo ?
¿Días, semanas, meses, años?

Java aumentará fácilmente su tiempo de desarrollo en una magnitud de 10. Si lleva 7 días desarrollar una aplicación en Django o Flask, la misma aplicación tardará 70 días si la desarrolla en Java desde cero.

4- ¿Qué tan compleja es tu aplicación?
¿Necesita tener un control de bajo nivel sobre la aplicación? Desarrollando cada componente, botón, ventana desde cero. O puede salirse con la suya simplemente teniendo control sobre la lógica de negocios y usar un marco de interfaz probado y probado.

Java gana un poco aquí, porque su base de código grande y establecida le permitiría hacer cosas que estos lenguajes / marcos modernos no harán.

El software empresarial está por encima de la curva de Bell. Las empresas están siendo impulsadas por los dispositivos móviles y la nube y la idea de imponer software en toda una empresa, administrada desde un punto central, está desapareciendo rápidamente.

SaaS también ha seguido adelante. Las aplicaciones ahora simplemente se interconectan, independientemente del idioma en el que estén escritas. Una aplicación se puede personalizar mediante complementos y ofrece una experiencia perfecta incluso si la versión de iOS está en un programa, Android en otro y el escritorio en un tercero. Muchas de estas aplicaciones son gratuitas o casi gratuitas: los días de £ 10 por cabeza de nivel de entrada, pero £ 80 / cabeza para la versión premium han quedado atrás.

El portal web de escritorio ha dado paso al acceso móvil a través de Wi-Fi y la página estática que consta principalmente de palabras ha cedido al menú de estilo de Pinterest, la presentación de diapositivas y el video. La comunicación es más ágil: ¡las cosas se mueven!

Por último, pero no menos importante, hay un movimiento hacia el código abierto siempre que sea posible. La versión de código abierto ya no es la relación pobre cortada y anticuada, ahora es la que tiene una rápida actualización y una gran comunidad.

Esto ha dejado a Java luciendo bastante viejo. Ahora propiedad de Oracle, ha sufrido años de abandono. Los nuevos sabores han hecho poco para abordar esto, ya que están diseñados con una vasta base de clientes de usuarios heredados en mente. El código de Java requiere descargas y actualizaciones periódicas, lo que es una molestia para muchos usuarios. Las aplicaciones Java Enterprise son voluminosas, menos portátiles para otros dispositivos y menos ágiles que las aplicaciones simples programadas en Python o uno de los sabores de javascript. También son más difíciles de soportar.

Y el beneficio clave, que son compatibles con otras aplicaciones empresariales escritas en Java, ya casi no importa.

More Interesting

Para los productos SaaS / Cloud, ¿cuándo es mejor usar el modelo de entrega freemium versus trial?

¿SaaS con ciertos elementos virales, mejor lanzamiento como freemium o una prueba gratuita?

¿Cuáles son los mayores desafíos para pasar de vender software empresarial en las instalaciones a vender SaaS empresarial?

¿Qué es exactamente la orientación contextual (en aplicaciones web)?

Estoy creando una aplicación SaaS en Flask Python, ¿alguien conoce la mejor manera de permitir que los clientes agreguen un dominio personalizado?

¿Cuánto tiempo puede salirse con la suya usando una plantilla de interfaz de usuario para un producto SaaS?

¿Existe algún dato o investigación que demuestre que * los propietarios de pequeñas empresas * típicos * prefieren una experiencia de usuario hermosa (es decir, Square o Gmail) sobre una experiencia promedio (es decir, SalesForce o Quickbooks)?

¿Cuál es la mejor plataforma de incorporación de tutorial para SaaS?

¿Cuáles son los ingresos promedio (MRR o ARR) para las compañías SaaS en el momento de la Serie A?

¿Por qué algunos proveedores de SaaS ocultan planes gratuitos?

¿Cuáles son las mejores soluciones SaaS para crear y administrar bases de conocimiento para clientes empresariales?

¿Cuáles son las áreas de mayor oportunidad para las nuevas empresas SaaS en los próximos 2-3 años?

¿Quiénes son los principales expertos mundiales en marketing de contenidos para empresas SaaS?

¿Cuáles son los buenos productos de 'intranet como servicio'?

¿Cómo gana dinero el software de gestión de eventos (SaaS) en India?