Você está na página 1de 19

1.

HERRAMIENTAS Y GIT Y GITHUB

GIT:
es un software de control de versiones diseado por Linus Torvalds,
pensando en la eficiencia y la confiabilidad del mantenimiento de versiones
de aplicaciones cuando stas tienen un gran nmero de archivos de cdigo
fuente. Al principio, Git se pens como un motor de bajo nivel sobre el cual
otros pudieran escribir la interfaz de usuario o front end como Cogito o
StGIT. 3 Sin embargo, Git se ha convertido desde entonces en un sistema de
control de versiones con funcionalidad plena. 4 Hay algunos proyectos de
mucha relevancia que ya usan Git, en particular, el grupo de programacin
del ncleo Linux.
Caractersticas:
El diseo de Git se bas en BitKeeper y en Monotone.
El diseo de Git resulta de la experiencia del diseador de Linux, Linus
Torvalds, manteniendo una enorme cantidad de cdigo distribuida y
gestionada por mucha gente, que incide en numerosos detalles de
rendimiento, y de la necesidad de rapidez en una primera implementacin.
Entre las caractersticas ms relevantes se encuentran:
Fuerte apoyo al desarrollo no lineal, por ende rapidez en la gestin de ramas
y mezclado de diferentes versiones. Git incluye herramientas especficas
para navegar y visualizar un historial de desarrollo no lineal. Una presuncin
fundamental en Git es que un cambio ser fusionado mucho ms
frecuentemente de lo que se escribe originalmente, conforme se pasa entre
varios programadores que lo revisan.
Gestin distribuida. Al igual que Darcs, BitKeeper, Mercurial, SVK, Bazaar y
Monotone, Git le da a cada programador una copia local del historial del
desarrollo entero, y los cambios se propagan entre los repositorios locales.
Los cambios se importan como ramas adicionales y pueden ser fusionados
en la misma manera que se hace con la rama local.
Los almacenes de informacin pueden publicarse por HTTP, FTP, rsync o
mediante un protocolo nativo, ya sea a travs de una conexin TCP/IP
simple o a travs de cifrado SSH. Git tambin puede emular servidores CVS,
lo que habilita el uso de clientes CVS pre-existentes y mdulos IDE para CVS
pre-existentes en el acceso de repositorios Git.
Los repositorios Subversion y svk se pueden usar directamente con git-svn.
Gestin eficiente de proyectos grandes, dada la rapidez de gestin de
diferencias entre archivos, entre otras mejoras de optimizacin de velocidad
de ejecucin.
Todas las versiones previas a un cambio determinado, implican la
notificacin de un cambio posterior en cualquiera de ellas a ese cambio
(denominado autenticacin criptogrfica de historial). Esto exista en
Monotone.
Resulta algo ms caro trabajar con ficheros concretos frente a proyectos,
eso diferencia el trabajo frente a CVS, que trabaja con base en cambios de
fichero, pero mejora el trabajo con afectaciones de cdigo que concurren en
operaciones similares en varios archivos.
Los renombrados se trabajan basndose en similitudes entre ficheros,
aparte de nombres de ficheros, pero no se hacen marcas explcitas de
cambios de nombre con base en supuestos nombres nicos de nodos de
sistema de ficheros, lo que evita posibles, y posiblemente desastrosas,
coincidencias de ficheros diferentes en un nico nombre.
Realmacenamiento peridico en paquetes (ficheros). Esto es relativamente
eficiente para escritura de cambios y relativamente ineficiente para lectura
si el reempaquetado (con base en diferencias) no ocurre cada cierto tiempo.
GITHUB:
Es una forja (plataforma de desarrollo colaborativo) para alojar proyectos
utilizando el sistema de control de versiones Git. Utiliza el framework Ruby
on Rails por GitHub, Inc. (anteriormente conocida como Logical Awesome).
Desde enero de 2010, GitHub opera bajo el nombre de GitHub, Inc. El cdigo
se almacena de forma pblica, aunque tambin se puede hacer de forma
privada, creando una cuenta de pago.
Caractersticas:
Wiki para cada proyecto
Pgina web para cada proyecto1
Grfico para ver cmo los desarrolladores trabajan en sus repositorios y
bifurcaciones del proyecto
Funcionalidades como si se tratase de una red social, como por ejemplo:
seguidores;
Herramienta para trabajo colaborativo entre programadores.
Gestor de proyectos de estilo Kanban.

2.CONSULTAS

