2010-10-01 13 views

Respuesta

18

SOA es una forma de desarrollar aplicaciones orientadas a servicios y WCF es una tecnología que se puede utilizar para desarrollar aplicaciones orientadas a servicios. PERO SOA define reglas estrictas (conocidas como principios de SOA) para las aplicaciones. Si no sigue estas reglas, está creando servicios, pero estos servicios no se ajustan a SOA.

WCF le permite desarrollar muchos tipos de servicios. Puede desarrollar servicios SOAP interoperables que se ajusten a SOA o que no. Puede desarrollar servicios .NET puros con funciones no interoperables y puede desarrollar servicios REST.

Además, el servicio SOA puede tener un significado diferente al de WCF. En WCF, el servicio es una colección de funcionalidades expuestas en los puntos finales. En SOA, el servicio puede ser una aplicación completa (conjunto de servicios similares a WCF): diferencia entre SOA pequeña y grande.

principios de SOA son:

  • Los límites son explícitos - servicio no comparte nada con otros servicios (incluso las tablas de bases de datos y los datos no pueden ser compartidos)
  • servicios son autónomos - cada servicio es independiente , se puede implementar por separado y versionado
  • servicios de esquema de acciones y contratos, no de clase - los servicios se describen en WSDL, transporta datos se describen en XSD, orquestaciones (agregación) se describen en BPEL compatibilidad
  • servicios se basa según la política: WSDL contiene WS-Policies para describir la configuración necesaria para la interoperabilidad

Como ve especialmente, los dos primeros principios se pueden violar fácilmente al crear el servicio WCF.

+0

significa que también podemos crear aplicaciones SOA en servicios web, ¿por qué la palabra SOA solo se adjunta con la definición WCF? –

+0

Sí, puedes. La palabra generalmente se adjunta a WCF porque reemplaza los servicios web ASMX y porque ofrece protocolos mucho más interoperables. –

0

WCF es una tecnología que facilita los servicios de construcción, y funciona en todos los transportes, no solo en HTTP, por lo que es más genérico que los servicios web que solo funcionan en Http.

+0

web service support only http ptotocal y WCF es más genérico, está bien, pero quiero saber cómo saber qué tecnología es compatible con SOA. Cómo podemos decir que WCF es SOA y que el servicio web no lo es. Actualmente, en la definición de WCF, la mayoría de los sitios están utilizando SOA para definirlo ¿por qué? –

5

SOA es una forma de diseñar una solución completa, es un conjunto de prácticas comúnmente aceptadas para la comunicación, administración del estado, compatibilidad, etc. Específicamente en arquitectura de software, SOA es un conjunto de servicios (no necesariamente servicios web) que están construidos de forma independiente para admitir una variedad de aplicaciones de clientes. El diseño modular ayuda al mantenimiento, la colaboración empresarial. SOA también ofrece algunas pautas para el desarrollo:

  • restricciones sobre compatibilidad con versiones anteriores de exposición
  • metadatos
  • detectabilidad de los servicios

Por otro lado, WCF es sólo una tecnología de apoyo que le ayuda construir los servicios en .NET.

Puede crear una SOA sin WCF, del mismo modo que crear un conjunto de servicios WCF no hace que su arquitectura sea orientada a servicios.

1

SOA es solo un método a través del cual podemos interactuar entre diferentes tecnologías como en .NET y JAVA usando los servicios web. Para esto debes ser un conocimiento en algunas cosas que se muestran a continuación.

  1. XML
  2. WSDL
  3. UDDI
  4. de SOAP

después de conocer estas cosas que se pueden aplicar fácilmente esta SOA

1

arquitectura orientada a servicios es un concepto de arquitectura de software en uno o más servicios interactúan entre sí. Aquí, servicio significa unidad de trabajo para lograr un propósito. Por ejemplo, vender un boleto en línea para ferrocarriles es un servicio, la reserva de hotel en línea es un servicio, obtener un pago en línea es un servicio, etc. Ahora, consideremos una compañía hotelera que vende sus habitaciones en línea desde su propio sitio web. En este caso, el sitio web está utilizando un servicio local. El mismo hotel también puede vender habitaciones a través de un portal de viajes de terceros. En el segundo caso, el portal de viajes de terceros está utilizando un servicio remoto o un servicio web. Vender reservas de hotel en línea a través de un portal de viajes es un ejemplo de Service Oriented Architecture. En la arquitectura orientada al servicio, dos o más partes interactúan entre sí utilizando servicios web. Entre ellos, pocos son proveedores de servicios web y pocos son consumidores de servicios web. Un componente de software se puede construir siguiendo la arquitectura orientada a servicios mediante el uso de servicios web. WCF es una tecnología para construir un servicio.

Cuestiones relacionadas