SlideShare una empresa de Scribd logo
1 de 66
Descargar para leer sin conexión
Cómo Montar y Mantener 
tu Web App a Bajo Costo 
#VolKnoEnUTN VolKnoSocial 
www.volkno.com.ar
Agenda 
● ¿Qué es VolKno? 
● Lean Startup 
● SPA con AngularJS 
● API REST con JAX-RS 
● Back-End: Spring 
● OpenShift 
www.volkno.com.ar
www.volkno.com.ar
VolKno: Voluminous Knowledge 
● Acomodá tu contenido favorito 
● Descubrí la información que te gusta 
www.volkno.com.ar
● Traé tus links favoritos 
● Organizalos en estantes públicos 
● Leelos, Compartilos, Comentalos 
www.volkno.com.ar 
Organizá
● Descubrí la información que te gusta 
● Recibí notificaciones con sugerencias 
● Explorá los temas destacados 
www.volkno.com.ar 
Descubrí
Accedé desde cualquier lado 
www.volkno.com.ar
www.volkno.com.ar
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
Startup = Experimento 
Parar de hacer perder el tiempo 
a la gente 
Producto Mínimo Viable 
(MVP) 
www.volkno.com.ar 
Lean
www.volkno.com.ar 
¿Qué aprendimos?
www.volkno.com.ar 
Validate Learning
www.volkno.com.ar 
Medir! Medir! Medir! Medir!
¿Cuántas veces puedo pivotar 
antes de quedarme sin plata? 
www.volkno.com.ar 
Pivotar 
MVP Ajustar Pivotar o 
Seguir
● 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
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
www.volkno.com.ar
Aplicaciones Web Modernas 
● 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
● 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
www.volkno.com.ar 
Arquitectura VolKno
Explosión de Frameworks JS 
http://todomvc.com/ 
www.volkno.com.ar
● Por su diseño modular y escalable 
● Por su alta adopción 
● Por su comunidad 
www.volkno.com.ar 
¿Por qué AngularJS?
¿Qué tendrá ese framework? 
● 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
www.volkno.com.ar 
Building Blocks
● 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?
www.volkno.com.ar 
API REST 
JAX-RS
¿Por qué las APIs se están 
comiendo al mundo? 
www.volkno.com.ar
¿Por qué las APIs se están 
comiendo al mundo? 
www.volkno.com.ar
¿Por qué las APIs se están 
comiendo al mundo? 
www.volkno.com.ar
¿Por qué las APIs se están 
comiendo al mundo? 
www.volkno.com.ar
¿Por qué las APIs se están 
comiendo al mundo? 
www.volkno.com.ar
¿Por qué las APIs se están 
comiendo al mundo? 
www.volkno.com.ar
¿Por qué las APIs se están 
comiendo al mundo? 
www.volkno.com.ar
¿Por qué las APIs se están 
comiendo al mundo? 
www.volkno.com.ar
El Club de los Billonarios 
www.volkno.com.ar
El Club de los Billonarios 
¡Según Twitter, 
el 60% de los 
tweets viene de 
Aplicaciones de 
Terceros! 
www.volkno.com.ar
www.volkno.com.ar
● Bien definidas 
● Bien documentadas 
● Proveer Herramientas 
● Deben funcionar muy bien 
● ¡Listas para Usar! 
www.volkno.com.ar 
Las APIs son Contratos
● 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
Ejemplo de CRUD de Webmarks 
● 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
● 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
● @Path 
● @GET, @POST, @PUT, @DELETE 
● @Produces, @Consumes 
www.volkno.com.ar 
Algunas Anotaciones
● @Path 
● @GET, @POST, @PUT, @DELETE 
● @Produces, @Consumes 
www.volkno.com.ar 
Algunas Anotaciones
● @Path 
● @GET, @POST, @PUT, @DELETE 
● @Produces, @Consumes 
www.volkno.com.ar 
Algunas Anotaciones
● La documentación de Apache CXF 
● Libro de Bill Burke (O’Reilly) 
www.volkno.com.ar 
¿Cómo empezar?
Spring, MyBatis, PostgreSQL 
www.volkno.com.ar 
Back-End
● 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
www.volkno.com.ar
www.volkno.com.ar
Inyección de Dependencia 
www.volkno.com.ar
Objeto de Acceso a Datos 
www.volkno.com.ar
Pruebas Unitarias con Mockito 
www.volkno.com.ar
Pruebas Unitarias con Mockito 
www.volkno.com.ar
Pruebas Integración DBUnit 
www.volkno.com.ar
Pruebas Integración DBUnit 
www.volkno.com.ar
Pruebas Integración DBUnit 
www.volkno.com.ar
www.volkno.com.ar
● 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
www.volkno.com.ar 
Computación en la Nube
www.volkno.com.ar 
Computación en la Nube
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> 
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 
www.volkno.com.ar
● Getting Started with OpenShift 
www.volkno.com.ar 
¿Cómo empezar?
http://www.volkno.com.ar/widget.html?shelf=1378 
www.volkno.com.ar 
Bibliografía
www.volkno.com.ar

