Por Oscar David Campos Espinoza – Estudiante de la carrera de Ingeniería Informática

Esta investigación tiene como finalidad conocer y dar a entender acerca de la importancia de los Componentes de Software, que son una unidad de un programa con interfaces que nos permiten dar y pedir servicios y funcionalidades; y también los Servicios Web, que son una intercomunicación entre máquinas conectadas en red que comparten solicitudes. Estos tienden a encontrarse algunas veces en un intermedio en la vida de un desarrollador, ya sea en su preparación técnica o universitaria, o en su vida profesional como un desarrollador activo. Tomando como base este encuentro entre los componentes del software y los servicios web, se abordará de manera detallada las funciones de ambas partes, para qué sirven y sus respectivas ventajas. Todo esto con el fin de dar mayor claridad a la hora de hablar sobre estos dos temas, para que los desarrolladores puedan tener más claro estos dos tipos de programación y lo que nos pueden llegar a ofrecer.

Componente de Software
Un componente de software se define como un paquete, módulo o grupo de archivos que realiza un proceso en específico y obtiene unos resultados acordes con el proceso realizado. Esta unidad modular es un programa de archivos con interfaces y dependencias que permiten ofrecer o solicitar un conjunto de funcionales o servicios (Quality&Programming, 2012).

Hay 2 tipos de concepciones de los componentes
El primer grupo son los componentes de tipo ejecutables. Su principal característica es que están ligados a pasar por los clásicos procesos de compilación. El segundo grupo son los componentes que tienen como base el código fuente, los cuales, al igual que anterior, pasan por un proceso de compilado, pero con la diferencia de que es indirecta o según sea el caso, como los componentes alojados en un servidor.

Concepciones de los componentes de software según el diseño orientado a componentes.

A la hora de desarrollar un software, el programador lo elabora utilizando instrucciones de construcciones las cuales podemos derivar en las mencionadas a continuación (Quality&Programming, 2012):

• Secuenciales: son las instrucciones que se implementan paso a paso en los procesos que son esenciales en los algoritmos.

• Condicionales: estas ayudan a los programadores con funciones de tomas de decisiones a partir de consultas lógicas, por ejemplo, el if, el else o el switch.
• Repetitivas: estas ayudan a los programadores con funciones donde se necesitan ciclos, por ejemplo, el while, o el do while, también el ciclo for.

Según el diseño orientado a objetos
En esta concepción tenemos que la mayoría de los componentes de los sistemas están organizados en subsistemas, y los datos u operaciones que crean una manipulación de los datos se llegan a encapsular en lo que se define como objetos. El Diseño Orientado a Objetos tiene algunas características como una arquitectura multicapa y una descripción de objetos, a la cual se le llama “clases” y tiene como ventaja que se establece un anteproyecto de diseño, el cual hace que se maximice la reutilización del código (Cabrera, Ramírez, Altamar, Oñate, Márquez, s.f.). Este tipo de diseño conlleva ciertos métodos de diseño para conseguir relación al diseño orientado a objetos, por ejemplo, los siguientes:
1. Descomponibilidad
2. Componibilidad
3. Comprensibilidad
4. Continuidad
5. Protección

Servicios WEB
Un servicio web está hecho para realizar una tarea específica o un conjunto de tareas, y se describe mediante servicio en una notación XML que es estándar y se le llama Web Services Description Language. La descripción de servicio proporciona todos los detalles necesarios para interactuar con el servicio, incluidos los formatos de mensaje, los protocolos de transporte y la ubicación (IBM Knowledge Center, s.f.). Los servicios web son aplicaciones web que permiten aumentar la flexibilidad de los procesos empresariales al integrarse con aplicaciones que de otra forma no se comunicarían.

Un escenario típico de servicios web es una aplicación de empresa que solicita un servicio de otra aplicación existente. La solicitud se procesa con una dirección web determinada, utilizando mensajes SOAP a través de un transporte HTTP, Java Message Service, o se invoca directamente como JavaBeans. El servicio recibe la solicitud, la procesa y devuelve una respuesta.

Simple Object access protocol 
A la hora de hablar de servicios web, también se puede llegar a escuchar sobre el SOUP o Simple Object Access Protocol, utilizado como un protocolo de mensajería. Este se define como un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML (oblancarte, 2017).


Figura 1. Funcionamiento del SOAP [1]

Con esta investigación se puede llegar a la conclusión de que tanto los componentes de software como los servicios web son dos ramas del desarrollo a las que hay que tomarles mucha importancia desde tempranas horas del aprendizaje como estudiantes y también a la hora de desempeñarlo en un ambiente laboral. A estas dos técnicas se les da su valor por su gran utilidad a la hora de estructurar un software, como a la hora enviar y solicitar servicios de datos. Por estas razones es importante conocer y tener claro estos dos conceptos.

 

MOXIE es el Canal de ULACIT (www.ulacit.ac.cr), producido por y para los estudiantes universitarios, en alianza con el medio periodístico independiente Delfino.cr, con el propósito de brindarles un espacio para generar y difundir sus ideas.  Se llama Moxie - que en inglés urbano significa tener la capacidad de enfrentar las dificultades con inteligencia, audacia y valentía - en honor a nuestros alumnos, cuyo “moxie” los caracteriza.

Referencias bibliográficas:
Cabrera, A., Ramírez, J., Altamar P, Oñate, A. y Márquez, F. (s.f). Diseño Orientado a Objetos. Recuperado de https://www.emagister.com/uploads_courses/Comunidad_Emagister_63082_63082.pdf
IBM Knowledge Center (s.f.). Servicios Web. Recuperado de https://www.ibm.com/support/knowledgecenter/es/SS7K4U_9.0.5/com.ibm.websphere.zseries.doc/ae/cwbs_wbs2.html
Oblancarte. (6 de marzo de 2017). SOAP vs REST ¿cuál es mejor? Recuperado de https://www.oscarblancarteblog.com/2017/03/06/soap-vs-rest-2/
Quality & Programming. (8 de abril de 2012). ¿Qué es un componente de software? Recuperado de: http://qualityandprogramming.blogspot.com/2012/04/que-es-un-componente-de-softwarepara-el.html