charla de volkno en utn
DESCRIPTION
Presentación del equipo VolKno en la Universidad Tecnológica Argentina el 30 de Septiembre de 2014TRANSCRIPT
![Page 1: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/1.jpg)
Cómo Montar y Mantener tu Web App a Bajo Costo
www.volkno.com.ar
VolKnoSocial#VolKnoEnUTN
![Page 2: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/2.jpg)
Agenda● ¿Qué es VolKno?● Lean Startup● SPA con AngularJS● API REST con JAX-RS● Back-End: Spring● OpenShift
www.volkno.com.ar
![Page 3: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/3.jpg)
www.volkno.com.ar
![Page 4: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/4.jpg)
● Acomodá tu contenido favorito● Descubrí la información que te gusta
www.volkno.com.ar
VolKno: Voluminous Knowledge
![Page 5: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/5.jpg)
● Traé tus links favoritos● Organizalos en estantes públicos● Leelos, Compartilos, Comentalos
www.volkno.com.ar
Organizá
![Page 6: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/6.jpg)
● Descubrí la información que te gusta● Recibí notificaciones con sugerencias● Explorá los temas destacados
www.volkno.com.ar
Descubrí
![Page 7: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/7.jpg)
www.volkno.com.ar
Accedé desde cualquier lado
![Page 8: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/8.jpg)
www.volkno.com.ar
![Page 9: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/9.jpg)
Start up es una organización de personas diseñada para obtener un nuevo producto o servicio bajo condiciones de extrema incertidumbre
www.volkno.com.ar
Startup
![Page 10: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/10.jpg)
Startup = Experimento
Parar de hacer perder el tiempo a la gente
Producto Mínimo Viable(MVP)
www.volkno.com.ar
Lean
![Page 11: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/11.jpg)
www.volkno.com.ar
¿Qué aprendimos?
![Page 12: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/12.jpg)
www.volkno.com.ar
Validate Learning
![Page 13: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/13.jpg)
www.volkno.com.ar
Medir! Medir! Medir! Medir!
![Page 14: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/14.jpg)
www.volkno.com.ar
¿Cuántas veces puedo pivotar antes de quedarme sin plata?
Pivotar
MVP Ajustar Pivotar o Seguir
![Page 15: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/15.jpg)
● Identificar usuarios● Ver como los distintos usuarios usan el sitio
○ Grabar su comportamiento○ Encuestas anónimas.○ Pedir Feedback
● Juntarse con la comunidad emprendedora○ Contar tu idea a todo el mundo
www.volkno.com.ar
Salir del edificio
![Page 16: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/16.jpg)
The goal of a start up is to figure out the right thing to build -- the thing that customers want
and will pay for -- as quickly as possible.
Eric Ries
www.volkno.com.ar
![Page 17: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/17.jpg)
www.volkno.com.ar
![Page 18: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/18.jpg)
● Mucha atención a UX● Flat Design● Diseños Responsivos y Minimalistas● SPA: Single Page Application● Fuerte Predominio de JavaScript● Frameworks CSS
www.volkno.com.ar
Aplicaciones Web Modernas
![Page 19: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/19.jpg)
● Primera Generación: HTML + CSS○ Aplicaciones Server-Centric○ Poco o casi nada JavaScript
● Segunda Generación: Ajax con jQuery○ Web Apps más Ricas○ Fuerte uso de Ajax y abuso de jQuery
● Tercera Generación: Frameworks JavaScript○ MVC del lado del cliente
www.volkno.com.ar
Evolución en App Webs
![Page 20: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/20.jpg)
www.volkno.com.ar
Arquitectura VolKno
![Page 21: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/21.jpg)
www.volkno.com.ar
Explosión de Frameworks JS
http://todomvc.com/
![Page 22: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/22.jpg)
● Por su diseño modular y escalable● Por su alta adopción● Por su comunidad
www.volkno.com.ar
¿Por qué AngularJS?
![Page 23: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/23.jpg)
● MVC de la década del 10● App guiada por el HTML● Two-Ways POJO Data Binding● Escribir poco código● Directivas para encapsular comportamiento● Casi nada de necesidad de manipular DOM● Servicios, Contextos, Manejo de Eventos● Listo para Unit Testing
www.volkno.com.ar
¿Qué tendrá ese framework?
![Page 24: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/24.jpg)
www.volkno.com.ar
Building Blocks
![Page 25: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/25.jpg)
● AngularJS in 60 Minutes○ Dan Wahlin
● angular.org● Foros, GitHub, StackOverflow● Templates y Generadores
○ angular-seed○ angular-fullstack○ MEAN.js
www.volkno.com.ar
¿Cómo empezar?
![Page 26: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/26.jpg)
www.volkno.com.ar
JAX-RS
API REST
![Page 27: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/27.jpg)
www.volkno.com.ar
¿Por qué las APIs se están comiendo al mundo?
![Page 28: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/28.jpg)
www.volkno.com.ar
¿Por qué las APIs se están comiendo al mundo?
![Page 29: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/29.jpg)
www.volkno.com.ar
¿Por qué las APIs se están comiendo al mundo?
![Page 30: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/30.jpg)
www.volkno.com.ar
¿Por qué las APIs se están comiendo al mundo?
![Page 31: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/31.jpg)
www.volkno.com.ar
¿Por qué las APIs se están comiendo al mundo?
![Page 32: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/32.jpg)
www.volkno.com.ar
¿Por qué las APIs se están comiendo al mundo?
![Page 33: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/33.jpg)
www.volkno.com.ar
¿Por qué las APIs se están comiendo al mundo?
![Page 34: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/34.jpg)
www.volkno.com.ar
¿Por qué las APIs se están comiendo al mundo?
![Page 35: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/35.jpg)
www.volkno.com.ar
El Club de los Billonarios
![Page 36: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/36.jpg)
www.volkno.com.ar
El Club de los Billonarios¡Según Twitter, el 60% de los tweets viene de Aplicaciones de Terceros!
![Page 37: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/37.jpg)
www.volkno.com.ar
![Page 38: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/38.jpg)
● Bien definidas● Bien documentadas● Proveer Herramientas● Deben funcionar muy bien
● ¡Listas para Usar!
www.volkno.com.ar
Las APIs son Contratos
![Page 39: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/39.jpg)
● Web Services que usan HTTP como protocolo de transporte
● Operaciones más usadas○ GET, POST, PUT, DELETE => CRUD
● URI => Sintaxis para Identificar Recursos
www.volkno.com.ar
REST
![Page 40: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/40.jpg)
● GET http://www.volkno.com.ar/api/webmarks○ Para consultar un listado de Webmarks
● GET /api/webmarks/1735○ Para consultar el webmark 1735
● POST /api/webmarks○ Para guardar un nuevo webmark
● PUT /api/webmarks/1735○ Para modificar el webmark 1735
www.volkno.com.ar
Ejemplo de CRUD de Webmarks
![Page 41: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/41.jpg)
● Es un estándar de Java EE para construir RESTful Web Services (API) usando anotaciones
● Mediante anotaciones expone clases Java en servicios REST
● Nosotros usamos Apache CXF
www.volkno.com.ar
JAX-RS
![Page 42: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/42.jpg)
● @Path● @GET, @POST, @PUT, @DELETE● @Produces, @Consumes
www.volkno.com.ar
Algunas Anotaciones
![Page 43: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/43.jpg)
● @Path● @GET, @POST, @PUT, @DELETE● @Produces, @Consumes
www.volkno.com.ar
Algunas Anotaciones
![Page 44: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/44.jpg)
● @Path● @GET, @POST, @PUT, @DELETE● @Produces, @Consumes
www.volkno.com.ar
Algunas Anotaciones
![Page 45: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/45.jpg)
● La documentación de Apache CXF● Libro de Bill Burke (O’Reilly)
www.volkno.com.ar
¿Cómo empezar?
![Page 46: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/46.jpg)
www.volkno.com.ar
Spring, MyBatis, PostgreSQL
Back-End
![Page 47: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/47.jpg)
● Contenedor de Inversión de Control● Provee Inyección de Dependencia => Ideal
para Servicios● Tiene muchos módulos que sirven para
integrar distintos servicios Java EE y libs● Spring Data, Spring Security, Spring MVC,
Spring Web Flow, etc
www.volkno.com.ar
Spring Framework
![Page 48: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/48.jpg)
www.volkno.com.ar
![Page 49: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/49.jpg)
www.volkno.com.ar
![Page 50: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/50.jpg)
www.volkno.com.ar
Inyección de Dependencia
![Page 51: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/51.jpg)
www.volkno.com.ar
Objeto de Acceso a Datos
![Page 52: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/52.jpg)
www.volkno.com.ar
Pruebas Unitarias con Mockito
![Page 53: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/53.jpg)
www.volkno.com.ar
Pruebas Unitarias con Mockito
![Page 54: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/54.jpg)
www.volkno.com.ar
Pruebas Integración DBUnit
![Page 55: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/55.jpg)
www.volkno.com.ar
Pruebas Integración DBUnit
![Page 56: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/56.jpg)
www.volkno.com.ar
Pruebas Integración DBUnit
![Page 57: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/57.jpg)
www.volkno.com.ar
![Page 58: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/58.jpg)
● PaaS de Red Hat● Cartridges out-of-the-box
○ JBoss EAP, Wildfly, Tomcat, PHP, Zend, Python○ Ruby, Node.js, Vert.x, Perl, MongoDB, MySQL○ PostgreSQL, Jenkins, SwitchYard, Cron, Fuse
● Cartridges DIY● Plan gratuito: 3 Gears
www.volkno.com.ar
OpenShift
![Page 59: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/59.jpg)
www.volkno.com.ar
Computación en la Nube
![Page 60: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/60.jpg)
www.volkno.com.ar
Computación en la Nube
![Page 61: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/61.jpg)
www.volkno.com.ar
![Page 62: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/62.jpg)
www.volkno.com.ar
RHC: Command Line Tools● rhc app create <app-name> <cartridge>● rhc cartridge add <cartridge> -a <app-
name>● rhc app restart -a <app-name>● rhc app ssh -a <app-name>● rhc tail -a <app-name>● rhc app show --gears -a <app-name>● rhc app show -a <app-name>
![Page 63: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/63.jpg)
www.volkno.com.ar
env: Variables de Entorno● OPENSHIFT_GEAR_MEMORY_MB● OPENSHIFT_DATA_DIR● OPENSHIFT_LOG_DIR● OPENSHIFT_POSTGRESQL_DB_HOST● OPENSHIFT_POSTGRESQL_DB_USERNAME● OPENSHIFT_PRIMARY_CARTRIDGE_DIR● OPENSHIFT_HAPROXY_PORT● OPENSHIFT_JBOSSEWS_JPDA_PORT● OPENSHIFT_HOMEDIR
![Page 64: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/64.jpg)
● Getting Started with OpenShift
www.volkno.com.ar
¿Cómo empezar?
![Page 65: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/65.jpg)
http://www.volkno.com.ar/widget.html?shelf=1378
www.volkno.com.ar
Bibliografía
![Page 66: Charla de VolKno en UTN](https://reader034.vdocuments.site/reader034/viewer/2022042700/55906d9d1a28ab55488b47ac/html5/thumbnails/66.jpg)
www.volkno.com.ar