+ All Categories
Home > Documents > Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.

Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.

Date post: 16-Dec-2015
Category:
Upload: dustin-quinn
View: 216 times
Download: 1 times
Share this document with a friend
29
Aplicaciones Aplicaciones Distribuidas Distribuidas Manuel Zegarra Sánchez Manuel Zegarra Sánchez Microsoft Certified Application Microsoft Certified Application Developer Developer
Transcript
Page 1: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.

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.

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.

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.

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.

Aplicaciones DistribuidasAplicaciones Distribuidas

Page 6: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.

Caso - Talma Menzies S.R.LCaso - Talma Menzies S.R.L

Page 7: Aplicaciones Distribuidas Manuel Zegarra Sánchez Microsoft Certified Application Developer.

¿¿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.

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.

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.

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.

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.

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.

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.

© 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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

© 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.

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.

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Questions


Recommended