viernes, marzo 31, 2006

Componentización de software

Parece que la industria del software se está moviendo hacia lo que se conoce como la componentización. Este concepto se podría definir como un nivel superior de abstracción a la programación orientada a objetos.

La importancia de la componentización radica en las ventajas que ésta proporciona:

  • Incremento de la productividad, debido entre otros motivos a la reutilización de código.
  • Abarata costes, la mano de obra no necesita estar tan especializada.
  • Mejora el rendimiento, si la arquitectura y el framework ofrecen un buen rendimiento, será más fácil hacer un desarrollo eficiente y mejorar la calidad de vida para el soporte.
  • Mayor calidad, dado que las funcionalidades están aisladas en los componentes es posible optimizar éstos sin que ello afecte a los desarrollos realizados sobre los mismos. Si quieres conocer más sobre la calidad, profesores de la Universidad de Málaga (España) han publicado el siguiente artículo Aspectos de Calidad en el Desarrollo de Software Basado en Componentes
  • Posibilidad de comprar componentes a terceros e integrarlos fácilmente.
  • Reutilización de código.
  • Agiliza el ciclo de vida del desarrollo del producto.

Por último, citaros un ejemplo real Fujitsu - Caja Laboral - MDCS-TPnet


¿Qué es SOA?

Las siglas vienen de service-oriented architecture, o mejor dicho, arquitectura orientada a servicios, en pocas palabras, SOA es un conjunto de servicios conectados entre sí. Para entenderlo mejor vamos a ver qué es un servicio y cómo se comunican unos con otros.

* Servicio: en definitiva un servicio es una función que no tiene dependencia del contexto en el que es solicitado, podríamos llamarlo auto-contenido y bien definido.

* Conexión: es normalmente llevada a cabo a través de los WS (Web Services) los cuales no son más que la tecnología necesaria para poder conectar con un servicio. Aquí podríamos explicar tres elementos importantes:

  • WSDL: Web Service Description Language es un xml que describe al servicio.
  • UDDI: Directorio donde se encuentran las descripciones de los servicios que ofrece una organización, podríamos decir que es un directorio de registro.
  • SOAP: Es el protocolo utilizado para el intercambio de información con los servicios. Todos los datos que son enviados o recibidos desde un servicio, son encapsulados y enviados mediante, generalmente http.

miércoles, marzo 29, 2006

Principio de encapsulamiento

En programación orientada a objetos, el encapsulamiento consiste en poder elegir qué información de un objeto es publicada y cuál forma parte de su estado, no siendo esta última accesible entre objetos.

Esta definición se podría identificar como la definición pura de lo que en POO es el encapsulamiento, sin embargo, en la realidad no siempre es así. Por ejemplo, en java todo el comportamiento es el esperado, en cambio, en C# la cosa cambia.

Por ejemplo, en el siguiente código java, tenemos una clase BaseClass la cual contiene un campo privado y método público a través del cual se puede acceder a dicho campo.

public class BaseClass {

private int _cont = 0;

private ExtendClass bClass = new ExtendClass ();

public int Cont() {

return _cont;

}

public int ParentCont() {

return bClass.Cont();

}

}


En la siguiente clase, heredamos de BaseClass y sobrescribimos el método Cont.

public class ExtendClass extends BaseClass{

public int Cont() {

return 3;

}

}


Dentro del método ParentCont de la BaseClass accedemos a una instancia previamente creada de ExtendClass , y lo hacemos a través de su método público ParentCont, en ningún momento se nos ocurriría acceder al campo privado, ya que rompería con el encapsulamiento.

Sin embargo, en C# no ocurre lo mismo que en Java. Es decir, en C# podríamos acceder al campo privado (bClass._cont), lo cual en mi opinión no me parece correcto. Tampoco entiendo la razón para romper con el paradigma de la programación orientada a objetos de ese modo.


martes, marzo 28, 2006

Add-ins en Visual Studio 2005

Más tarde o más temprano, los desarrolladores en .Net, tendremos que afrontar un reto casi forzado: migrar al framework 2.0. Uno de los elementos que cambian bastante y creo que para bien en la versión de Visual Studio 2005 son los Add-ins.

Para facilitar esta tarea, existe un sitio web en la MSDN al que podremos recurrir http://msdn2.microsoft.com/en-us/library/ms165634.aspx En dicho sitio nos explican los pasos que hay que seguir para migrar un proyecto de Add-in desarrollado en VS 2003 a VS 2005.

jueves, marzo 23, 2006

Para qué, una PDA


Es posible que la utilidad de una PDA, para alguien como yo, radique en un simple entusiasmo por los ordenadores, la informática, o las nuevas tecnologías, la cuestión es que siempre intento buscarle todas las utilidades necesarias como para no tener remordimientos en comprarme un aparatito del tamaño de una mano que supera los 400 euros fácilmente.

Pero la verdad es que, cada día, este aparatito va ganando puntos. Estoy viendo las características de algunas candidatas, como por ejemplo la QTEK S200, que maravilla, es un micro ordenador, que esta claro, como much@s dirán, para leer algo te las ves y te las deseas, pero bueno, alguna pega tiene que tener.

Con estos dispositivos puedes llevar información de tus gastos en el bolsillo, saber en todo momento dónde estás y cómo ir a un determinado lugar gracias al GPS, existe la posibilidad de poder navegar por Internet en medio de la calle o en muchos lugares como cafeterías, restaurantes, hoteles, aeropuertos donde la tecnología WIFI cada día tiene más auge, ya que proporciona un valor añadido a su negocio. ¿Y por qué llevar un móvil si hay PDAs que lo llevan incorporado? Y lo mismo que ocurre con los móviles, ocurre con las cámaras de foto, porque el modelo que os he mencionado incorpora una cámara de 2MP.

Al final, hasta puede que me la compre.

miércoles, marzo 22, 2006

Mi primera WEB

Parece gracioso, pero aunque he estado bastante tiempo trabajando en el desarrollo de aplicaciones WEB, hasta hace poco no había hecho ninguna a título personal. Realmente consiste en una exposición de pinturas en php, por el cual tenía curiosidad, así que dije, ¿qué mejor manera de aprender que haciendo algo útil? y aquí tenéis el resultado.
http://usuarios.lycos.es/csrwebm/

Espero que os guste.

Nuevo blog

Hace tiempo que tenía ganas de crear un blog, porque los considero muy interesantes y muy instructivos. Pienso, que todo el mundo puede reflejar sus inquietudes, aportar conocomientos para compartirlos con los demás, etc.
La lástima es el poco tiempo de que se dispone, pero intentaremos escribir algo. Por cierto, casi seguro que la mayoría de los temas de los que hablaré en este foro, estarán relacionados principalmente con la informática.