Creo que tomaría un tiempo estimar el costo en horas de construir un servidor de aplicaciones Java completo (compatible con “Java EE 7”). Sin embargo, es mucho más razonable estimar el costo de construir la parte del contenedor web de ese, similar a Tomcat.
Te voy a dar dos respuestas diferentes. Uno está utilizando cualquier cantidad de bibliotecas de código abierto que ya existan para cubrir varias partes de las API y la funcionalidad necesarias en ese contenedor web. El segundo es construir todo desde cero, de modo que no haya dependencias externas.
Entonces, con un buen equipo de desarrollo de 7 ingenieros cuidadosamente seleccionados, calculo que podríamos entregar un contenedor web funcional (y compatible) con implementación y administración RESTful básica en 4 meses, aprovechando varias bibliotecas OSS (muchas de las mismas aprovechadas en por ejemplo, Tomcat). Eso es aproximadamente 4 años hombre (pero supongo que estamos presionando y trabajando 60 horas semanales).
- ¿Cuáles son buenos sitios web / aplicaciones para inversores inmobiliarios residenciales para datos / análisis y análisis predictivo futuro para varios mercados inmobiliarios de EE. UU.?
- ¿Cuál es la mejor herramienta para crear una base de datos racional, informes y formularios?
- ¿Qué paquete tecnológico utilizarías para crear una aplicación web de votación / intercambio de imágenes para organizaciones y por qué?
- ¿Debo usar scripts de Python o un ejecutable de Python en el servidor de producción?
- ¿Sigue siendo PHP un buen lenguaje de programación para desarrollar aplicaciones web o existen mejores alternativas (2015)?
Sin esas prácticas bibliotecas de código abierto para hacer todo eso, la imagen sería bastante diferente. Tenga en cuenta que una biblioteca, por su naturaleza, tiende a ser demasiado para cualquier caso de uso puntual. Lo que eso significa es que una biblioteca podría haber tardado 10 años en crearse, y tener otros 10 años de mantenimiento y mejoras, pero solo podría ahorrarle 3 meses en términos de implementación. Por lo tanto, mi estimación (con el mismo equipo) es que un servidor funcionalmente similar tardaría aproximadamente 3 veces el tiempo transcurrido para construir, pero probablemente tardaría más en madurar (por ejemplo, falta de código y cobertura de ruta de un POV de prueba, falta de endurecimiento de batalla uso de componentes “en la naturaleza”). Entonces, en lugar de 4 meses, estimaría 12 meses, que corresponden a aproximadamente 10 años hombre (supongo que un número promedio de horas por semana más bajo para un proyecto más largo).
Por último, mis suposiciones fueron con un equipo de ingenieros cuidadosamente seleccionados que podrían construir cualquier producto que les pueda ofrecer. No podrá encontrar un equipo así, y sugeriría que las estimaciones tenderán a crecer exponencialmente a medida que la calidad del equipo se degrade. Tomcat, por ejemplo, ahora tiene muchos cientos de años-hombre, pero originalmente fue construido (en gran parte) por un ingeniero (James Duncan Davidson en Sun).
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.