Más contenido relacionado

Similar a Charla de VolKno en UTN

Desarrollando de aplicaciones web modernas para Linux, Windows y Mac con ASP....
Desarrollando de aplicaciones web modernas para Linux, Windows y Mac con ASP....Desarrollando de aplicaciones web modernas para Linux, Windows y Mac con ASP....
Desarrollando de aplicaciones web modernas para Linux, Windows y Mac con ASP....Software Guru
 
Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Micael Gallego
 
Ionic: el framework para crear aplicaciones-hibridas-multiplataforma
Ionic: el framework para crear aplicaciones-hibridas-multiplataformaIonic: el framework para crear aplicaciones-hibridas-multiplataforma
Ionic: el framework para crear aplicaciones-hibridas-multiplataformaQuasarMaximus
 
IONIC, el framework para crear aplicaciones híbridas multiplataforma
IONIC, el framework para crear aplicaciones híbridas multiplataformaIONIC, el framework para crear aplicaciones híbridas multiplataforma
IONIC, el framework para crear aplicaciones híbridas multiplataformabetabeers
 
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...Leonardo J. Caballero G.
 
Instalacion adobe dream weaver
Instalacion adobe dream weaverInstalacion adobe dream weaver
Instalacion adobe dream weaverLuis Viteri
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web modernoSebastián Rocco
 
Oracle 9iAS Portal Business Presentation 2002
Oracle 9iAS Portal Business Presentation 2002Oracle 9iAS Portal Business Presentation 2002
Oracle 9iAS Portal Business Presentation 2002Carlos J Carvajalino
 
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 Caracas
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 CaracasPlone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 Caracas
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 CaracasLeonardo J. Caballero G.
 
01 webinar caso_migracion_portalweb_v1.4.1-intix
01 webinar caso_migracion_portalweb_v1.4.1-intix01 webinar caso_migracion_portalweb_v1.4.1-intix
01 webinar caso_migracion_portalweb_v1.4.1-intixRoger CARHUATOCTO
 
Desarrollo de Mobile Web Apps
Desarrollo de Mobile Web AppsDesarrollo de Mobile Web Apps
Desarrollo de Mobile Web AppsAsier Marqués
 
Herramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebHerramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebErick David Juarez
 
Desarrollo responsivo con CakePHP y Foundation
Desarrollo responsivo con CakePHP y FoundationDesarrollo responsivo con CakePHP y Foundation
Desarrollo responsivo con CakePHP y FoundationLenin Alevski Huerta Arias
 
Herramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteHerramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteCarlos Toxtli
 

Similar a Charla de VolKno en UTN (20)

Principios de cloud native
Principios de cloud nativePrincipios de cloud native
Principios de cloud native
 
