CLR.
CLR o Common Languaje Runtime
constituye uno de los pilares de la tecnología .NET ya que confiere
una nueva visión a sus tecnologías.
Antes de .NET, los lenguajes
de codificación o bien eran interpretados como era el caso de VScript
o Jscript o bien eran compilados a binario como ocurre con lenguajes de
programación como C++, COBOL o FORTRAN. Con la entrada de JAVA en
el mercado de las tecnologías, surge el concepto de VM o Maquina
Virtual ya que de esta manera, el lenguaje era compilado a un lenguaje
intermedio el cual gracias a la maquina virtual podía ser ejecutado
en toda maquina con una maquina virtual, de esta manera surge una de las
frases mas celebres en los últimos años de la década
de los 90's:
Escribe el codigo
única vez y ejecuta todas las veces que quieras.
Microsoft adopta esta idea
en .NET creando CLR. La diferencia fundamental con respecto a Java y su
maquina virtual es que .NET no se limita a un único lenguaje. De
esta manera acoge en su seno tecnológico a diferentes masas de desarrolladores
con perfiles tecnológicos distintos, si un desarrollador viene de
C, adoptara C#, si viene de Visual Basic, adoptara Visual Basic.NET, si
viene de ASP puede adoptar o Visual Basic.NET o Jscript.NET. En la actualidad
hay anunciados mas de 25 Lenguajes compatibles con la tecnología
.NET. Un dato a destacar es el soporte de los lenguajes al paradigma de
la programación orientada a objetos. Desde los inicios de la computación,
el problema con el cual se encontraban los ingenieros de software era encontrar
una manera para diseñar software. La propia naturaleza de la informática
hace posible que un determinado problema sea resuelto de múltiples
formas, uno de los primeros problemas que fue resuelto, fue la estructuración
de los algoritmos y la exclusión de la sentencia GO TO en los algoritmos
ya que era contrario al paradigma de la programación estructurada.
Una vez superado este escollo en los años 70`s surgen diferentes
iniciativas que evolucionan la ingeniería del software, una de las
mas importantes fue el desarrollo de Small Talk que revoluciono el panorama
con su nuevo enfoque de diseño de software, el paradigma de la programación
orientada a objetos. El software desde esa fecha podría ser diseñado
con dos enfoques diferentes: Como un conjunto de operaciones bien estructuradas
en modulos o bien diseñado como diferentes objetos que están
relacionados entre sí para solucionar un determinado problema. Con
el paso del tiempo, el paradigma de la orientación a objetos se
ha impuesto sobre la programación estructurada debido a sus ventajas
en cuanto a diseño, seguridad, escalabilidad y reutilización.
Bien es cierto que el nuevo
paradigma confiere al equipo de desarrollo una nueva formación para
pensar en Objetos pero los beneficios a medio plazo son evidentes. Microsoft
viendo este panorama ha obligado a la comunidad Visual Basic a cambiar
a Visual Basic.NET que esta pensado para programarse en orientación
a objetos.
Este mismo hecho se aprecia
en Jscript.NET y C#.
CLR se caracteriza por ser
independiente de sistema operativo por tanto se aprecia como Microsoft
ve nuevos frentes donde expandirse o protegerse según se mire. El
mercado mundial de sistemas operativos orientado al sector de microinformática
esta dominado por la serie Windows. En años recientes un nuevo competidor
GNU ha llegado para quedarse, Linux una reciente versión de UNIX
esta comiendo mercado debido a sus ventajas heredadas de UNIX y suyas propias.
Se puede apreciar como .NET podría desembarcar en Linux empleando
.NET o bien podría ser un signo de debilidad del sistema Windows
ante la llegada de Linux. CLR puede en un futuro implantarse en otros sistemas
operativos distintos de la serie Windows como base para el desarrollo de
aplicaciones de escritorio. Como se aprecia esta característica
es nueva con respecto a ASP que no da soporte al desarrollo de aplicaciones
de escritorio.
Web services.
Los servicios web son la
revolución informática de la nueva generación de aplicaciones
que trabajan colaborativamente en las cuales el software esta distribuido
en diferentes servidores.
La informática se
inicio con programas monousuarios implantados en grandes ordenadores. Posteriormente
estas primeras aplicaciones alcanzaron la capacidad de atender a
diferentes usuarios. Pasaron los años y llego la arquitectura cliente-servidor,
que gracias a este modelo de desarrollo, la aplicación se dividía
en una parte que interaccionaba con el usuario y otra parte destinada al
procesamiento de información. En este acercamiento se consiguió
que cada una de las partes que constituían la aplicación
pudiera residir en computadoras distintas. Con el paso del tiempo, la computación
aumento y llego la era de las aplicaciones distribuidas en las cuales los
procesos se realizaban en diferentes unidades. De este paso surgió
la tecnología Internet para solventar las problemáticas asociadas
a fallo de aplicación centralizado. Véase documentación
acerca de los orígenes de Internet.
Como punto final a esta cronología,
los web services son un paso adelante en la computación ya que de
esta forma un ordenador ya no se considerara como un núcleo de computo
sino como un repositorio de servicios de n aplicaciones distribuidas por
internet. Para comprender este concepto pondremos el ejemplo siguiente:
Imaginemos el supuesto de
un servidor X que da 2 servicios, el servicio A y el servicio B. También
nos dan el caso de que tenemos otro servidor Y que ofrece el servicio C
y el servicio D. Por ultimo también analizamos el servidor Z que
da 2 servicios el servicio E y el servicio F.
Imaginar que el servidor
W ofrece una aplicación on-line que se compone de su servicio principal
G y de la interoperacion con A, B, C, D, por tanto se da que los servicios
A, B, C, D dan servicio a G independiente de su localización en
G pero también están disponibles para el resto de internet
si así se ha diseñado.Por tanto viendo los datos anteriores
vemos que las posibilidades combinatorias son grandes y sobre todo por
primera vez y de manera mas transparente que con el uso de componentes,
el uso del software se hace mas reutilizable ya que diferentes servicios
pueden ser utilizados como componentes en una aplicación.
Microsoft para conseguir
este propósito con su tecnología .NET emplea como protocolo
de comunicación, una aplicación XML, llamada SOAP.
¿Qué es SOAP?
Son las siglas de Simple Object Access Protocol. Este protocolo deriva
de un protocolo creado por David Winer, XML-RPC en 1998. En su sitio web,
Userland, http://ww.userland.com se puede encontrar multitud de documentación
acerca de este primer protocolo de comunicación bajo http mediante
XML. Con este protocolo se podian realizar RPC o remote procedure calls,
es decir, podiamos bien en cliente o servidor realizar peticiones mediante
http a un servidor web. Los mensajes debían tener un formato determinado
empleando XML para encapsular los parámetros de la petición.
Con el paso del tiempo el proyecto iniciado por David Winer interesó
a Importantes multinacionales entre las que se encuentran IBM y Microsoft
y de este interés por XML-RPC se desarrollo SOAP.
«
Atras | Continuar
» |