Está en la página 1de 6

Arquetipo 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.

Patrones a utilizar en este arquetipo.

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.

Arquetipo Cloud Computing.


Conocido tambin bajo los trminos servicios en la nube, informtica en la nube, nube de cmputo o nube de conceptos, del ingls cloud computing, es un paradigma que permite ofrecer servicios de computacin a travs de Internet. En cualquier caso, Cloud Computing a nivel de plataforma significa un entrono concreto de despliegue de aplicaciones, por lo que la arquitectura lgica ser muy similar a una aplicacin desplegada en un datacenter propio, es decir, podramos seguir tambin un esquema de una Arquitectura N-Capas Orientada al Dominio si la aplicacin es compleja, o una arquitectura simplificada y RAD si la aplicacin es sencilla.

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

Plataforma Windows Azure (PassS)

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:

Aplicaciones mviles. Aplicaciones web. Aplicaciones orientadas a servicios. Aplicaciones Hibridas.

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.

Patrones a utilizar en este arquetipo.

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 Dispositivos Virtuales


Un dispositivo virtual es bsicamente cualquier combinacin de un sistema operativo con una aplicacin (conjunto de) (s) como una imagen predefinida. Esta imagen se configura automticamente durante la provisin para permitir que se ejecute como un dispositivo virtual. Ejemplo. Usando el ejemplo de plataforma de comercio electrnico, un dispositivo virtual puede ser la imagen del servidor web, construido con Red Hat Linux como sistema operativo y HTTP Apache como software de aplicacin. Durante el aprovisionamiento de la imagen, el dispositivo virtual recibe un nico nombre de host, IP, HTTP Apache configuracin (aplicacin) y el contenido que se acoge.

Patrones de Sistema Virtual


Un modelo virtual de sistema es una topologa, una disposicin de elementos diversos, de dispositivos virtuales y secuencias de comandos. La topologa puede ser vista como el modelo para una determinada combinacin de dispositivos virtuales como la interaccin entre ellos. Ejemplo. Usando de nuevo el ejemplo de plataforma de comercio electrnico, la combinacin completa de la Web, en su aplicacin, y los servidores de base de datos se potencian en un modelo virtual de sistema nico. El modelo de plataforma de comercio electrnico se especifica que se debe a disposicin el dispositivo de servidor web virtual dos veces, incluyendo el balanceo de carga para la redundancia, aprovisionamiento del dispositivo de servidor de aplicaciones virtuales en dos ocasiones, agrupado para la redundancia y el aprovisionamiento de un dispositivo de servidor de base de datos virtual dos veces, una como activa y una pasiva como para la redundancia.

Patrones de Aplicacin Virtual

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.

Patrones usados regularmente


Adapter.
Ejemplo. La contratacin de servicios de manera no controlada generara una redundancia de servicios que prestara cloud, por lo tanto adaptar proporcionara la siguiente solucin. El servicio de envoltorio no estndar puede ser sustituido por o ms envuelta con un contrato de servicio estandarizado que extrae, encapsula, y posiblemente elimina heredados detalles tcnicos del contrato.

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.