Cesar Systems

Herramientas Informaticas

Desarrollo de aplicaciones para ambientes distribuidos

Objetivo:
Desarrollara aplicaciones utilizando métodos, herramientas y técnicas para el desarrollo de aplicaciones distribuidas, observando estándares y arquitecturas abiertas.
Temario:
1.      Panorama general de las aplicaciones distribuidas.
1.1.   Evolución de las aplicaciones informáticas.
1.1.1.     Aplicaciones monolíticas.
1.1.2.     Aplicaciones cliente/servidor.
1.1.3.     Aplicaciones de 2,3 y n capas.
1.1.4.     Aplicaciones distribuidas.
1.2.   Evolución de las tecnologías para el desarrollo de aplicaciones distribuidas
1.2.1.     De interfaz de usuario.
1.2.2.     De aplicación.
1.2.3.     De base de datos.
1.2.4.     De conexión entre capas.
1.3.   Escenarios de utilización de las aplicaciones distribuidas.
1.4.   Problemas comunes en el desarrollo y uso de aplicaciones distribuidas.
2.      Arquitectura de aplicaciones distribuidas
2.1.   Capa de interfaz de usuario.
2.2.   Capa de manejo de datos.
2.3.   Capa de procesamiento de datos.
2.4.   Integración de sistemas heredados.
2.5.   Distribución de elementos de una aplicación.
2.6.   Integración de tecnologías heterogéneas y homogéneas.
2.7.   Servicios de arquitectura (e-mail, web, base de datos, aplicaciones, transacciones, sistemas operativos, firewall.
3.      Diseño de aplicaciones distribuidas.
3.1.   Diseño e implementación de manejo de datos.
3.2.   Diseño de procesamiento de datos.
3.3.   Diseño de interfaz de usuario.
4.      Implementación de procesamiento de datos.
4.1.   Construcción de componentes.
4.2.   Comunicación con manejo de datos.
5.      Implementación de interfaz de usuario.
5.1.   Lenguajes de marcado
5.2.   Tecnologías para implementación de interfaces de usuario.
5.3.   Programación.
5.3.1.     Del lado del cliente.
5.3.2.     Del lado del servidor.
6.      Integración de aplicaciones distribuidas.
6.1.   Asignación de las partes de la aplicación.
6.2.   Distribución de la aplicación.
6.3.   Instalación de los componentes.
6.4.   Configuración de los componentes.
6.5.   Configuración  de la aplicación.
6.6.   Evaluar desempeño.
6.7.   Optimización de desempeño.

Y cómo surgen la ideas de negocios tecnológicos (Ensayo)

Las ideas surgen llenando los agujeros donde están los problemas, bien se dice que donde están los problemas están las oportunidades de crear soluciones.

Las ideas vienen cuando el estado mental esta en armonía, relajado. Una persona con remordimiento, mal humor, odio en su interior, esa persona tiene menos probabilidad de encontrar un estado mental armonizado para tener ideas que satisfaga al mercado y haga un aporte social.

No solo es necesario el ganar un dinero si no hacer un cambio benéfico a la sociedad.

Las ideas llegan a la mente con retroalimentación del universo que esta alrededor como leer un periódico para conocer las tendencias tecnológicas, viajando, escuchando rock, siendo hippie en los procesos, eliminando barreras mentales y ataduras, ir al cine, caminar para pensar, tocar algún instrumento para relajarte, usando un pensamiento bilateral, aprendiendo a observar a quienes marcan tendencia y lideran la industria, aprendiendo de memoria las experiencias que triunfan, copiar sin alguna culpa los modelos de negocios que han triunfado, la experiencia es totalmente diferente aunque este a pocos kilómetros de distancia.


Si encuentras una idea, prueba si es factible.

Existe un dicho que dice:

No seas ingeniero para hacer negocios, vive la vida, las ideas surgen del diario del vivir.

Lo de ingeniero que se limitan al resultado exacto de una operación y por ende ese será su límite, ejemplo, para un ingeniero 3/3=1, las personas que cambian el mercado dicen: si tal vez 3/3=1, pero podríamos hacer que su valor sea 0.9999, 2, 4 o 1000.

Platiquen con el portero, el velador, el operador de ensamble, el supervisor de la línea de producción, ellos conocen las anomalías, los errores, las perdidas y la mejoras futuras posibles, las conocen mejor que el gerente que esta encerrado en la oficina. Y lo sorprendente es que a la gente le gusta conversar, te conversan las oportunidades y nos cuentan sus insatisfacciones y las insatisfacciones son posibles oportunidades que podemos empezar a solucionar.

Hoja de presentacion del tec ITLM

HOJA DE PRESENTACION ITLM – DBZ
Bueno les dejo otra hoja de presentacion con shen long al fondo de la presentación, si la pueden poner les recomiendo que le pongan como marca de agua, asi se notaran mas las letras

Arreglos en JAVA ejemplos

Algunos ejemplos de arreglos en JAVA
Archivo Arreglos.java
   1: package unidad4;

   2: 

   3:  

   4: public class Arreglos{ 

   5: int []cal=new int [10]; 

   6: int []rep =new int [10];

   7: int []ren=new int [10];

   8:  

   9: //FUNCION PARA LLENAR EL ARREGLO

  10: void llenarArreglo()

  11: {

  12: for(int x=0; x

  13: cal[x]=(int) (Math.random()*(90)+10);

  14: }

  15:  

  16: //FUNCION PARA REDONDEAR EL ARREGLO

  17: void redondear()

  18: {

  19: for(int x=0; x

  20: {

  21: double a;

  22: a=cal[x]/10.0f;

  23: ren[x]=(int) Math.round(a)*10;

  24: }

  25: }

  26:  

  27: /* NO RECUERDO QUE HACE ESTO CREO QUE SACA LA FRECUENCIA DE LA REPETICION DE UN NUMERO */

  28: void frecuencia()

  29: {

  30: for(int i=0; i

  31: {

  32: ++rep[(cal[i])/10-1];

  33: }

  34: }

  35:  

  36:  

  37: //MUESTRA LAS FRECUENCIAS EN LA PANTALLA

  38: void despliegaFrecuencias()

  39: {

  40: for(int i=0; i

  41: {

  42: System.out.println((i+1)*10 +" Frecuencia "+rep[i]);

  43: }

  44: }

  45:  

  46: /* MUESTRA LOS NUMEROS DEL ARREGLO REDONDEADO */

  47: void muestraRedondeados()

  48: {

  49: for(int x=0; x

  50: {

  51: System.out.println(ren[x]);

  52: }

  53: }

  54:  

  55: //MUESTRA EL ARREGLO

  56:  

  57: void muestrag()

  58: {

  59: for(int x=0; x

  60: {

  61: System.out.println(cal[x]);

  62: }

  63: }

  64:  

  65:  

  66: // REGRESA LA MEDIE DE TODO EL ARREGLO

  67: public float media()

  68: {

  69: float m=0f;

  70: for(int x=0; x

  71: {

  72: m=m+ren[x];

  73: }

  74: m=(m/ren.length);

  75: return m;

  76: }

  77:  

  78: //REGRESA EL NUMERO MAXIMO DEL ARREGLO

  79: public int maximo()

  80: {

  81: int maximo=0;

  82: for(int x=0; x

  83: {

  84: if(ren[x]>maximo)

  85: {

  86: maximo=ren[x];

  87: }

  88:  

  89:  

  90: }

  91: return maximo;

  92: }

  93:  

  94: //REGRESA EL NUMERO MINIMO DEL ARREGLO

  95: public int minimo()

  96: {

  97: int minimo=100;

  98: for(int x=0; x

  99: {

 100: if(ren[x]

 101: {

 102: minimo=ren[x];

 103: }

 104:  

 105:  

 106: }

 107: return minimo;

 108: }

 109:  

 110:  

 111:  

 112: public static void main(String[] args) 

 113: {

 114: Arreglos obj = new Arreglos();

 115: obj.llenarArreglo();

 116: obj.redondear();

 117: obj.frecuencia();

 118: obj.despliegaFrecuencias();

 119: obj.muestrag();

 120: System.out.println("REDONDEADOS");

 121: obj.muestraRedondeados();

 122: System.out.println("La media es "+obj.media());

 123: System.out.println("El numero maximo es "+obj.maximo());

 124: System.out.println("EL numero minimo es "+obj.minimo());

 125: }

 126:  

 127: }

 128:  

 129:  

 130:  

 131:  

 132: Archivo ArregloTest.java

 133:  

 134: package unidad4;

 135:  

 136: public class ArregloTest {

 137:  

 138:  

 139:  

 140: public static void main(String[] args) {

 141:  

 142:  

 143:  

 144: Arreglo ar1=new Arreglo();

 145:  

 146: Arreglo ar2=new Arreglo();

 147:  

 148: Arreglo ar3=new Arreglo();

 149:  

 150:  

 151:  

 152: ar1.llenarArreglo();

 153:  

 154: ar1.muestraA();

 155:  

 156: ar2.llenarArreglo();

 157:  

 158: ar2.muestraA();

 159:  

 160: ar3=ar2.sumar(ar1);

 161:  

 162: ar3.muestraA();

 163:  

 164: }

 165:  

 166: }

 167:  


 

El codigo se pudo distorcionar por el formato, les dejo los archivos para descargar

Examen de java Juego Adivinar

Examen Juego Adivinar

Luego de recuperar mis apuntes encontré un examen practico de programación en JAVA, es un juego que se llama adivinar, no recuerdo que hace exactamente al parecer tienes que adivinar un numero y cada vez te acercas mas con las pistas que te da diciendo que es menor o mayor allí les dejo el código

   1:  

   2:  

   3: package examen;

   4:  

   5:  

   6:  

   7:  

   8: import javax.swing.JOptionPane;

   9: public class Adivinar 

  10: {

  11: public String nombre;

  12: public int intentos;

  13: public int puntuacion;

  14: public double numero;

  15: public int aleatorio1;

  16: public int partidas;

  17: public int ni;

  18: public int mp;

  19: /** Funcion que genera un numero aleatorio de 1 al 100 */

  20: public static void aleatorio(int numero)

  21: {

  22: numero=(int) (Math.random()*(100)+1);

  23: }

  24: /** Inserta el nombre */

  25: public void insertaNombre()

  26: {

  27: nombre=JOptionPane.showInputDialog("Inserte el nombre");

  28: }

  29: /**Jugar*/

  30: public void jugar()

  31: {

  32: puntuacion=1000;

  33: intentos++;

  34: puntuacion--;

  35: ni=Integer.parseInt(JOptionPane.showInputDialog("Inserte el numero"));

  36: if(ni!=aleatorio1)

  37: {

  38: if(ni>aleatorio1)

  39: {

  40: JOptionPane.showMessageDialog(null,"El numero correcto es menor");

  41: }

  42: if(ni

  43:  

  44: {

  45: JOptionPane.showMessageDialog(null,"El numero correcto es mayor");

  46: }

  47: }

  48: }

  49: /**Puntuacion */

  50: public void puntuacion()

  51: {

  52: JOptionPane.showMessageDialog(null,"Nombre "+nombre+"n puntuacion "+puntuacion+"n Mejor puntuacion "+mp);

  53: }

  54: /**Mejor puntuacion */

  55: public void mejorPuntuacion()

  56: {

  57: if(puntuacion>mp)

  58: {

  59: mp=puntuacion;

  60: }

  61: }

  62: public String toString()

  63: {

  64: return "Mejor puntuacion n Nombre "+nombre+"n Mejor puntuacion "+mp;

  65: }

  66: }

Puede que por el formato se modifique el código, aquí los archivos .java




Manejo de excepciones en JAVA

Manejo de excepciones JAVA

package unidad5;

public class ManejoDeExepciones {


public static void main(String[] args) {
int num1;
int num2;
/*
try
{
arg1=args[0];
arg2=args[1];


}catch(ArrayIndexOutOfBoundsException e){
System.out.println("Argumentos incompletos");
}
try {
num1=Integer.parseInt(arg1);
num2=Integer.parseInt(arg2);
}catch(NumberFormatException e1){
System.out.println("No se ha recibido un valor numerico");
}
System.out.println(arg1+" "+arg2);
*/
try
{
num1=Integer.parseInt(args[0]);
num2=Integer.parseInt(args[1]);

System.out.println(num1/num2);
System.out.println(Potencia.potencia(5, 5));


/* }catch(ArrayIndexOutOfBoundsException e){
System.out.println("Argumentos incompletos");
}
catch(NumberFormatException e1){
System.out.println("No se ha recibido un valor numerico");
}catch(ArithmeticException e){
System.out.println("La divicion entre cero es imposible");
}

catch(Exception e){
System.out.println("Ocurrio un error");
}
finally{
System.out.println("Siempre me ejecuto");
}
}

}



SImple serpientes y escalera en JAVA

Ejercicio simple de serpientes y escaleras hecho en java

Archivo Serpientes.java

   1: package serpientesYescaleras;

   2:  

   3: import static utilerias.Mate.factorial;

   4:  

   5: import javax.swing.JOptionPane;

   6:  

   7: public class Serpientes {

   8:  

   9: private int []tablero={0,0,0,0,0,0,0,0,0,0,+28,0,0,0,0,0,+49,0,+27,-15,

  10: +36,0,-21,0,0,+24,0,0,0,0,0,0,0,0,-13,0,0,0,0,0,0,0,+41,0,0,

  11: 0,0,0,0,0,0,+24,0,0,0,0,0,0,0,0,0,-48,0,0,0,0,0,+24,0,0,0,0,-66,+26

  12: ,-45,0,0,-29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-54,0,0,+28,0,0,0};

  13:  

  14: private String nombre;

  15: private int edad;

  16: private int casilla=0;

  17:  

  18: private static int puntuacion=0;

  19: private static String ganador;

  20:  

  21:  

  22: public int dados()

  23: {

  24: return (int)(Math.random()*(6)+1);

  25: }

  26:  

  27: public void insertarDatos()

  28: {

  29: nombre=JOptionPane.showInputDialog("Dame tu nombre");

  30: edad=Integer.parseInt(JOptionPane.showInputDialog("Dame tu edad"));

  31: }

  32:  

  33: public void avanzar()

  34: {

  35: int d;

  36: JOptionPane.showMessageDialog(null,nombre+" De clic en aceptar para tirar el dado");

  37: d=dados();

  38: JOptionPane.showMessageDialog(null,nombre+" Ha caido "+d);

  39: casilla=casilla+d;

  40:  

  41:  

  42: if(tablero[casilla]>0)

  43: {

  44: casilla=casilla+tablero[casilla];

  45: JOptionPane.showMessageDialog(null,"Bien "+nombre+" has escalado hasta escalado hasta la casilla "+casilla);

  46: }

  47: if(tablero[casilla]<0)

  48: {

  49: casilla=casilla+tablero[casilla];

  50: JOptionPane.showMessageDialog(null,"Huu "+nombre+" Has retrocedido hasta la casilla "+casilla);

  51: }

  52: JOptionPane.showMessageDialog(null,nombre+" esta en la casilla "+casilla);

  53: if(casilla>100)

  54: {

  55:  

  56: JOptionPane.showMessageDialog(null,nombre+" felicidades has ganado "+casilla);

  57:  

  58: }

  59: setPuntuacion(casilla);

  60: }

  61:  

  62: public static void setPuntuacion(int puntuacion) {

  63: Serpientes.puntuacion = puntuacion;

  64: }

  65:  

  66: public static int getPuntuacion() {

  67: return puntuacion;

  68: }

  69:  

  70: }

  71:  

  72: Archivo SerpientesTest.java

  73:  

  74: package serpientesYescaleras;

  75: import javax.swing.JOptionPane;

  76: public class SerpientesTest {

  77:  

  78:  public static void main(String[] args) {

  79:   Serpientes jugador1=new Serpientes();

  80:   Serpientes jugador2=new Serpientes();

  81:  

  82:   jugador1.insertarDatos();

  83:   jugador2.insertarDatos();

  84:  

  85:   do

  86:    {

  87:    jugador1.avanzar();

  88:    jugador2.avanzar();

  89:  

  90:    }while(Serpientes.getPuntuacion()<100);

  91:   JOptionPane.showMessageDialog(null," Fin del juego ");

  92:  }

  93: }

  94:  

 

Conexion A mysql con Visual C# Express

Otro proyecto



Viene con el codigo fuente incluido.

EL programa no tiene ni un objetivo si no mostrar una manera de como conectar un programa hecho en Visual express C# con Mysql
Funciona en Windows XP en 7 me fallo 😀



CONEXION C# EXPRESS CON MYSQL

LES DEJO EL PROGRAMA DE FIN DE SEMESTRE

CONSISTE EN CONECTAR UN PROGRAMA HECHO EN VISUAL EXPRESS C# CON MYSQL

EL PROYECTO TIENE LA INSTALACION AUTOMATICA DE LA BASE DE DATOS
TAMBIEN CONTIENE EL CONECTOR MYSQL.DATA 5.1 QUE SE ENCUENTRA EN LA CARPETA DONDE ESTA EL CODIGO FUENTE
A TAMBIEN INCLUI EL CODIGO FUENTE QUE ES LO MAS IMPORTANTE ALLI EN CIERTA CLASE PUSE TODAS LAS SECUENCIAS SQL PARA INSTANCIARLAS EN EL PROGRAMA DESPUES PARA NO ESCRIBIR TANTO CODIGO
EL PROGRAMA FUNCIONA CORRECTAMENTE EN WINDOWS XP SP3
Cualquier mal funcionamiento porfavor comentelo 😀
ESPERO Y LES SIRVA EL CODIGO

ACORDEON PARA EL EXAMEN DE BASE DE DATOS DISTRIBUIDAS TRANSACCIONES

Conectar al Mysql de otro servidor

mysql -h “IPDELAOTRACOMPU” -u “USUARIOCREADO” -p ;

//Bloquear lectura de tabla
LOCK TABLES “NOMBRE_DE_TABLA” READ;

//DESBLOQUEAR TABLAS
UNLOCK TABLES;

//BLOQUEAR ESCRITURA DE LA TABLA
LOCK TABLES “NOMBRE_DE_TABLA” WRITE;

TRANSACCIONES

BEGIN;
//SETENCIAS;
COMMIT;

//BORRAR TABLA
DROP TABLE “Nombre_Tabla”;

Estos son bloqueos y son técnicas para controlar el acceso concurrente.

Granularidad.- Es el nivel que se puede obtener los datos. Que son el Compartido y Exclusivo

Compartido,. Es el de lectura Read

Exclusivo.- Es el de escritura Write

Serializabilidad.- Implica que las transacciones se realizan en paralelo pero el resultado es como se hubieran realizados en serie.

Esto es para evitar usar datos que no son ciertos

Ejemplo el de un banco donde 2 personas entran a diferentes cajeros con la misma cuenta

ACID

Atomicidad

Consistencia

Asolación

Durabilidad

  • Atomicidad: es la propiedad que asegura que la operación se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias.

  • Consistencia: Integridad. Es la propiedad que asegura que sólo se empieza aquello que se puede acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper las reglas y directrices de integridad de la base de datos.

  • Aislamiento: es la propiedad que asegura que una operación no puede afectar a otras. Esto asegura que la realización de dos transacciones sobre la misma información sean independientes y no generen ningún tipo de error.

  • Durabilidad: es la propiedad que asegura que una vez realizada la operación, ésta persistirá y no se podrá deshacer aunque falle el sistema.

Cumpliendo estos 4 requerimientos un sistema gestor de bases de datos puede ser considerado ACID Compliant.

MATRIZ DE COMPATIBLIDAD LAS TRANSACCIONES

TRANSACCION II
TRANSACCION

I
Compartido
V
F
Exclusivo
F
F

Compartido = Read;

Exclusivo = Write

//Bloquear lectura de tabla
LOCK TABLES “NOMBRE_DE_TABLA” READ;

//DESBLOQUEAR TABLAS
UNLOCK TABLES;

//BLOQUEAR ESCRITURA DE LA TABLA
LOCK TABLES “NOMBRE_DE_TABLA” WRITE;

Si es sistema se cae cuando inicia verifica la línea de tiempo las transacciones que están cometidas y las que están cometidas se ejecutan y las que no se hacen un Rollback

Para recuperar mas rápido se hace un ChekPoint “Punto de verificación” En donde se guarda el

·         acceso concurrente

·         Bloques

·         Stampa de tiempo

Granularidad

Al referirnos a lo que es bloqueo en bases de datos en realidad utilizamos lo que se conoce como granularidaddel bloqueo.

La granularidadse refiere a que tan fino se quiere que sea un bloqueo. Por ejemplo ¿desceabloquear la tabla completa (un bloqueo de granularidad gruesa) o solo deceabloquear una fila especifica (un bloqueo de granularidad fina)?.

Página 138 de 143

Creado con WordPress & Tema de Anders Norén