domingo, 3 de junio de 2012

Arquitectura orientadas a servicios

Arquitectura Orientada a Servicios (SOA)







La Arquitectura Orientada a Servicios es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio.
Permite la creación de sistemas altamente escalables que reflejan el negocio de la organización, a su vez brinda una forma estándar de exposición e invocación de servicios (comúnmente pero no exclusivamente servicios web), lo cual facilita la interacción entre diferentes sistemas propios o de terceros.
SOA proporciona una metodología y un marco de trabajo para documentar las capacidades de negocio y puede dar soporte a las actividades de integración y consolidación.
La metodología de modelado y diseño para aplicaciones SOA se conoce como análisis y diseño orientado a servicios. La arquitectura orientada a servicios es tanto un marco de trabajo para el desarrollo de software como un marco de trabajo de implementación. Para que un proyecto SOA tenga éxito los desarrolladores de software deben orientarse ellos mismos a esta mentalidad de crear servicios comunes que son orquestados por clientes o middleware para implementar los procesos de negocio. El desarrollo de sistemas usando SOA requiere un compromiso con este modelo en términos de planificación, herramientas e infraestructura.


viernes, 25 de mayo de 2012

Arquitectura cliente-servidor

Esta arquitectura se divide en dos partes claramente diferenciadas, la primera es la parte del servidor y la segunda la de un conjunto de clientes.

Normalmente el servidor es una máquina bastante potente que actúa de depósito de datos y funciona como un sistema gestor de base de datos (SGBD).

Por otro lado los clientes suelen ser estaciones de trabajo que solicitan varios servicios al servidor.

Ambas partes deben estar conectadas entre sí mediante una red.
Una representación gráfica de este tipo de arquitectura sería la siguiente.














Este tipo de arquitectura es la más utilizada en la actualidad, debido a que es la más avanzada y la que mejor ha evolucionado en estos últimos años.

Podemos decir que esta arquitectura necesita tres tipos de software para su correcto funcionamiento:
  • Software de gestión de datos: Este software se encarga de la manipulación y gestión de los datos almacenados y requeridos por las diferentes aplicaciones. Normalmente este software se aloja en el servidor.
  • Software de desarrollo: este tipo de software se aloja en los clientes y solo en aquellos que se dedique al desarrollo de aplicaciones.
  • Software de interacción con los usuarios: También reside en los clientes y es la aplicación gráfica de usuario para la manipulación de datos, siempre claro a nivel usuario (consultas principalmente).
A parte de estos existen más aplicaciones software para el correcto funcionamiento de esta arquitectura pero ya están condicionados por el tipo de sistema operativo instalado, el tipo de red en la que se encuentra.

sábado, 19 de mayo de 2012

Arquitectura de software

Una arquitectura de software es la estructura de un sistema que incluyen componentes de software, las propiedades visibles y las relaciones de estos componentes.

una arquitectura es un conjunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construbccion del software para el sistema de informacion

Estructuras arquitectónicas

Existen diferentes tipos de vistas que permiten ver la arquitectura de un sistema más en detalle


Vista lógica

Abstracción de las funciones el sistema y sus relaciones.

Vista de código

Esta vista es la que ve el  programador, los elementos que tiene este tipo de vista son clases, objetos, métodos y funciones y sucomposición caraformar subsistemas,capas y módulos

Vista de desarrollo

La vista de desarrollo la usan los desarrolladores, pero es diferente ala vistade código, esta es una vista de la estructura del código fuente, como un repositorio el cual varios usuarios(programadores y demantenimiento) crean, modifican y administran

Vista de coincidencia

Esta vista permite deducir los procesos e hilos que se van a crear y como se van a comunicar y a compartir recursos.

Vista  física    

La vista física describe los recursos de HWdelsistema. En sistemas pequeños es trivial la vista física puesto que un solo computador es el que se encarga de manejar todos los procesos

viernes, 18 de mayo de 2012

Arquitectura en tres capas

El Patrón de arquitectura por capas es una de las técnicas más comúnes que los arquitectos de software utilizan para dividir sistemas de software complicados. Al pensar en un sistema en términos de capas, se imaginan los principales subsistemas de software ubicados de la misma forma que las capas de un pastel, donde cada capa descansa sobre la inferior. En este esquema la capa más alta utiliza varios servicios definidos por la inferior, pero la ultima es inconsciente de la superior. Además, normalmente cada capa oculta las capas inferiores de las siguientes superiores a esta.

Los beneficios de trabajar un sistema en capas son:

- Se puede entender una capa como un todo, sin considerar las otras.
- Las capas se pueden sustituir con implementaciones alternativas de los mismos servicios básicos
- Se minimizan dependencias entre capas.
- Las capas posibilitan la estandarización de servicios
- Luego de tener una capa construida, puede ser utilizada por muchos servicios de mayor nivel.
La imagen que se muestra a continuación presenta el esquema de una arquitectura siguiendo este patrón:



A continuación se describen las tres capas principales de un patrón de arquitectura por capas:
1. Capa de Presentación: Referente a la interacción entre el usuario y el software.  Puede ser tan simple como un menú basado en líneas de comando o tan complejo como una aplicación basada en formas.  Su principal responsabilidad es mostrar información al usuario, interpretar los comandos de este y realizar algunas validaciones simples de los datos ingresados.