Desarrollando de aplicaciones web modernas para Linux, Windows y Mac con ASP....
Desarrollando de aplicaciones web modernas para Linux, Windows y Mac con ASP....Desarrollando de aplicaciones web modernas para Linux, Windows y Mac con ASP....
Desarrollando de aplicaciones web modernas para Linux, Windows y Mac con ASP....
 
Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020
 
Momo mobile webwidgets
Momo mobile webwidgetsMomo mobile webwidgets
Momo mobile webwidgets
 
Mobile Web & Widgets
Mobile Web & WidgetsMobile Web & Widgets
Mobile Web & Widgets
 
Ionic: el framework para crear aplicaciones-hibridas-multiplataforma
Ionic: el framework para crear aplicaciones-hibridas-multiplataformaIonic: el framework para crear aplicaciones-hibridas-multiplataforma
Ionic: el framework para crear aplicaciones-hibridas-multiplataforma
 
IONIC, el framework para crear aplicaciones híbridas multiplataforma
IONIC, el framework para crear aplicaciones híbridas multiplataformaIONIC, el framework para crear aplicaciones híbridas multiplataforma
IONIC, el framework para crear aplicaciones híbridas multiplataforma
 
Web Apps Azure
Web Apps AzureWeb Apps Azure
Web Apps Azure
 
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
Sistemas de publicación de noticias y contenidos multimedia Web para Medios d...
 
Instalacion adobe dream weaver
Instalacion adobe dream weaverInstalacion adobe dream weaver
Instalacion adobe dream weaver
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 
Frontal Avanzado y Assetic
Frontal Avanzado y AsseticFrontal Avanzado y Assetic
Frontal Avanzado y Assetic
 
Oracle 9iAS Portal Business Presentation 2002
Oracle 9iAS Portal Business Presentation 2002Oracle 9iAS Portal Business Presentation 2002
Oracle 9iAS Portal Business Presentation 2002
 
Plone CMS, como herramienta de apoyo a los procesos educativos
Plone CMS, como herramienta de apoyo a los procesos educativosPlone CMS, como herramienta de apoyo a los procesos educativos
Plone CMS, como herramienta de apoyo a los procesos educativos
 
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 Caracas
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 CaracasPlone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 Caracas
Plone CMS, como herramienta de apoyo a los procesos educativos, EFD 2014 Caracas
 
01 webinar caso_migracion_portalweb_v1.4.1-intix
01 webinar caso_migracion_portalweb_v1.4.1-intix01 webinar caso_migracion_portalweb_v1.4.1-intix
01 webinar caso_migracion_portalweb_v1.4.1-intix
 
Desarrollo de Mobile Web Apps
Desarrollo de Mobile Web AppsDesarrollo de Mobile Web Apps
Desarrollo de Mobile Web Apps
 
Herramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebHerramientas y Tecnologías para la Web
Herramientas y Tecnologías para la Web
 
Desarrollo responsivo con CakePHP y Foundation
Desarrollo responsivo con CakePHP y FoundationDesarrollo responsivo con CakePHP y Foundation
Desarrollo responsivo con CakePHP y Foundation
 
Herramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteHerramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamente
 

Último

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 

Último (20)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 

