Anteriormente era conocido como ADO .NET Data Services,el cual es un
componente del .NET Framework. Actualmente está en la versión 5.0 y nos
permite crear servicios web y exponerlos en la Internet o Intranet con
semántica REST utilizando el protocolo OData, siendo la versión 3 la más
actual. En otras palabras utilizamos el protocolo HTTP como transporte y
los verbos GET, PUT, POST y DELETE como acciones del servicio,
dependiendo de lo requerido.
Proveedores de Orígenes de Datos
WCF Data Services permite los siguientes proveedores de modeladode datos:
1. Proveedor de Entity Framework
Este proveedor es utilizado cuando las fuentes de datos que se van a
exponer se basan en Base de Datos Relacionales, como es el caso de SQL
Server.
2. Proveedor de reflexión
En este caso se utilizan cuando los modelos de datos se basan en clases
de datos estáticas generadas en tienmpo de ejecución, como son las que
se generan con LINQ para SQL, exponiéndose como instancias de la
interfaz IQueryable. Además la actualización de las mismas se habilitan a
través de la interface IUpdatable.
3. Proveedores de servicios de datos personalizados
Cuando las fuentes de datos son generadas dinámicamente y no puede
utilizarse los 2 proveedores de datos mencionados anteriormente.
4. Proveedor de transmisiones por secuencias
"Este proveedor permite exponer tipos de datos de objetos binarios
grandes usando Servicios de datos de Microsoft WCF. Si implementa la
interfaz IDataServiceStreamProvider, se crea un proveedor de
transmisiones por secuencias. Este proveedor se puede implementar junto
con cualquier proveedor de orígenes de datos."
OData
Tecnologías de la Información
domingo, 14 de octubre de 2012
Arquitectura Modelo-Vista-Controlador (MVC)
Está arquitectura desarrollada en los años 70s para SmallTak, por lo que con ello confirmamos que no fue hecha exclusivamente para proyectos web, si no, para escritorio. Su verdadera concepción fue separar la interface de usuario, la lógica de negocio y la fuentes de datos, para facilitar su mantenimiento y extensibilidad. En esta primera etapa las tres partes estaban al lado del cliente, ya que se trabajaba localmente.
Luego, se fue implementando hacia las nuevas tecnologías hasta llegar a los proyectos web, mucho más que a los de escritorio. Par este caso la arquitectura esta implementada al lado del servidor, ya que a lado del cliente esta solamente el navegador web donde se presenta el resultado a través de la Vista, que ha sido procesada en el servidor, según los requerimientos, y entregada al usuario.
Para el caso de proyectos web RIA, que son mucho más ricas, como su nombre en ingles lo dice, la forma de desplegar esta arquitectura es tener la lógica de negocios (Controlador) y accedo a datos (Modelo) en el servidor, y la presentación (Vista) la cual tiene más código en la tradicional, es decir, que no solo el browser recepciona y envía datos, si no, que también realiza lógicas que generalmente son de control de los datos ingresados.
Debemos recalcar que actualmente está arquitectura como vemos es Cliente - Servidor. Asimismo, la ventaja por ejemplo en lo que es ASP. NET Web Forms y ASP. NET MVC, es que en la segunda se puede hacer un mejor control de las pruebas, ya que puede hacerse pruebas de código mas especificas que en los proyectos Web Forms, porque en teste último las pruebas se realizan a una funcionalidad en total, en cambio en MVC esa misma funcionalidad la podemos probar una parte específica del código o si queremos en su totalidad. Esto a hecho que otras tecnologías como PHP, Python, Ruby, Java, etc hayan desarrollado frameworks especializados en esta arquitectura.
Finalmente, podemos concluir que está no es una arquitectura que resuelve todos nuestros problemas, si no, otra herramienta que según las circunstancias y necesidades que tenemos, en algún momento de nuestra vida profesional, puede ser la mejor opción a utilizar para dar una solución en nuestra empresa o clientes.
Luego, se fue implementando hacia las nuevas tecnologías hasta llegar a los proyectos web, mucho más que a los de escritorio. Par este caso la arquitectura esta implementada al lado del servidor, ya que a lado del cliente esta solamente el navegador web donde se presenta el resultado a través de la Vista, que ha sido procesada en el servidor, según los requerimientos, y entregada al usuario.
Para el caso de proyectos web RIA, que son mucho más ricas, como su nombre en ingles lo dice, la forma de desplegar esta arquitectura es tener la lógica de negocios (Controlador) y accedo a datos (Modelo) en el servidor, y la presentación (Vista) la cual tiene más código en la tradicional, es decir, que no solo el browser recepciona y envía datos, si no, que también realiza lógicas que generalmente son de control de los datos ingresados.
Debemos recalcar que actualmente está arquitectura como vemos es Cliente - Servidor. Asimismo, la ventaja por ejemplo en lo que es ASP. NET Web Forms y ASP. NET MVC, es que en la segunda se puede hacer un mejor control de las pruebas, ya que puede hacerse pruebas de código mas especificas que en los proyectos Web Forms, porque en teste último las pruebas se realizan a una funcionalidad en total, en cambio en MVC esa misma funcionalidad la podemos probar una parte específica del código o si queremos en su totalidad. Esto a hecho que otras tecnologías como PHP, Python, Ruby, Java, etc hayan desarrollado frameworks especializados en esta arquitectura.
Finalmente, podemos concluir que está no es una arquitectura que resuelve todos nuestros problemas, si no, otra herramienta que según las circunstancias y necesidades que tenemos, en algún momento de nuestra vida profesional, puede ser la mejor opción a utilizar para dar una solución en nuestra empresa o clientes.
domingo, 7 de octubre de 2012
Arquitectura Orientada a Servicios
Arquitectura de Software que nos plantea la utilización de servicios web (Web Services) para la interconexión de dos a más sistemas a través de la publicación y consumo de los mismo en la red. Para algunos expertos los servicios deben llamarse Internet Services, ya que con el gran avance de la Internet a nivel mundial, podemos consumir servicios desde, casi, cualquier parte del planeta.
El servicio que se publica en la red para ser consumido, comparte método que en muchos casos de acuerdo a el análisis del profesional a cargo, tener la lógica del negocio o no. Lo que se recomiendo es que aquí este representada la lógica. Es muchas arquitecturas de Desarrollo como es DDD (Arquitectura Orientada al Dominio) de Microsoft, existe una capa llamada Capa de Servicios Distribuidos, donde se encuentran los Web Services del aplicativo. Asimismo, puede utilizarse en cualquier otra arquitectura la definición de Web Services.
La implementación de una Arquitectura SOA es más que la publicación de Servicios en la red, ya que existen principios que debe cumplirse para que sea reconocida. Además, dentro de las ventajas que existen, es que hay diferentes tecnologías para que puedan implementarse estos servicios, tanto con licencias GPL y propietarias. Asimismo, la existencia de estándares que son utilizados por distintas tecnologías en el mercado ayudándonos a facilitar la implementación de los mismo.
Finalmente, podemos concluir que con la reducción de las distancias mundiales a través del crecimiento de las comunicaciones y llegando a cada vez más lugares del planeta, por lo que las necesidades de servicios que cumplan con distintos requerimientos ayudarán a su crecimiento, como por ejemplo de esto es Cloud Computing.
El servicio que se publica en la red para ser consumido, comparte método que en muchos casos de acuerdo a el análisis del profesional a cargo, tener la lógica del negocio o no. Lo que se recomiendo es que aquí este representada la lógica. Es muchas arquitecturas de Desarrollo como es DDD (Arquitectura Orientada al Dominio) de Microsoft, existe una capa llamada Capa de Servicios Distribuidos, donde se encuentran los Web Services del aplicativo. Asimismo, puede utilizarse en cualquier otra arquitectura la definición de Web Services.
La implementación de una Arquitectura SOA es más que la publicación de Servicios en la red, ya que existen principios que debe cumplirse para que sea reconocida. Además, dentro de las ventajas que existen, es que hay diferentes tecnologías para que puedan implementarse estos servicios, tanto con licencias GPL y propietarias. Asimismo, la existencia de estándares que son utilizados por distintas tecnologías en el mercado ayudándonos a facilitar la implementación de los mismo.
Finalmente, podemos concluir que con la reducción de las distancias mundiales a través del crecimiento de las comunicaciones y llegando a cada vez más lugares del planeta, por lo que las necesidades de servicios que cumplan con distintos requerimientos ayudarán a su crecimiento, como por ejemplo de esto es Cloud Computing.
Sistemas Distribuidos en el Perú
En el Perú no está diversificado el concepto de Sistemas Distribuidos, ya que muchas empresas que compran sistemas lo piensan solo como una solución de una unidad de negocio y no como parte de la empresa. Un ejemplo de esto es que si revisamos el listado de empresas que están registrados en Apesoft, veremos que en el catálogo no existen empresas especializadas en Sistemas Distribuidos. Lo mas cercano son las empresas que implementan ERP. Que son más sistemas modulares y no distribuidos.
Por otro lado, podemos observar otro caso que son empresas que tienen sucursales en distintos departamentos del país, que su sistema está centralizado en Lima, si es que tienen automatizado su proceso a nivel nacional. Como te das cuenta del problema si es que te dicen que no puede atenderte porque el sistema se cayo y no tienen comunicación con la central que está en Lima.
Para llegar a tener un sistema distribuido, primero debemos empezar según mi modesto entendimiento al descentralización y dependencia de la capital. Ya que como sabemos para tener un sistema distribuido se requiere de una logística, gran inversión, pero al no tener los recursos localmente para implementarse y depender de una ciudad en exclusiva, se hace mucho más difícil implementarse.
Por otro lado, podemos observar otro caso que son empresas que tienen sucursales en distintos departamentos del país, que su sistema está centralizado en Lima, si es que tienen automatizado su proceso a nivel nacional. Como te das cuenta del problema si es que te dicen que no puede atenderte porque el sistema se cayo y no tienen comunicación con la central que está en Lima.
Para llegar a tener un sistema distribuido, primero debemos empezar según mi modesto entendimiento al descentralización y dependencia de la capital. Ya que como sabemos para tener un sistema distribuido se requiere de una logística, gran inversión, pero al no tener los recursos localmente para implementarse y depender de una ciudad en exclusiva, se hace mucho más difícil implementarse.
Suscribirse a:
Entradas (Atom)