Upload
ana-maria-san-martin-avila
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
Your Business, ConnectedSu Negocio, Conectado
WCF y su relación con BizTalk Server 2006 R2
Israel Garcia / Pablo JuncoApp. & Plat. Development ConsultantsMicrosoft Services
Your Business, ConnectedSu Negocio, Conectado
Prerequisitos de la sesión
Algunas experiencias básicas asumidasWindows Communication Foundation ;)BizTalk Server 2004/2006
Your Business, ConnectedSu Negocio, Conectado
Agenda
Windows Communication Foundation (WCF)Introducción a WCF
InterfacesContratosImplementación
ComunicacionesCanalesBindings (Caracteristicas)
TransaccionesSeguridad
ExtensibilidadBehaviorsAutorización y AutenticaciónProxies Cliente
Configuración
Demostración
Your Business, ConnectedSu Negocio, Conectado
Agenda (cont)
Relación con BizTalk Server 2006 R2Conceptos principalesPues eso, como se relacionan Adaptadores de transporte de WCF para BizTalk Server
Demostración todo junto
Your Business, ConnectedSu Negocio, Conectado
Windows Communication Foundation (WCF)
Your Business, ConnectedSu Negocio, Conectado
Introducción a WCF
Your Business, ConnectedSu Negocio, Conectado
Interfaces
Es el punto de entrada para consumir un servicio.Desacoplan el uso del servicio de la implementación del mismo.Facilitan la integración se sistemas.
Seguridad
Servicios
InterfazTransaccione
sComunicacione
s
Contratos
Your Business, ConnectedSu Negocio, Conectado
Contratos
Establecen un lenguaje común.Los contratos definen una semántica de negocio, abstrayéndonos de la complejidad técnica.Facilitan la integración.
Seguridad
Servicios
InterfazTransaccione
sComunicacione
s
Contratos
Your Business, ConnectedSu Negocio, Conectado
Implementación
Es el punto donde procesamos técnicamente el negocio descrito por el servicio.Un servicio puede ser un punto y final o un punto y seguido en una cadena de elementos que colaboran en un sistema.
Seguridad
Servicios
InterfazTransaccione
sComunicacione
s
Contratos
Your Business, ConnectedSu Negocio, Conectado
WCF: Soluciones completas
WCF nos provee de todos los elementos para construir una solución.WCF facilita la construcción de servicios separando Interfaz, Implementación y Contratos.WCF también nos facilita independizar la implementación del uso de Aspectos como la Seguridad, Transacciones, Comunicaciones, etc.WCF es un Framework Extensible.
Your Business, ConnectedSu Negocio, Conectado
WCF: Soluciones completasNegocio
Interfaces y ContratosPolíticas de Servicio, Namespaces, …
ImplementaciónAspectos: Transacciones, Seguridad, …Extensibilidad mediante Behaviors e Inspectors
ComunicacionesProtocolos: TCP, HTTP, …Seguridad, Garantía de Entrega, Routing, …
HostingIIS, WAS, Windows Service, COM+, …
Your Business, ConnectedSu Negocio, Conectado
Comunicaciones en WCF
Your Business, ConnectedSu Negocio, Conectado
WCF Communication Runtime
ClienteLos proxies cumplen la interfaz de servicio y nos independizan del uso de la tecnología.Los proxies son generados fácilmente en Visual Studio 2008/2005 (con Extensiones)Podemos intervenir en el proceso de envío y en tratamiento del mensaje.Podemos aplicar características de enrutado, seguridad, factorías de canales,…
ServicioCliente
Método Método Métodos Métodos
protocolo
protocolo
codificación
transporte
protocolo
protocolo
codificación
transporte
Capa de
Servicio
Capa de Mensajería
Proxy Dispatcher
0101101
Cadena de datos en bytes
Objetos
Mensaje
Pila del canal Pila del canal
Mensaje
Objetos
Your Business, ConnectedSu Negocio, Conectado
WCF Communication Runtime
ServicioEl servicio solo se compone de la implementación de la interfaz. El “listener” nos abstrae de la comunicación, seguridad, …Podemos ampliar el sistema con nuestros propios protocolos.Podemos intervenir en el proceso de recepción y en tratamiento del mensaje.
ServicioCliente
Método Método Métodos Métodos
protocolo
protocolo
codificación
transporte
protocolo
protocolo
codificación
transporte
Capa de
Servicio
Capa de Mensajería
Proxy Dispatcher
0101101
Cadena de datos en bytes
Objetos
Mensaje
Pila del canal Pila del canal
Mensaje
Objetos
Your Business, ConnectedSu Negocio, Conectado
WCF Communication Runtime
Windows Communication Foundation se basa en 3 principios: el ABC.
Address: El servicio se expone mediante un direccionamiento de solicitudes.Contract: El contrato del servicio se compone de Interfaz y Contrato de datos.Binding: Protocolo que utilizamos para conectarnos.
Windows Communication Foundation hace uso del ABC para exponer adecuadamente nuestro servicio para cada tipo de protocolo. El sistema se encarga de manera transparente de resolver:
El acceso de los clientes a través de la resolución de la cadena de llamadas (ABC -> ABC). A su vez el servicio expuesto resuelve la petición contra nuestra implementación de manera transparente.
Exponer el contrato en el formato adecuado para exponerlo hacia terceros (WSDL en servicios Web) y que se puedan consumir sin conocer detalles de la implementación.
Your Business, ConnectedSu Negocio, Conectado
Enlaces (bindings) WCF
Notas: X = No soportado, WS-A = WS-Addressing, WS-AT = WS-AtomicTransactions, OleTx = OleTransactions
* Flujo de transacciones esta deshabilitado por defecto, pero cuando se habilita, hay unos protocolos por defecto
Nombre de clase Transporte Codificación del mensaje
Versión del mensaje
Modo de seguridad
Garantía de Entrega
Flujo de Transacciones *
BasicHttpBinding HTTP XML 1.0 SOAP 1.1 Nada X X
WSHttpBinding HTTP XML 1.0 SOAP 1.2WS-A 1.0
Mensaje Desabilitado WS-AT
WSDualHttpBinding HTTP XML 1.0 SOAP 1.2 WS-A 1.0
Mensaje Habilitado WS-AT
WSFederationHttpBinding HTTP XML 1.0 SOAP 1.2 WS-A 1.0
Mensaje Disabled WS-AT
NetTcpBinding TCP Binario SOAP 1.2 Transporte Desabilitado OleTx
NetNamedPipes-Binding Named Pipes Binario SOAP 1.2 Transporte X OleTx
NetMsmqBinding MSMQ Binario SOAP 1.2 Mensaje X X
CustomBinding Tú decides Tú decides Tú decides Tú decides Tú decides Tú decides
Your Business, ConnectedSu Negocio, Conectado
Routing (Encaminamiento)
Encaminar para integrar y reutilizarSolo es requerido un punto de entradaSimplifica la extensión de arquitecturas SOA
Patrones de aplicaciónCanal (Bus) de MensajeríaFachada
Dos niveles de seguridadConsumición de servicios: Identidad del llamanteEntrega de mensajes: Identidad del sistema
La entrega no esta garantizada
Interfaz de encaminamiento
[RouteMatchFilterBehaviorAttribute()][ServiceContract(SessionMode = SessionMode.Allowed)]interface IWS_Route{
[OperationContract(IsOneWay = false, Action = "*", ReplyAction = "*")]
Message ProcessMessage(Message message);}
Servicio de encaminamiento
public Message ProcessMessage (Message message){
Uri Via = new Uri(“http://services_host/service1”);
EndpointAddress LogicalEndpointAddress = new EndpointAddress("urn:mstx-routing");
WSHttpBinding binding = new WSHttpBinding();ChannelFactory<IWS_Route> wsRouter = new
ChannelFactory<IWS_Route>(binding);IWS_Route route =
wsRouter.CreateChannel(LogicalEndpointAddress, Via);return route.ProcessMessage (message);
}
Your Business, ConnectedSu Negocio, Conectado
Seguridad
Posibilidades estándares (WS-S)Integrada (Kerberos)Certificados digitales (X509)Usuario y Contraseña
Extensión base personalizadaDistribuida e integrada con .NET
Your Business, ConnectedSu Negocio, Conectado
SeguridadWCF nos provee cuatro alternativas de seguridad: Sin Seguridad, Seguridad de Canal de Comunicaciones, Seguridad de Mensaje, Seguridad de Canal y Mensajes.
Los niveles de seguridad dependen del canal utilizado.
En todos los casos disponemos de la posibilidad de establecer el tipo de credenciales para identificar el llamante: Kerberos, Certificados X509, UserNameAndPassword y por supuesto Custom.
Podemos extender el modelo de Autenticación y Autorización, permitiendonos manejar nuestro propio modelo de credenciales, basar el modelo de Autorización en Base de Datos o AuthorizationManager.
Seguridad (Personalizada) Interfaz de
encaminamiento[RouteMatchFilterBehaviorAttribute()][ServiceContract(SessionMode = SessionMode.Allowed)]interface IWS_Route{ [OperationContract(IsOneWay = false, Action = "*", ReplyAction = "*")]
Message ProcessMessage(Message message);}
Seguridad (Personalizada) Servicio de
encaminamientopublic Message ProcessMessage (Message message){
Uri Via = new Uri(“http://services_host/service1”);
EndpointAddress LogicalEndpointAddress = new EndpointAddress("urn:mstx-routing");
WSHttpBinding binding = new WSHttpBinding();
ChannelFactory<IWS_Route> wsRouter = new ChannelFactory<IWS_Route>(binding);
IWS_Route route = wsRouter.CreateChannel(LogicalEndpointAddress, Via);
return route.ProcessMessage (message);}
Your Business, ConnectedSu Negocio, Conectado
Transacciones
En el lado del servidorControl de la vida de la transacciónLa sesión es requeridaIndependiente del llamante
En el lado del cliente (WS-AT)Control de la vida de la transacciónIntegrado con
DTC y TransactionServicesCoordinadores
Transacciones compatibles con WS-AT
Your Business, ConnectedSu Negocio, Conectado
TransaccionesWCF nos provee de dos modelos de Transacciones: Transacciones Propagadas desde Cliente y Transacciones en Servidor.
En caso de las Transacciones Propagadas en Cliente, están asociadas a los canales de uso. Esto permite adaptar el mecanismo de propagación de transacciones a cada tipo de canal (ejemplo: WS-AT sobre SOAP 1.2/HTTP).
Este modelo se integra con los Transaction Monitor existentes en otras tecnologías. En la plataforma Microsoft el responsable de esta tarea es el DTC (Distributed Transaction Coordinator)
En el caso de las Transacciones en Servidor, son independientes del Canal utilizado. Su ciclo de vida depende de las llamadas realizadas al Servicio.
En ambos casos, el modelo de Transacciones se integra con el modelo expuesto por System.TransactionServices.
Your Business, ConnectedSu Negocio, Conectado
Extensibilidad WCF
Extensibilidad (Behaviors)
[RouteMatchFilterBehaviorAttribute()][ServiceContract(SessionMode = SessionMode.Allowed)]interface IWS_Route{
[OperationContract(IsOneWay = false, Action = "*", ReplyAction = "*")Message ProcessMessage(Message message);
}
Los Behavior son extensiones de WCF a nivel de Cliente y de Servidor, que permiten modificar el comportamiento de la runtime en el cliente y servidor.
Los Behavior son clases que cumplen una interfaz y que pueden ser aplicadas desde código, haciendo uso de un atributo y a través de la configuración.
Your Business, ConnectedSu Negocio, Conectado
Extensibilidad (Inspectores)
Los Inspectores permiten interactuar con el Mensaje tanto en cliente como en servidor.
Los Inspectores se integran permitiendonos participar en:
La fase anterior al envío y posterior a la recepción del Mensaje del cliente.La fase posterior a la recepción (antes de su procesado) y la fase anterior a la respuesta en el servicio.
Los Inspectores se pueden aplicar mediante Behaviors en los servicios.
Your Business, ConnectedSu Negocio, Conectado
demo Behaviors y Inspectores
Your Business, ConnectedSu Negocio, Conectado
Extensibilidad (Autenticación/Autorización)
Haciendo uso de las interfaces de Windows Communication Foundation podemos modificar el comportamiento en cuanto a Autenticación y Autorización en los servicios.La Autenticación puede ser adaptada y/o modificada para adecuarla a nuestras necesidades.La Autorización puede ser adaptada para trabajar con otros productos y/o soluciones como AuthorizationManager fácilmente.Estos comportamientos se aplican en cliente y servidor con el fin de conseguir una solución End To End
Your Business, ConnectedSu Negocio, Conectado
demo Custom Autentication
Your Business, ConnectedSu Negocio, Conectado
Extensibilidad (Proxies)
La infraestructura de Proxy de WCF funciona en modo factoría, de modo que crear un proxy es en sí, crear un canal.Los canales cumplen la interfaz de servicio para ocultar complejidad. La factoría de canales puede crear canales directos y canales de enrutado.Gracias a este sistema podemos hacer uso de los servicios sin disponer del código del mismo. Visual Studio genera los contratos, la definición de interfaz y el proxy para que todo funcione.Los proxy en Runtime interceptan las llamadas para poder aplicar las distintas extensiones que hemos aplicado. Esto es posible gracias a las capacidades Nativas de .NET
Your Business, ConnectedSu Negocio, Conectado
demo Factoría de Servicios
Your Business, ConnectedSu Negocio, Conectado
Configuración
Your Business, ConnectedSu Negocio, Conectado
Configuración<?xml version="1.0" encoding="utf-8" ?><configuration> <system.serviceModel> <services> <service name="Microsoft.ServiceModel.Samples.CalculatorService">
<!-- This endpoint is exposed at the base address provided by host: http://localhost/servicemodelsamples/service.svc --> <endpoint address="" binding="wsHttpBinding" contract="Microsoft.ServiceModel.Samples.ICalculator" />
<!-- The mex endpoint is explosed at http://localhost/servicemodelsamples/service.svc/mex --> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services> </system.serviceModel>
</configuration>
Las secciones de configuracion nos permiten definir los mismos elementos que desde código.
Este es un ejemplo de una definición de servicio. Esta configuración la recibe un ServiceHost por código.
Your Business, ConnectedSu Negocio, Conectado
Configuración
<system.serviceModel>, esta sección contiene a toda la configuración referente a Windows Communication Foundation.
<behaviors>, esta sección define todos los behaviors y endpointbehaviors que se quieren aplicar a un servicio.
<bindings>, esta sección define todos los bindings aplicables a un servicio. Los bindings se aplican en modo Stack.
<client>, esta sección define la configuración de los servicios a los que un cliente se puede conectar.
<comContracts>, esta sección define que COM+ puede exponer WCF y bajo que configuración.
<diagnostics>, esta sección permite habilitar los sistemas de instrumentación de WCF como WMI, contadores, trazas, etc.
<extensions>, nos permite definir extensiones como Behaviors, nuevos modelos de Binding, etc para ser utilizados en nuestros servicios.
<serviceHostingEnvironment> , nos permite configurar caracteristicas del entorno de hosting de los servicios como la compatibilidad ASPNet, memoria para activar el servicio, etc.
Your Business, ConnectedSu Negocio, Conectado
demo
Your Business, ConnectedSu Negocio, Conectado
Relación de WCF con BizTalk Server 2006 R2
Proceso CentralizadoBegin
Verify Customer
Decide
Else
ValidReport Error
Check Inventory
Decide
Else
Sufficient
End
Report Backorder
End
Decide
Backorderable
Else
Report Error
EndFulfill
Invoice
End
Receive Order
Operadores Logísticos
Clientes
EntidadesBancarias
Proveedores
SistemaRRHH
CRM
ERP
Otros Sistemas
Proceso
Servicios
Servicios
EDI / VAN
SWIF
T / V
AN
HTTP
XML / SOAP
Oracle
SAP
MSM
Q
SQL Server
Solución conceptual
Proceso
Fuente Destino
Un sist
ema
Otro si
stem
aTr
ansp
or
teTra
nsp
or
teEsq
ue
ma
Esq
ue
ma
Ruta
Ruta
Un ejemplo
Proceso Socio
A
Ad
apta
dor A
S2
ED
I
RutaSAP
Ad
apta
dor
SA
P
IDO
C
Ruta
Socio
B
WCF WS HTTP
XML
Ruta
Your Business, ConnectedSu Negocio, Conectado
Motor Principal
Arquitectura de BizTalk Server
Orquestaciones
Gestión de Instancias y Activación
Mecanismo de Suscripción/Publicación - Correlación
MessageBox
Adaptadores de Recepción y Envío
FTP
FILE
POP3
SMTP
MSMQ
WCF
HTTP
SOAP
Productos(SQL, SAP,MOSS, …)
DeTerceros
AMedida
Gestión
Configuración
Administración
Despliegue
Monitorización
Integracióncon Socios
Informes
Procesamiento de Mensajes
Validador(XML)
CodificaciónMIME / SMIME
AS2
EDI
A Medida
Resolución de socios
Ensamblador(Planos, XML)
Desamblador(Planos, XML))
Mensaje
Contexto
ContenidoPrincipal
ContenidoOtras Partes
Mapas
Reglas Negocio
Vocabularios
Políticas
Acciones
Reglas
Hechos
Your Business, ConnectedSu Negocio, Conectado
WCF en BizTalk Server
Expone a BizTalk Server como servicio WCF o como un consumidor (cliente) de servicios construidos en WCFProporciona nuevos escenarios
Transaciones sobre servicios WebSeguridadCodificación MTOM
Construcción sobre nueva pila de servicios Web
Your Business, ConnectedSu Negocio, Conectado
Interoperabilidad
WCF-BasicHttpSOAP 1.1 MessagingMTOMWSS SOAP Message Security 1.0WS Metadata Exchange
WCF-WsHttpSOAP 1.2 MessagingWS-Addressing 2005/08WSS SOAP Message Security 1.0/1.1WS Secure Conversation / WS TrustWS Atomic Transactions / WS CoordinationWS Metadata Exchange
Your Business, ConnectedSu Negocio, Conectado
Presentación adaptadores de WCF
Completan el puente entre BizTalk Server y .NET 3.0
Uso similar a cualquier otro adaptadorCreación de puertos de salida y localizaciones de entradaSeleccionar el adaptador WCF como transporte Configurar el adaptador para ajustar WCFConfiguración almacenada en SSO
Your Business, ConnectedSu Negocio, Conectado
Conjunto de adaptadores WCFNombre del Adaptador
WCF Binding Cuando utilizarlo
WCF-BasicHttp BasicHttpBinding Necesidad de interoperar con servicios básicos de WS-I Basic Profile 1.1
WCF-WSHttp WSHttpBinding Necesidad de interoperar con servicios avanzados que implementen protocolos WS-*
WCF-NetTcp NetTcpBinding Cuando se necesita interactuar de forma eficiente en la máquina con aplicaciones WCF
WCF-NetNamedPipe
NetNamedPipe-Binding Cuando se necesita interactuar de forma eficiente entre máquinas con aplicaciones WCF
WCF-NetMsmq NetMsmqBinding En comunicaciones asíncronas con otras aplicaciones WCF que requieren durar
WCF-Custom Cualquiera Cuando es necesario definir una configuración de enlace (binding) personalizada para un BTS HOST marcado como “In Process”
WCF-CustomIsolated
Cualquiera Cuando es necesario definir una configuración de enlace (binding) personalizada para un BTS HOST marcado como “Isolated”
Your Business, ConnectedSu Negocio, Conectado
Arquitectura del adaptador WCF
Áreas claves a entenderContratos genéricos del adaptador WCFArquitectura de envío (Consumo)Arquitectura de recepción (Publicación)Exposición de metadatos de servicioOpciones de seguridad y transaccionesConfiguraciones del adaptador CustomIntegración con orquestaciones
Your Business, ConnectedSu Negocio, Conectado
Contratos de servicios genéricos
Los adaptadores de WCF utilizan contratos genéricos
IOneWayAsyncITwoWayAsyncITwoWayAsyncVoidetc.
Permite a los puertos procesar cualquier tipo de mensaje
Operaciones tipadas utilizando: Message, Action=“*”Las operaciones son siempre de doble sentido
Excepto cuando se utilice NetMsmqBinding
ITwoWayAsyncVoid (Ejemplo)
// used to model one-way ports that don’t use NetMsmqBinding (ACKs)
[ServiceContract( Namespace="http://www.microsoft.com/biztalk/2006/r2/wcf-
adapter")]public interface ITwoWayAsyncVoid{ // Methods [OperationContract(AsyncPattern=true, IsOneWay=false, Action="*", ReplyAction="*")] IAsyncResult BeginTwoWayMethod( Message message, AsyncCallback callback, object state); void EndTwoWayMethod(IAsyncResult result); ...}
Your Business, ConnectedSu Negocio, Conectado
Arquitectura de envío
Envía mensajes utilizando el canal de WCFEl canal es dinámicamente creado por el adaptadorUn contrato genérico es utilizadoHay que especificar la acción Solo es compatible con operaciones de doble sentido (two-way)
A no ser que se utilice NetMsmqBinding
Mapeo de la acción
<BtsActionMapping> <Operation Name="SubmitInvoice" Action="http://example.org/SubmitInvoice"/> <Operation Name="CancelInvoice" Action="http://example.org/CancelInvoice"/></BtsActionMapping>
Se puede especificar un mapeo de acción en las propiedades de adaptador de envíoEl valor de la acción se selecciona en base de la propiedad: BTS.Operation
Plantillas de mensaje
<SubmitInvoice xmlns="http://example.org/billing"> <bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="xml"/></SubmitInvoice>
Se puede también especificar una plantilla de mensaje para mensajes salientes con codificación para el cuerpo (xml, string, base64, hexadecimal)
Your Business, ConnectedSu Negocio, Conectado
Arquitectura de recepción
Recibe mensajes utilizando un canal WCFUn solo ServiceHost por cada localización de recepción definida
Basada en BizTalkServiceInstance
Alojada en proceso (servicio de BizTalk: BtsNtSvc.exe) o aislado (IIS)El canal es creado de forma dinámica por el adaptadorUn contrato genérico es utilizadoLa implementación del servicio publica los mensajes recibidos al MessageBoxSolo soporta operaciones de doble sentido
A no ser que se utilice NetMsmqBinding
BizTalkServiceInstance
[ServiceBehavior( InstanceContextMode=InstanceContextMode.Single, ConcurrencyMode=ConcurrencyMode.Multiple)]internal sealed class BizTalkServiceInstance :
ITwoWayAsync, ITwoWayAsyncVoid, IOneWayAsync ...{ ... // implementation omitted}
Implementación de servicio genérica, responsable de la publicación de los mensajes recibidos en la MessageBox
Your Business, ConnectedSu Negocio, Conectado
BizTalk en acción
transporte
codificador
protocolo
protocolo
Dispatcher
Pila del canal mapa
Adaptador de recepción de WCF
decodificar
desensamblar
validar
resolver al socio
Preprocesado(Pipelines)
Mapas
SOAP
Decidir que parte del mensaje se quiere
enviar
Mensaje
MensajeWCF
Mensaje BizTalk
mapa
mapa
MensajeBizTalk
Localización de recepción
Puerto de recepción
Publicación
BizTalkServiceInstance
SOAP
Body
Element
Body Element
Message Box
Your Business, ConnectedSu Negocio, Conectado
Opciones de publicación
Ensobrado (Envelope)Publicar el contenido entero del elemento <envelope> de SOAPUtilización del componente de pipeline XmlDisassembler (con cuidado de con coger también el cuerpo)
Cuerpo (por defecto)Publica el primer elemento del elemento <body> de SOAP
Ruta (Path)Identifica el elemento a través de una expresión Xpath para publicar utilizando solo reenviar (forward-only)
Your Business, ConnectedSu Negocio, Conectado
Alojamiento de los adaptadores
In-process hostingPara los adaptadores que no utilicen HTTPPosibilidad de adapatadores HTTP mediante implementación de WCF-Custom
Isolated hostingTodos los adaptadores All HTTP y WCF-CustomIsolated
El ciclo de vida de los servicios es controlado por las herramientas de administración
Asistentes (Wizards)
Asistente de publicaciónPublica un servicio WCF sobre http en el IISPublica metadatos para adaptadores in-proc o out-of-proc adapter en el IIS
Asistente de consumo o usoCrea mensajes y tipos de puertosCrea el equivalente a un proxy en BizTalk
Fichero de enlace (Bindings)Mapeo entre operación y acción
Your Business, ConnectedSu Negocio, Conectado
WCF Service Publishing Wizard
Genera solo los metadata-only de los puntos de acceso (endpoints)
Para servicios alojados en host in-proc
Genera los puntos de acceso de los serviciosPara servicios alojados en el IISProduce todos los artefactos de WCF/IIS
Se dispone de una versión por línea de comando
http://go.microsoft.com/fwlink/?LinkId=101820
Your Business, ConnectedSu Negocio, Conectado
Exposing service metadata
Receive locations are inherently untypedHence, exposing metadata doesn’t help
You can provide metadata explicitly via toolUsing the WCF Service Publishing Wizard
Your Business, ConnectedSu Negocio, Conectado
Opciones de transacción
Algunos enlaces (bindings) de WCF soportan transacionalidadSiguiendo una transacción en una localización de entrada
Se une a una transacción para publicar el mensaje en la MessageBoxSi el cliente aborta, el mensaje no es publicadoNo es posible en localizaciones de recepción de doble sentido(two-way)
Los puertos de envió también proporcionan transaccionalidad a los servicios
El MessageBox borra una transacción cuando un mensaje es enviado a un servicio externo
Escenarios transaccionales
De un sentido (One way)
SendAdapter
ReceiveAdapter queue
1
ExternalClient
ExternalServer
BizTalk
2
Scope of Transaction
Escenarios transaccionales
Doble sentido (Two way)
SendAdapter
ReceiveAdapter
OROrchestration
queue
queue
1
2
3
ExternalClient
ExternalServer
Scope of Transaction
BizTalk
Your Business, ConnectedSu Negocio, Conectado
WCF en las orquestaciones
Los adaptadores de WCF se integran con las orquestacionesPermiten consumir servicios WCF
Vease el asistente “WCF Service Consuming”Se utiliza mediante el uso de “Add Generated Items”
Posibilita la publicación de orquestaciones como servicios WCF
Utilizar el asistente “WCF Service Publishing”
Your Business, ConnectedSu Negocio, Conectado
Propiedades de contexto
Los adaptadores definen una serie de propiedades
Proporcionan acceso a la cabecera y configuración de WCFAccesible tanto desde pipelines como orquestraciones
Nombre Descripción Promocionada?
Action Nombre de la operaciñon SiTo Destinatario (elemento de cabecera de WS-Addressing: To) Si ReplyToAddress Responder a (elemento de cabecera WS-Addressing: ReplyTo) Si
FromAddress Remitente (elemento de cabecera de WS-Addressing: From) Si InboundHeaders Todas las cabeceras recibidas (decifradas) No
OutboundCustomHeaders Todas las cabeceras salientes No
Message marshalling
<Envelope> <Header>
...... </Header> <Body> <A> </A> </Body></Envelope>
<Envelope> <Header>
...... </Header> <Body> <A>
</A> </Body></Envelope>
WCF Message
BTS Message
******
1
3
2
1
2
Property Name
Value
InboundHeaders
Body
***
1
2
3
WCF Message
Your Business, ConnectedSu Negocio, Conectado
demo
Your Business, ConnectedSu Negocio, Conectado
anuncio
Your Business, ConnectedSu Negocio, Conectado
Guía de Operaciones de BTS
Con más de 600 páginas esta guía proporciona las mejores prácticas y recomendaciones para gestionar y operar un entorno de BizTalk Server.Se puede encontrar información útil acerca de:
Planificación DespliegueMantenimiento
URL:http://msdn2.microsoft.com/en-us/library/cc296643.aspx
Your Business, ConnectedSu Negocio, Conectado
Algunas referenciasWindows Communication Foundation (WCF)
Whitepaper de David Chappell (en inglés) http://www.davidchappell.com/articles/white_papers/Introducing_WCF_in_.NET_Framework_3.5_v1.0.docx
Encaminamiento http://msdn.microsoft.com/msdnmag/issues/07/06/ServiceStation/Default.aspx?loc=es
Seguridad http://msdn.microsoft.com/msdnmag/issues/07/08/Foundations/Default.aspx?topics=/msdnmag/issues/07/08/Foundations&loc=es
Transacciones http://msdn.microsoft.com/msdnmag/issues/07/08/Foundations/Default.aspx?topics=/msdnmag/issues/07/08/Foundations&loc=es
BizTalk Server 2006 R2
Sitio de producto en España http://www.microsoft.com/spain/biztalk Adaptadores de WCF (en inglés) http://msdn2.microsoft.com/en-us/library/bb967002.aspx
Seguridad http://msdn2.microsoft.com/en-us/library/bb226495.aspx
WCF LOB Adapter SDK http://msdn2.microsoft.com/en-us/library/bb798080.aspx
Todo juntoIntegración http://msdn2.microsoft.com/en-us/library/bb973215.aspx
Your Business, ConnectedSu Negocio, Conectado
Q & A
http://blogs.technet.com/Israelg [email protected]
Gracias
http://blogs.technet.com/PabloJunco [email protected]
Your Business, ConnectedSu Negocio, Conectado