ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Correcion

migueli12318 de Diciembre de 2012

3.608 Palabras (15 Páginas)459 Visitas

Página 1 de 15

cvbcvbcvArquitectura de software. Arquitectura orientada a…

25 febrero, 2012 23:32 / Leave a Comment / admin

Arquitectura de software. Arquitectura orientada a…

RESUMEN

Dentro del proceso de desarrollo de software de un sistema uno de los temas

importantes a tratar es la arquitectura de software, es la parte de la

ingeniería de software que se dedica al estudio, análisis y descripción para

formalizar el esquema global de un sistema, poniendo énfasis en el estudio de

las interacciones entre sus elementos básicos, denominados componentes.

La capacidad para responder rápidamente ante los cambios y optimizar los

procesos de negocio es un factor clave para la competitividad y el crecimiento

de las organizaciones. La Arquitectura Orientada a Servicios (SOA, Service

Oriented Architecture) es una filosofía de diseño que permite un mejor

alineamiento de las Tecnologías de Información (IT) con las necesidades de

negocio, permitiendo a los usuarios de forma más rápida adaptarse adecuadamente

a las presiones del mercado.

El presente trabajo realiza un pequeño estudio general de la arquitectura de

software haciendo énfasis en la arquitectura orientada a servicio.

Abstract

Within the process of software development of a system one of the important

issues to be addressed is the software architecture, is part of software

engineering that is dedicated to the study, analysis and description to

formalize the outline of an overall system, putting emphasis on the study of

interactions among its basic elements, called components.

The ability to respond rapidly to change and optimize business processes is a

key factor for competitiveness and growth of organizations. The Service Oriented

Architecture (SOA, Service Oriented Architecture) is a design philosophy that

allows a better alignment of information technology (IT) with business needs,

allowing users to more quickly adapt adequately to the pressures market.

This work makes a small study of the overall software architecture with an

emphasis on the service oriented architecture.

INTRODUCCIÓN

Breve Historia de la Arquitectura de Software

Cada vez que se narra la historia de la arquitectura de software o de la

ingeniería de software, se reconoce que en un principio, hacia 1968, Edsger

Dijkstra, propuso que se estableciera una estructuración correcta de los

sistemas de software antes de lanzarse a programar, escribiendo código de

cualquier manera (Dijkstra Enero de 1983). Dijkstra, quien sostenía que las

ciencias de la computación eran una rama aplicada de las matemáticas y sugería

seguir pasos formales para descomponer problemas mayores, fue uno de los

introductores de la noción de sistemas operativos organizados en capas que se

comunican sólo con las capas adyacentes y que se superponen ?como capas de

cebolla?. Inventó o ayudó a precisar además docenas de conceptos: el algoritmo

de camino más corto, los stacks, los vectores, los semáforos, los abrazos

mortales. De sus ensayos arranca la tradición de hacer referencia a ?niveles de

abstracción? que ha sido tan común en la arquitectura subsiguiente.

Aunque Dijkstra no utiliza el término arquitectura para describir el diseño

conceptual del software, sus conceptos sientan las bases para lo que luego

expresarían Niklaus Wirth (Wirth Abril de 1971) como stepwise refinement y

DeRemer y Kron (Kron 1976) como programming-in-the large o programación en

grande, ideas que poco a poco irían decantando entre los ingenieros primero y

los arquitectos después.

En la conferencia de la NATO de 1969, un año después de la sesión en que se

fundara la ingeniería de software, P. I. Sharp formuló estas sorprendentes

apreciaciones comentando las ideas de Dijkstra:

?Pienso que tenemos algo, aparte de la ingeniería de software, algo de lo que

hemos hablado muy poco pero que deberíamos poner sobre el tapete y concentrar la

atención en ello, es la cuestión de la arquitectura de software. La arquitectura

es diferente de la ingeniería, ejemplo de lo que quiero decir, echemos una

mirada a OS/360. Partes de OS, si vamos al detalle, han utilizado técnicas que

hemos acordado constituyen buena práctica de programación. La razón de que OS

sea un amontonamiento amorfo de programas es que no tuvo arquitecto. Su diseño

fue delegado a series de grupos de ingenieros, cada uno de los cuales inventó su

