SOA
-
Upload
pedro-alves-jr -
Category
Technology
-
view
2.283 -
download
0
description
Transcript of SOA
- WCF -Windows Communication Foundation
Teoni Valois {[email protected]}MCP – Microsoft Certified Professional
.Nug – Grupo de Usuários .Nethttp://www.dotnug.com
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
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
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
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
Em .Net 3.0!
.Nug – Grupo de Usuários .Nethttp://www.dotnug.com
WCF – Windows Communication Foundation
.Nug – Grupo de Usuários .Nethttp://www.dotnug.com
Conceitos do WCF
ClienteCliente ServiçoServiço
MensagemMensagem
MensagemMensagem
.Nug – Grupo de Usuários .Nethttp://www.dotnug.com
Conceitos do WCF
ClienteCliente ServiçoServiço
MensagemMensagemEndpointEndpoint EndpointEndpoint
EndpointEndpoint
.Nug – Grupo de Usuários .Nethttp://www.dotnug.com
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
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
Principais Tipos de Contracts
.Nug – Grupo de Usuários .Nethttp://www.dotnug.com
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
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
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
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
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
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
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
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
Perguntas
??.Nug – Grupo de Usuários .Net
http://www.dotnug.com