presentacion ezequiel

19
Charla con profes de la ORT Ezequiel Glinsky [email protected] 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)

Upload: guillermo-lutzky

Post on 14-Jun-2015

1.461 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Presentacion Ezequiel

Charla con profes de la ORT

Ezequiel [email protected]

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)

Page 2: Presentacion Ezequiel

Agenda

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

- .Net Framework 3.0: novedades.Net Framework 3.0: novedades- Web servicesWeb services- Application Lifecycle ManagementApplication Lifecycle Management

Page 3: Presentacion Ezequiel

De Objetos a Servicios

PolimorfismoEncapsulamientoHerencia

Basado en mensajesEsquema + Contrato + PolíticaInteroperabilidad

Transparencia a la localizaciónAlto acoplamiento

Metadata en tiempo de ejecución

Orientación a Objetos Orientación a ServiciosOrientación a Componentes

1980s 2000s1990s

Page 4: Presentacion Ezequiel

Construido para Construido para durardurarLargos ciclos de Largos ciclos de desarrollodesarrolloAcoplamientoAcoplamientoAplicaciones en Aplicaciones en silossilos

Orientado a función Orientado a servicios

Construido para Construido para cambiarcambiarDesarrollo y Desarrollo y despliegue despliegue incrementalincrementalBajo acoplamientoBajo acoplamientoSistemas conectadosSistemas conectados

AgilidadAgilidadFlexibilidadFlexibilidadTCOTCO

Objetivos de negocio

El cambio a Orientación a Servicios

Page 5: Presentacion Ezequiel

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 ApplicationsProceedings 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

Page 6: Presentacion Ezequiel

Y… ¿por qué sí va a funcionar ahora?

MadurezMadurezTecnologíaTecnología

Standards…Standards…bien definidosbien definidos

soportadossoportados

interoperabilidadinteroperabilidad

OrganizacionalOrganizacional

Page 7: Presentacion Ezequiel
Page 8: Presentacion Ezequiel

Orientación a serviciosOrientación a servicios

Compatibilidad basada en políticasCompatibilidad basada en políticas

Compartir esquemas y contratos Compartir esquemas y contratos

Los servicios son autónomosLos servicios son autónomos

Los límites son explícitosLos límites son explícitos

Los 4 principios de Orientación a Servicios

Page 9: Presentacion Ezequiel

Microsoft .NET Framework

The Managed Code The Managed Code

Programming ModelProgramming Model

for Windowsfor Windows

Page 10: Presentacion Ezequiel

Interop withInterop withother platformsother platforms

ASMX

Ent ServicesEnt Services

Attribute-based

programming

WSEWSE

WS-* protocols

Sys.MessaginSys.Messagingg

Message- based

programming

LocationLocationtransparencytransparency

Remoting

Unified framework supersets existing technologiesUnified framework supersets existing technologies

Windows Communication Foundation

Page 11: Presentacion Ezequiel

Soporte de protocolos WS-*

XMLXML

MensajeríaMensajería

SeguridadSeguridad TransaccionesTransaccionesMensajeríaMensajería

ConfiableConfiable

Met

adat

aM

etad

ata

Page 12: Presentacion Ezequiel

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

Aplicaciones Seguras, Confiables, Aplicaciones Seguras, Confiables, Transaccionales utilizando Transaccionales utilizando Visual Studio .NET 2005Visual Studio .NET 2005

ProductividadProductividad

Page 13: Presentacion Ezequiel

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

ProductividadProductividadAplicaciones Seguras, Confiables, Aplicaciones Seguras, Confiables, Transaccionales utilizando Transaccionales utilizando WSE y Visual Studio .NET 2005WSE y Visual Studio .NET 2005

Page 14: Presentacion Ezequiel

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

ProductividadProductividadAplicaciones Seguras, Confiables, Aplicaciones Seguras, Confiables, Transaccionales utilizando Transaccionales utilizando WCF y Visual Studio .NET 2005WCF y Visual Studio .NET 2005

Page 15: Presentacion Ezequiel
Page 16: Presentacion Ezequiel

Application Lifecycle Management

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

Process + People + TechnologyProcess + People + Technology

Fases típicas:Fases típicas:Project management Project management

Project tracking Project tracking

Requirements planning Requirements planning

Design and development Design and development

Quality Assurance Quality Assurance

Release managementRelease management

Page 17: Presentacion Ezequiel

Muchas gracias

Ezequiel Glinsky

[email protected]

Page 18: Presentacion Ezequiel

Referencias

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

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

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

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

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

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

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

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

Page 19: Presentacion Ezequiel

Referencias (2)

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

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

Flickr http://www.flickr.comFlickr http://www.flickr.com

ALMALMhttp://www.borland.com/products/index.htmlhttp://www.borland.com/products/index.html

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

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

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

Escribirme! Escribirme!