propia arquitectura. Y cuando esos pedazos se clavaron todos juntos no

produjeron una tersa y bella pieza de software (Sharp 27 al 31 de Octubre de

1969).?

Una novedad importante en la década de 1970 fue el advenimiento del diseño

estructurado y de los primeros modelos explícitos de desarrollo de software.

Estos modelos comenzaron a basarse en una estrategia más orgánica, evolutiva,

cíclica, dejando atrás las metáforas del desarrollo en cascada que se inspiraban

más bien en la línea de montaje de la ingeniería del hardware y la manufactura.

Poco a poco el diseño se fue independizando de la implementación, y se forjaron

herramientas, técnicas y lenguajes de modelado específicos.

En la misma época, otro precursor importante, David Parnas, demostró que los

criterios seleccionados en la descomposición de un sistema impactan en la

estructura de los programas y propuso diversos principios de diseño que debían

seguirse a fin de obtener una estructura adecuada. Parnas desarrolló temas tales

como módulos con ocultamiento de información, estructuras de software y familias

de programas (Parnas Diciembre de 1972), enfatizando siempre la búsqueda de

calidad del software.

En 1972, Parnas publicó un ensayo en el que discutía la forma en que la

modularidad en el diseño de sistemas podía mejorar la flexibilidad y el control

conceptual del sistema, acortando los tiempos de desarrollo. Introdujo entonces

el concepto de ocultamiento de información (information hiding), uno de los

principios de diseño fundamentales en diseño de software aún en la actualidad.

En la segunda de las descomposiciones que propone Parnas comienza a utilizarse

el ocultamiento de información como criterio. Cada módulo deviene entonces una

caja negra para los demás módulos del sistema, los cuales podrán acceder a aquél

a través de interfaces bien definidas, en gran medida invariables.

En 1975, Brooks, diseñador del sistema operativo OS/360 y Premio Turing 2000,

utilizaba el concepto de arquitectura del sistema para designar ?la

especificación completa y detallada de la interfaz de usuario? y consideraba que

el arquitecto es un agente del usuario (Jr. 1975). También distinguía entre

arquitectura e implementación; mientras aquella decía qué hacer, la

implementación se ocupa de cómo.

Como escriben Clements y Northrop en esta época (Northrop Febrero de 1996) en

todo el desenvolvimiento ulterior de la disciplina permanecería en primer plano

esta misma idea: la estructura es primordial (structure matters), y la elección

de la estructura correcta ha de ser crítica para el éxito del desarrollo de una

solución. ?La elección de la estructura correcta sintetiza, como ninguna otra

expresión, el programa y la razón de ser de la AS?.En la década de 1980, fue

surgiendo nuevo paradigma, el de la programación orientada a objetos.

Paralelamente, hacia fines de la década de 1980 y comienzos de la siguiente, la

expresión arquitectura de software comienza a aparecer nuevamente en la

literatura para hacer referencia a la configuración morfológica de una

aplicación.

El primer estudio en que aparece la expresión ?arquitectura de software? en el

sentido en que hoy lo conocemos es sin duda el de Perry y Wolf; ocurrió en 1992,

aunque el trabajo se fue gestando desde 1989. En él, los autores proponen

concebir la AS por analogía con la arquitectura de edificios, una analogía de la

que luego algunos abusaron (WWISA 1999), otros encontraron útil y para unos

pocos ha devenido inaceptable (Reed 2001).

?La década de 1990, fue la década de la ?arquitectura de software?, dando

cumplimiento a las profecías de Perry y Wolf, fue sin duda la década de

consolidación y diseminación de la AS en una escala sin precedentes. Las

contribuciones más importantes surgieron en torno del instituto de ingeniería de

la información de la Universidad Carnegie Mellon (CMU SEI). En la misma década,

demasiado pródiga en acontecimientos, surge también la programación basada en

componentes, que en su momento de mayor impacto impulsó a algunos arquitectos

mayores, como Paul Clements (Clements Enero de 1996.), a afirmar que la AS

promovía un modelo que debía ser más de integración de componentes pre-programados

que de programación.

FIS 1. Evolución de la

...

Descargar como (para miembros actualizados) txt (26 Kb)
Leer 14 páginas más »
Disponible sólo en Clubensayos.com