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...

  1. Escribir la clase y guardarlo como Calculadora.java
  2. Desde la terminal ejecutar javac Calculadora.java
  3. 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