ARQUITECTURA DE SOFTWARE
Arquitectura empresarial (o de procesos de
negocio)
Define
la estrategia de negocios, gobernabilidad, organización, y los procesos de
negocio claves.
Arquitectura de Sistemas de Información;
que se puede dividir en:
Arquitectura
de datos: Define la estructura de una organización lógica y física de los datos
(manejados como activos de la empresa) y de los recursos usados para la gestión
de la información.
Arquitectura de aplicaciones:
Proporciona
un plan para los sistemas de información que se desplieguen, la interacción entre
los diferentes sistemas, y sus relaciones con los principales procesos de
negocio de la organización.
Arquitectura de tecnología
Describe
las capacidades de hardware y software que se requieren para soportar el
despliegue de los servicios de negocios, datos y aplicación. Esto incluye la
infraestructura de tecnologías de información, middleware, redes,
comunicaciones, políticas, normas, etc
Las funciones generales de un Arquitecto son:
• Articular la visión arquitectónica.
• Conceptuar y experimentar con
diferentes alternativas tecnológicas.
• Definir metodologías, estándares y
mecanismos de integración para su implantación en la Organización.
• Establecer los parámetros
tecnológicos sobre los que se desarrollarán los proyectos de sistemas dentro de
la organización.
• Validar la arquitectura contra los
requerimientos de los servicios.
• Evaluar el impacto de las diferentes
aplicaciones y servicios implementados (o en proceso de implementación) sobre la estrategia tecnológica de la
organización.
Artefactos típicos del rol de Arquitecto de Software
Los Artefactos típicos del rol de Arquitecto de Software, son los Frameworks, Los diagramas de Clase, y los patrones.
Framework
Es un
entorno o ambiente de trabajo para desarrollo; dependiendo del lenguaje
normalmente integra componentes que facilitan el desarrollo de aplicaciones
como el soporte de programa, bibliotecas, plantillas y más.
La
arquitectura más utilizada en casi todos los frameworks es conocida como MVC
(Controlador, Modelo, Vista), esta
arquitectura divide el desarrollo en tres grandes partes:
Modelo:
Son los datos de la aplicación y su reglamentación.
Vista:
Es la presentación de los datos.
Controlador: Procesa las peticiones de los usuarios y controla el flujo
de ejecución del sistema.
Características de los Frameworks
Casi
todos los frameworks comparten las mismas características de acuerdo a su tipo,
entre las que podemos destacar están:
· La Autenticación mediante login y
password que permite restringir el acceso y el tipo de permiso.
· El Acceso a los datos en archivos txt,
xml por ejemplo mediante interfaces que integran la base de datos.
· Abstracción de URLs y Sesiones ya que
el framework se encarga de manejarlas.
· Internacionalización que permite la
inclusión de varios idiomas en el desarrollo.
· Controladores fácilmente adaptables a
las necesidades del proyecto que gestionan las peticiones y/o eventos.
¿Cuantos frameworks existen?
Existen
muchos Framework por eso más que difícil es casi imposible cuantificarlos y su
uso va de acuerdo a las necesidades de cada proyecto y al gusto del freelance
y/o desarrollador; algunos de ellos pueden ser:
· .NET: El Framework de Microsoft.
· Ruby on Rails (RoR): es el
Framework de aplicaciones web de código
abierto de un lenguaje de programación llamado Ruby.
· Genesis: Framework para WordPress
· Zengrid: Framework para Joomla
En tipo empresarial:
* Frameworks privados: – EA IBM Framework – SAP EA Framework – IAF Capgemini – EA Oracle Framework, entre otros
* Frameworks Semipropietarios: – Zachman EA Framework, EA3 Cube
* Frameworks Open: – TOGAF: The Open Group Architecture Framework
* Framworks para Organizaciones Estatales: -FEAF: Federal Enterprise Architecture Framework, DODAF
* Frameworks privados: – EA IBM Framework – SAP EA Framework – IAF Capgemini – EA Oracle Framework, entre otros
* Frameworks Semipropietarios: – Zachman EA Framework, EA3 Cube
* Frameworks Open: – TOGAF: The Open Group Architecture Framework
* Framworks para Organizaciones Estatales: -FEAF: Federal Enterprise Architecture Framework, DODAF
Ventajas más comunes
· Compatibilidad de Lenguajes
· Transparencia de proyectos de
plataforma a plataforma
· Portabilidad de Arquitectura
· Integración con múltiples
dispositivos.
·Desarrollo de aplicaciones de manera más
sencilla, ya que cuenta con los componentes necesarios incluidos.
·Reutilización de Código
· Maneja Política de diseño uniforme y
organizado.
PUEDES AMPLIAR ESTA INFORMACIÓN EN LOS SIGUIENTES LINKS
https://www.youtube.com/watch?v=vuaxrIUae60
http://www.nubelo.com/blog/que-son-los-frameworks/
Nuevos roles en las áreas de TI
1. Arquitecto de negocios
La idea de que TI es independiente del
negocio desapareció desde hace algún tiempo. La alta dirección reconoce que la
tecnología no es solo esencial para el éxito, sino que en realidad impulsa la
manera en cómo las empresas alcanzan sus objetivos de negocio. Para ayudar a
combinar tecnología y procesos de negocio, está emergiendo una nueva generación
de arquitecto empresarial –conocido como arquitecto de negocios.
“La arquitectura de negocios trata de
hacer que toda la empresa se mantenga unida”, señala el analista de Forrester
Research, Alex Cullen, que investiga la estrategia y planificación TI de las
organizaciones. “Es un papel construido en torno a la planificación
empresarial, señalando las oportunidades para utilizar las TI con mayor
eficacia” en ventas, servicio al cliente, y otras áreas clave.
2. Científico de datos
Los científicos
de datos pueden abrir nuevas oportunidades al descubrir patrones ocultos en los
datos no estructurados, como el comportamiento de los clientes o los ciclos del
mercado. Por el lado del desarrollo, un científico de datos puede utilizar los
profundos datos sobre las tendencias con el fin de optimizar los sitios web
para una mejor retención de clientes. En el departamento de TI, un científico
de datos calificado puede detectar tempranamente posibles fallas de
almacenamiento en clúster, o rastrear las amenazas de seguridad a través del
análisis forense.
3. Arquitecto de medios sociales
Las herramientas sociales y servicios web
están entrando a todos los niveles de los negocios, desde la comunicación de
back-office en TI hasta la colaboración empresarial en el último piso, flujo
conectado de trabajo, y atención al cliente. A medida que la complejidad de los
negocios sociales crece, las empresas necesitan especialistas para que todo
funcione.
Los medios sociales ya no solo significan
únicamente Facebook y Twitter. IBM, Jive, y Yammer son ahora las empresas a
observar, ofreciendo herramientas sociales de nubes públicas y privadas que
redefinen el papel de los medios de sociales para los negocios. Esto crea una
demanda de profesionales de TI con conocimientos especializados en la
construcción de comunidades seguras dentro de una red de empresas, y entre
empresas y clientes.
4. Experto en tecnología móvil
“La movilidad es el mayor factor de cambio
en TI actualmente”, señala Stewart Tan, vicepresidente de gestión de
administración de los riesgos de información y seguridad en Accretive
Solutions. La construcción de aplicaciones móviles, arquitectura de estrategias
móviles, y aseguramiento de los dispositivos son las principales preocupaciones
que enfrenta la empresa hoy en día.
Con base en los listados que aparecen en
los sitios de empleo de TI, las palabras de Tan suenan casi como un eufemismo.
Uno de los nuevos títulos más comunes que he encontrado a través de los sitios
de trabajo de TI suena más como un clamor general por ayuda, que a una oferta
de empleo real. En respuesta a la avalancha de nuevos dispositivos móviles, las
compañías están buscando desesperadamente “expertos en tecnología móvil” para
poner orden al caos.
5. Desarrollador Móvil Empresarial
Si bien el desarrollo de aplicaciones
móviles ha sido un campo de rápido crecimiento durante años, los sitios de
trabajo TI están viendo un crecimiento en las listas que solicitan creadores de
aplicaciones móviles empresariales. “Las compañías están buscando maneras de
darle sentido a los datos móviles, desarrollar aplicaciones, y asegurar el
cumplimiento de la seguridad”, señala Alice Hill, directora gerente del sitio
de trabajo TI, Dice.com.
En algunas organizaciones, los
conocimientos de programación dependerán de lo que es nativo en la plataforma:
Objective-C para el iPhone, o Java para Android o BlackBerry. Pero gracias a
HTML5, también hay un movimiento hacia el desarrollo web móvil que cruza las
plataformas móviles. Si aún no tiene experiencia en Objective-C o Java, la
adquisición de conocimientos profundosHTML5 tiene la doble ventaja de una menor
curva de aprendizaje y una mayor versatilidad, aunque es posible que aún tenga
que aprender las peculiaridades de cada una de las plataformas móviles.
6. Arquitecto Cloud
Pregúntele a los administradores de TI si
están “en la nube”, y le dirán que siempre lo han estado. Para ellos, la “nube”
es solo una forma moderna de decir “centro de datos”. Pero con los ejecutivos
de negocios e inversionistas en sintonía con el concepto de nube, la demanda de
profesionales TI que puedan llevar la carga para cumplir con el aumento de la
eficiencia y la agilidad prometida por la nube privada, está aumentando.
“Hay un impulso positivo en la integración
de nubes”, señala Ron Gula, CEO de Tenable Network Security. “La gente que
realmente puede identificar la arquitectura desde el punto de vista de la
simplicidad va a estar en demanda”.
PUEDES AMPLIAR ESTA INFORMACIÓN EN EL SIGUIENTE LINK
http://www.cioal.com/2011/07/27/los-6-nuevos-roles-en-las-areas-de-ti/