Java & WebServices

La programación orientada a objetos
Representacion de los objetos de la realidad en clases
Popularizado en 1990
Actualmente soportado por gran cantidad de lenguajes de programacion
Basado en:
- Herencia
- Cohesión
- Acoplamiento
- Abstracción
- Polimorfismo
- Encapsulamiento
Cada objeto tiene:
Estado: Datos o informacion guardada en atributos
Comportamiento: Conjunto de metodos a los que sabe responder dicho objeto
Identidad: Identificador que diferencia un objeto de los demas
Conceptos:
Import
Implementacion
Interfaz
Void
UML
Singleton
Clase vs Instancia
Factory
Mensaje
New
Constructor
Ejemplo
Por ejemplo, una puerta la podemos definir su alto, ancho y material. Sabemos que podemos abrirla, cerrarla y saber su estado.
En POO, la clase puerta tiene atributos alto, ancho, material y estado. Dos metodos con los cuales abrirla y cerrala.
class Puerta {
private int ancho;
private int alto;
private char estado;
public int getAncho(){
return this.ancho;
}
public int getAlto(){
return this.alto;
}
public char getEstado(){
return this.estado;
}
public void abrir(){
this.estado = 'A';
}
public void cerrar(){
this.estado = 'C';
}
}Java Basics
Escribelo una vez
ejecutalo hasta en una licuadora

Basics
JVM
JRE - JDK
JAR, WAR y EAR
Garbage Collector
Operadores
- Cambio de signo
! Operador not
+-*/% Operadores aritmeticos
== != < > <= >= Operadores relacionales
&& || Operador booleano
+ Concatenador de cadenas

Tipos de dato
int variable = 123;
float variableF = 123.02f;
String variableS = "Esto es una variable";
char letra = 'E';
boolean semaforo = true;Casteo
Int numero1 = 32;
byte numero2;
numero2 = (byte) numero1;class <classname>{
public static void main(String args[]){
statements;
————————;
————————;
}
}Metodo main
hasta lo mas mínimo
comienza en algún lado
class Calculadora {
public static void main(String[] args) {
int var1 = Integer.parseInt(args[0]);
int var2 = Integer.parseInt(args[1]);
System.out.println("Resultado: " + (var1+var2));
}
}A ensuciarce las manos...
- Escribir la clase y guardarlo como Calculadora.java
- Desde la terminal ejecutar javac Calculadora.java
- Ejecutar java Calculadora pasandole por parametro dos enteros
BREAAAAAK!

Algo mas basic

Comentarios
// Comentario de una linea
// Esto es una linea comentada
/*
Estas son
dos lineas comentadas
*/
/**
* author: Emiliano Di Pierro
* since: 1.2
*//* */ Comentario multi-linea
/** */ Comentarios especiales
Nomeclatura
CamelCase
Clases comienzan con mayuscula
Metodos y atributos con minuscula
Identacion

IDE
Para hacer tu vida mas facil


Estructuras
if - else
if( persona.edad > 50){
System.out.println("Cuidado, te queda la mitad");
}else{
System.out.println("Segui disfrutando!");
}switch
switch( persona.nombre ){
case "Emiliano":
System.out.println("Tecnico");
break;
case "Jose":
case "Cami":
case "Cindy":
System.out.println("Funcional");
break;
case "NicoF":
System.out.println("Arquitectura");
default:
System.out.println("Administracion");
}While
while( esDeDia() ) {
persona.trabajar(8);
}Until
do{
persona.dormir()
}while( esDeNoche() )For
for( int edad = 1; i < persona.edadMaxima ; i++){
System.out.println("Te quedan: " + (persona.edadMaxima - i)
+ " años de vida.");
}Arquitectura
de un proyecto
JAR
Package
Clase
modificadores
Quien puede que? como? donde y cuando

Modificadores de acceso
- Public
- Protected
- Private
- Package
Modificadores de Atributos
- Abstract
- Final
- Static
- Synchronized
Excepciones
Tira y atrápala

Nada mejor que con un ejemplo:
try{
Persona timmy = new Persona("Timmy");
timmy.corre();
}catch(Exception e){
System.out.println(persona.nombre + " no puede correr!");
}

WebServices
client
API (WSDL)
WebService
Application
Server
De todo un poco, y divertido:
Application Server
TomCat - WebSphere - OC4J - WebLogic
GET / POST
SSL - Handshake
Datasource - JMS - MDB
WAR / EAR
Applet/Servlet
Javax - CXF
EclipseLink - JPA
EJB
Java y webservices
By Emiliano Di Pierro
Java y webservices
- 397