Web Services e Enterprise Services Vasco Veiga ([email protected]) .NET & Developer Group Microsoft 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? Protocolos Internet Abertos XML Web Service Componente aplicacional programável, acessível via protocolos web “standard” É pesquisável através de uma directoria de serviços na (Intra)Internet É definido em termos dos formatos e ordem da troca de mensagens Permite a troca de mensagens “estruturadas” usando XML Baseado em protocolos “Internet” (standards “de facto”) UDDI Universal Description, Discovery and Integration WSDL XML Web services Description Language SOAP XML e HTTP Web Services (na prática) Pesquisar Serviço http://www.uddi.org UDDI Link para documento WSDL Cliente XML Web Service Descoberta http://yourservice.com HTML ou XML com link para WSDL Como falamos ? (WSDL) http://yourservice.com/?WSDL Web Service XML com descrição dos serviços Vamos falar (SOAP) http://yourservice.com/svc1 XML/SOAP BODY “Design-Time” ou “Runtime” “Runtime” Web Service Web Service Hello FCT Consumir Web Service Usar VS.NET com WS Arquitectura Web Services / SOA Business Processes BPEL4WS Transacções Reliable Messaging Segurança Coordenação WSDL, UDDI SOAP (Logical Messaging) XML, Encoding Quality of Service Description Outros protocolos Outros serviços TCP, HTTP, SMTP, … Messaging Transports Vantagens Web Services / SOA “ServicedeOriented Architecture” (SOA) Exemplo uma solução “tightly coupled” Parceiro / Cliente Nós Linguagem Programação BD Linguagem Programação Acordos Object Model Sistema Operativo Object Model Mensagens Servidor Aplicacional BD Sistema Operativo Servidor Aplicacional 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 A .NET Framework fornece um mapeamento bi-direcional Conceitos Aplicacionais Web Framework Data XML Objectos Schema XSD Classes Services WSDL Métodos Invocation SOAP Chamadas Web Service Web Service no SmartPhone Solução Notas Web Service Notas Aplicação NotasConsole Aplicação NotasViewer Web Services em .NET “Scales Up” em sistemas “high-end” “Scales In” na máquina “Scales Down” para devices “Scales Away” entre organizações & geografias “Scales Out” Adicionando máquinas Agenda Arquitecturas Web Services / SOA Web Services em .NET Enterprise Services Arquitectura de uma solução User Interface Components Gestão Operacional Segurança Comunicações User Process Components Service Interfaces Business Workflows Business Components Data Access Logic Components Data Source Business Entities Service Agents Service Implementação de referência LDAP via ADSI .NET Remoting Component Services ADO. NET Cliente WinForms System.Messaging Component Services SOAP Message Queue BizTalk HTML IIS Browser RDBMS ASP.NET ASPX ASMX Legacy Systems ASCX Windows Server 2003 Other Resources Modelos / Arquitectura Simple Web App Web Clients Complex Web App Web Clients Extended Enterprise Web Clients Ent. Rich Client Rich Clients UIC UIP Web Farm Web Farm UIC UIC UIP UIP Web Farm UIC SI Web Farm UIP SI SA SA BC DAC Application Farm Application Farm Application Farm BC BC BC DAC DAC DAC Database Clusters Database Clusters Database Clusters Database Clusters Enterprise Services MTS em NT 4.0 (1995) Notas Transaccional WS 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. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.