presentacion ezequiel
Embed Size (px)
TRANSCRIPT

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)

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

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

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

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

Y… ¿por qué sí va a funcionar ahora?
MadurezMadurezTecnologíaTecnología
Standards…Standards…bien definidosbien definidos
soportadossoportados
interoperabilidadinteroperabilidad
OrganizacionalOrganizacional


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

Microsoft .NET Framework
The Managed Code The Managed Code
Programming ModelProgramming Model
for Windowsfor Windows

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

Soporte de protocolos WS-*
XMLXML
MensajeríaMensajería
SeguridadSeguridad TransaccionesTransaccionesMensajeríaMensajería
ConfiableConfiable
Met
adat
aM
etad
ata

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

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

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


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

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

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!