You are on page 1of 8

DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIN

CARRERA: INGENIERA EN SISTEMAS E INFORMATICA

SEXTO SEMESTRE

PROGRAMACIN AVANZADA

NRC: 1727

INFORME SERIE DE TAYLOR

AUTORES:
ACURIO FERNANDO
BENAVIDES JONATHAN
CUICHAN CRISTHIAN
YANDUN DIEGO

PROFESOR:
ING. FAUSTO MENESES

SANGOLQUI ECUADOR

Abril Agosto
2017
OBJETIVO

o Usando componentes EJB, realizar un programa de


encriptacin, para conocer el uso y la forma de manejo de los
componentes.

ESTADO DEL ARTE

o Mecanismos de Encriptacion

o Servidor Glassfish

GlassFish es un servidor de aplicaciones de software libre


desarrollado por Sun Microsystems, compaa adquirida por
Oracle Corporation, que implementa las tecnologas definidas
en la plataforma Java EE y permite ejecutar aplicaciones que
siguen esta especificacin. Es gratuito, de cdigo libre y se
distribuye bajo un licenciamiento dual a travs de la licencia
CDDL y la GNU GPL. La versin comercial es denominada
Oracle GlassFish Enterprise Server (antes Sun GlassFish
Enterprise Server).

GlassFish est basado en el cdigo fuente donado por Sun y


Oracle Corporation; este ltimo proporcion el mdulo de
persistencia TopLink.1 GlassFish tiene como base al servidor
Sun Java System Application Server de Oracle Corporation, un
derivado de Apache Tomcat, y que usa un componente
adicional llamado Grizzly que usa Java NIO para escalabilidad y
velocidad.

o NetBeans

NetBeans es un entorno de desarrollo integrado libre, hecho


principalmente para el lenguaje de programacin Java. Existe
adems un nmero importante de mdulos para extenderlo.
NetBeans IDE2 es un producto libre y gratuito sin restricciones
de uso.

NetBeans es un proyecto de cdigo abierto de gran xito con


una gran base de usuarios, una comunidad en constante
crecimiento, y con cerca de 100 socios en todo el mundo. Sun
MicroSystems fund el proyecto de cdigo abierto NetBeans en
junio de 2000 y contina siendo el patrocinador principal de los
proyectos (Actualmente Sun Microsystems es administrado por
Oracle Corporation).
La plataforma NetBeans permite que las aplicaciones sean
desarrolladas a partir de un conjunto de componentes de
software llamados mdulos. Un mdulo es un archivo Java que
contiene clases de java escritas para interactuar con las APIs
de NetBeans y un archivo especial (manifest file) que lo
identifica como mdulo. Las aplicaciones construidas a partir
de mdulos pueden ser extendidas agregndole nuevos
mdulos. Debido a que los mdulos pueden ser desarrollados
independientemente, las aplicaciones basadas en la plataforma
NetBeans pueden ser extendidas fcilmente por otros
desarrolladores de software.

El NetBeans IDE soporta el desarrollo de todos los tipos de


aplicacin Java (J2SE, web, EJB y aplicaciones mviles). Entre
sus caractersticas se encuentra un sistema de proyectos
basado en Ant, control de versiones y refactoring.

o Componentes EJB
Las Enterprise JavaBeans (tambin conocidas por sus siglas
EJB) son una de las interfaces de programacin de aplicaciones
(API) que forman parte del estndar de construccin de
aplicaciones empresariales J2EE (ahora JEE) de Oracle
Corporation (inicialmente desarrollado por Sun Microsystems).

Su especificacin detalla cmo los servidores de aplicaciones


proveen objetos desde el lado del servidor, que son
precisamente los EJB:

Comunicacin remota utilizando CORBA.


Transacciones.
Control de la concurrencia.
Eventos utilizando JMS (Java Messaging Service).
Servicios de nombres y de directorio.
Seguridad.
Ubicacin de componentes en un servidor de
aplicaciones.

