Arquetipo Cloud y Servicios
Arquetipo Cloud y Servicios
Arquetipo Cloud y Servicios
Son aplicaciones pensadas para ser utilizadas por otras aplicaciones. Las aplicaciones externas consumen los servicios que ofrece nuestra aplicacin. Ofrecen una interfaz muy desacoplada. Se podra decir que una aplicacin web es una aplicacin de servicios con interfaz grfica integrada. Concejos para tomar como decisin la utilizacin de este patrn. La aplicacin expondr una funcionalidad que no requiere de interfaz grfica. La aplicacin debe estar muy desacoplada de los clientes. La aplicacin debe ser compartida o consumida por otra aplicacin. La funcionalidad de la aplicacin debe ser consumida a travs de la red.
Los servicios son sistemas que estn pensados para que otros programas lo utilicen remotamente, este tipo de sistemas ofrece un conjunto de funcionalidad a con un nivel de acoplamiento muy bajo, para ello emplean una interfaz basada en mensajes, de esta forma las caractersticas de la comunicacin pueden ser acordadas en tiempos de ejecucin lo que permite un desacoplamiento total entre el sistema que oferta el servicio y las aplicaciones que lo consumen. Podemos entender cada servicio ofertado como una llamada remota a un mtodo que efecta algn cambio en el estado en el servidor o que devuelve un resultado.
Es importante tener en cuenta todos los aspectos relativos a seguridad, formatos, entornos, etc. De los servicios. Un servicio puede ser desplegado a travs de internet, en una intranet, en una mquina local o en cualquier combinacin de las tres posibilidades. Los servicios desplegados a travs de internet requieren decisiones sobre autorizacin, autenticacin, lmites de zonas de seguridad, etc. Usando para ellos claves, certificados, etc. Consideraciones comunes a la hora de disear una aplicacin de servicios. Disear operaciones generales. Disear entidades extensibles. Preparar las entidades de servicio con tipos bsicos. Disear solo para el contrato del servicio. Disear el servicio asumiendo la posible llegada de peticiones incorrectas.
Separar las responsabilidades de la lgica de negocio de las responsabilidades de la infraestructura de servicios. Asegurar de que el servicio soporta la llegada de mensajes repetidos. Asegurar de que el servicio soporta la llegada de mensajes desordenados. Disear servicios orientados a la aplicacin y no a componentes especficos. Desacoplar la interfaz del servicio de su implementacin. Las aplicaciones de servicios deben tener lmites muy claros. Los servicios deben ser autnomos. LA compatibilidad del servicio debe estar basada en polticas.
FACHADA. Ejemplos. Una capa que implementa el API del servicio que ser visto por los clientes externos. Cdigo especifico que use las libreras o sistemas internos para que se pueda cumplir la API simplificada del servicio. ADAPTER. Ejemplos. Una capa que exponga la API del sistema anticuado usando REST. Rutinas de transformacin de datos de entrada y salida, para que funcionen con el sistema anticuado. Cdigo para manejar los errores originados en el sistema anticuado.
FACTORY Este patrn tambin se suele utilizar con el patrn Service Cache para aportar una mayor flexibilidad en el mantenimiento de las aplicaciones que utilizan servicios Web, aportando un mayor ROI a las aplicaciones.
Cloud Computing es la evolucin de SaaS y PaaS hacia un entorno de despliegue ms dinmico y auto-servicio. Uno de los ejemplos ms claros es el correo electrnico como Hotmail.
Ventajas de Cloud Computing Gestion automtica de la infraestructura hardware. Traslado de los costes capitales a costes operacionales (CAPEX -> OPEX). Pago por consumo. Reduccin de costes. Escalabilidad. Consumo ajustado a la demanda. Alta disponibilidad (Infraestructura virtualizada).
Desventajas de Cloud Computing Las capacidades de configuracin son limitadas. La conexin a la red es imprescindible. La confidencialidad de la informacin no est garantizada. No existe interoperabilidad directa entre distintos Cloud Providers. La autora es difcil de realizar. No existe contadores de rendimiento para realizar mtricas.
Ejemplo
Es el software como servicio es una de las modalidades ms importantes de la computacin en la nube. Consiste en una aplicacin de software ofrecida totalmente por Internet, con todas las funcionalidades y para todos los clientes que lo soliciten. Tipos de aplicacin ms adecuados para el cloud computing son:
La infraestructura en niveles de los cloud providers nos influencia a la hora de elegir los estilos arquitecturales para una aplicacin, la norma en las aplicaciones en la nube es hacer un desarrollo en N-Capas con una capa de acceso a los datos y una capa de negocios fijas y una capa de servicio opcional para los casos en los que sea necesario como aplicaciones RIA, hibridas u orientadas a servicios.
La utilizacin de patrones en cloud depender del servicio que se est ofertando en la nube, esto puede variar desde un servidor de base de datos, servicio web, servidor de aplicaciones, entre otros servicios ms. De esta manera se puede clasificar en tres tipos. Los Dispositivos Virtuales Patrones de Sistemas Virtuales Patrones de Aplicaciones Virtuales
Los Patrones de Aplicacin Virtuales, en el contrato a los Patrones de Sistemas Virtuales, son aplicaciones basadas en patrones en vez de basada en las infraestructuras. Este tipo de patrn basado en la aplicacin de patrn consta de componentes, enlaces y polticas. Los componentes pueden ser vistos como plataforma de servicios gestionados como base de datos como un servicio de aplicaciones empresariales como un servicio y aplicacin web como un servicio, los enlaces son las conexiones entre los componentes y las polticas de describir las configuraciones especficas de los componentes como la ampliacin elstica y registro. Ejemplo Usando el ejemplo de plataforma de comercio electrnico, una vez ms, se puede, por ejemplo, sustituir el aprovisionamiento de las dos aplicaciones de servidor de bases de datos virtuales en la topologa anterior usando una base de datos de plataforma como servicio. En realidad, se podra sustituir los tres dispositivos virtuales con slo una topologa de un servicio web, el servicio de aplicaciones y servicios de bases de datos. Tenga en cuenta el excelente servicio, esto es esencial para los patrones de aplicacin virtual.
Estrecha conexin entre la lgica de servicio tanto a la API legado y el contrato de servicio alivia los consumidores de servicios de acoplamiento implementacin.
Facade.
Este patrn proporcionara una solucin ante el problema de que si un servicio deba acomodar cambios en su contrato o aplicacin al mismo tiempo a la lgica del servicio central de evolucionar de forma independiente, dando la siguiente solucin ante el problema de. Un componente de fachada de servicio se utiliza para abstraer una parte de la arquitectura de servicio con potencial de acoplamiento negativo.
Lgica fachada se coloca en entre el contrato y la lgica del servicio bsico. Esto permite que la lgica de servicio bsico para permanecer desacoplado del contrato.
Conclusiones: En los arquetipos referentes a cloud se utiliza varios patrones diferentes a os vistos en clases, los cuales facilitan y aguilita la utilizacin de los servicios que ofrece cloud. Los arquetipos utilizan mayormente los patrones facade y adapter en las reas de contratacin de servicios y actualizacin de servicios los cuales son solicitados por los clientes. En los arquetipos que hace referencia a los servicios se utiliza mayormente los patrones que utiliza cloud, ya que son semejantes, se podra decir que los dos ofrecen servicios, de forma fsica en cuanto a los servicios y cloud de manera virtual, utilizando de igual forma los patrones facade y adapter ya que facilitan la administracin de los servicios que ofertan.