A través de los años , una variedad de modelos de desarrollo de software y arquitecturas han aparecido y desaparecido en popularidad. En el camino, cada uno contribuyó a la nave e influyó en el software de forma en que se construyó . Dos de estos modelos , el desarrollo basado en componentes y la arquitectura orientada a servicios, hizo contribuciones significativas a los modelos de desarrollo actuales. El desarrollo basado en componentes condujo hacia tanto el desarrollo rápido de aplicaciones y programación visual, mientras que la arquitectura orientada a servicios o SOA , evolucionaron en los servicios de computación en nube en la que acceder al software de servidor a través de un navegador Web. Desarrollo basado en componentes
Visual Basic, Delphi JavaBeans y programación de cada uno depende de un conjunto de componentes de arrastrar y soltar extraídos de una paleta en algún tipo de superficie de trabajo. Junto con los componentes integrados , los desarrolladores pueden crear sus propios controles personalizados para realizar funciones adaptadas a sus propias necesidades de negocio. Los desarrolladores crean juegos de componentes reutilizables , luego usarlos como bloques de construcción para crear nuevas soluciones empresariales . Esta es la base del desarrollo basado en componentes.
Arquitectura orientada a servicios
SOA utiliza un número de servidores Web para distribuir la potencia de cálculo para resolver grandes problemas de negocios. Cuando el navegador muestra una página web , primero se envía una solicitud a un servidor Web espera a que los resultados y los muestra en la página. Un servicio Web , los componentes básicos de SOA , se basa en las mismas peticiones y respuestas web para coordinar el trabajo entre los equipos. Cada equipo tiene un conjunto de servicios que puede realizar y otros ordenadores solicitar estos servicios .
Similitudes
Aunque los modelos de programación parecen muy diferentes, el general la visión es prácticamente la misma. Ambos componentes y servicios disponen de un conjunto predefinido de métodos o funciones que realizan. Los diseñadores de software comienzan definiendo bloques de construcción que representan objetos del mundo real. Estos pueden ser facturas, estados de cuenta bancarios , clientes u otras entidades comerciales . El diseñador se define una serie de mensajes y funciones que le indican al objeto de hacer algo. Por ejemplo , un objeto de cuenta corriente puede tener una función que devuelve su saldo actual o puede tener una función que recibe un pago , lo que aumenta el equilibrio y la publicación de la verificación de su registro .
Diferencias < br >
El principal centro de las diferencias en torno a la escala y la tecnología. Un componente reside en un solo equipo y toda la comunicación se produce dentro de una sola caja. Servicios viven en varios equipos , a menudo en distintas ubicaciones físicas y de la comunicación se produce a través de redes . Componentes suelen implementar funciones muy pequeñas , granulares. Una tarea componente típico puede ser la de leer y escribir datos de una sola tabla de base de datos o crear una transacción. Servicios menudo abarcan varias divisiones o incluso diferentes empresas. Servicios web típicas pueden registrar ventas de las sucursales regionales a la oficina central o envíe una lista de los cheques de nómina al banco de la empresa.