1. Charla con profes de la ORT Ezequiel Glinsky [email_address] Técnico en Computación ORT Yatay, Argentina (1995) Lic. Cs. de la Computación, UBA, Argentina (2002) M.A.Sc., Carleton University, Canadá (2004)
2.
3.
4. El cambio a Orientación a Servicios Construido para durar Largos ciclos de desarrollo Acoplamiento Aplicaciones en silos Orientado a función Orientado a servicios Construido para cambiar Desarrollo y despliegue incremental Bajo acoplamiento Sistemas conectados Agilidad Flexibilidad TCO Objetivos de negocio
5.
6.
7.
8. Los 4 principios de Orientación a Servicios Orientación a servicios Compatibilidad basada en políticas Compartir esquemas y contratos Los servicios son autónomos Los límites son explícitos
10. Windows Communication Foundation Interop with other platforms ASMX WSE WS-* protocols Location transparency Remoting Unified framework supersets existing technologies Ent Services Attribute-based programming Sys.Messaging Message- based programming
11. Soporte de protocolos WS-* XML Mensajería Seguridad Transacciones Mensajería Confiable Metadata
12.
13. Productividad Aplicaciones Seguras, Confiables, Transaccionales utilizando WSE y Visual Studio .NET 2005 10 líneas seguridad 1,804 líneas mensajería confiable 25,507 líneas transacciones Total líneas 27,321 class HelloService { [WebMethod] public String Hello(String Greeting) { foreach ( SecurityToken tok in requestContext.Security.Tokens { X509SecurityToken token = tok as X509SecToken } … SeqAckRange range = new SeqAcknRange(id,low,high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); … hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); … return Greeting; } }
14. Productividad Aplicaciones Seguras, Confiables, Transaccionales utilizando WCF y Visual Studio .NET 2005 1 línea seguridad 1 línea mensajería confiable 1 línea transacciones Total líneas 3 [ServiceContract(SecureChannel, SecurityMode =“Windows")] [Reliability(Guarantees.ExactlyOnce | Guarantees.InOrder)] [ServiceContract] class HelloService { [ServiceOperation(TransactionFlowAllowed = true)] String Hello(String Greeting) { return Greeting; } }