software libre - mi materia en...
TRANSCRIPT
Software Libre
SOFTWARE LIBRE
1
Sesión No 8
Nombre: Aplicaciones básicas con Java
Objetivo: Al final de la sesión el estudiante conocerá las aplicaciones básicas
con Java.
Contextualización Alguna vez has pensado:
¿Cómo es posible que se pueda ver alguna de tus aplicaciones en los diferentes dispositivos?
¿Será que programarán la misma aplicación tantas veces como dispositivos van apareciendo en el mercado?
Quizá la respuesta la podremos encontrar al analizar el diseño de aplicaciones
de Java; ya que dependiendo del propósito del plan de negocio de cada
organización podemos encontrar desarrollos en Java para aplicaciones de
negocios, de web o basadas en el modelo vista controlador.
Vecteezy. Devices connected to the cloud.
http://www.freepik.com/free-vector/devices-connected-to-the-cloud_759905.htm
SOFTWARE LIBRE
2
Introducción al Tema
Al paso del tiempo, los actuales usuarios de “la red” nos hemos vuelto más y
más exigentes, con la disponibilidad de nuestra información, la velocidad con la
que son atendidos nuestras peticiones y el tiempo de respuesta que cada uno de
los proveedores de aplicaciones nos proporcionan.
En la actualidad, de no estar satisfechos con alguna aplicación, solamente hace
falta desinstalarla de nuestro dispositivo y ¡listo!, buscar otra alternativa que
proporcione la misma funcionalidad que la anterior o que sea mucho mejor.
Por lo anterior, los proveedores de aplicaciones han volteado hacia Java ya que
al ser multiplataforma y estar orientado a objetos, se ha convertido en el eje
estratégico para el desarrollo de aplicaciones. Es por ello que el diseño de
aplicaciones basadas en Java ya no es solamente importante para el área de
tecnología, sino para la organización en general, ya que en algunas ocasiones la
tendencia del mercado o su funcionalidad podrían posicionarla en los primeros
lugares de preferencia de los usuarios.
El diseño de aplicaciones de Java, dependiendo del plan estratégico de
negocios o inclusive de la tendencia del mercado, pueden plantearse en tres
sectores: aplicaciones de negocios, web o modelo vista controlador; que son los
que le permiten al usuario la movilidad de su información y de los dispositivos
electrónicos.
Java.http://developando.com/blog/wp-content/uploads/2013/09/java_logo.gif
SOFTWARE LIBRE
3
Explicación
Aplicaciones básicas con Java
Con el paso del tiempo, las grandes organizaciones como bancos, universidades,
industria, etcétera, han tenido la necesidad de tener conectados diversos
sistemas, ya sea internos o externos, a fin de compartir información y sobre todo
de conservar la integridad de la misma.
El diseño de aplicaciones se puede dividir en tres áreas: las de negocio, las de
web y el modelo Vista controlador.
Aplicaciones de Negocio
Se utiliza en organizaciones grandes, por ejemplo en los bancos, es el lenguaje
de programación Java (Java nativo, por poner algún nombre), en que se utilizan
las librerías y clases propias del lenguaje
De esta aplicación hemos revisado sus clases, métodos e instrucciones
principales, por lo que profundizaremos en las otras dos aplicaciones.
Aplicaciones Web
Las aplicaciones Web utilizan una “modalidad” distinta al Java puro, la que
conocemos como applets.
SOFTWARE LIBRE
4
Antes de entrar de lleno a los applets, es necesario que sepamos que Java
trabaja con una máquina virtual simulada por software a la que se le llama JVM
(Java Virtual Machine), que es la responsable de ejecutar el Byte code, que no
es otra cosa más que el código resultante de la compilación del código de Java.
La Máquina Virtual de Java tiene dos características principales:
1. Hace enlaces dinámicos a bibliotecas en tiempo de ejecución y cuando se
hace referencias a las mismas.
2. Es posible utilizar código nativo.
Un applet es un programa embebido en el “navegador web”.
SOFTWARE LIBRE
5
Operaciones que se pueden realizar con un applet:
• Iniciación de un applet
public void int () {
…
}
• Comienzo de un applet
public void start () {
…
}
Applet
Iniciar
Borrar
Actualizar
Graficar
Parar
Comenzar
SOFTWARE LIBRE
6
• Parada de un applet
public void stop () {
…
}
• Borrar de un applet
public void destroy () {
…
}
• Actualización de un applet
public void update (Graphics g) {
…
}
• Graficar applet
public void paint (Graphics g) {
…
}
Paso de parámetros a un applet
• String getParameter(String name);
– Name: Nombre del parámetro
– Devuelve el valor que toma el parámetro
– Pares (Nombre, valor)
SOFTWARE LIBRE
7
• Uso de los métodos de los “wrappers” de los tipos básicos para
interpretar el valor del parámetro
– Ejemplo: Integer.parseInt(getParameter(“Numero”);
• Etiqueta PARAM
<APPLET CODE ….>
<PARAM NAME = nombrePar1 VALUE = “val1”>
<PARAM NAME = nombrePar2 VALUE = “val2”>
</APPLET>
Modelo Vista Controlador (MVC)
El Modelo Vista Controlador es un patrón que define la organización
independiente del Modelo (Objetos de Negocio), la Vista (interfaz con el usuario
u otro sistema) y el Controlador (controlador del flujo de trabajo de la
aplicación).
De esta forma, dividimos el sistema en tres capas donde, como explicaremos
más adelante, tenemos la encapsulación de los datos, la interfaz o vista por otro
y por último la lógica interna o controlador.
El patrón de arquitectura "modelo vista controlador", es una filosofía de diseño
de aplicaciones, compuesta por:
Modelo
Contiene el núcleo de la funcionalidad (dominio) de la aplicación.
Encapsula el estado de la aplicación.
No sabe nada / independiente del Controlador y la Vista.
Vista
Es la presentación del Modelo.
SOFTWARE LIBRE
8
Puede acceder al Modelo pero nunca cambiar su estado.
Puede ser notificada cuando hay un cambio de estado en el Modelo.
Controlador Reacciona a la petición del Cliente, ejecutando la acción adecuada y
creando el modelo pertinente.
Existen dos tipos de modelo, el pasivo y el activo.
MVC pasivo. El usuario es el responsable de solicitar los cambios a la vista, por
lo que esta función la realizará el control quien interpreta las órdenes del usuario.
MVC activo. Es un estilo o arquitectura de software que considera tres
componentes fundamentales: los datos, el controlado (la lógica de control) y la
interfaz de usuario.
Para fines de la arquitectura se puede dividir en tres partes: Modelo, controlador
y vista.
El modelo, accede directamente a los datos, define las reglas del negocio, lleva
un registro de las vistas y de las modificaciones realizadas. Ejemplo: Ejecuta un
proceso que verifica que un determinado producto se encuentre en almacén
(acceso directo a los datos), si ya no se tiene producto o el inventario es muy
pequeño, envía la orden de compra al proveedor (reglas de negocio) y actualiza
la base de datos de inventario (realiza las modificaciones en la base de datos).
El controlador recibe las peticiones de entrada y contiene las reglas de operación
de cada evento. Ejemplo: cuando se introduce una orden de compra (define una
petición) y señala la fecha de salida del producto en almacén (regla de
operación).
La vista, que también puede ser denominada como la interfaz de usuario, recibe
datos del usuario o del modelo y se los muestra al usuario.
SOFTWARE LIBRE
9
Control
Vi
Mod
SOFTWARE LIBRE
10
Conclusión
¿Te habías imaginado que para programar estaríamos haciendo uso de un modelo?
Generalmente cuando programamos, únicamente pensamos que debemos de
resolver el problema y que nuestra propuesta de solución funcione
adecuadamente, muy pocas veces nos ponemos a reflexionar el tipo de
dispositivo que va a utilizar o quizá si responde a determinadas reglas de
negocio.
Estas mismas reflexiones nos llevan a hacer cambios inclusive en los mismos
perfiles de los desarrolladores de software, ya que no basta con utilizar un
lenguaje determinado o responder a una necesidad en particular, ahora también
es necesario pensar en la mejor alternativa que nos permita alcanzar un mejor
posicionamiento.
Si pensabas que solamente conocías Java nativo, pudimos revisar lo que son las
applets y lo que es el Modelo Vista Controlador.
Freepick.com. http://www.freepik.com/free-vector/blue-
commerce-signs-vector-icons_753829.htm
SOFTWARE LIBRE
11
Para aprender más
En Internet existen muchos videos y sitios dedicados a la programación en Java,
Applets y al Modelo Vista Controlador, te sugiero que revises algunos para
adquirir más conocimientos y practicar.
Java
Empieza a Programar. (2014). Curso Aprender a Programar en Java desde cero.
Consultado el 19 de diciembre de 2014:
https://www.youtube.com/watch?v=QgSeDCmB-qQ&list=PLw8RQJQ8K1yQDqPyDRzt-
h8YlBj96OwMP&index=1
Applets
Capacity IT Academy. (2011). Applets- Curso de Java-Parte 1 de 2- Capacity.
Consultado el 19 de diciembre de 2014:
https://www.youtube.com/watch?v=kCcabHzDxhA
MVC
Monterrosa, R. (2010). Aplicación Web Java MVC – Construcción de Modelo Parte I.
Consultado el 19 de diciembre de 2014:
https://www.youtube.com/watch?v=0bYj8-YoXUE
Monterrosa, R. (2010). Aplicación Web Java MVC – Construcción de Modelo Parte II.
Consultado el 19 de diciembre de 2014:
https://www.youtube.com/watch?v=KQ154xQNaIU
SOFTWARE LIBRE 12 Actividad de Aprendizaje
Instrucciones:
Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta sesión, ahora utilizando applets realiza un pequeño programa que pida por teclado la fecha de nacimiento de una persona (dia, mes, año) y calcule su número de la suerte.
El número de la suerte se calcula sumando el día, mes y año de la fecha de nacimiento y a continuación sumando las cifras obtenidas en la suma. Por ejemplo: Si la fecha de nacimiento es 12/07/1980 Calculamos el número de la suerte así: 12+7+1980 = 1999 1+9+9+9 = 28 Número de la suerte: 28
El código fuente guardarlo como imagen en formato JPG, con la finalidad de
subirlo a la plataforma de la asignatura. En esta actividad se tomará en cuenta lo siguiente:
• Tus datos generales
• Explicación breve de la forma del algoritmo de solución
• Comentarios en el código fuente.
SOFTWARE LIBRE
13
Bibliografía
Castillo, E. (s/f). JAVA TM Un lenguaje de programación multiplataforma para
Internet. México: Paraninfo.
D. Thomas Michael. (s/f). Programación en Java para Internet. Guía para crear
aplicaciones interactivas y dinámicas para internet. México: Paraninfo.
López, A. (s/f). Introducción al Desarrollo de Programas Con Java. México:
UNAM.