- Estudio Inicial para la semana que viene. (Nicolas)
- Cronograma antes del Spring1 (estimado para 6/5)
- Definición Spring 0 antes del Spring1 (estimado para 6/5)
- No pide Casos de Uso.
- Diagrama de despliegue.
- Realizar los diagramas necesarios (pdf sólo sirve para orientar y sugerir). "Todo lo que se cambia es con criterio".
- En Agosto se planifica para ver si se llega para entregar en Diciembre.
- Destacar Patrones.
- Averiguar el tema de "Privacidad de los datos del paciente"
miércoles, 22 de abril de 2015
Minutas Meeting Profe
21/04/2015
jueves, 16 de abril de 2015
API REST - Java
API REST - Java:
Para la gestión y construcción del proyecto elegimos Maven.
Se decide utilizar Spring el cual tiene un conjunto de utilidades para integrar las dependencias más utilizadas en Java.
En nuestro caso, la usaremos para Jersey (rest) y JPA/Hibernate (persistencia).
Decimos utilizar el servicio de alojamiento web que presta Google de forma gratuita llamado "Google App Engine".
Decimos utilizar el servicio de alojamiento web que presta Google de forma gratuita llamado "Google App Engine".
Repositorio: GitHub.
*Web Container es la nube de Google App Engine.
Maven project structure
- /src/main/java folder, that contains source files for the dynamic content of the application (contenido dinámico).
- /src/test/java folder contains all source files for unit tests (pruebas).
- /src/main/resources folder contains configurations files (configuración).
- /target folder contains the compiled and packaged deliverables (entregables).
- the pom.xml is the project object model (POM) file. The single file that contains all project related configuration (configuración de proyectos relacionados).
Se decide utilizar la linea de comando de windows para el setup del entorno tienendo como referencia los siguientes tutoriales:
PASO A PASO
- clone GitHub a workspace/Smartpump desde Eclipse.
- voy a linea de comando y me ubico en workspace/Smartpump
- git checkout -b feature_gaeSkeletonArchetype
- echo "Branch for appengine skeleton archetype" > branch.txt
- git add .
- git commit -m "Branch message added."
- git push -u origin feature_gaeSkeletonArchetype
- mvn archetype:generate -DarchetypeGroupId=com.google.appengine.archetypes -DarchetypeArtifactId=appengine-skeleton-archetype -DarchetypeVersion=1.8.7 -Dappengine-version=1.9.19 -DgroupId=com.smartpump.Bismara -DartifactId=Bismara -Dversion=0.1 -Dpackage=com.smartpump
- me ubico en Bismara y ejecuto "mvn clean install"
- mvn -pl Bismara-ear appengine:devserver
- mvn appengine:devserver
- Dev App Server running
- mvn -pl Bismara-ear appengine:update (para subirla a la nube de google y que te de el link)
- quedo finalmente http://smartpump-dev.appspot.com/context/bismara/test
- Se integra Jersey siguiendo el siguiente tutorial:
- Clean and Build y luego vuelvo a correr la app (mvn appengine:devserver) pero ahora con Jersey.
REST API responde correctamente!
Jersey + Spring
Jersey (para los servicios web RESTful) y Spring (para inyección de dependencias) logran una combinación de dos tecnologías potentes para un desarrollo de servicios web mas amigable.
Tutoriales:
Persistencia (JPA)
Java Persistence API, más conocida por sus siglas JPA, es la API de persistencia desarrollada para la plataformaJava EE.
El objetivo que persigue el diseño de esta API es no perder las ventajas de la orientación a objetos al interactuar con una base de datos (siguiendo el patrón de mapeo objeto-relacional), como sí pasaba con EJB2, y permitir usar objetos regulares (conocidos como POJOs).
Ejemplo:
http://www.codingpedia.org/ama/java-persistence-example-with-spring-jpa2-and-hibernate/
miércoles, 15 de abril de 2015
Frameworks JAVA para API REST
Bueno, ya que consideramos no dejar de lado ningún lenguaje, investigando sobre Java subo información sobre Jersey. Hay mucha documentación.
En el laburo usamos Spring (para persistencia) y se podrían usar ambos.
JERSEY + SPRING :
http://www.mkyong.com/webservices/jax-rs/jersey-spring-integration-example/
Spring Framework -> http://projects.spring.io/spring-framework/
Jersey -> https://jersey.java.net/index.html
Spring:
http://spring.io/
Documentación Spring:
http://spring.io/docs
ORM con Spring:
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/orm.html
En el laburo usamos Spring (para persistencia) y se podrían usar ambos.
JERSEY + SPRING :
http://www.mkyong.com/webservices/jax-rs/jersey-spring-integration-example/
Spring Framework -> http://projects.spring.io/spring-framework/
Jersey -> https://jersey.java.net/index.html
Spring:
http://spring.io/
Documentación Spring:
http://spring.io/docs
Multi-threaded con Spring:
http://docs.spring.io/spring-batch/trunk/reference/html/scalability.htmlORM con Spring:
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/orm.html
Introducción a Jersey:
Documentación Jersey:
Paso a paso Jersey:
Ejemplo Jersey:
Buenos resumenes Jersey:
Algunas Características Jersey:
- Código abierto.
- Provides support for JAX-RS APIs and serves as a JAX-RS (JSR 311 & JSR 339).
- Última versión estable: 2.17.
- Jersey resources are plain java object (POJO) with annotation @Path.
- Ofrece una biblioteca cliente.
miércoles, 8 de abril de 2015
Frameworks PHP para API REST
- Symfony2: FOSRestBundle https://github.com/FriendsOfSymfony/FOSRestBundle
- Symfony2: Silex http://silex.sensiolabs.org
- Laravel http://laravel.com/
- Apigility https://www.apigility.org/
- Bullet http://bulletphp.com/
- Fat-Free Framework http://fatfreeframework.com/home
- Limonade http://limonade-php.github.io/
- Phalcon http://phalconphp.com/en/ (posee mapeo orm)
- Zaphpa http://zaphpa.org/
- Frapi http://getfrapi.com/
- Flightphp http://flightphp.com (no habla de mapeo orm)
- Guzzle http://guzzlephp.org
- Kohana http://kohanaframework.org (parece que esta bueno, tiene un modulo orm, paso el link de las especificaciones del release 3.3 http://kohanaframework.org/3.3/guide/)
Links con algunas explicaciones acerca de las caracteristicas de algunos:
http://www.programmableweb.com/news/short-list-restful-api-frameworks-php/2011/09/23
http://www.gajotres.net/best-available-php-restful-micro-frameworks/
http://davss.com/tech/php-rest-api-frameworks/
Buscando sobre los frameworks encontre varias veces informacion sobre Propel, es una
libreria para php de ORM, podriamos analizarla un poco para ver.
Propel web: http://propelorm.org/
Minutas Meeting PO
- La insulina es la hormona que facilita que las celulas absorban los azucares e hidratos (?) y así los metabolicen en energía. Las bombas suelen programarse para inyectar mayor cantidad de insulina en los momentos en que la ingesta de los mismos resulta mayor (Desayuno, Almuerzo, Merienda, Cena)
- Infusores continuos de insulina. Desarrolladores en Córdoba: Roche y Medtronics. (Agregar info desde grabaciones)
- Tengo anotado algo que hace cada 5 minutos, una alarma y algo que hace 2 veces al día. Instanciar esto con grabaciones.
- En desarrollo: bomba doble con bolos de insulina y glucagon, regula hipo e hiperglucemia. Desarrollo en iPhone, que via bluetooth recibe datos del glucometro y mediante algoritmos recalcula la inyeccion de la hormona que corresponda.
- http://www.nejm.org/doi/full/10.1056/NEJMoa1314474 Bionic Pancreas
- Holter de glucosa. Producto actual. $2K. Algo de 7 dias conintervalos de 5 minutos. Era un trial?
- Lifelog. Tracker app de sony para la vida cotidiana con estadisticas.
- Diabetes & Therapeutics Technologies. Congreso en Febrero en Paris. Abstracts del congreso: http://online.liebertpub.com/doi/pdf/10.1089/dia.2015.1525
- 5 de Julio de 2015 Taller especial de tecnologias y bombas en Congreso de Diabetes en el Sheraton Hotel Córdoba
Favor de ampliar información o publicar la grabación!
- Infusores continuos de insulina. Desarrolladores en Córdoba: Roche y Medtronics. (Agregar info desde grabaciones)
- Tengo anotado algo que hace cada 5 minutos, una alarma y algo que hace 2 veces al día. Instanciar esto con grabaciones.
- En desarrollo: bomba doble con bolos de insulina y glucagon, regula hipo e hiperglucemia. Desarrollo en iPhone, que via bluetooth recibe datos del glucometro y mediante algoritmos recalcula la inyeccion de la hormona que corresponda.
- http://www.nejm.org/doi/full/10.1056/NEJMoa1314474 Bionic Pancreas
- Holter de glucosa. Producto actual. $2K. Algo de 7 dias conintervalos de 5 minutos. Era un trial?
- Lifelog. Tracker app de sony para la vida cotidiana con estadisticas.
- Diabetes & Therapeutics Technologies. Congreso en Febrero en Paris. Abstracts del congreso: http://online.liebertpub.com/doi/pdf/10.1089/dia.2015.1525
- 5 de Julio de 2015 Taller especial de tecnologias y bombas en Congreso de Diabetes en el Sheraton Hotel Córdoba
Favor de ampliar información o publicar la grabación!
martes, 7 de abril de 2015
Entorno local.
Entorno local:
- Eclipse luna (JAVA EE).
- Java 7 u 8 (jdk).
- SDK de Android
- Plugin eclipse-android.
- SublimeText 2.
- PDT plugin Eclipse (Para PHP).
- Si no viene GIT con eclipse, plugin de git.
- WAMP
- Filezilla
- IDE de Arduino.
- Postman (extensión de Chrome)
Dirección de Lucas: Valladolid 1819. Maipú 1a sección.
lunes, 6 de abril de 2015
Rest API con PHP
- 5 frameworks para crear Rest API con PHP
- Slim Framework (el más popular)
- Tutorial 1 de Slim
- Tutorial 2 de Slim (más completo)
- Rest API con Symfony
- PDT: Plugin de PHP para Eclipse
Ahí fueron algunos links de lo que estuve investigando. PHP nos puede dar una mano también para lograr versatilidad y rapidez. Hay frameworks robustos que podríamos explotar.
Para seguir pensando...
Abstract tesis
Proyecto de tesis: Bismara
“Muchas veces, nosotros
desconocemos si el paciente cumplió o no con el tratamiento. Salvo que hagamos
algún seguimiento telefónico o por software. Puede suceder que el paciente no
regrese hasta que se vuelva a sentir mal o haga el tratamiento por un periodo
mucho menor al recomendado” describe Enrique Majul, director Médico de la
Clínica Universitaria Reina Fabiola y especialista en Diabetes.[1]
La misma es una enfermedad en la cual la ciencia y la tecnología han hecho
aportes muy relevantes y se ha mejorado la calidad de vida de las personas de
una forma significativa.
Bismara es un software que no
escapa de ello. El objetivo principal del mismo es llevar un seguimiento constante
del tratamiento del paciente para desligar al mismo de muchas de sus
responsabilidades constantes y permitirle al médico información más precisa y
concreta sobre su día a día. Para poder cumplir con el mismo, Bismara propone
una bomba de insulina y un glucómetro conectados por bluetooth a un dispositivo
móvil o wereable. El mismo se sincroniza con un sistema en la nube que gestiona
el tratamiento y la programación de los aparatos posibilitando al médico
información relevante y continua respecto a las métricas del paciente en los
distintos momentos del tratamiento. La programación de la bomba la puede
revisar y controlar el médico responsable desde una interfaz web o móvil que le
avisará al diabético de posibles actualizaciones y le permitirá estar en
constante control. A su vez, el doctor podrá informarse de los niveles de
glucosa en los diferentes rangos horarios y días en que el paciente tuvo el
dispositivo conectado. En pocas palabras, el tratamiento podrá llevarse
adelante sin la necesidad de juntarse ni discutir información sobre los niveles
y las inyecciones de bolo. Todo lo realizará Bismara.
A un nivel más amplio, Bismara
ofrecerá la posibilidad de inscripción de “usuarios investigadores”. Estas
solicitudes serán evaluadas y autorizadas para ofrecer la posibilidad de
realizar investigaciones profundas respecto a toda la información (anónima)
recopilada por Bismara, con el objetivo de realizar estudios y avances para la
ciencia. Para ello se utilizarán técnicas de Data Mining usando Big Data.
La constancia respecto a las reglas
del médico y la falta de información por los vaivenes del paciente respecto al
tratamiento ya no serán un problema. Bismara estará al acecho de cualquier
anomalía y dará un soporte de control y seguimiento que no se realizan en la
actualidad, permitiendo un tratamiento más ameno y una mejor calidad de vida
para el diabético.
Suscribirse a:
Comentarios (Atom)