Presentacion Ezequiel

1,759 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,759
On SlideShare
0
From Embeds
0
Number of Embeds
46
Actions
Shares
0
Downloads
46
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Presentacion Ezequiel

    1. 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. 2. Agenda <ul><li>Tendencias en SOA, SaaS (y terminología de moda que nos va a perseguir por un tiempo) </li></ul><ul><li>.Net Framework 3.0: novedades </li></ul><ul><li>Web services </li></ul><ul><li>Application Lifecycle Management </li></ul>
    3. 3. De Objetos a Servicios <ul><li>Polimorfismo </li></ul><ul><li>Encapsulamiento </li></ul><ul><li>Herencia </li></ul><ul><li>Basado en mensajes </li></ul><ul><li>Esquema + Contrato + Política </li></ul><ul><li>Interoperabilidad </li></ul><ul><li>Transparencia a la localización </li></ul><ul><li>Alto acoplamiento </li></ul><ul><li>Metadata en tiempo de ejecución </li></ul>Orientación a Objetos Orientación a Servicios Orientación a Componentes 1980s 2000s 1990s
    4. 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. 5. Déjà Vu? <ul><li>“… OOP will reduce the time spent reinventing wheels and maintaining existing code, therefore leaving the developers free to develop new products…” </li></ul><ul><li>- ACM OOPSLA 1990 </li></ul><ul><li>Ottawa, Canada </li></ul>Conference on Object Oriented Programming Systems Languages and Applications Proceedings of the European conference on Object-oriented programming addendum : systems, languages, and applications: systems, languages, and applications Ottawa, Canada Pages: 29 - 34 , Year of Publication: 1990 , ISBN:0-89791-443-0
    6. 6. Y… ¿por qué sí va a funcionar ahora? <ul><li>Madurez </li></ul><ul><ul><li>Tecnología </li></ul></ul><ul><ul><ul><li>Standards… </li></ul></ul></ul><ul><ul><ul><ul><li>bien definidos </li></ul></ul></ul></ul><ul><ul><ul><ul><li>soportados </li></ul></ul></ul></ul><ul><ul><ul><ul><li>interoperabilidad </li></ul></ul></ul></ul><ul><ul><li>Organizacional </li></ul></ul>
    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
    8. 9. Microsoft .NET Framework The Managed Code Programming Model for Windows
    9. 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
    10. 11. Soporte de protocolos WS-* XML Mensajería Seguridad Transacciones Mensajería Confiable Metadata
    11. 12. Aplicaciones Seguras, Confiables, Transaccionales utilizando Visual Studio .NET 2005 Productividad 20,379 líneas seguridad 5,988 líneas mensajería confiable 25,507 líneas transacciones Total líneas 56,296 4,442 líneas infraestructura <ul><li>class HelloService { </li></ul><ul><li>[WebMethod] </li></ul><ul><li>public String Hello(String Greeting) { </li></ul><ul><ul><li>X509CertificateCollection collection = new X509CertificateCollection(); </li></ul></ul><ul><ul><li>IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( typeof(CRYPTOAPI_BLOB))); </li></ul></ul><ul><ul><li>IntPtr data = (IntPtr)((int)blob + </li></ul></ul><ul><ul><li>Marshal.SizeOf(typeof(CRYPTOAPI_BLOB))); </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><ul><li>SeqAckRange range = new SeqAcknRange(id, low, high ); </li></ul></ul><ul><ul><li>SeqAckRange[] ranges = { range }; </li></ul></ul><ul><ul><li>ReliableQueue.ProcessAcks( ranges ); </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><ul><li>hr = pITxDispenser->BeginTransaction (NULL, </li></ul></ul><ul><ul><li>ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, </li></ul></ul><ul><ul><li>&pITransaction); </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><li>return Greeting; </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
    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; } }
    13. 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&quot;)] [Reliability(Guarantees.ExactlyOnce | Guarantees.InOrder)] [ServiceContract] class HelloService { [ServiceOperation(TransactionFlowAllowed = true)] String Hello(String Greeting) { return Greeting; } }
    14. 16. Application Lifecycle Management <ul><li>También conocido como parte del fascículo “lo que nunca aprendí hasta que me quemé (varias veces) en mis primeros trabajos” </li></ul><ul><li>Process + People + Technology </li></ul><ul><li>Fases típicas: </li></ul><ul><ul><li>Project management </li></ul></ul><ul><ul><li>Project tracking </li></ul></ul><ul><ul><li>Requirements planning </li></ul></ul><ul><ul><li>Design and development </li></ul></ul><ul><ul><li>Quality Assurance </li></ul></ul><ul><ul><li>Release management </li></ul></ul>
    15. 17. Muchas gracias Ezequiel Glinsky [email_address]
    16. 18. Referencias <ul><li>XML Files: The Birth of Web Services. Aaron Skonnard. MSDN Library, Octubre 2002. </li></ul><ul><li>Microsoft Web Service SW Factory. P&P. http://msdn.microsoft.com/practices </li></ul><ul><li>XML Coverpages http://xml.coverpages.org/xml.html </li></ul><ul><li>Web Services Interoperability Organization (WS-I). http://www.ws-i.org </li></ul><ul><li>An Introduction to the Web Services Architecture and Its Specification. Cabrera, Kurt, Box. MSDN Library, Octubre 2004. </li></ul><ul><li>Architecting Industry Standards for Service Orientation. Josh Lee. MSDN Library, Mayo 2005. </li></ul><ul><li>Introduction to Building WCF Services. MSDN Library. Septiembre 2005. </li></ul><ul><li>Web services and the Microsoft Platform. Payam Shodjai. MSDN Library. Junio 2006. http://msdn2.microsoft.com/en-us/library/aa480728.aspx </li></ul>
    17. 19. Referencias (2) <ul><li>Audio Scrobbler http://www.audioscrobbler.net/ </li></ul><ul><li>Amazon’’s WS http://solutions.amazonwebservices.com/connect/index.jspa </li></ul><ul><li>Flickr http://www.flickr.com </li></ul><ul><li>ALM </li></ul><ul><ul><li>http://www.borland.com/products/index.html </li></ul></ul><ul><ul><li>http://www.eclipse.org/alf/ </li></ul></ul><ul><ul><li>http://www.telelogic.com/Solutions/Application_Lifecycle_management/ </li></ul></ul><ul><ul><li>http://www.seapine.com/seapinealm.html </li></ul></ul><ul><ul><li>Escribirme!  </li></ul></ul>

    ×