Spring framework

2.093 visualizaciones

Publicado el

0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
2.093
En SlideShare
0
De insertados
0
Número de insertados
4
Acciones
Compartido
0
Descargas
62
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Spring framework

  1. 1. UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍFACULTAD DE CIENCIAS INFORMÁTICASASIGNATURA:INGENIERIA DE SOFTWARE IITEMA/TITULO DEL TRABAJO:“DESARROLLO DE UNA APLICACIÓN WEB USANDO SPRING FRAMEWORKPARA CONOCER SU ENTORNO DE DESARROLLO”INTEGRANTES EQUIPO:ALCIVAR ARAY ROSA ANDREAMERA GUARANDA YANDRY JAVIERORTEGA RODRIGUEZ ALEXISPALMA GUALE IRVING JOSESAMANIEGO MONCAYO ISABEL PATRICIAVERA BURGOS ELSA PATRICIACURSO:5° NIVEL “B”PROFESOR:ING. JORGE PINCAYMANTA-MANABÍ-ECUADORContenidoCAPITULO I CONTEXTUALIZACIÓN DE LA INVESTIGACIÓN ......................................................... 2
  2. 2. Introducción .............................................................................................................................. 3Presentación del Tema.............................................................................................................. 4Objetivos....................................................................................................................................... 4Objetivo general........................................................................................................................ 5Objetivos específicos de investigación...................................................................................... 5Objetivos específicos de resolución del problema.................................................................... 5Justificación................................................................................................................................... 6CAPITULO II MARCO TEÓRICO REFERENCIAL............................................................................... 7Spring FRAMEWORK.................................................................................................................. 7Inyección de dependencias ................................................................................................ 14Programación orientada a aspectos .................................................................................. 14Módulos de Spring................................................................................................................... 14Otras características spring framework ............................................................................ 17CAPITULO III MARCO PROPOSITIVO (PROPUESTA)................................................................... 21Estudio de Viabilidad............................................................................................................... 21Introducción ............................................................................................................................ 21Descripción de la propuesta .................................................................................................... 22Alcances de la propuesta......................................................................................................... 23Recursos necesarios................................................................................................................. 24Bibliografía ................................................................................................................................. 26CAPITULO I CONTEXTUALIZACIÓN DE LA INVESTIGACIÓN
  3. 3. IntroducciónLa creciente demande de aplicaciones para facilitar la comodidad del usuario ahecho que diseñadores, ingenieros, fanáticos de la programación y otros profesionalesestén creando aplicaciones para la mejora del trabajo cotidiano de toda clase depersonas.En la actualidad hay muchas aplicaciones que van desde un pequeño relojdespertador hasta las aplicaciones que ayudan a las personas preocupadas por subienestar incluidos pacientes y médicos.Muchas aplicaciones actualmente ayudan a médicos a hacer diagnósticostempranos, análisis de laboratorio, revisar listados de medicamentos, analizarimágenes, buscar artículos médicos, y gracias a que estas aplicaciones muchas vecesson fáciles de utilizar por su lenguaje y servicios que ofrecen hacen que cualquierpersona o paciente pueda consultar.
  4. 4. Presentación del Tema“DESARROLLO DE UNA APLICACIÓN WEB USANDO SPRING FRAMEWORK PARACONOCER SU ENTORNO DE DESARROLLO”Objetivos
  5. 5. Objetivo generalDesarrollo de una aplicación web usando spring framework para conocer suentorno de desarrolloObjetivos específicos de investigaciónAnalizar las principales características del Spring Framework.Conocer las principales características de Spring Framework.Estudiar los entornos de desarrollo del Framework.Objetivos específicos de resolución del problemaSeleccionar la interface que conformará nuestra aplicación.Desarrollar la app que permita conocer el uso Spring Framework.
  6. 6. JustificaciónEste proyecto está enfocado en proporcionar una aplicación para proporcionar elconocimiento del desarrollo del Framework, para así saber o conocer sus diferentes entornosde desarrolloUtilizaremos tecnología web, brindando así un sistema con tecnología de punta quepermitirá al usuario, al profesional usar sus portales.El intercambio de información de las páginas web, valiéndose de la tecnología deinternet, ha demostrado tener una movilidad real, lo cual ha dado paso al denominadointernet móvil.
  7. 7. CAPITULO II MARCO TEÓRICO REFERENCIALSpring FRAMEWORKLos framework son soluciones completas que contemplan herramientas de apoyo a laconstrucción (ambiente de trabajo o desarrollo) y motores de ejecución (ambiente deejecución).Son conjuntos de librerías (API’s) para desarrollar aplicaciones Web, más librerías parasu ejecución (o motor), y más un conjunto de herramientas para facilitar esta tarea(debuggers, ambientes de desarrollo como Eclipse, etc).Por otro lado son tecnologías abiertas, es decir. Funcionan prácticamente sobrecualquiera HW y Sistema Operativo, y en esta caso si hablamos de aplicaciones Web,funcionan sobre cualquier Servidor de Aplicaciones conocido (IBM WebSphere, BEA WebLogic,o JBoss). Y en cuanto a costos prácticamente no hay costos de licencias: Spring, Struts, yEclipse no tienen costos de licencias.En la actualidad el desarrollo de aplicaciones empresariales, aunque es más sencillo yaque hay muchas herramientas, APIs, y Frameworks; los cuales aunque son opcionales, elaprender a usarlos nos ayudará a desarrollar nuestras aplicaciones en menos tiempo y a queestas sean más robustas y contengan menos errores.También se vuelve un poco más complicado porque nuestras aplicaciones deben sercapaces de conectarse con otras aplicaciones y servicios. Además, como desarrolladores,somos los responsables de coordinar cada una de las partes de nuestra aplicación para quetodo funcione correctamente.Por si no fuera suficiente, debemos tomar en cuenta que debemos darlemantenimiento a nuestras aplicaciones, y que en algunos casos será necesario que cambiemosmódulos o capas enteras de la misma para mejorarla; como por ejemplo sustituir nuestrasconsultas JDBC con Hibernate en los casos en los que sea prudente.Afortunadamente existen super-frameworks que nos ayudan haciéndose cargo detodas o casi todas las “complicaciones” mencionadas anteriormente. Spring es el más popular
  8. 8. de estos super-frameworks Java. Nos proporciona varios módulos los cuales abarcan la mayorparte de las cosas que debemos hacer en cualquiera de las capas de nuestras aplicaciones,desde plantillas para trabajar con JDBC o invocación de Web Services y JMS, pasando por suspropias soluciones, ORM o MVC (web), hasta integración con otros frameworks, como Struts 2,Hibernate, JSF, etc. Todo esto de una forma elegante y haciendo uso de muchos buenosprincipios de programación. Además Spring maneja la infraestructura de la aplicación, por loque nosotros solo deberemos preocuparnos de la lógica de la misma (y de la configuración deSpring).Spring es, como lo definen sus autores, un framework ligero para construiraplicaciones empresariales. Aunque Spring se encuentra dividido en distintos módulos, cadauno de los cuales se encarga de partes diferentes de nuestra aplicación, no deja de ser unmonstruo, ya que es tan grande que alguien podría nunca usar todos estos módulos enaplicaciones pequeñas o medianas; pero en aplicaciones grandes o realmente grandes puedeahorrarnos mucho trabajo ya que puede coordinar todas las partes de la aplicación. Estaseparación en módulos nos permite usar solo las partes que necesitamos, sin tener la carga delos que no usemos.Spring está diseñado para no ser intrusivo, esto significa que no es necesario quenuestra aplicación extienda o implemente alguna clase o interface de Spring (si no loqueremos), por lo que nuestro código de lógica quedará libre y completamente reutilizablepara un proyecto sin Spring, o por si debemos quitarlo de una aplicación que ya lo esté usando.Gracias a esto es posible usar un POJO o un objeto Java para hacer cosas que antes solo podíanhacerse con EJBs. Sin embargo la utilidad de Spring no es solo para el desarrollo deaplicaciones web, o no solo en el servidor. Cualquier aplicación Java puede beneficiarse del usode Spring.Además, si usamos Spring de la forma correcta (lo cual no es difícil) nuestra aplicaciónquedará dividida en capas bien delimitadas, y con buenas prácticas de programación.El núcleo de Spring está basado en un principio o patrón de diseño llamado Inversiónde Control (IoC por sus siglas en inglés). Las aplicaciones que usan el principio de IoC se basanen su configuración (que en este caso puede ser en archivos XML o con anotaciones como enHibernate) para describir las dependencias entre sus componentes, esto es, los otros objetoscon los que interactúa. En este caso “inversión” significa que la aplicación no controla suestructura; permite que sea el framework de IoC (en este caso Spring) quien lo haga.
  9. 9. Por ejemplo, supongamos que tenemos una clase “AlmacenUsuario”, que depende deuna instancia de una clase “UsuariosDAO” para realizar su tarea. “AlmacenUsuario” crea unainstancia de “UsuariosDAO” usando el operador “new” u obtiene una de algún tipo de Fabrica.Usando la técnica de IoC, una instancia de “UsuariosDAO”, o una subclase de esta, esproporcionada a “AlmacenUsuario” en tiempo de ejecución por el motor de Spring. En estecaso “UsuariosDAO” también podría ser una interface y Spring se encargará deproporcionarnos una instancia de una clase que implemente esa interface. Esta inyección dedependencia en tiempo de ejecución ha hecho que a este tipo de IoC se le dé el nombre másdescriptivo de inyección de dependencia (DI por sus siglas en inglés). El concepto importantees que los componentes no saben cuál implementación concreta de otros componentes estánusando; solo ven sus interfaces.El uso de interfaces y DI son mutuamente benéficos, ya que hace más flexible yrobusta nuestra aplicación y es mucho más fácil realizar pruebas unitarias. Pero la complejidadde escribir código que maneje las dependencias entre los componentes de una aplicacióndiseñada para usar interfaces puede llegar a ser mucho y esto, además, hace que losdesarrolladores tengamos que escribir aún más código.Afortunadamente, usando DI reducimos la cantidad de código extra que debemosescribir, para un diseño basado en interfaces, casi a cero.En el contexto de DI, Spring actúa como un contenedor que proporciona las instanciasde las clases de nuestra aplicación todas las dependencias que necesita, pero en una forma nointrusiva y automática. Todo lo que debemos hacer es crear un archivo de configuración quedescriba las dependencias; Spring se hará cargo del resto.Spring es un contenedor ya que no solo crea los componentes de nuestra aplicación,sino porque contiene y maneja al ciclo de vida y configuración de estos componentes. EnSpring, podemos declarar cómo debe ser creado cada uno de los objetos de nuestra aplicación,cómo deben ser configurados, y cómo deben asociarse con los demás.La implementación de DI de Spring se enfoca en el acoplamiento débil: loscomponentes de nuestra aplicación deben asumir lo menos posible acerca de otroscomponentes. La forma más fácil de lograr este bajo acoplamiento en Java es mediante el usode Interfaces. Como cada componente de la aplicación solo está consciente de la interface deotros componentes, podemos cambiar la implementación del componente sin afectar a loscomponentes que usan el nuevo componente.
  10. 10. El uso de DI tiene como beneficios, además de lo que ya he mencionado arriba, los siguientes:Reduce el código pegamento: Esto quiere decir que reduce dramáticamente lacantidad de código que debemos escribir para unir los distintos componentes. Aunquealgunas veces esté código puede ser tan simple como usar el operador “new” parainstanciar un nuevo objeto, otras puede ser más complejo, como realizar unabúsqueda de dicha dependencia en un repositorio a través de JNDI, como en el caso delos recursos remotos. En esto caso, el uso de DI puede reducir de forma dramática lacantidad de código pegamento (o glue code) proporcionando búsquedas automáticas.Externaliza dependencias: Como es posible colocar la configuración de dependenciasen archivos XML podemos realizar una reconfiguración fácilmente, sin necesidad derecompilar nuestro código. Gracias a esto es posible realizar el cambio de laimplementación de una dependencia a otra (como en el ejemplo de Hibernate quemencioné antes)Las dependencias se manejan en un solo lugar: Toda la información de dependenciases responsabilidad de un solo componente, el contenedor de IoC de Spring, haciendoque este manejo de dependencias más simple y menos propenso a errores.Hace que las pruebas sean más fáciles: Nuevamente, como nuestras clases serándiseñadas para que sea fácil el reemplazo de dependencias, podemos proporcionarmocks o dummies, que regresen datos de prueba, de servicios o cualquierdependencia que necesite el componente que estamos probando.Como podemos ver, el uso de DI nos proporciona muchos beneficios, pero no sin suscorrespondientes desventajas. En particular, es difícil ver qué implementación particular deuna dependencia está siendo usada para qué objeto, especialmente para alguien que no estáfamiliarizado con esta forma de trabajo.¿Y por qué tanto hablar de DI? Pues porque estos dos conceptos (IoC y DI) son los puntoscentrales alrededor del cual gira todo en Spring, así que es mejor entenderlos desde elprincipio.Spring está dividido en alrededor de 20 módulos y colocados en los siguientes grupos:Contenedor Central (Core Container)Acceso a Datos / IntegraciónWEB
  11. 11. AOP (Programación Orientada a Aspectos)InstrumentaciónPruebasEstos grupos se muestran en la siguiente imagen:En general, estas son algunas de las características de Spring:Simplificación de la programación orientada a aspectos.Simplificación del acceso a datos.Simplificación e integración con JEESoporte para planificación de trabajos.Soporte para envió de mail.Interacción con lenguajes dinámicos (como BeanShell, JRuby, y Groovy).Soporte para acceso a componentes remotos.Manejo de Transacciones.Su propio framework MVC.Su propio Web Flow.Manejo simplificado de excepciones.La versión 3 de Spring es una versión revisada y mejorada de la versión estable anterior(2.5), que incluye nuevas características, entre las que se incluyen:Soporte para Java 5: Proporciona configuración basada en anotaciones y soportacaracterísticas como varargs ygenerics, además la parte web es compatible con las
  12. 12. versiones 1.4 y 5 de Java EE. Debido a esta nueva característica, ahora es necesariotener el JRE versión 5 o superior.Lenguaje de Expresiones (SpEL): En esta nueva versión se incluye un lenguaje deexpresiones que puede ser usando cuando se definen beans, tanto en XML como conanotaciones y también da soporte a través de todos los módulos de Spring.Soporte para Servicios Web REST: Ahora Spring soporte servicios web de tipo REST.Soporte para Java EE6: Ofrece soporte de características como JPA 2.0, JSF 2.0 y JRS303 (validaciones de Beans).Soporte para bases de datos embebidas: Un soporte conveniente para bases de datosembebidas como HSQL, H2 y Derby.Soporte para formateo de datos mediante anotaciones: Ahora los campos de fecha,divisas, etc., serán formateados automáticamente y convertidos usando anotaciones.Nueva organización de los módulos: Los módulos han sido revisados y separados endiferentes paquetes, mas organizados, de acuerdo a su funcionalidad. Para que se denuna idea, estos son los nuevos paquetes: org.springframework.aop org.springframework.beans org.springframework.context org.springframework.context.support org.springframework.expression org.springframework.instrument org.springframework.jdbc org.springframework.jms org.springframework.orm org.springframework.oxm org.springframework.test org.springframework.transaction
  13. 13.  org.springframework.web org.springframework.web.portlet org.springframework.web.servlet org.springframework.web.strutsSpring es el marco de desarrollo de aplicaciones más populares de la empresa Java ™.Millones de desarrolladores utilizan la primavera para crear alto rendimiento, fácilmentecomprobable, código reutilizable sin lock-in.Spring Framework es una plataforma que nos proporciona una infrastuctura que actúade soporte para desarrollar aplicaciones Java. Spring maneja toda la infrastructura y así tepuedes centrar en tu aplicación. Diciendolo mas coloquialmente, Spring es el “pegamento” queune todos los componentes de la aplicación, maneja su ciclo de vida y la interacción entreellos.Spring es un framework para el desarrollo de aplicaciones y contenedor de inversiónde control, de código abierto para la plataforma Java.Actualmente es muy popular, siendo tomado en cuenta como alternativa o reemplazode los Enterprise JavaBean (EJB).La primera versión fue escrita por Rod Johnson. Fue lanzado inicialmente bajo lalicencia Apache 2.0 en junio de 2003. El primer gran lanzamiento fue la versión 1.0, queapareció en marzo de 2004.Si bien las características fundamentales de Spring Framework pueden ser usadas encualquier aplicación desarrollada en Java, existen variadas extensiones para la construcción deaplicaciones web sobre la plataforma Java EE. A pesar que no impone ningún modelo deprogramación en particular, este framework se ha vuelto popular en la comunidad al serconsiderado una alternativa, sustituto, e incluso un complemento al modelo EJB (EnterpriseJavaBean).
  14. 14. Spring es un framework liviano y no intrusivo: generalmente los objetos queprogramamos no tienen dependencias en clases específicas de Spring. Sus característicasprincipales son inyección de dependencias y programación orientada a aspectos.Inyección de dependenciasEl objetivo es lograr un bajo acoplamiento entre los objetos de nuestra aplicación. Coneste patrón de diseño, los objetos no crean o buscan sus dependencias (objetos con los cualescolabora) sino que éstas son dadas al objeto. El contenedor (la entidad que coordina cadaobjeto en el sistema) es el encargado de realizar este trabajo al momento de instanciar elobjeto. Se invierte la responsabilidad en cuanto a la manera en que un objeto obtiene lareferencia a otro objeto.De esta manera, los objetos conocen sus dependencias por su interfaz. Así ladependencia puede ser intercambiada por distintas implementaciones a través delcontenedor. En resumen, programaremos orientado a interfaces e inyectaremos lasimplementaciones a través del contenedor.Programación orientada a aspectosSe trata de un paradigma de programación que intenta separar las funcionalidadessecundarias de la lógica de negocios. En inglés denominan a estas funcionalidades “cross-cutting concerns” algo que se traduciría como “preocupaciones transversales”. Por ejemplo losloggers, la seguridad, el manejo de transacciones, etc., son funcionalidades que atraviesannuestro programa en varias abstracciones de éste. Por lo tanto corremos el riesgo de caer en larepetición de código y el acoplamiento entre nuestra lógica de negocios y la implementaciónde los cross-cutting concerns.La AOP (Aspect-Oriented Programming) busca modularizar estos servicios y aplicarlosde manera declarativa a los componentes que deban afectar.Módulos de SpringSpring Framework comprende diversos módulos que proveen un rango de servicios:Contenedor de inversión de control: permite la configuración de los componentes deaplicación y la administración del ciclo de vida de los objetos Java, se lleva a caboprincipalmente a través de la inyección de dependencias.Programación orientada a aspectos: habilita la implementación de rutinas transversales.
  15. 15. Acceso a datos: se trabaja con RDBMS en la plataforma java, usando Java DatabaseConnectivity y herramientas de Mapeo objeto relacional con bases de datos NoSQL.Gestión de transacciones: unifica distintas APIs de gestión y coordina las transaccionespara los objetos Java.Modelo vista controlador: Un framework basado en HTTP y servlets, que proveeherramientas para la extensión y personalización de aplicaciones web y serviciosweb REST.Framework de acceso remoto: Permite la importación y exportación estilo RPC, de objetosJava a través de redes que soporten RMI, CORBA y protocolos basadosen HTTP incluyendoservicios web (SOAP).Convención sobre configuración: el módulo Spring Roo ofrece una solución rápida para eldesarrollo de aplicacionesa basadas en Spring Framework, privilegiando la simplicidad sinperder flexibilidad.Procesamiento por lotes: a framework for high-volume processing featuring reusablefunctions including registro/trazado, transaction management, job processing statistics,job restart, skip, and resource management.Autenticación and Autorización: procesos de seguridad configurables que soportan unrango de estándares, protocolos, herramientas y prácticas a través del subproyecto SpringSecurity (formalmente Acegi Security System for Spring).Administración Remota: Configuración de visibilidad y gestión de objetos Java para laconfiguración local o remota vía JMX.Mensajes: Registro configurable de objetos receptores de mensajes, para el consumotransparente desde la a través de JMS, una mejora del envío de mensajes sobre las APIJMS estándar.Testing: Soporte de clases para desarrollo de unidades de prueba e integración.
  16. 16. El diagrama muestra los módulos con los que cuenta Spring (hasta la versión 2.5). En sunúcleo (Core) se encuentra el BeanFactory – el contenedor fundamental de Spring y quien seencarga de la inyección de dependencias. El contenedor ApplicationContext se basa enBeanFactory y extiende su funcionalidad con soporte para i18n, eventos de ciclo de vida,validación y mejor integración con AOP.AOP – provee la implementación de AOP, permitiéndonos desarrollar interceptores demétodo y puntos de corte para desacoplar el código de las funcionalidades transversales.DAO - Provee una capa de abstracción sobre JDBC, abstrae el código de acceso a datosde una manera simple y limpia. Tiene una capa de expeciones sobre los mensajes de errorprovistos por cada servidor específico de base de datos. Además cuenta con manejo detransacciones a través de AOP.ORM – Provee la integración para las distintas APIs de mapeo objeto-relacionalincluyendo JPA, JDO, Hibernate e iBatis.JEE – Provee integración con aplicaciones Java Enterprise Edition así como serviciosJMX, JMS, EJB, etc.
  17. 17. Web – Módulo que aporta clases especiales orientadas al desarrollo web e integracióncon tecnologías como Struts y JSF. Cuenta con el paquete Spring MVC, una implementación delconocido patrón de diseño aplicando los principios de Spring.Otras características spring frameworkEl Spring Framework ayuda a construir aplicaciones Java más rápido, ya que le permitecentrarse en su problema de negocio en lugar del código de plomería que se conectacomponentes y sistemas. Las características incluyen:WEB MODERNOAplicaciones Web desempeñan un papel crucial en la mayoría de las estrategias deaplicación hoy en día: una aplicación web es una de las más grandes y mejores vías por las quela gente consume su aplicación, y una aplicación web es el punto de extensión natural devincular clientes móviles o rico para su aplicación. Si Java es el lenguaje de la Web, acontinuación, la primavera es sin duda su marco.SENCILLEZSpring MVC, que es parte del framework Spring core, es la tecnología líder para lacreación de aplicaciones web. Spring MVC proporciona un modelo de componentes limpia quehace que la construcción escalables y aplicaciones web que son comprobables, y basado en lasmejores prácticas de una brisa. Al adoptar convención sobre configuración, consiguiendo unSpring MVC aplicación en ejecución puede ser tan simple como un par anotaciones y el registrode la MVC servlet primavera.FLEXIBILIDADMientras que es súper simple para empezar, Spring MVC es también muy flexible conprobado y verdadero soporte para todo tipo de casos de uso de la seguridad de laadministración de sesiones, la manipulación formulario y validación de la gestión de diseño.Spring MVC también sirve como base para el Flujo de la primavera Web , que proporciona unaforma limpia para gestionar la navegación del mago-estilo en una aplicación web, y laprimavera de Flex , que proporciona la forma más fácil y más potente para crear aplicacionesRIA basadas en Flex de Adobe.
  18. 18. DATA ACCESSSpring proporciona apoyo declarativo, anotación impulsada por preocupacionestransversales como las transacciones y almacenamiento en caché. Spring también proporcionaobjetos convenientes de la plantilla que reducen las interacciones API con la mayoría de losalmacenes de datos de una sola línea. Estos objetos de la plantilla le permiten centrarse en latarea a mano y de forma transparente a cuidar de las tareas típicas de código repetitivo de lastecnologías de acceso a datos, como la adquisición de la conexión, la creación de sesiones y laspreocupaciones de concurrencia.Spring también proporciona una API unificada que desacopla el almacenamiento encaché de la elección de la tecnología de persistencia (en comparación con otras soluciones depersistencia que apoyan la tecnología específica para los idiomas caché común como escriturasimultánea y la lectura a través).INTEGRACIÓNSpring ofrece un amplio soporte para la integración exige a las aplicaciones de hoy endía, proporcionando un modelo simple para la construcción de soluciones de integraciónempresarial, manteniendo la separación de intereses que es esencial para producirmantenible, código comprobable.Soluciones de integración de Spring ligeros, probadas en el campo incluyen:Integración de Spring para la construcción asíncronos, aplicaciones orientadas a eventos (ypara la integración con los marcos de RPC si eso es más su estilo), Spring Batch para la lectura yescritura de forma fiable grandes cantidades de datos, y Spring Web Servicios para interoperarcon los servicios web basados en SOAP, contrato a primera.MOBILEEl mundo está cambiando. Más personas consumen Internet a través de susdispositivos móviles de hoy en día que a través de sus navegadores de escritorio. Su negociono puede permitirse el lujo de ignorar este nuevo mundo, móvil y con el framework Spring.Soporte móvil de Spring es de múltiples facetas. Spring MVC y Spring Mobile hacen entregacondicional vistas móviles específicas del cliente en un instante. Este enfoque es muy potentey es la forma más fácil de mobile-habilitación mayoría de las aplicaciones web construidassobre Spring MVC.
  19. 19. Sin embargo, usted puede (y debe) dar un paso más allá: Spring MVC proporcionasoporte REST rico, que puede ser utilizado como la unión entre un cliente móvil puro y laaplicación de fondo desplegado en el servidor. Todos los clientes móviles - ya sea J2ME,Windows Phone 7, Blackberry, Android o iOS - apoyo a la comunicación RESTful. Además, lasplataformas que proporcionan una plataforma de aplicaciones centradas en HTML 5 puedenaprovechar estos servicios REST con facilidad directamente desde HTML5 y el Ajax. Si ustedestá construyendo las aplicaciones de Android, en particular, el proyecto Android Springproporciona una versión compatible con Android ligero del cliente de REST, la RestTemplate ,que se incluye con el framework Spring core.SOCIALEl Spring Social Proyect proporciona la conectividad y el marco de la autorización parainteractuar con todo tipo de API de proveedor de servicios, como Facebook, Twitter, Google+,LinkedIn, y muchos, muchos más. Spring Social puede ayudarle a conectar su solicitud si ustedestá construyendo una aplicación de escritorio, un Android o aplicaciones móviles o unaaplicación web.Los proveedores de servicios de hoy por lo general exponen su API que utilizan OAuth.OAuth a su vez cuenta con dos versiones, versión 1 y 2, y cada versión tiene varios proyectosde especificaciones que se adhieren libremente de varias APIs. Spring Social ofrece la mássuave, paseo más constante posible para los desarrolladores que buscan aprovechar estas API,a pesar de todas estas especificaciones inconsistente.SEGURIDADSpring Security proporciona el marco de seguridad más robusta disponible para losdesarrolladores de Java de la empresa hoy en día. Spring Security proporciona SPI enchufablespara gestionar la autorización y la autenticación con numerosas implementaciones prácticasprevistas fuera de la caja. Spring Security integra sistemáticamente con todas las tecnologíasde primavera, incluyendo Spring MVC, Integración Spring, Web Spring Services, y la Spring deFlex. Ya sea que usted está tratando de auditar los mensajes a medida que viajan a través deun flujo de integración, acordonar parte de la aplicación web de los visitantes no deseados, oimpiden la invocación de métodos de la API de hilos no autorizados, Spring Security, sin duda,tiene algo que ofrecer.
  20. 20. CLOUD READYSpring elimina la costra repetitiva en el típico Java empresarial, y una nube utilidadtiene el potencial de eliminar el mismo peso muerto de su infraestructura.Spring funciona de forma fiable y consistente en todos los proveedores de laplataforma-como-un-servicio, incluyendo el líder de la industria Cloud Foundry , BeanstalkAmazon Web Services, y App Engine de Google, entre muchos otros. La mayoría de ofertas dePaaS varían en las tecnologías compatibles, pero tienen siempre un servidor de aplicacionesligeras como Apache Tomcat o embarcadero en el centro de sus tiempos de ejecución. Algenerar la aplicación en primavera, puede aprovechar la modularidad y la agilidad que estasofertas de PaaS ofrecen.Mientras que las aplicaciones de Spring se pueden hacer fácilmente para trabajar concasi cualquier PaaS por ahí (incluso en Google App Engine, que ofrece un subconjunto muyrestrictiva de la típica JDK!), Goza de un lugar en el sol en Cloud Foundry. Una aplicación típicaSpring requerirá ningún cambio en empezar a trabajar en CloudFoundry y, una vez allí,pueden aprovechar los almacenes de datos best-of-breed como PostgreSQL, MySQL, MongoDBo Redis y RabbitMQ, el intermediario de mensajes de liderazgo en la nube.
  21. 21. __CAPITULO III MARCO PROPOSITIVO (PROPUESTA)Estudio de ViabilidadIntroducciónAnalizando el ritmo laboral de los profesionales en nuestro medio, pudimos identificarque el medico requiere coordinar de una manera su tiempo, para lo cual necesita lainformación de pacientes y de sus citas médicas, por esta razón nuestra propuesta estáorientada para las personas involucradas en el área de salud.Los médicos están en constante actividad y con agendas ocupadas, con el afán dedesarrollar una aplicación con el framework Spring pensamos en un sistema que les facilite lacomunicación con los puntos médicos, consultorios u hospitales y de esta manera el medicopueda gestionar de mejor manera sus actividades laborales.Actualmente las personas que administran la atención médica recurren a los mensajesa redes sociales, correo electrónico, SMS o llamadas a celular, para esto con un teléfonoconvencional o celular a la mano para poder comunicarse con el médico.
  22. 22. __Descripción de la propuestaHoy por hoy vivimos en una era donde es importante tener el acceso oportuno y verazde la información, la misma que nos permite alcanzar la eficiencia en el servicio a nuestrosclientes. Nuestro producto se enfoca en satisfacer esa necesidad al profesional médico, que lepermite la facilidad en la administración de su jornada laboral.El profesional médico puede tener acceso a sus citas programadas, observaciones,fichas médicas, alergias, etc. Pero lo más importante es que nuestra aplicación le permitevisualizar esta información desde cualquier lugar que se encuentre, en el momento oportunoen que la requiere.Supongamos que muy temprano por la mañana un paciente llama a su médicotratante y le dice que se siente mal, que no soporta el dolor de cabeza, que no puede esperar ala cita que tiene en la tarde, entonces el medico (que no recuerda los antecedentes delpaciente y además que se encuentra fuera de la ciudad) consulta la ficha clínica del paciente,lo cual le ayuda a prescribir la medicina apropiada para disminuir el dolor hasta la tarde que letoca la consulta.Esta aplicación ha sido desarrollada bajo una arquitectura orientada a la web,multiusuario, framework Spring, el entorno Eclipse, con una interfaz muy amigable y sencilla.
  23. 23. ____Alcances de la propuestaNuestra aplicación está enfocada en proporcionar una administración de citas médicasy la consulta del historial médico de un paciente utilizando la tecnología de Internet, para asídisponer de información veraz y oportuna, sobre las citas y fichas medicas de los pacientesdesde cualquier lado que se encuentre el médico, con la ayuda de una secretaria o asistenteque pueda gestionar eficientemente la información vía Web.Utilizaremos una conexión vía web desarrollado con un framework Spring en elentorno Eclipse, brindando así un sistema con tecnología de punta que permita al profesionalutilizar sus equipos portátiles.El uso de web incrementa la posibilidad de intercambiar información, pero tambiénaumenta la posibilidad de ataques a la misma, por lo que el proteger los datos es unanecesidad prioritaria, ya que al ser el aire el medio por el cual viaja la información cualquierpersona está en posibilidad de alterarla y/o robarla, por lo que es necesario proveer seguridadque permita proteger la información y así satisfacer las demandas de seguridad de losusuarios.
  24. 24. __Recursos necesariosMantenemos bien en claro que estos recursos son un conjunto de personas, bienesmateriales, financiero y técnico con que cuenta y utiliza una dependencia, entidad, uorganización para alcanzar sus objetivos y producir los bienes o servicios que son de sucompetencia.HumanosPara nuestro proyecto contamos con el recurso humano de los interesados en llevar acabo esta investigación, es decir, los Integrantes y los Naturales:Integrantes: Mera Guaranda Yandry Xavier Ortega Rodríguez Alexis Iván Palma Guale Irving José Samaniego Moncayo Isabel Vera Burgos Elsa PatriciaNaturales: Ing. Jorge Pincay Docente de la Materia MédicosMaterialesLos materiales a considerarlos útiles para esta investigación son los siguientes: Hojas, Esferos, lápices, calculadora, borrador, etc. Computadora de escritorio, laptop. Impresora Cámara fotográficaTecnológicos
  25. 25.  Uso del computador Uso de impresora Flash Memory Herramientas para el desarrollo de aplicaciones en Androido Eclipse IDEo Android SDKo JDKo ADT-20.0.3EquipamientoLos equipamientos son los que nos van a permitir realizar reuniones grupales con el finde recopilar información. Transporte Internet Teléfono Luz
  26. 26. __BibliografíaInformación y definiciones.http://www.enter.co/saluddigital/5-aplicaciones-moviles-para-monitorear-y-mejorar-su-salud/http://es.wikipedia.org/wiki/Factibilidadhttp://prezi.com/cn49srobn9dy/factibilidad-operacional-economica-tecnica-y-legal-de-los-sistemas/http://www.trabajo.com.mx/factibilidad_tecnica_economica_y_financiera.htm

×