martes, 24 de mayo de 2011

Extra - Sistemas distribuidos

Problema con los colores, Disculpen


Sistemas Distribuidos
"Sistemas cuyos componentes hardware y software, que están en ordenadores conectados en red, se comunican y coordinan susacciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocoloprefijado por un esquema cliente-servidor".

  • Concurrencia.- Esta característica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan en la red.
  • Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, esta más bien distribuida a los componentes.
  • Fallos independientes de los componentes.- Cada componente del sistema puede fallar independientemente, con lo cual los demás pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.
Procesamiento central (Host).- Uno de los primeros modelos de ordenadores interconectados, llamados centralizados, donde todo el procesamiento de la organización se llevaba a cabo en una sola computadora, normalmente un Mainframe, y los usuarios empleaban sencillos ordenadores personales.
Los problemas de este modelo son:
  • Cuando la carga de procesamiento aumentaba se tenía que cambiar el hardware del Mainframe, lo cual es más costoso que añadir más computadores personales clientes o servidores que aumenten las capacidades.

  • El otro problema que surgió son las modernas interfases gráficas de usuario, las cuales podían conllevar a un gran aumento de tráfico en los medios de comunicación y por consiguiente podían colapsar.
Grupo de Servidores.- Otro modelo que entró a competir con el anterior, también un tanto centralizado, son un grupo de ordenadores actuando como servidores, normalmente de archivos o de impresión, poco inteligentes para un número de Minicomputadores que hacen el procesamiento conectados a una red de área local.
Los problemas de este modelo son:
  • Podría generarse una saturación de los medios de comunicación entre los servidores poco inteligentes y los minicomputadores, por ejemplo cuando se solicitan archivos grades por varios clientes a la vez, podían disminuir en gran medida la velocidad de transmisión de información.
La Computación Cliente Servidor.- Este modelo, que predomina en la actualidad, permite descentralizar el procesamiento y recursos, sobre todo, de cada uno de los servicios y de la visualización de la Interfaz Gráfica de Usuario. Esto hace que ciertos servidores estén dedicados solo a una aplicación determinada y por lo tanto ejecutarla en forma eficiente.

Extras - Librerías Java Media Framework



Java Media Framework o JMF (en español entorno de trabajo multimedia de Java) es una extensión de Java que permite la programación de tareas multimedia en este lenguaje de programación.

Entre sus características están
Sus principales características son:
  • Estabilidad debida a que funciona sobre la máquina virtual java (JVM).
  • Sencillez, ya que permite, usando unos pocos comandos, realizar complejas tareas multimedia.
  • Potencia, permitiendo la manipulación de elementos multimedia de vídeo y audio locales (procedentes de la misma máquina en la que se ejecuta el programa), así como la retransmisión en tiempo real de vídeo y audio a través de la red mediante el protocolo RTP.
JMF no se incluye en la JDK, ni en la JRE, sino que debe conseguirse como un paquete externo.


Extra -Teorema del No lonche gratis

"No hay lonche gratis", es una de las principales lecciones de la economía. Todo cuesta. 


En si, no pude encontrar teoría de esto, pero el entenderlo es sencillo:


Uno no puede conseguir las cosas, el esfuerzo esta de por medio, si uno no se esforzarse, el tampoco no debería recibir ninguna recompensa por ello, todo es mejor si uno se esfuerza, uno se entretiene, uno disfruta del esfuerzo y la recompensa. 



miércoles, 18 de mayo de 2011

VIdeo Proyecto Final

Pruebas Unitarias - Taller

Aquí una pruebita que hise cuando apenas empezaba a programar el reproductor y que no llevo mucho tiempo.

import javazoom.jlgui.basicplayer.BasicPlayer;
import java.io.File;

public static void main(String args[]){
try {
  Reproductor mi_reproductor = new Reproductor();
  mi_reproductor.AbrirFichero("c:/99.mp3");
  mi_reproductor.Play();
} catch (Exception ex) {
  System.out.println("Error: " + ex.getMessage());
}
}

Pruevas Unitarias


En programación, una prueba unitaria es una forma de probar el correcto funcionamiento de un módulo de código. Esto sirve para asegurar que cada uno de los módulos funcione correctamente por separado. Luego, con las Pruebas de Integración, se podrá asegurar el correcto funcionamiento del sistema o subsistema en cuestión.
La idea es escribir casos de prueba para cada función no trivial o método en el módulo de forma que cada caso sea independiente del resto.
Para que una prueba unitaria sea buena se deben cumplir los siguientes requisitos:
  • Automatizable: no debería requerirse una intervención manual. Esto es especialmente útil para integración continua.
  • Completas: deben cubrir la mayor cantidad de código.
  • Repetibles o Reutilizables: no se deben crear pruebas que sólo puedan ser ejecutadas una sola vez. También es útil para integración continua.
  • Independientes: la ejecución de una prueba no debe afectar a la ejecución de otra.
  • Profesionales: las pruebas deben ser consideradas igual que el código, con la misma profesionalidad, documentación, etc.
Aunque estos requisitos no tienen que ser cumplidos al pie de la letra, se recomienda seguirlos o de lo contrario las pruebas pierden parte de su función

Interfaz Grafica - Taller

Esta parte fue una de las mas fáciles, pero algo complicada ya que el mismo programa netbeans ayudaba con ella.



Esta es la interfaz gráfica, este incluye una barra de menú, y botones necesarios para sus funciones.
Aquí están los botones Play (para la reproducción de la música) y Stop (para detener la canción) y alado un anuncio de del estado actual del reproductor.
Arriba de ellos incluye una barra con animación de cuanto es lo que lleva reproducido de la canción.
Arriba contiene un menú, el cual contiene la forma de abrir los archivos.