sábado, 14 de abril de 2012

DIFERENTES ARQUITECTURAS


La Arquitectura SOA establece un marco de diseño para la integración de aplicaciones independientes de manera que desde la red pueda accederse a sus funcionalidades, las cuales se ofrecen como servicios. La forma más habitual de implementarla es mediante Servicios Web, una tecnología basada en estándares e independiente de la plataforma, con la que SOA puede descomponer aplicaciones monolíticas en un conjunto de servicios e implementar esta funcionalidad en forma modular.



Arquitectura SOA para aplicaciones empresariales


Cuando queremos diseñar una aplicación empresarial podemos adoptar dos estrategias  de desarrollo claramente diferenciadas: diseño orientado a objetos o un diseño orientado a servicios.  Aunque estos paradigmas son en cierto sentido antagónicos, ambos son perfectamente válidos para construir aplicaciones, cada uno con sus ventajas e inconvenientes.
La programación orientada a objetos (POO), consiste en intentar modelar el sistema mediante objetos que representan cosas del mundo real mediante el encapsulamiento de unos datos y un comportamiento relacionados con el dominio del problema que queremos resolver. Estos objetos se conocen como objetos de dominio de la aplicación, que tendrán más o menos complejidad en función de las características del proyecto que estemos desarrollando. Este patrón de diseño es conocido como Domain-Driven Design (DDD).
Una alternativa a DDD es la Arquitectura Orientada a Servicios (SOA). Podríamos decir que la mayoría de las aplicaciones JavaEE que se construyen hoy en día tienen este tipo de arquitectura, que pone el foco en la definición y abstracción de funcionalidades en componentes más sencillos, con interfaces bien definidos, y promueven la separación (desacoplamiento) de las capas específicas de la aplicación.


Beneficios del Software Saas y Cloud Computing




El usuario se despreocupa del mantenimiento:

Beneficios del software saas y cloud computing
El usuario, una vez contratado el servicio, no debe preocuparse de actualizaciones ni del mantenimiento de la aplicación. El proveedor se encargará de que se apliquen las mejoras en el servicio. Además, al estar alojado en el servidor del proveedor, él se responsabiliza de la seguridad y de las copias de seguridad de los datos.

Accesible desde cualquier lugar en cualquier momento:
Mientras haya acceso a Internet, ya sea desde el ordenador o móvil, el usuario podrá acceder a su cuenta. Ya que estos servicios online están siempre disponibles, 24 horas al día y 7 días a la semana. No hace falta estar en la oficina para acceder.

No necesita instalación:
No hace falta instalar nada, al contrario de los programas de escritorio, pues el Software SaaS y el Cloud Computing están en la nube. Indistintamente del Sistema Operativo que tenga, solo se necesita un navegador web para conectarse a la aplicación.

Sin inversiones iniciales:
Ahorro en Hardware y Licencias. El sistema de pago se hace mediante alquiler, solo se paga por el uso dado a la aplicación, se comparte el gasto con los demás usuarios. El Software Saas y el Cloud Computing ponen a la disposición del cliente potentes aplicaciones con un gasto mínimo.

Mayor disponibilidad y seguridad de los datos:
Es necesario para una empresa gestionar la seguridad de su red, procedimientos de backup, restore y en general de planes de contigencia en caso de perdida de información o de fallo del hardware, pero es algo que para las empresas puede resultar una tarea pesada y molesta, ya que las amenazas se renuevan continuamente, y es algo que debe de ser constantemente actualizado. La mayoría de la empresas que ofrecen software como servicio ofrece un SLA ( acuerdo nivel del servicio) a medida para cada tipo de empresa.

La empresa centra sus esfuerzos en su negocio
Consiste en externalizar todos los trabajos necesarios para garantizar el correcto funcionamiento diario de su red. Este servicio posibilita optimizar sus proyectos por medio de la gestión externa por parte de personal especializado, hasta el punto de no dedicar esfuerzos en la elección y mantenimiento de los sistemas.

Mantenimiento vía conexión remota ágil y rápida
Los bugs de la aplicación, errores causados por conflictos del software cuando las aplicaciones intentan funcionar en tándem, tienen un tratamiento directo y el cliente cuenta con un servicio rápido y profesional que se dedica a realizar tareas proactivas, administrativas, reactivas, de ajustes y soporte, logrando así obtener el máximo provecho de las soluciones implementadas.

Reducción de costes de mantenimiento
Como antes hemos mencionado, solo se paga por el uso dado a la aplicación, además de pagar por solo aquello que necesites, obtienes un ahorro de costes de mantenimiento de la plataforma de maquinas y del software necesario ( BBDD, Servidor de Aplicaciones) para que tu aplicacion funcione.



ASP


La tecnología ASP está estrechamente relacionada con el modelo tecnológico y de negocio de su fabricante. Intenta ser solución para un modelo de programación rápida ya que "programar en ASP es como programar en Visual Basic y C#", por supuesto con muchas limitaciones y algunas ventajas específicas en entornos web.
Lo interesante de este modelo tecnológico es poder utilizar diversos componentes ya desarrollados como algunos controles ActiveX así como componentes del lado del servidor, tales como CDONTS, por ejemplo, que permite la interacción de los scripts con el servidor SMTP que integra IIS.
Se facilita la programación de sitios web mediante varios objetos integrados, como por ejemplo un objeto de sesión basada en cookies, que mantiene las variables mientras se pasa de página a página.
Es limitado a solo funcionar con IIS, por lo que su uso es cuestionado por la mayoría de los programadores web quienes prefieren otros lenguajes de programación del lado del servidor como por ejemplo PHP, Perl, Java Etc.



ARQUITECTURA CLIENTE - SERVIDOR


La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, que le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.








No hay comentarios:

Publicar un comentario