SOA

21
- WCF - Windows Communication Foundation Teoni Valois {[email protected]} MCP – Microsoft Certified Professional .Nug – Grupo de Usuários .Net http://www.dotnug.com

description

Apresentação feita durante o II Encontro de Usuários .NET da Paraíba.

Transcript of SOA

Page 1: SOA

- WCF -Windows Communication Foundation

Teoni Valois {[email protected]}MCP – Microsoft Certified Professional

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 2: SOA

Um pouco de história...Um pouco de história...

PolimofismoPolimofismoEncapsulamentoEncapsulamentoHerançaHerança

Baseado em MensagensBaseado em MensagensSchemasSchemas + Contratos + ContratosLigação via Políticas de Ligação via Políticas de SegurançaSegurança

1980s1980s

2000s2000s

Baseado em InterfacesBaseado em InterfacesCarga DinâmicaCarga DinâmicaAmplo uso de MetadadosAmplo uso de Metadados

1990s1990s

Orientação a ObjetosOrientação a Objetos

Orientação a ServiçosOrientação a Serviços

Orientação a ComponentesOrientação a Componentes

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 3: SOA

Usa-se SOA quando se quer... Arquitetura Orientada a Serviços; Fraco acoplamento; Utilizar padrões; Interoperabilidade; Integrar serviços; Reuso; Modularidade (com cautela!); etc.

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 4: SOA

SOA não se usa quando... O ambiente de TI é homogêneo; Performance é fundamental; As coisas não mudam; O serviço será consumido por uma só

aplicação; Uma arquitetura robusta não é

fundamental; etc.

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 5: SOA

SOA hoje... É compatível com praticamente todas

as tecnologias nativamente ou através de frameworks;

Possui várias implementaçõesSOAP;REST;RPC;DCOM;CORBA;WebServices, ou...

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 6: SOA

Em .Net 3.0!

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 7: SOA

WCF – Windows Communication Foundation

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 8: SOA

Conceitos do WCF

ClienteCliente ServiçoServiço

MensagemMensagem

MensagemMensagem

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 9: SOA

Conceitos do WCF

ClienteCliente ServiçoServiço

MensagemMensagemEndpointEndpoint EndpointEndpoint

EndpointEndpoint

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 10: SOA

Conceitos do WCF

ClienteCliente ServiçoServiço

MensagemMensagem

AddressAddress BindingBinding ContractContract

(Onde)(Onde) (Como)(Como) (O quê)(O quê)

EndpointEndpoint

AABBCC AA BB CC

EndpointsEndpoints

AA BB CC

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 11: SOA

WCF em execução

Transport

Encoder

Protocol(s)

Transport

Encoder

Protocol(s)

ClienteClienteDispatcherDispatcher

ServiçoServiço Contracte

Behaviors

Binding

Address.Nug – Grupo de Usuários .Net

http://www.dotnug.com

Page 12: SOA

Principais Tipos de Contracts

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 13: SOA

Tipos de Comunicação

One Way Comunicação em apenas um sentido. Cliente não espera pela resposta.

Request-Reply Resposta automática processada na mesma thread.

Duplex Comunicação assíncrona no estilo de callbacks.

ClienteCliente ServiçoServiço

One Way

Request-Reply

Duplex (Dual)

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 14: SOA

Bindings

Transporte

IPCMSMQ

Custom

TCP HTTP

ProtocoloCodificação

.NETTX

Custom

Security Reliability

Binding

HTTP TXSecurity ReliabilityText

Text

Binary

Custom

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 15: SOA

BindingsBinding Interop Security Session TX Duplex

BasicHttpBinding BP 1.1 N, T N N n/a

WSHttpBinding WS M, T, X N, T, RS N, Yes n/a

WSDualHttpBinding WS M RS N, Yes Yes

WSFederationBinding Federatio

nM N, RS N, Yes No

NetTcpBinding .NET T, M T ,RS N, Yes Yes

NetNamedPipeBinding .NET T T, N N, Yes Yes

NetPeerTcpBinding Peer T N N Yes

NetMsmqBinding .NET T, M, X N N, Yes No

MsmqIntegrationBinding

MSMQ T N N, Yes n/a

N = None | T = Transport | M = Message | B = Both | RS = Reliable Sessions

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 16: SOA

Segurança com Bindings e Behaviors

Serviço

CBA

CBA

Cliente

ABC

CBA

BeBe

Bindings inserem

informações nas

MensagensBehaviors

Implementam Regras de Segurança

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 17: SOA

Transações

Serviço

CBA

CBA

Cliente

ABC

CBA

BeBe

Bindings permitem

Transações

Behaviors usam

AutoEnlist e AutoComplete

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 18: SOA

Sessões

Serviço

CBA

CBA

Cliente

ABC

CBA

Bindings dão suporte a Sessões

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 19: SOA

ResumoApplicationApplication

ServiceService Model Model

MessagingMessaging

Hosting Hosting EnvironmentsEnvironments ASP.NETASP.NETASP.NETASP.NET WPFWPFWPFWPF WinFormWinFormWinFormWinForm NT ServiceNT ServiceNT ServiceNT Service COM+COM+COM+COM+

TCPTCPChannelChannel

TCPTCPChannelChannel

HTTPHTTPChannelChannel

HTTPHTTPChannelChannel

QueueQueueChannelChannelQueueQueue

ChannelChannel

SecureChannelSecure

ChannelReliableReliableChannelChannelReliableReliableChannelChannel

Instance Instance BehaviorBehaviorInstance Instance BehaviorBehavior

Throttling Throttling BehaviorBehavior

Throttling Throttling BehaviorBehavior

Type Integ. Type Integ. BehaviorBehavior

Type Integ. Type Integ. BehaviorBehavior

TransactionTransactionBehaviorBehavior

TransactionTransactionBehaviorBehavior

ConcurrencyConcurrencyBehaviorBehavior

ConcurrencyConcurrencyBehaviorBehavior

ErrorErrorBehaviorBehavior

ErrorErrorBehaviorBehavior

MetadataMetadataBehaviorBehaviorMetadataMetadataBehaviorBehavior

BinaryBinaryEncoderEncoderBinaryBinary

EncoderEncoder

Text/XMLText/XMLEncoderEncoder

Text/XMLText/XMLEncoderEncoder

…………

……

…………

WASWASWASWAS

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 20: SOA

Conclusão

SOA é uma ótima opção na elaboração de uma arquitetura robusta e distribuída;

WCF é uma maneira elegante e robusta de implementar SOA com .NET;

SOA está em alta e vai continuar ainda por muito tempo!

.Nug – Grupo de Usuários .Nethttp://www.dotnug.com

Page 21: SOA

Perguntas

??.Nug – Grupo de Usuários .Net

http://www.dotnug.com