Arquitectura de rbol:
En ciencias de la computacin y en informtica, un rbol es una estructura
de datos ampliamente usada que imita la forma de un rbol (un conjunto de
nodos conectados). Un nodo es la unidad sobre la que se construye el rbol
y puede tener cero o ms nodos hijos conectados a l. Se dice que un nodo
A es padre de un nodo b si existe un enlace desde A hasta B (en ese caso,
tambin decimos que B es hijo de A. Slo puede haber un nico nodo sin
padres, que llamaremos raz. Un nodo que no tiene hijos se conoce como
hoja. Los dems nodos (tienen padre y uno o varios hijos) se les conoce
como rama.
Ambientes:
Obtener ms tiempo para crear mejores aplicaciones:
Deje que sus desarrolladores hagan lo que mejor saben hacer: crear
magnficas aplicaciones. Gracias a las soluciones de pruebas de desarrollo,
reducir significativamente el tiempo y problemas de administrar esfuerzos
de desarrollo de forma que su equipo pueda concentrarse en el desarrollo
de aplicaciones.

BookedOut
Con Visual Studio Team Services y .NET, ahorro al menos el 30 por ciento
del tiempo que, de otra manera, tardara en administrar el desarrollo de
software. Eso son horas cada semana que puedo gastar en crear soluciones
mejores.
Andy Abbott, vicepresidente ejecutivo de ingeniera y tecnologaCrear para
todas las plataformas que usa:
Los entornos heterogneos son la norma y no la excepcin. Lleve la
funcionalidad multiplataforma al entorno de desarrollo y pruebas y utilice su
lenguaje de codificacin preferido para crear y probar de forma nativa sus
aplicaciones en los dispositivos y plataformas que utiliza hoy en da, desde
Linux a Windows, iOS y Android.

Shell
En broma decimos que si hay un producto por ah fuera, se utiliza en algn
lugar dentro de Shell, aunque tratamos de estandarizar en plataformas
como Windows y Linux, as como en iOS y Android para el desarrollo mvil...
La mayora de estas plataformas requieren que admitamos una serie de
tecnologas, por lo que la funcionalidad multiplataforma en Visual Studio
Team Services hace que sea una eleccin muy lgica para nosotros.
Henk J. Middendorp, arquitecto jefe de ingeniera de softwareCree entornos
de desarrollo y pruebas en segundos, no semanas:
Simplifique y acelere la ejecucin de su entorno de desarrollo y pruebas.
Aprovisione mquinas virtuales en segundos, en lugar de das o semanas.
Adems, a diferencia de lo que sucede con otros proveedores de servicios
en la nube, solo se paga por minutos. Ponga en marcha tantas mquinas
virtuales como necesite, conctelas a la red y asgnelas a sus
desarrolladores. Administre su entorno con agilidad, decidiendo si permite a
sus desarrolladores autoaprovisionarse o si mantiene un control
centralizado.

LoopUp
A medida que crecamos, ya no podamos obtener fsicamente el nmero
de servidores que necesitbamos. Por ejemplo, en Londres, estaban
teniendo dificultades para acceder a los servidores situados en el oeste de
Estados Unidos. Evalu todas las opciones (Amazon, Google y Microsoft), y
Microsoft Azure es invencible.
Abdulkareem Siddiq, arquitecto jefeEntornos de pruebas escalables de alta
fidelidad:
Replique los escenarios de uso en el mundo real en su entorno de pruebas
y realice sus pruebas en escala de produccin para detectar y corregir
problemas antes de publicar las aplicaciones. Si su entorno de produccin
tambin se ejecuta en Azure, puede crear un clon exacto del mismo y
obtener una vista precisa de cmo se comportar su aplicacin en el mundo
real.

OEConnection
Utilizamos Azure para generar las cargas que necesitamos para probar
nuestras aplicaciones al lmite de sus posibilidades. Al encontrar los puntos
de ruptura antes de alcanzarlos en produccin, podemos hacer los cambios
de arquitectura necesarios para controlar nuestro crecimiento. Tambin
podemos probar cargas de diversas ubicaciones internacionales para
asegurar que nuestros clientes no experimentan problemas de latencia. Con
Azure tenemos acceso a todos los recursos que necesitamos para hacer las
pruebas de rendimiento que queremos a un costo realmente bajo.
Jim Dixon, director de control de calidadMnimo desperdicio, mximo control:
Obtenga visibilidad y un estrecho control sobre el uso de los recursos de
proceso. Acceda a datos de uso en tiempo real para eliminar el desperdicio
e implemente contracargos a los clientes internos. La automatizacin
avanzada ayuda a reducir los errores, la administracin unificada equilibra
el acceso y el control y las capacidades de gobierno listas para empresas
permiten establecer lmites y controlar los costes.
Clear Measure
Esta directiva se autofinancia con creces en la productividad de los
desarrolladores en vez de esperar a un equipo de hardware para montar
entornos de desarrollo y pruebas. Adems, hemos agregado visibilidad en
los costos reales del proyecto.
Jeffrey Palermo, director ejecutivo.
Branch(Rama):
cuando se van a llevar a cabo cambios importantes que rompern la
compilacin, pruebas, experimentos o intentos de optimizacin, debe
crearse una nueva rama de desarrollo, con la que no molestemos a los
compaeros, esto es un branch: una copia del cdigo o la rama de la que
deriva. En esta copia haremos nuestros cambios, integraremos los arreglos
que puedan haberse ido haciendo en el trunk, y, una vez terminado el
desarrollo en la rama, integraremos (o no) los cambios en el trunk. Tambin
puede crearse una rama para una versin terminada, hacer mantenimiento
de esta versin sobre esta rama, y continuar el desarrollo de la nueva
versin en el trunk.
Despliegue:
El despliegue comienza cuando el cdigo ha sido suficientemente probado,
ha sido aprobado para su liberacin y ha sido distribuido en el entorno de
produccin.
Entrenamiento y soporte para el software es de suma importancia y algo
que muchos desarrolladores de software descuidan. Los usuarios, por
naturaleza, se oponen al cambio porque conlleva una cierta inseguridad, es
por ello que es fundamental instruir de forma adecuada a los futuros
usuarios del software.
El mantenimiento o mejora del software de un software con problemas
recientemente desplegado, puede requerir ms tiempo que el desarrollo
inicial del software. Es posible que haya que incorporar cdigo que no se
ajusta al diseo original con el objetivo de solucionar un problema o ampliar
la funcionalidad para un cliente. Si los costes de mantenimiento son muy
elevados puede que sea oportuno redisear el sistema para poder contener
los costes de mantenimiento.
Fork(Bifurcacin (desarrollo de software)):
En el mbito del desarrollo de software, es la creacin de un proyecto en
una direccin distinta de la principal u oficial tomando el cdigo fuente del
proyecto ya existente. Comnmente se utiliza el trmino ingls. Como
resultado de la bifurcacin se pueden llegar a generar proyectos diferentes
que cubren necesidades distintas aunque similares. El trmino tambin
puede ser usado para representar la ramificacin de cualquier trabajo. Un
ejemplo de bifurcacin es la Enciclopedia Libre escindida de la Wikipedia en
espaol.
Las bifurcaciones de proyectos de software libre surgen de un cisma en los
objetivos o un choque de personalidades. En una bifurcacin, ambos lados
asumen derechos de autor idnticos pero tpicamente solo el grupo de
mayor tamao, o el que contiene al arquitecto original, retendr el nombre
original completo y la comunidad de usuarios asociada. Por ello existe una
penalizacin asociada con la bifurcacin.
En proyectos de software privativo las bifurcaciones usualmente se llevan a
cabo para crear versiones de un mismo programa que funcionen en diversos
sistemas operativos, aumentando as la cuota de mercado. Pero suelen
retener las mismas caractersticas, facilitando as a los usuarios el uso del
mismo programa en diferentes sistemas operativos.
Git-flow:
Si queremos implementar este flujo de trabajo, cada vez que queramos
hacer algo en el cdigo, tendremos que crear la rama que corresponda,
trabajar en el cdigo, incorporar el cdigo donde corresponda y cerrar la
rama. A lo largo de nuestra jornada de trabajo necesitaremos ejecutar
varias veces al da los comandos git, merge, push y pull as como hacer
checkouts de diferentes ramas, borrarlas, etc. Git-flow son un conjunto de
extensiones que nos ahorran bastante trabajo a la hora de ejecutar todos
estos comandos, simplificando la gestin de las ramas de nuestro
repositorio.
Work-Flow(Flujo de trabajo):
es el estudio de los aspectos operacionales de una actividad de trabajo:
cmo se estructuran las tareas, cmo se realizan, cul es su orden
correlativo, cmo se sincronizan, cmo fluye la informacin que soporta las
tareas y cmo se le hace seguimiento al cumplimiento de las tareas.
Generalmente los problemas de flujo de trabajo se modelan con redes de
Petri.
Si bien el concepto de flujo de trabajo no es especfico a la tecnologa de la
informacin, una parte esencial del software para trabajo colaborativo
(groupware) es justamente el flujo de trabajo.
Una aplicacin de flujos de trabajo automatiza la secuencia de acciones,
actividades o tareas utilizadas para la ejecucin del proceso, incluyendo el
seguimiento del estado de cada una de sus etapas y la aportacin de las
herramientas necesarias para gestionarlo
Se pueden distinguir tres tipos de actividad:
Actividades colaborativas: Un conjunto de usuarios trabajan sobre un mismo
repositorio de datos para obtener un resultado comn. Tiene entidad el
trabajo de cada uno de ellos en s mismo.
Actividades cooperativas: Un conjunto de usuarios trabajan sobre su propio
conjunto particular, estableciendo los mecanismos de cooperacin entre
ellos. No tiene entidad el trabajo de ninguno de ellos si no es visto desde el
punto de vista global del resultado final.
GUI (graphical user interface):
Es un programa informtico que acta de interfaz de usuario, utilizando un
conjunto de imgenes y objetos grficos para representar la informacin y
acciones disponibles en la interfaz. Su principal uso, consiste en
proporcionar un entorno visual sencillo para permitir la comunicacin con el
sistema operativo de una mquina o computador.
Habitualmente las acciones se realizan mediante manipulacin directa, para
facilitar la interaccin del usuario con la computadora. Surge como
evolucin de las interfaces de lnea de comandos que se usaban para operar
los primeros sistemas operativos y es pieza fundamental en un entorno
grfico. Como ejemplos de interfaz grfica de usuario, cabe citar los
entornos de escritorio Windows, el X-Window de GNU/Linux o el de Mac OS
X, Aqua.
En el contexto del proceso de interaccin persona-computadora, la interfaz
grfica de usuario es el artefacto tecnolgico de un sistema interactivo que
posibilita, a travs del uso y la representacin del lenguaje visual, una
interaccin amigable con un sistema informtico.
Hook:
En programacin, el trmino hooking abarca una gama de tcnicas
utilizadas para alterar o aumentar el comportamiento de un sistema
operativo, de aplicaciones o de otros componentes de software
interceptando llamadas de funcin o mensajes o eventos pasados entre
componentes de software. El cdigo que maneja tales llamadas de funcin,
eventos o mensajes interceptados se llama un hook.
Hooking se utiliza para muchos propsitos, incluyendo la depuracin de
programas y la ampliacin de la funcionalidad. Los ejemplos pueden incluir
la interceptacin de mensajes de eventos de teclado o de ratn antes de
que lleguen a una aplicacin o interceptar llamadas de sistema operativo
para supervisar el comportamiento o modificar la funcin de una aplicacin
u otro componente. Tambin se utiliza ampliamente en los programas de
evaluacin comparativa, por ejemplo la medicin de las imgenes por
segundo en juegos en 3D, donde la salida y la entrada se realiza mediante
hooking.
Hooking tambin puede ser utilizado por cdigo malicioso. Por ejemplo, los
rootkits, piezas de software que tratan de hacerse invisibles simulando la
salida de llamadas del interfaz de programacin de aplicaciones que de otra
manera revelaran su existencia, usan a menudo tcnicas de hooking. Un
wallhack es otro ejemplo de funcionalidad til que puede provenir de
tcnicas de hooking. Se hace interceptando llamadas de funcin en un juego
de computadora y alterando lo que se muestra al jugador para permitirles
obtener una ventaja injusta sobre otros jugadores.
Pull request:
Un pull request es una peticin que el propietario de un fork de un
repositorio hace al propietario del repositorio original para que este ltimo
incorpore los commits que estn en el fork. En el caso que nos ocupa, el
usuario aprendegit-user1 le enviar la peticin a aalbagarcia para que este
ltimo incorpore los commits que tiene en su fork.

Lo primero que har el usuario aprendegit-user1 ser crear una rama que
apuntar al ltimo commit que ha hecho y que contiene las modificaciones
a la pgina de inicio. El procedimiento es el de siempre:
Repositorio:
Un repositorio, depsito o archivo es un sitio centralizado donde se
almacena y mantiene informacin digital, habitualmente bases de datos o
archivos informticos.
Caractersticas generales[editar]
Los datos almacenados en un repositorio pueden distribuirse a travs de
una red informtica, como Internet, o de un medio fsico, como un disco
compacto. Pueden ser de acceso pblico o estar protegidos y necesitar de
una autentificacin previa. Los repositorios ms conocidos son los de
carcter acadmico e institucional. Los repositorios suelen contar con
sistemas de respaldo y mantenimiento preventivo y correctivo, lo que hace
que la informacin se pueda recuperar en el caso que la mquina quede
inutilizable. A esto se lo conoce como preservacin digital,y requiere un
exhaustivo trabajo de control de calidad e integridad para realizarse
correctamente.
Depositar no debe confundirse con publicar. El depsito en los repositorios
es una manera de comunicar pblicamente los trabajos de los
investigadores, aumentando su difusin: los autores ponen disponibles en
acceso abierto una versin de los artculos que han publicado en revistas,
tradicionales o de acceso abierto.[cita requerida] Para ello, los sistemas de
repositorios suelen integrarse e interoperar con otros sistemas y
aplicaciones web.Asimismo, los repositorios cumplen un rol importante en la
formacin universitaria.
Algunas instituciones promueven el uso de sus repositorios como un servicio
adicional para el investigador. Otras instituciones poseen mandatos propios
que obligan a los autores o investigadores a depositar sus publicaciones (o
determinados tipos, como por ej. tesis doctorales) en el repositorio
institucional, con fines de visibilidad, impacto y preservacin.6 En algunos
pases, como por ejemplo Argentina, se han promulgado leyes de acceso
abierto que promueven la implementacin y uso de los repositorios de
instituciones sustentadas con fondos pblicos, mientras que otros pases
estn trabajando en la aprobacin de leyes similares, como por ejemplo
Mxico.
Sistema de control de versiones:
Se llama control de versiones a la gestin de los diversos cambios que se
realizan sobre los elementos de algn producto o una configuracin del
mismo. Una versin, revisin o edicin de un producto, es el estado en el
que se encuentra el mismo en un momento dado de su desarrollo o
modificacin.
Aunque un sistema de control de versiones puede realizarse de forma
manual, es muy aconsejable disponer de herramientas que faciliten esta
gestin dando lugar a los llamados sistemas de control de versiones o VCS
(del ingls Version Control System). Estos sistemas facilitan la
administracin de las distintas versiones de cada producto desarrollado, as
como las posibles especializaciones realizadas (por ejemplo, para algn
cliente especfico). Ejemplos de este tipo de herramientas son entre otros:
CVS, Subversion, SourceSafe, ClearCase, Darcs, Bazaar, Plastic SCM, Git,
Mercurial, Perforce, Fossil SCM, Team Foundation Server.
El control de versiones se realiza principalmente en la industria informtica
para controlar las distintas versiones del cdigo fuente dando lugar a los
sistemas de control de cdigo fuente o SCM (siglas del ingls Source Code
Management). Sin embargo, los mismos conceptos son aplicables a otros
mbitos como documentos, imgenes, sitios web, etc.
Staging rea:
Un rea de stage (se puede traducir como rea de pruebas o rea de
ensayo), tambin llamada zona de landing (zona de aterrizaje), es un rea
intermedia de almacenamiento de datos utilizada para el procesamiento de
los mismos durante procesos de extraccin, transformacin y carga (ETL).
Esta rea se encuentra entre la fuente de los datos y su destino, que a
menudo son almacenes de datos, data marts u otros repositorios de datos.
Las reas de stage de datos son a menudo de naturaleza transitoria, su
contenido se borrar antes de ejecutar un proceso de ETL o inmediatamente
despus de haberlo finalizado con xito. Aunque existen arquitecturas de
rea stage diseadas para mantener los datos durante largos perodos de
tiempo con la finalidad de mantener un archivo de los mismos o para poder
resolver problemas detectados a posteriori.
Tag:
Una etiqueta o baliza (trminos a veces reemplazados por el anglicismo tag)
es una marca con clase que delimita una regin en los lenguajes basados en
XML. Tambin puede referirse a un conjunto de juegos informticos
interactivos que se aade a un elemento de los datos para identificarlo
(Oxford English Dictionary). Esto ocurre, por ejemplo, en los archivos MP3
que guardan informacin sobre una cancin as como sobre el artista que la
ha cantado o compuesto.
Como ocurre en otros casos, a menudo se emplea la palabra inglesa (tag) a
pesar de que etiqueta o baliza son perfectamente adecuadas. Con la
llegada de la World Wide Web ha habido una invasin de tags. La Web se
basa en el HTML, o lenguaje de marcado de hipertexto, que est basado
en el uso de etiquetas. Las etiquetas (entre otras muchas cosas) le dicen al
programa visualizador de pginas web (o navegador) en qu juego de
caracteres est la pgina, de qu tipo es cada uno de los fragmentos de
texto que contiene (por ejemplo, encabezamiento, texto normal, etc.), si
estn alineados a un lado o centrados, en qu tipo de letra est el texto
(cursiva, negrita, etc.), si hay tablas, de qu anchura son etc. Dicho de otro
modo: las balizas dan al navegador las instrucciones necesarias para que
presente la pgina en pantalla.
Working Directory:
En la computacin , el directorio de trabajo de un proceso es un directorio
de un jerrquica del sistema de archivos , en su caso, asociado
dinmicamente con cada proceso. A veces se llama el directorio de trabajo
actual o la caquexia crnica , por ejemplo, el BSD . Cuando el proceso se
refiere a un archivo con un nombre de archivo simple o relativa camino (a
diferencia de un archivo designado por una ruta completa de un directorio
raz ), la referencia es interpretada en relacin con el directorio de trabajo
actual del proceso. As, por ejemplo, un proceso de trabajo con el directorio /
conejo-zapatos que pide para crear el archivo foo.txt va a terminar de crear
el archivo /rabbit-shoes/foo.txt .

Consumo web:
Consumir servicios Web le permite agregar al proceso empresarial servicios
Web existentes. Es posible agregar varios servicios Web a una orquestacin
nica.
Se puede consumir (llamar) un servicio Web procedente de una
orquestacin usando puertos Web. Para consumir un servicio Web desde
una orquestacin, debe crear un puerto Web y construir mensajes Web.
Puede usar los encabezados SOAP con el servicio Web consumido, cambiar
el URI de un servicio Web consumido y establecer el URI de forma dinmica
para un servicio Web consumido.
Para obtener informacin acerca de cmo configurar un SOAP el controlador
de recepcin, vea cmo configurar un controlador de recepcin de SOAP.
Para obtener informacin acerca de cmo configurar un SOAP ubicacin de
recepcin, vea cmo configurar una ubicacin de recepcin de SOAP.

Estilos arquitectnicos:
El tpico ms urgente y exitoso en arquitectura de software en los ltimos
cuatro o cinco aos es, sin duda, el de los patrones ( patterns ), tanto en lo
que concierne a los patrones de diseo como a los de arquitectura.
Inmediatamente despus, en una relacin a veces de complementariedad,
otras de oposicin, se encuentra la sistematizacin de los llamados estilos
arquitectnicos.

Habr que admitir desde el vamos que ambos asuntos preocupan y tienen
como destinatarios a distintas clases de profesionales, o diferentes
stakeholders, como ahora se recomienda llamar: quienes trabajan con
estilos favorecen un tratamiento estructural que concierne ms bien a la
teora, la investigacin acadmica y la arquitectura en el nivel de
abstraccin ms elevado, mientras que quienes se ocupan de patrones se
ocupan de cuestiones que estn ms cerca del diseo, la prctica, la
implementacin, el proceso, el refinamiento, el cdigo.

Desde los inicios de la arquitectura de software, se observ que en la


prctica del diseo y la implementacin ciertas regularidades de
configuracin aparecan una y otra vez como respuesta a similares
demandas. El nmero de esas formas no pareca ser muy grande. Muy
pronto se las llam estilos, por analoga con el uso del trmino en
arquitectura de edificios.

Stub:
Un stub es, en el contexto del testeo del software, un trozo de cdigo usado
como sustituto de alguna otra funcionalidad. Un stub puede simular el
comportamiento de cdigo existente (tal como un procedimiento en una
mquina remota) o ser el sustituto temporal para un cdigo an no
desarrollado. Los stubs son, por tanto, muy tiles para porting, computacin
distribuida as como en el desarrollo y pruebas de software en general.
Un ejemplo de stub en pseudocdigo podra ser como ste:
INICIO
Temperatura = LeerTermometro(Afuera)
SI Temperatura > 40 ENTONCES
ESCRIBIR "Hace calor!"
FIN SI
FIN
INICIO LeerTermometro(Fuente adentroOafuera)
RETORNAR 28
FIN LeerTermometro

El pseudocdigo de arriba utiliza la funcin LeerTermometro, que devuelve


la temperatura. Aunque se pretende que LeerTermometro obtenga la
temperatura de algn dispositivo, la funcin en este momento no contiene
el cdigo necesario. LeerTermometro, en esencia, no simula ningn proceso
aunque devuelve un valor legal, permitiendo as probar aunque sea en parte
el programa principal. Hay que notar tambin que aunque acepta un
parmetro de tipo Fuente para determinar si se va a leer la temperatura
externa o interna, ste no se usa.
Un stub1 es una rutina que realmente no hace otra cosa que declararse a s
misma y a los parmetros que acepta y que devuelve un valor habitual
dentro de los 'escenarios felices' del que llama al stub. Los stubs se usan
habitualmente como sustitutos de la implementacin an no finalizada de
una interfaz ya definida. El stub contendra slo el cdigo necesario para
que compile y enlace con el resto del programa.
WSDL:
WSDL, las siglas de Web Services Description Language, es un formato del
Extensible Markup Language (XML) que se utiliza para describir servicios
web (WS). La versin 1.0 fue la primera recomendacin por parte del W3C y
la versin 1.1 no alcanz nunca tal estatus. La versin 2.0 se convirti en la
recomendacin actual por parte de dicha entidad.
WSDL describe la interfaz pblica a los servicios Web. Est basado en XML y
describe la forma de comunicacin, es decir, los requisitos del protocolo y
los formatos de los mensajes necesarios para interactuar con los servicios
listados en su catlogo. Las operaciones y mensajes que soporta se
describen en abstracto y se ligan despus al protocolo concreto de red y al
formato del mensaje.
As, WSDL se usa a menudo en combinacin con SOAP y XML Schema. Un
programa cliente que se conecta a un servicio web puede leer el WSDL para
determinar qu funciones estn disponibles en el servidor. Los tipos de
datos especiales se incluyen en el archivo WSDL en forma de XML Schema.
El cliente puede usar SOAP para hacer la llamada a una de las funciones
listadas en el WSDL.
El WSDL nos permite tener una descripcin de un servicio web. Especifica la
interfaz abstracta a travs de la cual un cliente puede acceder al servicio y
los detalles de cmo se debe utilizar.
SKELETON:
Skeleton, otro framework de CSS con diseo adaptable
ltimamente los frameworks de CSS surgen como championes. Ahora lo
difcil no es encontrar un framework, sino decidirse por uno.
Acabo de encontrar un framework llamado Skeleton que hace honor a su
nombre, ya que frente a otros frameworks ms pesados como Twitter
Bootstrap que ofrece un montn de caractersticas (tantas, que nunca llegas
a conocerlas todas), Skeleton ofrece nicamente un esqueleto para la
maquetacin, la famosa rejilla de 960 pxeles de ancho y 12 columnas, y
poco ms.

3.RESUMEN DEL VIDEOCLIP DE CAMPUS PARTY


La Ingeniera Valentina Roca Aguilera, Encargada de ser arquitecta de
soluciones en una fabrica de consultora de software en Bogot aborda la
temtica de a que se encarga un arquitecto de soluciones por medio de una
charla porque no hay entidades que definan este cargo.
Un arquitecto de software est ntimamente encargado con todo lo del
proyecto estar empapado de casi todo lo relacionado con lo del desarrollo,
cumpliendo con el rol de lder de desarrollo con planos de arquitectura
dirigiendo a todos los desarrolladores sin olvidar la parte del negocio.
Qu debe cumplir un arquitecto de software?, debe cumplir con Proyecto,
tecnologa, personas y organizacin. Trminos como arquitectura
empresarial definen la brecha que hay en el desarrollo como tal de la
empresa de una empresa pequea a una grande donde se encuentran
diferentes proyectos como lo son proyectos de negocio o tecnologa.
Para la parte de arquitectura de software o de soluciones se deben tener
una cierta cantidad de conocimientos bsicos, como en
BD,UML,SOA,PROGRAMACION,LENGUAJES DE PROGRAMACION, entre otros
muy importantes tambin en el proceso, se ven los servicios como ciclos de
vida definidos como componentes diferentes a mdulos por que son
reutilizables.
Una herramienta si as se le puede denominar muy importante tiene como
nombre SOA(Service Oriented Architecture), el cual como caractersticas
mejorar el tiempo de respuesta del negocio, mejorar la agilidad del negocio,
entre otros y consigo unos beneficios como lo son la reutilizacin y la
escalabilidad.
BPMS(Business Process Management) as como SOA se podra ver como otra
herramienta o plataforma para crear interfaces graficas. As como un motor
de reglas de negocio el cual es poco usado en Colombia denominado
BRMS(Business Rule Management) como componente tecnolgico que
permite ver como se mueven las actividades que complementan un proceso
con sus debidas entradas, procesos y salidas y en conjunto con las mismas
actividades de los proceso. ESB(Entrepise Service Bus) nos permite conectar
la aplicacin con diferentes servicios como su nombre lo dice bus de
servicios, Ej: que la app se conecte con data crdito para mirar el estado
econmico de alguien.
Las redes deben ser un conocimiento bsico como medio de seguridad para
la arquitectura de software en el sentido que debe conocer las utilidades de
ellas para el buen funcionamiento de estas en el mbito de lo anterior dicho
la seguridad.
Conocer las leyes que afectan al desarrollo de las apps en una empresa es
vita importante para, que por reglas de negocio dadas por la leyes se vean
reflejadas en las mismas apps, como lo son los protocolos.
Como conclusin cada una de esas herramientas o componentes
tecnolgicos, buscan cerrar la brecha tecnolgica en una empresa as las
apps no queden completamente perfectas por eso se debe continuar el ciclo
de vida para volver la empresa pequea en una gran corporacin.
4.COMPUTACION ORIENTADA A OBJETOS Y GRID COMPUTING Y
CLOUD COMPUTING

Es un nuevo paradigma de desarrollo que posibilita la construccin y


ejecucin de aplicaciones de usuario en ambientes distribuidos
heterogneos mediante la composicin y el ensamblado de funcionalidad
existente, o servicios. Dicho paradigma prioriza el reuso y la
interoperabilidad de las aplicaciones y servicios. En la actualidad, la familia
de lenguajes XML representa el mecanismo predominante para la provisin
de interoperabilidad entre aplicaciones orientadas a servicios en ambientes
masivamente distribuidos como la Web, brindando particularmente un
soporte tecnolgico apropiado a la hoy difundida nocin de Servicio Web. El
curso brindar un panorama de los conceptos fundamentales de la
Computacin Orientada a Servicios, ejemplificando tales nociones con las
tecnologas estndares comnmente utilizadas para su materializacin, esto
es, XML y Servicios Web.

Grid computing:
La computacin grid (o en malla) es una tecnologa que permite utilizar de
forma coordinada recursos heterogneos (entre ellos cmputo,
almacenamiento y aplicaciones especficas) que no estn sujetos a un
control centralizado. En este sentido es una forma de computacin
distribuida, en la cual los nodos participantes recursos pueden ser de
iguales o distintas arquitecturas y cubrir toda la gama de potencia de
cmputo, desde embebidos y hasta supercomputadores.
Tpicamente, los sistemas que forman parte de una malla estn
interconectados mediante redes de rea extensa (por ejemplo Internet).
Desarrollado en mbitos cientficos a principios de los aos 1990, su entrada
al mercado comercial sigui la idea de la llamada Utility computing.
El trmino grid se refiere a una infraestructura que permite la integracin y
el uso colectivo de ordenadores de alto rendimiento, redes y bases de datos
que son propiedad y estn administrados por diferentes instituciones.
Puesto que la colaboracin entre instituciones envuelve un intercambio de
datos, o de tiempo de computacin, el propsito del grid es facilitar la
integracin de recursos computacionales. Universidades, laboratorios de
investigacin o empresas se asocian para formar grids para lo cual utilizan
algn tipo de software que implemente este concepto.
En la computacin grid, las redes pueden ser vistas como una forma de
computacin distribuida donde un supercomputador virtual est
compuesto por una serie de computadores agrupados para realizar grandes
tareas.
Computing cloud:
Cloud computing es un nuevo modelo de prestacin de servicios de negocio
y tecnologa, que permite incluso al usuario acceder a un catlogo de
servicios estandarizados y responder con ellos a las necesidades de su
negocio, de forma flexible y adaptativa, en caso de demandas no previsibles
o de picos de trabajo, pagando nicamente por el consumo efectuado, o
incluso gratuitamente en caso de proveedores que se financian mediante
publicidad o de organizaciones sin nimo de lucro.
El cambio que ofrece la computacin desde la nube es que permite
aumentar el nmero de servicios basados en la red. Esto genera beneficios
tanto para los proveedores, que pueden ofrecer, de forma ms rpida y
eficiente, un mayor nmero de servicios, como para los usuarios que tienen
la posibilidad de acceder a ellos, disfrutando de la transparencia e
inmediatez del sistema y de un modelo de pago por consumo. As mismo, el
consumidor ahorra los costes salariales o los costes en inversin econmica
(locales, material especializado, etc.).

5.NORMAS IEEE,ISO,ANSI PARA ARQUITECTURA DE SOFTWARE.

IEEE 1471 es el nombre abreviado de un estndar conocido formalmente


como ANSI / IEEE 1471-2000, Prctica Recomendada para Arquitectura
Descripcin del Software Systems-intensivo. Dentro Instituto de Ingenieros
Elctricos y Electrnicos (IEEE) el lenguaje, esto es una "prctica
recomendada", al menos normativa de sus normas. En 2007 esta norma fue
adoptada por la norma ISO / IEC JTC 1 / SC7 como ISO / IEC 42010: 2007 ,
Sistemas e Ingeniera de Software - Prctica recomendada para la
descripcin arquitectnica de los sistemas intensivos en software .
Durante mucho tiempo se ha reconocido [ por quin? ] Que "la arquitectura"
tiene una fuerte influencia sobre el ciclo de vida de un sistema. Sin
embargo, hasta hace relativamente poco, [ cundo? ] Problemas de
hardware han tendido a dominar el pensamiento arquitectnico, y los
aspectos de software, cuando se considera en absoluto, eran a menudo los
primeros en ser comprometida bajo las presiones del desarrollo. IEEE 1471
fue creado para proporcionar una base para pensar en la arquitectura de los
sistemas intensivos en software.
Las contribuciones de IEEE 1471 pueden resumirse de la siguiente manera
(en esta lista, los elementos en cursiva son trminos definidos por y
utilizados en la norma):
Proporciona definiciones y un meta-modelo para la descripcin de la
arquitectura
Se establece que una arquitectura debera tratar de un sistema de grupos
de inters preocupaciones
Se afirma que la descripcin de la arquitectura s son inherentemente
mltiples vistas , hay un nico punto de vista capta adecuadamente todas
las preocupaciones de los interesados
Se especifican las nociones de vista y el punto de vista , donde un punto de
vista identifica el conjunto de las preocupaciones y las representaciones /
tcnicas de modelado , etc. utilizados para describir la arquitectura de
abordar esas preocupaciones y un punto de vista es el resultado de aplicar
un punto de vista de un sistema en particular.
Establece requisitos de contenido para las descripciones de la arquitectura y
la idea de que una descripcin de la arquitectura conformando tiene una
correspondencia 1 a 1 entre sus puntos de vista y sus puntos de vista .
Proporciona una gua para la captura de la arquitectura lgica y la
identificacin de inconsistencias / problemas no resueltos entre los puntos
de vista dentro de una descripcin de la arquitectura
IEEE 1471 proporciona anexos informativos que se relacionan con sus
conceptos de arquitectura concepto sito en otras normas, incluyendo RM-
ODP y IEEE 12207 .

ISO/IEC 42010:2007

Aborda las actividades de creacin y anlisis y sostenimiento de las


arquitecturas de los sistemas intensivos en software y el registro de este
tipo de arquitectura en trminos de descripcin, establece un marco
conceptual para la descripcin, arquitectura define el contenido de una
descripcin de una arquitectura. Proporcionan el fundamento de los
conceptos claves y la terminologa de las reacciones con otras normas.

ISO/IEC 12207:2008

establece un marco comn para los procesos del ciclo de vida del software
con una terminologa bien definida que puedan ser diferenciados por la
industria del software, contiene los procesos actividad de tareas que se van
aplicar durante la arquitectura de un producto de software o servicio
durante el suministro del desarrollo operacin, mantenimiento de un
producto de software, incluye la parte del software.-
AAMI/ISO 13485:

La norma especifica la calidad de productos en ISO 13485. La edicin actual


es la 1 del ao 2013 y tiene 69 paginas en su versin espaola, esta norma
internacional especifica los requisitos para un sistema de gestin de calidad
que puede ser utilizado por una organizacin para el diseo y desarrollo de
produccin, instalacin y servicio de productos sanitarios y el desempeo de
desarrollo y presentacin de servicios relacionados.-

IEEE 730

Proporciona el conjunto de requerimientos y guas mas importantes para el


aseguramiento de la calidad del software, son voluntarios y la organizacin
que los adopta lo hace para mejorar sus productos a la perfeccin de los
productos en el mercado. Estos permiten mejorar los procesos de negocio.-

IEEE 830

El propsito principal de esta norma es ayudarnos a elaborar un documento


muy til en SRS en cual es una gua de redaccin la ISO Software
Engineering Standarsds Committee, de IEEE computer society IEEE (Institute
of electronic and electronic engineers en E.U.A) en 1998 y no es de uso
obligatorio.-

IEEE 1012

Verificacin y validacin de procesos (v a v) se utilizan para determinar si


los productos de desarrollo en una determinada actividad se ajustan a los
requisitos de dicha actividad y si el producto cumple sus usos y necesidades
de los usuarios previstos.-
IEEE 1016

Es ANIEEE estndar que especifica el contenido de la informacin requerida


y la organizacin para una descripcin de diseo de software (SDD) el IEEE
1016 no especifica el medio de un SDD; es aplicado a las bases de datos
automatizados y descripcin del diseo de idioma pero puede ser utilizado
para documentos de papel y otros medios de descripcin.-

IEEE 1471

Es un estndar IEEE sustituido para describir la arquitectura de un sistema


de software intensivo tambin conocido como arquitectura de software. Fue
reemplazado by ISO/IEC/IEEE 42010.2011

IEEE/ISO/IEC 24765

Proporciona un vocabulario comn aplicable a todos los sistemas y obras de


ingeniera del software, fue preparado para reunir y normalizar la
terminologa, que esta destinado a servir de referencia til para aquello en
el campo de la tecnologa de la informacin y para fomentar el uso de los
sistemas y normas de ingeniera de software elaboradas por ISO y
organizacin de enlace IEEE computer society y el instituto de gestin de
proyecto.-

ISO/IEC 27002:2005

Establece los ligamientos y principios generales para iniciar, implementar,


mantener y mejorar la gestin, de seguridad de la informacin en una
organizacin

Você também pode gostar