2. Capa de Reglas de Negocio (Empresarial): También denominada Lógica de Dominio, esta capa contiene la funcionalidad que implementa la aplicación.  Involucra cálculos basados en la información dada por el usuario y datos almacenados y validaciones.  Controla la ejecución de la capa de acceso a datos y servicios externos.  Se puede diseñar la lógica de la capa de negocios para uso directo por parte de componentes de presentación o su encapsulamiento como servicio y llamada a través de una interfaz de servicios que coordina la conversación con los clientes del servicio o invoca cualquier flujo o componente de negocio.

3. Capa de Datos: Esta capa contiene la lógica de comunicación con otros sistemas que llevan a cabo tareas por la aplicación.  Estos pueden ser monitores transaccionales, otras aplicaciones, sistemas de mensajerías, etc.  Para el caso de aplicaciones empresariales, generalmente esta representado por una base de datos, que es responsable por el almacenamiento persistente de información.  Esta capa debe abstraer completamente a las capas superiores (negocio) del dialecto utilizado para comunicarse con los repositorios de datos (PL/SQL, Transact-SQL, etc.).

domingo, 22 de abril de 2012

CICLO DE VIDA SCRUM

Primero que todo debemos saber que es un SCRUM bueno, un escrun es una manera de desarrollar software agilmente, Ademas es metodo con el cual se realizan proyectos de forma interactiva, rapidez y eficaz, ya que este ciclo se encarga de trabajar en equipo que suelen ser de 2 a 8 personas y tranban en un tiempo determinado donde cada quien expone sus ideas.

En este tipo de proyecto podemos hablar de unos roles muy importantes los cuales son:


PROPIETARIO DEL PRODUCTO (Product Owner) : que es el cliente a quien se le va a entregar el producto

ARQUITECTO SCRUM (Scrum Master) : Persona encargadas de guiar  el producto a desarrollar. pero tambien puede ser un Scrum Team.

EQUIPO SCRUM (Scrum Team): personas encargadas de desarrollar el producto.





viernes, 13 de abril de 2012

DIAGRAMAS DE SECUENSIA

Un diagrama de secuencia es aquel que muestra como interactuan un conjunto de objetos con el sistema, por lo que este se emplea para cada caso de uso. basicamente un diagrama de secuencia muestra como esta trabajando un sistema interiormente.




como podemos ver en la grafica anterior que secuencia lleva este restaurante y como funciona interiormente, este diagrama se manejan tipos de mensajes aquie les dejo estos: sincrónicos, asincronicos, directos, retorno.

domingo, 8 de abril de 2012

Diagrama de clases


un diagrama de clases es un tipo de diagrama que describe la estructura de un sistema mostrando sus clases, atributos, y relaciones entre si. son aquellos que son implementados para el análisis y diseño de sistemas donde se conceptualiza la información que se manejara en dicho sistema, y  los complementos que se encargan del funcionamiento y la relación entre ellos





Ademas podemos decir que en el diagrama de clases existen 4 atributos que son muy importantes que son: propiedades interfaz, operación, herencia.


viernes, 30 de marzo de 2012

DIAGRAMAS DE CASOS DE USO


los casos de uso lo podemos definir que es uno de los diagramas indispensables ala hora de realizar algun sistema requerido, ya que por medio de este se optienes los requisitos funcionales y no funcionales. con este diagrama se busca la manera de simplificar los diferentes procesos ala hora de realizar dicho sistema


A continuación les daré un ejemplo de u diagrama de casos de uso






lunes, 12 de marzo de 2012

quinta semana

en esta semana se trataron puntos muy esenciales como de la realizacion de un 4 de 4 esto significa q existes 4 expositores y cuatro conciencias (apoyo para los expositores) lo cual fue muy impotante puesto que por medio de ello se profundiso mucho sobre los consectos fundamentales como los en el campo de la ingenieria de software, yh por medio de ese taller aclareamos muchas dudas al respecto de la materia

domingo, 4 de marzo de 2012

cuarta semana

en esta cuarta semana las clases se vieron reflejada a  puntos muy importantes que son como las gestiones que debe tener un analista de sistema ante una situación que va hacer requerida por el cliente, lo cual el analista debe actuar según el tiempo estipulado por el usuario, y una actividad muy interesante puesto que era de como el analista de sistema debia sacarle una información a un cliente según su petición y que debía sugerirle al respecto de esta.

domingo, 26 de febrero de 2012

tercera semana

los conocimientos adquiridos esta semana fue de gran satifaccion ya que para futuros analistas de sistemas los temas tratados, y las lecturas enrriquesedoras seran de gran apoyo en la parte del conocimiento y las habilidades que se debe tener ante cualquier situacion como lo de la lectura de (carta a garcia).

domingo, 12 de febrero de 2012

primera semana

En la primera semana de clases se realizaron varias tareas, un a de ellas fue la presentación lo cual fue realizada en una forma dinámica de vital importancia porque unos de los objetivos principales fue la atención ya que se trataba de estar concentrado al compañero para obtener su información, la clase siguiente fue mas académica lo cual se realizo una exploración a la plataforma (splavia), donde encontramos unas informaciones que serviran  de gran apoyo en  el transcurso del semestre, también se dieron a conocer unas estrategias para desarrollar mas nuestro conocimiento..