Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.
-
Upload
dustin-quinn -
Category
Documents
-
view
216 -
download
1
Transcript of Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.
![Page 1: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/1.jpg)
Aplicaciones DistribuidasAplicaciones Distribuidas
Manuel Zegarra SánchezManuel Zegarra Sánchez
Microsoft Certified Application DeveloperMicrosoft Certified Application Developer
![Page 2: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/2.jpg)
Microsoft Certified Application Microsoft Certified Application Developer - .NET FrameworkDeveloper - .NET Framework
Microsoft Certified ProfessionalMicrosoft Certified Professional
10 Años de experiencia desarrollando 10 Años de experiencia desarrollando soluciones Microsoft en diferentes soluciones Microsoft en diferentes sectores (Transporte, salud y sectores (Transporte, salud y financiero.)financiero.)
Diseño de aplicacionas SOA, Diseño de aplicacionas SOA, distribuidas y alta disponiblidad.distribuidas y alta disponiblidad.
ExperienciaExperiencia
![Page 3: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/3.jpg)
ObjetivosObjetivos
Comprender la arquitectura de una Comprender la arquitectura de una aplicación distribuida.aplicación distribuida.
Comprender el modelo de Comprender el modelo de programación WCF.programación WCF.
Diseñar servicios WCF.Diseñar servicios WCF.
Definir contratos WCF.Definir contratos WCF.
![Page 4: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/4.jpg)
AgendaAgenda
¿Qué son las aplicaciones distribuidas?¿Qué son las aplicaciones distribuidas?
Arquitectura de WCFArquitectura de WCFProgramando con WCF Programando con WCF – Demo– Demo
WCF / SOAWCF / SOA – Demo– Demo
PreguntasPreguntas
![Page 5: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/5.jpg)
Aplicaciones DistribuidasAplicaciones Distribuidas
![Page 6: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/6.jpg)
Caso - Talma Menzies S.R.LCaso - Talma Menzies S.R.L
![Page 7: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/7.jpg)
¿¿QuéQué son las aplicaciones son las aplicaciones distribuidas?distribuidas?
Son aplicaciones que trabajan o Son aplicaciones que trabajan o coordinan con otras aplicaciones para coordinan con otras aplicaciones para brindar algún servicio.brindar algún servicio.
Las diferentes aplicaciones que Las diferentes aplicaciones que coordinan entre si, en la mayoría de coordinan entre si, en la mayoría de casos, se encuentran en diferentes casos, se encuentran en diferentes plataformas.plataformas.
![Page 8: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/8.jpg)
Windows Communication Windows Communication FoundationFoundation
Es un modelo de programación Es un modelo de programación unificado para la construcción de unificado para la construcción de aplicaciones distribuidas en plataforma aplicaciones distribuidas en plataforma windows.windows.
UnificaUnifica
Orientado a Orientado a serviciosservicios
IntegraciónIntegración
![Page 9: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/9.jpg)
InteropInteropwith otherwith otherplatformsplatforms
ASMX
DistributedDistributedTransactionsTransactions
Enterprise Services
WS-*WS-*ProtocolProtocolSupportSupport
WSE
MessageMessageQueuingQueuing
System.Messaging
ExtensibilityExtensibilityPerformancePerformance
.NET Remoting
Modelo de programación Modelo de programación unificadounificado
![Page 10: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/10.jpg)
Inside View - WCFInside View - WCF
Service ModelService ModelService ContractsService Contracts
Data ContractsData Contracts
Message ContractsMessage Contracts
MessagingMessagingMessage classMessage class
Control dispatchControl dispatch
![Page 11: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/11.jpg)
Outside ViewOutside View
ClientClient ServiceService
MessageMessageAABBCC AA BB CC
AA BB CC
AddressAddress BindingBinding ContractContract
(Where)(Where) (How)(How) (What)(What)= Endpoint= Endpoint
![Page 12: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/12.jpg)
Runtime ModelRuntime ModelProxy/Dispatch and Channel LayersProxy/Dispatch and Channel Layers
Proxy
Client
Protocol
Encoder
Transport
Dispatcher
Service
Protocol
Encoder
Transport
![Page 13: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/13.jpg)
AgendaAgenda
Why Windows Communication Why Windows Communication Foundation?Foundation?
WCF ArchitectureWCF ArchitectureProgramming WCF Programming WCF – Demo– Demo
WCF and SOAWCF and SOA – Demo– Demo
QuestionsQuestions
![Page 14: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/14.jpg)
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Programming WCF Demo
![Page 15: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/15.jpg)
Hosting OptionsHosting Options
Windows FormWindows Form
Console ApplicationConsole Application
Windows ServiceWindows Service
Internet Information ServerInternet Information Server
Windows Activation ServicesWindows Activation Services
![Page 16: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/16.jpg)
app/web.config
Client
Proxy.cs
Service
Client ConfigurationClient Configuration
CBA
CBA
ABC
GetMetadata
WSDL
ABC
svcutil.exe http://localhost:8080/Interop/
![Page 17: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/17.jpg)
Data Contracts, Service Data Contracts, Service ContractsContracts
[DataContract]public class Order{ [DataMember] public int orderID; [DataMember] public int partNumber; [DataMember] public int price; [DataMember] private string info;}
[DataContract]public class Query{ [DataMember] public int orderID;}
[DataContract]public class Info{ [DataMember] public string info;}
[ServiceContract]public interface IOrderService{ [OperationContract] void Process(Order o);
[OperationContract] Info GetInfo(Query q);}
![Page 18: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/18.jpg)
ServiceContractServiceContract ties together ties together multiple multiple operationsoperations
OperationContracOperationContractt ties together ties together Message Message Contract, ActionContract, Action
Describing Message ExchangesDescribing Message Exchanges
[ServiceContract]public interface MyContract { [OperationContract( Action="urn:DoIt", ReplyAction="urn:Done")] MyReply DoIt(MyRequest request);
wsdl:portType
wsdl:operation
![Page 19: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/19.jpg)
Typed MessagesTyped Messages
[MessageContract]public class MyRequest { [MessageBody] public UnitInfo Info; [MessageBody] public bool IsInUse;}
[DataContract]public class UnitInfo { [DataMember] public int ID; [DataMember] public string Name;}
wsdl:message
wsdl:part
xsd:element
![Page 20: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/20.jpg)
Untyped MessagesUntyped Messages
Actions control DispatchActions control Dispatch
““*” matches all actions*” matches all actions
[OperationContract( Action = “Foo”, ReplyAction = “FooResponse”)]Message Foo(Message request);
[OperationContract(Action = “*”)]void Dispatch(Message request);
![Page 21: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/21.jpg)
Service ConfigurationService Configuration
<?xml version="1.0" encoding="utf-8" ?><configuration> <system.serviceModel> <services> <service type=“HelloService" <endpoint address=“http://localhost/HelloService" binding=“basicHttpBinding" contract="IHello" /> </service> </services> </system.serviceModel></configuration>
![Page 22: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/22.jpg)
Standard BindingsStandard Bindings
Inte
rop
Inte
rop
Secu
rityS
ecu
rity
Sessio
nS
essio
n
Tra
nsa
ction
Tra
nsa
ction
ss Du
ple
xD
uple
x
Stre
am
ing
Stre
am
ing
basicHttpBindingbasicHttpBinding BP BP 1.11.1
TT
wsHttpBindingwsHttpBinding WSWS T | ST | S XX XX
wsDualHttpBindingwsDualHttpBinding WSWS T | ST | S XX XX XX
netTcpBindingnetTcpBinding .NET.NET T | ST | S XX XX XX OOnetNamedPipeBindingnetNamedPipeBinding .NET.NET T | ST | S XX XX XX OOnetMsmqBindingnetMsmqBinding .NET.NET T | ST | S XX XX
netPeerTcpBindingnetPeerTcpBinding .NET.NET T | ST | S XXT = Transport Security T = Transport Security || S = WS-Security | O = One- S = WS-Security | O = One-Way OnlyWay Only
![Page 23: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/23.jpg)
AgendaAgenda
Why Windows Communication Why Windows Communication Foundation?Foundation?
WCF ArchitectureWCF ArchitectureProgramming WCF Programming WCF - Demo- Demo
WCF and SOA WCF and SOA – Demo– Demo
QuestionsQuestions
![Page 24: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/24.jpg)
WCF and SOAWCF and SOAAPI Style Business ServicesAPI Style Business Services
Interfaces look very similar to Interfaces look very similar to Object Oriented interfacesObject Oriented interfaces
Inputs are defined in terms of Inputs are defined in terms of multiple parametersmultiple parameters
Outputs are typed as return Outputs are typed as return valuesvalues
Intuitive to design.Intuitive to design.
ServiceContract, ServiceContract, OperationContract, OperationContract, DataContract and DataContract and DataMember are WCF tools for DataMember are WCF tools for building these types of building these types of business services.business services.
Message design is implicitMessage design is implicit
![Page 25: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/25.jpg)
WCF and SOAWCF and SOAActivity Style Business ServicesActivity Style Business Services
Inputs are a single messageInputs are a single message
Outputs are a single message Outputs are a single message
ServiceContract, ServiceContract, OperationContract, OperationContract, MessageContract, MessageContract, MessageBodyMember, MessageBodyMember, MessageHeader are WCF tools MessageHeader are WCF tools for building these types of for building these types of business services.business services.
Message design is explicitMessage design is explicit
Message design requires some Message design requires some thought. Related activities thought. Related activities should use the same should use the same messages for efficiency with messages for efficiency with business processesbusiness processes
![Page 26: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/26.jpg)
WCF and SOAWCF and SOABusiness ProcessesBusiness Processes
The vocabulary of the businessThe vocabulary of the business
Collection of activities which Collection of activities which may be local or Activity style may be local or Activity style business servicesbusiness services
May be long runningMay be long running
May contain human workflowMay contain human workflow
All inputs and all outputs are All inputs and all outputs are defined as messagesdefined as messages
BizTalk Server 2006 and BizTalk Server 2006 and Workflow Foundation are Workflow Foundation are examples of tools that can be examples of tools that can be used to assemble Business used to assemble Business Processes from existing Processes from existing activitiesactivities
![Page 27: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/27.jpg)
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Message Contract Demo
![Page 28: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/28.jpg)
For More Information …For More Information …
.NET Framework Technology Samples
WCF on the Microsoft Developer Network
Microsoft .NET Framework Community
Windows Vista Technologies
![Page 29: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.](https://reader035.fdocuments.us/reader035/viewer/2022062515/56649cd95503460f949a2098/html5/thumbnails/29.jpg)
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Questions