Web Services eEnterprise Services
Vasco Veiga ([email protected])
.NET & Developer GroupMicrosoft Corporation
Agenda
Arquitecturas Web Services / SOA
Web Services em .NET
Enterprise Services
Agenda
Arquitecturas Web Services / SOA
Web Services em .NET
Enterprise Services
O que é um Web Service?
Componente aplicacional Componente aplicacional programável, acessível via programável, acessível via protocolos web “standard”protocolos web “standard”
Protocolos Internet Abertos
XML WebXML WebServiceService
SOAPSOAPSOAPSOAP Permite a troca de mensagens Permite a troca de mensagens
“estruturadas” usando XML“estruturadas” usando XML
WSDLWSDLXML Web services XML Web services
Description LanguageDescription Language
WSDLWSDLXML Web services XML Web services
Description LanguageDescription Language
É definido em termos dos formatos e É definido em termos dos formatos e ordem da troca de mensagensordem da troca de mensagens
Baseado em protocolos “Internet” Baseado em protocolos “Internet” (standards “de facto”) (standards “de facto”)
XML e HTTPXML e HTTP
UDDIUDDIUniversal Description, Universal Description,
Discovery and IntegrationDiscovery and Integration
UDDIUDDIUniversal Description, Universal Description,
Discovery and IntegrationDiscovery and Integration
É pesquisável através de uma É pesquisável através de uma directoria de serviços na (Intra)Internetdirectoria de serviços na (Intra)Internet
Web Services (na prática)Web Services (na prática)
DescobertaDescoberta
Vamos falar (SOAP)Vamos falar (SOAP)
““Design-Time” ou “Runtime”Design-Time” ou “Runtime” ““Runtime”Runtime”
http://yourservice.comhttp://yourservice.com
HTML ou XML com link para WSDLHTML ou XML com link para WSDL
Como falamos ? (WSDL)Como falamos ? (WSDL)http://yourservice.com/?WSDLhttp://yourservice.com/?WSDL
XML com descrição dos serviçosXML com descrição dos serviços
http://yourservice.com/svc1http://yourservice.com/svc1
XML/SOAP BODYXML/SOAP BODY
Pesquisar ServiçoPesquisar Serviçohttp://www.uddi.orghttp://www.uddi.org
Link para documento WSDLLink para documento WSDL
ClienteClienteXML XML WebWeb
ServiceService
UDDIUDDI
Web Web ServiceService
Web ServiceWeb Service
Web Service Hello FCT Web Service Hello FCT Consumir Web ServiceConsumir Web ServiceUsar VS.NET com WSUsar VS.NET com WS
Arquitectura Web Services / SOA
SOAP (Logical Messaging)SOAP (Logical Messaging)SOAP (Logical Messaging)SOAP (Logical Messaging)
TCP, HTTP, SMTP, …TCP, HTTP, SMTP, …TCP, HTTP, SMTP, …TCP, HTTP, SMTP, …
MessagingMessagingMessagingMessaging
WSDL, UDDIWSDL, UDDIWSDL, UDDIWSDL, UDDI
Quality Quality of Serviceof ServiceQuality Quality
of Serviceof Service
TransacçõesTransacçõesTransacçõesTransacções
Business Business ProcessesProcessesBusiness Business ProcessesProcessesBPEL4WSBPEL4WSBPEL4WSBPEL4WS
TransportsTransportsTransportsTransports
XML, EncodingXML, EncodingXML, EncodingXML, EncodingOutros protocolosOutros protocolosOutros serviçosOutros serviços
Outros protocolosOutros protocolosOutros serviçosOutros serviços
CoordenaçãoCoordenaçãoCoordenaçãoCoordenação
SegurançaSegurançaSegurançaSegurançaReliableReliableMessagingMessagingReliableReliable
MessagingMessaging
DescriptionDescriptionDescriptionDescription
““Service Oriented Architecture” (SOA)Service Oriented Architecture” (SOA)
MensagensMensagens
AcordosAcordos
LinguagemLinguagemProgramaçãoProgramação
Object ModelObject Model
ServidorServidorAplicacionalAplicacional
BDBD
SistemaSistemaOperativoOperativo
BDBD
SistemaSistemaOperativoOperativo
LinguagemLinguagemProgramaçãoProgramação
Object ModelObject Model
ServidorServidorAplicacionalAplicacional
NósNósParceiro /Parceiro /
ClienteCliente
Exemplo de uma solução “tightly coupled”Exemplo de uma solução “tightly coupled”
Vantagens Web Services / SOA
Agenda
Arquitecturas Web Services / SOA
Web Services em .NET
Enterprise Services
Web Services em .NET
Os Web Services são (literalmente) o meio, não o fim
A implementação dos Web Services está a cargo de quem o expõe
Desde 2000 que a MS disponibiliza ferramentas para expor / consumir Web Services
A .NET Framework suporta nativamente XML e Web Services
Web Services em .NET
Mapeamento Web Services <-> .NET
DataData
SchemaSchema
ServicesServices
InvocationInvocation
WebWeb
XMLXML
XSDXSD
WSDLWSDL
SOAPSOAP
ConceitosConceitosAplicacionaisAplicacionais FrameworkFramework
ObjectosObjectos
ClassesClasses
MétodosMétodos
ChamadasChamadas
A .NET Framework fornece um A .NET Framework fornece um mapeamento bi-direcionalmapeamento bi-direcional
Web ServiceWeb Service
Web Service no SmartPhoneWeb Service no SmartPhoneSolução NotasSolução NotasWeb Service NotasWeb Service NotasAplicação NotasConsoleAplicação NotasConsoleAplicação NotasViewerAplicação NotasViewer
Web Services em .NET
““Scales Down”Scales Down”para devicespara devices
““Scales In” Scales In” na máquinana máquina
““Scales Up” Scales Up” em sistemasem sistemas““high-end”high-end”
““Scales Away” Scales Away” entre organizações & entre organizações &
geografiasgeografias
““Scales Out”Scales Out”AdicionandoAdicionando
máquinasmáquinas
Agenda
Arquitecturas Web Services / SOA
Web Services em .NET
Enterprise Services
Arquitectura de uma solução
User Interface Components
User Process Components
Service Interfaces
BusinessWorkflows
BusinessComponents
BusinessEntities
Data Access LogicComponents
Service Agents
Data Source Service
Seg
ura
nça
Ges
tão
Op
erac
ion
al
Co
mu
nic
açõ
es
Implementação de referência
ASP.NETASP.NET
RDBMSRDBMS
Message Message QueueQueue
Legacy Legacy SystemsSystems
OtherOtherResourcesResources
Windows Server 2003Windows Server 2003
ASPXASPXASMXASMX ASCXASCX
LDAP via ADSILDAP via ADSI
ADO.ADO.NETNET
System.MessagingSystem.Messaging
BizTalkBizTalk
ClienteClienteWinFormsWinForms
BrowserBrowser
.NET.NETRemotingRemoting
HTMLHTML
IISIIS
SOAPSOAP Component ServicesComponent Services
Component ServicesComponent Services
Modelos / Arquitectura
Web Clients
Web Farm
UIC
BC
DAC
UIP
Simple Web App Complex Web App Ent. Rich ClientExtended Enterprise
Database Clusters
Database Clusters
Application Farm
BC
DAC
Database Clusters
Web Clients
Web Farm
UIC
UIP
Application Farm
BC
DAC
Web Farm
UIC
UIP
SI
SA
Web Clients Rich Clients
UIC
UIP
Database Clusters
Application Farm
BC
DAC
Web Farm
SI
SA
Enterprise ServicesEnterprise Services
MTS em NT 4.0 (1995) MTS em NT 4.0 (1995) Notas TransaccionalNotas TransaccionalWS a partir do Enterprise ServicesWS a partir do Enterprise Services
Sumário
Web Services garantem Interoperabilidade
Arquitecturas SOA garantem modularidade
.NET Framework suporta nativamente Web Services
Muito simples de expor, desenvolver ou consumir Web Services
Enterprise Services são modulares, robustos e escaláveis
Mais informação
http://www.microsoft.com/portugal/msdn
http://msdn.microsoft.com/architecture
news:news.microsoft.com/
• microsoft.public.pt.dotnet
.NET Shared Source CLI (MacOS/FreeBSD, Windows)
• http://msdn.microsoft.com/net/sscli/
© 2002 Microsoft Corporation. All rights reserved.© 2002 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.