DISEO E IMPLEMENTACION
Aplicacin 1
Cdigo Fuente
Bean
public class EncriptaBean implements EncriptaBeanRemote {

private String texto, clave;

@Override
public void setMessage(String cad) {
this.texto=cad;
}
public void setClave(String clave) {
this.clave = clave;
}

@Override
public String Encriptar()
{
int tamtext=this.texto.length();
int tamclav=this.clave.length();
int temp,p=0;
String encriptado="";
/* Se crea un array de enteros que contendran los numeros que
corresponde a los caracteres en Ascii de los String Texto y la Clave */

int textoAscii[]= new int[tamtext];


int claveAscii[]= new int[tamclav];

/* Se guardan los caracteres de cada String en


numeros correspondientes al Ascii */
for(int i=0;i<tamtext;i++)
textoAscii[i] = this.texto.charAt(i);

for(int i=0;i<tamclav;i++)
claveAscii[i] = this.clave.charAt(i);

//Se procede al ENCRIPTADO


for(int i=0;i<tamtext;i++){
p++;

if(p >= tamclav)


p=0;

temp =textoAscii[i]+claveAscii[p];

if (temp > 255)


temp=temp-255;

encriptado = encriptado + (char)temp;


}

return encriptado;
}
@Override
public String Desencriptar(){
int tamtext=this.texto.length();
int tamclav=this.clave.length();
int temp,p=0;
String desencriptado="";
/* Se crea un array de enteros que contendran los numeros que
corresponde a los caracteres en Ascii de los String Texto y la Clave */
int textoAscii[]= new int[tamtext];
int claveAscii[]= new int[tamclav];

/* Se guardan los caracteres de cada String en numeros correspondientes


al Ascii */
for(int i=0;i<tamtext;i++)
textoAscii[i] = this.texto.charAt(i);

for(int i=0;i<tamclav;i++)
claveAscii[i] = this.clave.charAt(i);

//Se procede al DESENCRIPTADO


for(int i=0;i<tamtext;i++)
{
p++;

if(p>=tamclav)
p=0;
temp=textoAscii[i]-claveAscii[p];
if (temp < 0)
temp=temp+256;
desencriptado=desencriptado + (char)temp;
}
return desencriptado;
}
}
@Remote
public interface EncriptaBeanRemote {

void setMessage(String cad);

void setClave(String clave);

String Encriptar();

String Desencriptar();

}
Cliente

public class Main {


public static void main(String[] args) {
// TODO code application logic here
EncriptaJFrame ven=new EncriptaJFrame();
ven.setVisible(true);
ven.setTitle("Programa encriptacin Acurio-Benavides-Cuichan-
Yandun");
}
}

public class CapaIntermediaEncripta {


private InitialContext ibc;
private EncriptaBeanRemote cmp;

// Metodos:
public CapaIntermediaEncripta() {
try {
ibc = new InitialContext();
cmp = (EncriptaBeanRemote)ibc.lookup(

"pkEJBEncripta.EncriptaBeanRemote#pkEJBEncripta.EncriptaBeanRemote");
} catch (NamingException ex) {

Logger.getLogger(EncriptaJFrame.class.getName()).log(Level.SEVERE, null,
ex);
}
}
public void setMensaje(String cad) {
cmp.setMessage(cad);
}

public void setClave(String cad) {


cmp.setClave(cad);
}

public String Encriptar() {


return cmp.Encriptar();
}
public String Desencriptar() {
return cmp.Desencriptar();
}
}
public class EncriptaJFrame extends javax.swing.JFrame {
public EncriptaJFrame() {
initComponents();
}
private void bEncriptarActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
try {
CapaIntermediaEncripta bci = new CapaIntermediaEncripta();
bci.setMensaje(this.txtMensaje.getText());
bci.setClave(this.txtClave.getText());
this.txtResultado.setText(bci.Encriptar());
}
catch (Exception ex) {
}
}

private void
bDesencriptaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
CapaIntermediaEncripta bci = new CapaIntermediaEncripta();
bci.setMensaje(this.txtResultado.getText());
bci.setClave(this.txtClave.getText());
this.txtMensaje.setText(bci.Desencriptar());
}
catch (Exception ex) {
}
}

}
ANALISIS DE RESULTADOS

CONCLUSIONES
o Mediante el uso de los componentes EJB se convirtieron en una
buena solucin para desarrollar aplicaciones empresariales.
o Permite la escalabilidad, disponibilidad, integracin en los
programas desarrollados
o Los componentes EJB proporcionan simplicidad, ya que la
escritura del mismo, es casi la misma escritura de una clase
o Haciendo uso de componentes EJB y el servidor Glassfish se
llego a la conclusin de que el programa de encriptacin es un
mecanismo que ayuda a la perdida de informacin.

REFERENCIAS

Corporation, O. (03 de Octubre de 2016). Netbeans. Obtenido de


https://es.wikipedia.org/wiki/NetBeans
Marraco, M. B. (s.f.). Recursostic. Recuperado el 07 de Mayo de 2017, de
http://recursostic.educacion.es/descartes/web/materiales_didacticos/D
esarrollo_serie_taylor/Desarrollo_en_serie_de_taylor.htm
Wikipedia. (07 de Octubre de 2015). Wikipedia.org. Obtenido de
https://es.wikipedia.org/wiki/GlassFish

You might also like