Presentacion Ezequiel

58 %
42 %
Information about Presentacion Ezequiel

Published on May 22, 2007

Author: glutzky

Source: slideshare.net

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)

Agenda Tendencias en SOA, SaaS (y terminología de moda que nos va a perseguir por un tiempo) .Net Framework 3.0: novedades Web services Application Lifecycle Management

Tendencias en SOA, SaaS (y terminología de moda que nos va a perseguir por un tiempo)

.Net Framework 3.0: novedades

Web services

Application Lifecycle Management

De Objetos a Servicios Polimorfismo Encapsulamiento Herencia Basado en mensajes Esquema + Contrato + Política Interoperabilidad Transparencia a la localización Alto acoplamiento Metadata en tiempo de ejecución Orientación a Objetos Orientación a Servicios Orientación a Componentes 1980s 2000s 1990s

Polimorfismo

Encapsulamiento

Herencia

Basado en mensajes

Esquema + Contrato + Política

Interoperabilidad

Transparencia a la localización

Alto acoplamiento

Metadata en tiempo de ejecución

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

Déjà Vu? “… OOP will reduce the time spent reinventing wheels and maintaining existing code, therefore leaving the developers free to develop new products…” - ACM OOPSLA 1990 Ottawa, Canada 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

“… OOP will reduce the time spent reinventing wheels and maintaining existing code, therefore leaving the developers free to develop new products…”

- ACM OOPSLA 1990

Ottawa, Canada

Y… ¿por qué sí va a funcionar ahora? Madurez Tecnología Standards… bien definidos soportados interoperabilidad Organizacional

Madurez

Tecnología

Standards…

bien definidos

soportados

interoperabilidad

Organizacional

 

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

Microsoft .NET Framework The Managed Code Programming Model for Windows

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

Soporte de protocolos WS-* XML Mensajería Seguridad Transacciones Mensajería Confiable Metadata

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 class HelloService { [WebMethod] public String Hello(String Greeting) { X509CertificateCollection collection = new X509CertificateCollection(); IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( typeof(CRYPTOAPI_BLOB))); IntPtr data = (IntPtr)((int)blob + Marshal.SizeOf(typeof(CRYPTOAPI_BLOB))); … SeqAckRange range = new SeqAcknRange(id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); … hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); … return Greeting; } }

class HelloService {

[WebMethod]

public String Hello(String Greeting) {

X509CertificateCollection collection = new X509CertificateCollection();

IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( typeof(CRYPTOAPI_BLOB)));

IntPtr data = (IntPtr)((int)blob +

Marshal.SizeOf(typeof(CRYPTOAPI_BLOB)));



SeqAckRange range = new SeqAcknRange(id, low, high );

SeqAckRange[] ranges = { range };

ReliableQueue.ProcessAcks( ranges );



hr = pITxDispenser->BeginTransaction (NULL,

ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions,

&pITransaction);



return Greeting;

}

}

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; } }

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; } }

 

Application Lifecycle Management También conocido como parte del fascículo “lo que nunca aprendí hasta que me quemé (varias veces) en mis primeros trabajos” Process + People + Technology Fases típicas: Project management Project tracking Requirements planning Design and development Quality Assurance Release management

También conocido como parte del fascículo “lo que nunca aprendí hasta que me quemé (varias veces) en mis primeros trabajos”

Process + People + Technology

Fases típicas:

Project management

Project tracking

Requirements planning

Design and development

Quality Assurance

Release management

Muchas gracias Ezequiel Glinsky [email_address]

Referencias XML Files: The Birth of Web Services. Aaron Skonnard. MSDN Library, Octubre 2002. Microsoft Web Service SW Factory. P&P. http://msdn.microsoft.com/practices XML Coverpages http://xml.coverpages.org/xml.html Web Services Interoperability Organization (WS-I). http://www.ws-i.org An Introduction to the Web Services Architecture and Its Specification. Cabrera, Kurt, Box. MSDN Library, Octubre 2004. Architecting Industry Standards for Service Orientation. Josh Lee. MSDN Library, Mayo 2005. Introduction to Building WCF Services. MSDN Library. Septiembre 2005. Web services and the Microsoft Platform. Payam Shodjai. MSDN Library. Junio 2006. http://msdn2.microsoft.com/en-us/library/aa480728.aspx

XML Files: The Birth of Web Services. Aaron Skonnard. MSDN Library, Octubre 2002.

Microsoft Web Service SW Factory. P&P. http://msdn.microsoft.com/practices

XML Coverpages http://xml.coverpages.org/xml.html

Web Services Interoperability Organization (WS-I). http://www.ws-i.org

An Introduction to the Web Services Architecture and Its Specification. Cabrera, Kurt, Box. MSDN Library, Octubre 2004.

Architecting Industry Standards for Service Orientation. Josh Lee. MSDN Library, Mayo 2005.

Introduction to Building WCF Services. MSDN Library. Septiembre 2005.

Web services and the Microsoft Platform. Payam Shodjai. MSDN Library. Junio 2006. http://msdn2.microsoft.com/en-us/library/aa480728.aspx

Referencias (2) Audio Scrobbler http://www.audioscrobbler.net/ Amazon’’s WS http://solutions.amazonwebservices.com/connect/index.jspa Flickr http://www.flickr.com ALM http://www.borland.com/products/index.html http://www.eclipse.org/alf/ http://www.telelogic.com/Solutions/Application_Lifecycle_management/ http://www.seapine.com/seapinealm.html Escribirme! 

Audio Scrobbler http://www.audioscrobbler.net/

Amazon’’s WS http://solutions.amazonwebservices.com/connect/index.jspa

Flickr http://www.flickr.com

ALM

http://www.borland.com/products/index.html

http://www.eclipse.org/alf/

http://www.telelogic.com/Solutions/Application_Lifecycle_management/

http://www.seapine.com/seapinealm.html

Escribirme! 

Add a comment

Related presentations