iblancasa / BackendSI2-IV

Proyecto para el desarrollo de backend para empresa Si2.info (asignatura Infraestructuras Virtuales GII UGR)
MIT License
8 stars 4 forks source link

Empezando y eligiendo herramientas #2

Closed iblancasa closed 9 years ago

iblancasa commented 9 years ago

Buenas. Hoy, Cristóbal y yo hemos ido a hablar con Ángel Romero, el enlace con la empresa SI2. Nos ha estado explicando un poco más el proyecto.

Podemos decir que el proyecto es la realización de la aplicación servidor de una aplicación similar a Telegram o WhatsApp para empresas, aunque con algunas diferencias:

La empresa se encuentra trabajando en varios proyectos, por lo que nosotros trabajaríamos poco con ellos (tienen pensado hacer la parte cliente) y seremos nosotros quienes vayamos marcando el ritmo (según le vayamos pidiendo trabajo).

He quedado en hablar con él la semana que viene para ver qué vamos a utilizar.

Nos ha propuesto:

Aunque se nos ha propuesto eso, están abiertos a ver distintas formas de hacerlo, lugares, herramientas...

rafaroc commented 9 years ago

Vale yo cuando digáis kedamos y vemos para la próxima si kereis me avisas y voy con vosotros tambien, aunque de lo que OS a propuesto a usar no conosco nada. Pero bueno se aprende jeje El 16/10/2014 00:37, "Israel Blancas" notifications@github.com escribió:

Buenas. Hoy, Cristóbal https://github.com/JCristobal y yo hemos ido a hablar con Ángel Romero, el enlace con la empresa SI2. Nos ha estado explicando un poco más el proyecto.

Podemos decir que el proyecto es la realización de la aplicación servidor de una aplicación similar a Telegram o WhatsApp para empresas, aunque con algunas diferencias:

  • Se quiere que la comunicación sea entre cliente-empresa
  • Se busca algún tipo de servicio externo que "selle" los mensajes y certificar que se enviaron y recibieron

La empresa se encuentra trabajando en varios proyectos, por lo que nosotros trabajaríamos poco con ellos (tienen pensado hacer la parte cliente) y seremos nosotros quienes vayamos marcando el ritmo (según le vayamos pidiendo trabajo).

He quedado en hablar con él la semana que viene para ver qué vamos a utilizar.

Nos ha propuesto:

Aunque se nos ha propuesto eso, están abiertos a ver distintas formas de hacerlo, lugares, herramientas...

— Reply to this email directly or view it on GitHub https://github.com/iblancasa/Si2.infoGII-IV/issues/2.

iblancasa commented 9 years ago

Se me olvidaba decir que, aunque debe ser una aplicación robusta, de la forma que la han planteado no es necesario que soporte millones de conexiones ni nada de eso. Además, como el contacto es cliente-empresa, se eliminan las conexiones entre los clientes, por lo que el sistema queda mucho más simple.

@rafaroc, la idea es ir poniendo cosas por aquí para comentar las distintas posibles soluciones. Ni @JCristobal ni yo sabemos nada de NodeJS y muy poco de No-SQL, pero, como bien dices, habrá que aprender.

iblancasa commented 9 years ago

He estado investigando un poco sobre Heroku:

Como he comentado más arriba, están abiertos a propuestas. He estado buscando sitios similares a Heroku y he encontrado OpenShift. Os dejo algunas características:

Hay muchos otros, como Google App Engine (que se pasa con la integración entre las aplicaciones y su servicio) pero creo que estos son los más interesantes. Personalmente, y mirando un poco las opiniones de los distintos desarrolladores y la documentación disponible, me gusta mucho más Heroku, que además es la que nos han propuesto.

En cuanto a la base de datos, pienso que una base de datos relacional puede ser demasiado lenta para este tipo de aplicación y opto también por apoyarnos en una base de datos No-SQL.

Y, finalmente, en cuanto a lenguaje, me gusta la idea de trabajar con NodeJS. También tengo que decir que me asusta un poco Javascript (que, siendo un poco bruto, eso es NodeJS). Parece que va bastante bien en temas de concurrencia (no tan bien como Erlang y similares, pero la aplicación tampoco necesita manejar altos niveles de carga) y la propia documentación de Heroku habla del tema.

JCristobal commented 9 years ago

Como dice Israel como PaaS creo que el ideal seria Heroku, entre otras cosas por su gran integración con Git y que podemos trabajar con NodeJS. En cuanto al lenguaje, hablando con Ángel Romero de SI2 nos recomendó NodeJS y estoy de acuerdo en que lo podríamos usar. Como a Israel me asusta ya que no lo conozco, pero no debería ser problema

ramako commented 9 years ago

El PaaS da un poco igual, siempre seria facil migrarlo a otro. Heroku parece una buena opcion. Node.js me parece esencial para este proyecto, ya que ademas hay un modulo que usa el protocolo XMPP, que nos va a quitar muchos dolores de cabeza.

iblancasa commented 9 years ago

Bueno... eso de que da un poco igual... Si utilizamos el servicio de una empresa que acabe de empezar o que sepamos que es conflictiva... puede que no encontremos mucha documentación o tengamos problemas (además que algunos, véase Google App Engine y sus distintos servicios de almacenamiento en bases de datos, no usan estándares, sino que usan cosas propias).

¿Hay un módulo para NodeJS que usa el protocolo XMPP? Supongo que te refieres a un módulo propio del lenguaje o que lo porporciona Heroku. Por favor, postéalo en este otro "issue" ya que yo solamente encontré una biblioteca hecha por un usuario de este mismo sitio (ver el issue referenciado para ver un enlace a la biblioteca que digo)

ramako commented 9 years ago

Con da "un poco igual" me refiero a que no hay que calentarse mucho la cabeza, si Heroku nos diese problemas buscariamos otro PaaS donde desplegarlo, y no creo que la migración fuese traumática.

iblancasa commented 9 years ago

Bueno... no sé. Tampoco es cuestión de ir cambiando... si haciendo un trabajo previo, mirando cual es mejor para no tener que ir "tropezando"... En cuanto a lo de la migración traumática... Creo que no has utilizado Google App Engine. Tras usar eso, procurarás que se pueda migar jajajajajajajaj. En serio, GAE es horrible si necesitas llevarte las cosas a otro sitio.

Por cierto, hablabas de un módulo de NodeJS que trabaja con XMPP... yo solo encontré una biblioteca desarrollada para utilizar dicho protocolo. ¿Podrías postear el módulo aquí? Gracias :D