Charla de VolKno en UTN

  • 1. Cómo Montar y Mantener tu Web App a Bajo Costo #VolKnoEnUTN VolKnoSocial www.volkno.com.ar
  • 2. Agenda ● ¿Qué es VolKno? ● Lean Startup ● SPA con AngularJS ● API REST con JAX-RS ● Back-End: Spring ● OpenShift www.volkno.com.ar
  • 4. VolKno: Voluminous Knowledge ● Acomodá tu contenido favorito ● Descubrí la información que te gusta www.volkno.com.ar
  • 5. ● Traé tus links favoritos ● Organizalos en estantes públicos ● Leelos, Compartilos, Comentalos www.volkno.com.ar Organizá
  • 6. ● Descubrí la información que te gusta ● Recibí notificaciones con sugerencias ● Explorá los temas destacados www.volkno.com.ar Descubrí
  • 7. Accedé desde cualquier lado www.volkno.com.ar
  • 9. 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
  • 10. Startup = Experimento Parar de hacer perder el tiempo a la gente Producto Mínimo Viable (MVP) www.volkno.com.ar Lean
  • 14. ¿Cuántas veces puedo pivotar antes de quedarme sin plata? www.volkno.com.ar Pivotar MVP Ajustar Pivotar o Seguir
  • 15. ● 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
  • 16. 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
  • 18. Aplicaciones Web Modernas ● 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
  • 19. ● 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
  • 21. Explosión de Frameworks JS http://todomvc.com/ www.volkno.com.ar
  • 22. ● Por su diseño modular y escalable ● Por su alta adopción ● Por su comunidad www.volkno.com.ar ¿Por qué AngularJS?
  • 23. ¿Qué tendrá ese framework? ● 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
  • 25. ● 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?
  • 27. ¿Por qué las APIs se están comiendo al mundo? www.volkno.com.ar
  • 28. ¿Por qué las APIs se están comiendo al mundo? www.volkno.com.ar
  • 29. ¿Por qué las APIs se están comiendo al mundo? www.volkno.com.ar
  • 30. ¿Por qué las APIs se están comiendo al mundo? www.volkno.com.ar
  • 31. ¿Por qué las APIs se están comiendo al mundo? www.volkno.com.ar
  • 32. ¿Por qué las APIs se están comiendo al mundo? www.volkno.com.ar
  • 33. ¿Por qué las APIs se están comiendo al mundo? www.volkno.com.ar
  • 34. ¿Por qué las APIs se están comiendo al mundo? www.volkno.com.ar
  • 35. El Club de los Billonarios www.volkno.com.ar
  • 36. El Club de los Billonarios ¡Según Twitter, el 60% de los tweets viene de Aplicaciones de Terceros! www.volkno.com.ar
  • 38. ● Bien definidas ● Bien documentadas ● Proveer Herramientas ● Deben funcionar muy bien ● ¡Listas para Usar! www.volkno.com.ar Las APIs son Contratos
  • 39. ● 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
  • 40. Ejemplo de CRUD de Webmarks ● 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
  • 41. ● 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
  • 42. ● @Path ● @GET, @POST, @PUT, @DELETE ● @Produces, @Consumes www.volkno.com.ar Algunas Anotaciones
  • 43. ● @Path ● @GET, @POST, @PUT, @DELETE ● @Produces, @Consumes www.volkno.com.ar Algunas Anotaciones
  • 44. ● @Path ● @GET, @POST, @PUT, @DELETE ● @Produces, @Consumes www.volkno.com.ar Algunas Anotaciones
  • 45. ● La documentación de Apache CXF ● Libro de Bill Burke (O’Reilly) www.volkno.com.ar ¿Cómo empezar?
  • 46. Spring, MyBatis, PostgreSQL www.volkno.com.ar Back-End
  • 47. ● 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
  • 50. Inyección de Dependencia www.volkno.com.ar
  • 51. Objeto de Acceso a Datos www.volkno.com.ar
  • 52. Pruebas Unitarias con Mockito www.volkno.com.ar
  • 53. Pruebas Unitarias con Mockito www.volkno.com.ar
  • 54. Pruebas Integración DBUnit www.volkno.com.ar
  • 55. Pruebas Integración DBUnit www.volkno.com.ar
  • 56. Pruebas Integración DBUnit www.volkno.com.ar
  • 58. ● 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
  • 62. 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> www.volkno.com.ar
  • 63. 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 www.volkno.com.ar
  • 64. ● Getting Started with OpenShift www.volkno.com.ar ¿Cómo empezar?