Glosario de términos importantes de Programación y Redes

A

Acnowledgement (ACK):

(acuse de recibo) Un tipo de mensaje que se envía para indicar que un bloque de datos ha llegado a su destino sin errores

Active X

Un lenguaje de programación apoyado en controles OLE, Visual Basic y Librerias del entorno Windows (OCX) de Microsoft Active X permite que interactúen aplicaciones Windows con el World Wide Web.
Actualmente solo es soportado por el Internet Explorer, aunque existen planes para integrarlo a plataformas Macintosh y UNIX.

Algoritmo de Encriptación o Cifrado

Sistema de encriptación (con mayor grado de sofisticación cada día) que permite mover información por las redes con seguridad. Existen varios algoritmos, a cual más complejo y eficaz, destacando entre todos MD5, DES, DES2, RC3, RC4 y, sobre todo, el SSL (Secure Sockets Layer) de Netscape que, posiblemente, se convierta en el algoritmo que adopte definitivamente 'Internet'. Estos sofisticados algoritmos se caracterizan por sus claves de encriptación que oscilan entre 40 y 120 bits. Las claves de encriptación superiores a 40 bits no son legalmente exportables fuera de los EE.UU. por razones de seguridad.

Application Program Interface (API)

Conjunto de convenciones de programación que definen cómo se invoca un servicio desde un programa.

ARP

Address resolution protocol. Protocolo utlizado en las redes de difusión para resolver la dirección de IP en base a la dirección de trama de capa 2.

B

Backbone

Nivel más alto en una red jerárquica. Se garantiza que las redes aisladas (stub) y de tránsito (transit) conectadas al mismo eje central están interconectadas

BOOTP

Protocolo de bajo nivel para la asignación de direcciones IP a máquinas simples desde un servidor en una red fisica

Bridge (puente )

Un bridge se utiliza cuando tenemos que conectar dos redes a nivel de capa de enlace. El dispositivo conecta dos o más segmentos de la misma LAN. Las dos LAN’s a ser conectadas pueden ser similares o no, por ejemplo , el bridge puede conectar dos Ethernets entre sí o una ethernet y una Token Ring. A diferencia de los routers, los bridges son independientes del protocolo y tansparentes para la capa de red ( capa 3 ). Los Bridges realizan funciones de forwarding y filtrado de paquetes sin rerutear mensajes, en consecuencia pueden ser mas rápidos que los routers, pero son mucho menos versátiles.

C

Certificado

consiste en una pareja clave privada-clave pública. Fisicamente son dos archivos que unidos, permiten definir un conjunto de claves de encriptación y una identidad certificada. La clave privada nunca abandona el servidor, por lo que NADIE obtiene esta información, por lo que NADIE podrá suplantar la identidad del servidor certificado.

CGI

(Common Gateway Interface). Una interfaz escrita en un lenguaje de programación (perl, c, c++,visual basic, etc) y posteriormente ejecutada o interpretada por una computadora servidor para contestar pedidos del usuario desde una computadora con una aplicación cliente casi siempre desde el World Wide Web. Esta interfaz permite obtener los resultados pedidos, como los que resultan al consultar una base de datos

Clave privada

Es la clave que tan sólo nosotros conocemos y que utilizamos para desencriptar el mensaje que nos envían encriptado con nuestra clave pública. Este sistema de clave pública y clave privada se conoce como sistema asimétrico

Clave pública

Es la clave que hacemos que esté al alcance de todo el mundo para que nos puedan enviar un mensaje encriptado. También con ella pueden desencriptar lo que les enviemos encriptado con nuestra clave privada

Clave secreta

Es el código básico utilizado para encriptar y desencriptar un mensaje. Cuando se utiliza la misma para las dos funciones, estamos ante un sistema simétrico.

Cliente

Un sistema o proceso que solicita a otro sistema o proceso que le preste un servicio. Una estación de trabajo que solicita el contenido de un archivo a un servidor es un cliente de este servidor. Ver también: "client-server model", "server".

Client-server model

(modelo cliente-servidor) Forma común de describir el paradigma de muchos protocolos de red.

Computer Emergency Response Team (CERT)

(Equipo de Respuesta para Emergencias Informáticas) El CERT creado por DARPA en Noviembre de 1988 como respuesta a las carencias mostradas durante el incidente del gusano ("worm") de Internet. Los objetivos del CERT son trabajar junto a la comunidad Internet para facilitar su respuesta a problemas de seguridad informática que afecten a los sistemas centrales de Internet, dar pasos proactivos para elevar la conciencia colectiva sobre temas de seguridad informática y llevar a cabo tareas de investigación que tengan como finalidad mejorar la seguridad de los sistemas existentes. Los productos y servicios del CERT incluyen asistencia técnica 24 horas al día para responder a incidencias sobre seguridad informática, asistencia sobre vulnerabilidad de productos, documentos técnicos y cursos de formación

Cookie

Procedimiento ejecutado por el servidor que consiste en guardar información acerca del cliente para sus posterior recuperación. En la práctica la información es proporcionada desde el visualizador al servidor del Word Wide Web vía una forma o un método interactivo que puede ser recuperado nuevamente cuando se acede al servidor en el futuro. Es utilizado por ejemplo para el registro a un servicio.

Cracker

Un "cracker" es una persona que intenta acceder a un sistema informático sin autorización. Estas personas tienen a menudo malas intenciones, en contraste con los "hackers", y suelen disponer de muchos medios para introducirse en un sistema.

Criptoanálisis

La rama del conocimiento que se encarga de descifrar los mensajes encriptados sin conocer sus llaves. Se dice que determinada clave ha sido “rota” cuando alguien logra descifrar un mensaje sin conocer la clave que le dió origen.

Criptografía

La rama del conocimiento que se encarga de la escritura secreta, originada en el deseo humano por mantener confidenciales ciertos temas

D

DES

abreviatura de Data Encryption Standard, un sistema desarrollado a fines de los años 70 y que se basa en el sistema de la llave única

DNS (Domain Name Service)

Base de Datos distribuida que mapea nombres de sistemas con direcciones IP y viceversa

Dominio

Conjunto de computadoras que comparten una característica común, como el estar en el mismo país, en la misma organización o en el mismo departamento. Cada dominio es administrado por un servidor de dominios

F

Filtro de Paquetes

Programa que intercepta paquetes de datos, los lee y rechaza los que no estén en un formato predefinido.

Finger (dedo)

Programa que muestra información acerca de un usuario específico, o acerca de todos los usuarios, conectado a un sistema o remoto. Habitualmente se muestra el nombre y apellidos, hora de la última conexión, tiempo de conexión sin actividad, línea del terminal y situación de éste. Puede también mostrar archivos de planificación y de proyecto del usuario

Firewall

un sistema diseñado para evitar accesos no autorizados desde o hacia una red privada. Los Firewalls pueden estar implementados en hardware o software, o una combinación de ambos. Los firewalls son frecuentemente uilizados para evitar el acceso no autorizado de usuarios de internet a redes privadas conectadas a la misma, especialmente intranets.Todos los mensajes que dejan o entran a la red pasan a través del firewall, el cual examina cada mensaje y bloquea aquellos que no cumplan con determinado criterio de seguridad. Existen varias técnicas de firewall: • Filtrado de paquetes: Examinar a cada paquete que deje o entre a la red, y aceptarlo o rechazarlo basado en reglas definidas por el usuario. El filtrado de paquetes es efectivo y transparente a los usuarios, pero es difícil de configurar. Adicionalmente, es suceptible a IP spoofing • Gateway de aplicación: Aplica mecanismos de seguridad a aplicaciones específicas como FTP y Telnet. Es muy efectivo, pero puede provocar degradaciones de perfomance. • Gateway a nivel de circuito: Aplica mecanismos de seguridad cuando una conexión TCP es establecida. Una vez establecida los paquetes circulan sin más inspección • Proxy server: Intercepta todos los mensajes que entran y dejan la red. Un proxy server oculta en forma efectiva las direcciones reales de red. Ver proxy, proxy server. En la práctica, un firewall utiliza alguna o varias de estas técnicas en conjunto.

Firewall Router

Filtro de paquetes que filtra el tráfico en base a la dirección destino y fuente.

FTP (File Transfer Protocol)

Protocolo parte de la arquitectura TCP/IP utilizado para la transferencia de archivos.

Fully Qualified Domain Name (FQDN) (Nombre de Dominio Totalmente Cualificado)

El FQDN es el nombre completo de un sistema y no sólo el nombre del sistema. Por ejemplo, "venus" es un nombre de sistema y "venus.sfp.gov.ar" es un FQDN G

Gateway a Nivel de Aplicación

Programas escritos especialmente que proveen una barrera de seguridad interpretando los datos producidos por aplicaciones tal como pasan por el firewall. (Ver firewall )

Gateway a Nivel de Circuito

Barrera que intercepta sesiones TCP interponiendo aplicaciones especialmente escritas que leen y copian los datos a través del Firewall. (Ver firewall )

Gopher

Un servicio de distribución de información que ofrece colecciones jerarquizadas de información en Internet. Gopher utiliza un protocolo simple que permite a un cliente Gopher acceder a información desde cualquier servidor Gopher que esté accesible, proporcionándole un único "espacio Gopher" (Gopher space) de información

H

Hacker

Persona que tiene un conocimiento profundo acerca del funcionamiento de redes y que puede advertir los errores y fallas de seguridad del mismo. Al igual que un cracker busca acceder por diversas vías a los sistemas informáticos pero con fines de protagonismoo contratado.

Header (cabecera)

Parte inicial de un paquete, que precede a los datos propiamente dichos y que contiene las direcciones de origen y destino, control de errores y otros campos. Una cabecera es también la porción de un mensaje de correo electrónico que precede al mensaje propiamente dicho y contiene, entre otras cosas, el emisor del mensaje, la fecha y la hora

Host (sistema central)

Computador que permite a los usuarios comunicarse con otros sistemas centrales de una red. Los usuarios se comunican utilizando programas de aplicación, tales como el correo electrónico, Telnet y FTP

HTML

Lenguaje de marcado de hipertexto, (Hiper-Text Markup Languaje) es el lenguaje con que se escriben los documentos en el World Wide Web. A la fecha existen tres versiones de HTML. HTML 1, se sientan las bases para la disposición del texto y las gráficas, HTML 2 donde se agregan formas y HTML 3 (llamado también extensiones Netscape) donde se añaden tablas, mapas, etc.

HTTP

Protocolo de Transferencia de Hipertextos (Hiper-Text Transfer Protocol). Es el protocolo usado por el Word Wide Web para transmitir páginas HTML.

Hub

Un punto común de conexión de dispositivos en una red. Los hubs son usados comunmente para conectar segmentos de una LAN. Un hub contiene múltiples ports. Cuando un paquete llega al port, es copiado a los otros ports, de esta manera los otros segmentos de la LAN pueden ver todos los paquetes. Un hub pasivo simplemente sirve de conductor de datos entre los diferentes ports. Los llamados hubs inteligentes incluyen servicios adicionales como permitir a un administrador monitorear el tráfico y configurar cada port del hub. Estos hubs se conocen generalmente como hubs administrables (manageable hubs). Un tercer tipo de hub, llamado switching hub, lee la dirección de destino en cada paquete y lo envía al port correcto. Véase tambien repeater, switching hubs.

I

IMAP

Protocolo de Acceso a Mensajes de Internet (Internet Message Access Protocol). Protocolo diseñado para permitir la manipulación de mailboxes remotos como si fueran locales. IMAP requiere de un servidor que haga las funciones de oficina de correos pero en lugar de leer todo el mailbox y borrarlo, solicita sólo los encabezados de cada mensaje. Se pueden marcar mensajes como borrados sin suprimirlos completamente, pues estos permanecen en el mailbox hasta que el usuario confirma su eliminación.

Integrated Services Digital Network (ISDN)

Red Digital de Servicios Integrados. Tecnología en plena evolución. ISDN combina servicios de voz y digitales a través de la red en un solo medio, haciendo posible ofrecer a los clientes servicios digitales de datos así como conexiones de voz a través de un solo"cable".

Intranet

Una red privada dentro de una compañía u organización que utiliza el mismo software que se encuentra en Internet, pero que es solo para uso interno.

IP address (Dirección IP)

Dirección de 32 bits definida por el Protocolo Internet en STD 5, RFC 791. Se representa usualmente mediante notación decimal separada por puntos.

J

Java

Un lenguaje de programación que permite ejecutar programas escritos en un lenguaje muy parecido al C++, llamados applets, a través del World Wide Web. La diferencia contra un CGI es que la ejecución se realiza totalmente en la computadora cliente, en lugar del servidor. Java fue originalmente desarrollado por Sun Microsystems. El principal objetivo de JAVA fue hacer un lenguaje que fuera capaz de ser ejecutado de una forma segura a traves de Internet. Esta característica requiere la eliminación de muchas contrucciones y usos de C y C++. El más importante es que no existen punteros. Java no puede acceder arbitrariamente a direcciones de memoria. Java es un lenguaje compilado en un código llamado "codigo-byte" (byte-code). Este código es interpretado "en vuelo" por el intérprete Java.

L

Local Area Network (LAN) (Red de Area Local)

Red de datos para dar servicio a un área geográfica pequeña, un edificio por ejemplo, por lo cual mejorar los protocolos de señal de la red para llegar a velocidades de transmisión de hasta 100 Mbps (100 millones de bits por segundo).

M

Mail gateway (pasarela de correo)

Máquina que conecta entre sí a dos o más sistemas (incluso diferentes) de correo electrónico y transfiere mensajes entre ellos. A veces, la transformación y traducción pueden ser muy complejas

MAN

Metropolitan Area Network. Red de Area Metropolitana.

MIME

Extensiones de Correo de Internet de Múltiples propósitos (Multipurpose Internet Mail Extensions) Técnica para codificar archivos y anexarlos a un mensaje de correo electrónico. Permite principalmente enviar archivos binarios como parte de un mensaje.

MTA

Agente para el transporte de correo electrónico (Mail Transport Agent) son programas que se encargan de distribuir los mensajes generados en el sistema. El más popular es el llamado sendmail, distribuido con sistemas UNIX

MTU

Maximum Transmission Unit. Unidad Máxima de Transmisión. Tamaño máximo de paquete en protocolos TCP/IP como el PPP.

N

Navegador

Aplicado normalmente a programas usados para conectarse al servicio WWW

Nodo

Por definición punto donde convergen mas de dos líneas. A veces se refiere a una única máquina en Internet. Normalmente se refiere a un punto de confluencia en una red.

NSA

National Security Agency. Agencia Nacional de Seguridad. Organismo americano para la seguridad, entre otras cosas, informática.

P

Packet internet Groper (PING) (Búsqueda de Direcciones de Internet)

Programa que se utiliza para comprobar si un destino está disponible

PAP

Password Authentication Protocol. Protocolo de Autentificación por Password. Protocolo que permite al sistema verificar la identidad del otro punto de la conexión mediante password

PEM

Private Enhanced Mail. Correo Privado Mejorado. Sistema de correo con encriptación

PGP

Pretty Good Privacity. Paquete de encriptación basado en clave pública escrito por Phil Zimmerman

POP

Protocolo de Oficina de Correos (Post Office Protocol) Programa cliente que se comunica con el servidor, identifica la presencia de nuevos mensajes, solicita la entre de los mismos.

PPP

Protocolo Punto a Punto (Point to Point Protocol). Implementación de TCP/IP por líneas seriales (como en el caso del módem). Es mas reciente y complejo que SLIP

Protocolo

Descripción formal de formatos de mensaje y de reglas que dos computadores deben seguir para intercambiar dichos mensajes.

Proxy

Una substitución de direcciones, usado para limitar la información de direcciones disponibles externamente

Proxy Server

Un server que se situa entre la aplicación cliente, como por ejemplo un web browser, y un server real. Intercepta todos los requerimientos al server real para ver si las puede resolver él. Si no, envia el requerimiento al server real. Los proxy servers tienen dos propósitos principales: Mejorar la perfomance: Los proxy server mejoran la perfomance de un grupo de usuarios, ya que guardan los resultados de los requerimientos de los mismo una determinada cantidad de tiempo. Considerese el caso en que los usuarios A y B acceden a WWW a través de un proxy server. El usuario A accede una determinada página web, que llamaremos por ejemplo página 1. Algún tiempo despues, el usuario B accede a la misma página. En vez de enviar el requerimiento al server en donde reside la página 1, lo cual puede ser una operación lenta, el proxy server retorna la página 1 que había buscado para el usuario A, la cual fue convenientemente guardada en caché. Como el proxy server está usualmente en la misma red que el usuario, esta operación es mucho más rápida. Filtrar requerimientos y/o registrarlos: Los proxy servers pueden además evitar que se accedan a determinados web sites, y registrar en un log los lugares accedidos. Permitir el acceso seguro de intranets a internet: En este caso los usuarios de la intranet acceden a internet a traves del proxy, el cual tiene direcciones “reales” de internet mientras que los usuarios de la intranet están en direcciones privadas, aislados y seguros de la internet.

R

RARP

Reverse Address Resolution Protocol. Protocolo de Resolución de Dirección de Retorno. Protocolo de bajo nivel para la asignación de direcciones IP a máquinas simples desde un servidor en una red física.

Repeater (repetidor)

Un repetidor simplemente reexpide bits de una red hacia otra, haciendo que las dos se vean lógicamente como una sola red. A menudo las redes se dividen en dos o más piezas, como consecuencias de las restricciones de máxima longitud de cable de cada pieza individual. Los repetidores son poco inteligentes ( no hay software ), sólo copian bits ciegamente.

Request For Comments (RFC) (Petición de comentarios)

Serie de documentos iniciada en 1969 que describe el conjunto de protocolos de Internet. No todos los rfcs (en realidad muy pocos de ellos) describen estándares de Internet pero todos los estándares Internet están escritos en forma de rfcs. La serie de documentos RFC es inusual en cuanto los protocolos que describen son emitidos por la comunidad Internet que desarrolla e investiga, en contraste con los protocolos revisados y estandarizados formalmente que son promovidos por organizaciones como la ITU

Router (direccionador)

) Dispositivo que distribuye tráfico entre redes. La decisión sobre a dónde enviar se realiza en base a información de nivel de red y tablas de direccionamiento. El router se necesita cuando las dos redes utilizan la misma capa de transporte y tienen diferentes capas de red. Por ejemplo, para una conexión entre una red local ethernet y una red pública X.25, se necesitaría un router para convertir las tramas ethernet a la forma que exige la red X.25.

RSA

Rivest, Shamir, Adelman [public key encryption algorithm]. Algoritmo de encriptación de clave pública desarrollado por Rivest, Shamir y Adelman

S

SATAN

Security Analysis Tool for Auditing Networks. Herramienta de Análisis de Seguridad para la Auditoria de Redes. Conjunto de programas escritos por Dan Farmer junto con Wietse Venema para la detección de problemas relacionados con la seguridad.

SEPP

Secure Electronic Payment Protocol. Protocolo de Pago Electronico Seguro. Sistema de pago a través de Internet desarrollado por Netscape y Mastercard

S-HTTP

Secure HTTP. HTTP seguro. Protocolo HTTP mejorado con funciones de seguridad con clave simétrica

SMTP

Simple Mail Transfer Protocol. Protocolo de Transferencia Simple de correo. Es el protocolo usado para tranportar el correo a traves de Internet

SSL

Secure Sockets Layer. Capa de Socket Segura. Protocolo que ofrece funciones de seguridad a nivel de la capa de transporte para TCP.

STT

Secure Transaction Technology. Tecnologia de Transaccion Segura. Sistema desarrollado por Microsoft y Visa para el comercio electronico en Internet

Switching Hub

También llamado port-switching hub o simplemente switch es un tipo especial de hub que envía los paquetes al port apropiado basado en la dirección del paquete. Los hubs convencionales simplemente difunden cada paquete a cada port. Como los switching hubs envían cada paquete solo a los ports requeridos, proveen mucha mejor perfomance. Muchos switching hubs soportan ademas load balancing, de esta manera los ports son reasignados dinámicamente a diferentes segmentos de LAN basados en el tráfico. Además, varios modelos soportan ethernet a 10 Mbps. y Fast Ethernet ( 100 Mbps ), esto permite al administrador establecer un canal dedicado de Fast ethernet a dispositivos como por ejemplo servers. NOTA Nótese la implicancia en seguridad que tiene usar switching hubs, un sniffer colocado en un port solo vería las tramas dirigidas a ese port, con lo cual no podría inspeccionar tramas que no le correspondan. Por ende, es esencial utilizar switches en vez de hubs comunes

T

TCP

Transmission Control Protocol. Protocolo de control de Transmision. Uno de los protocolos más usados en Internet. Es un protocolo de capa de transporte.

TCP/IP

(Transmission Control Protocol/Internet Protocol) Arquitectura de red desarrollada por la "Defense Advanced Research Projects Agency" en USA, es elconjunto de protocolos básicos de Internet o de una Intranet

Telnet

Telnet es el protocolo estándar de Internet para realizar un servicio de conexión desde un terminal remoto. Está definido en STD 8, RFC 854 y tiene opciones adicionales descritas en muchos otros RFCs

Texto plano

se llama así al documento antes de ser encriptado. ( Plain Text )

Token

Dispositivo de autentificación que genera contraseñas de una-vez. Los usuarios que los utilizan son llamados "usuarios autenticados".

Trojan Horse

Horse (Caballo de troya) programa informático que lleva en su interior la lógica necesaria para que el creador del programa pueda acceder al interior del sistema que lo procesa

U

UDP

Protocolo de Datagramas de usuario (User Datagram Protocol). Protocolo que no pide confirmación de la validez de los paquetes enviados por la computadora emisora. Este protocolo es actualmente usado para la transmisión de sonido y vídeo a través de Internet. El UDP está diseñado para satisfacer necesidades concretas de ancho de banda, como no reenvía los datos perdidos, es ideal para el tráfico de voz digitalizada, pues un paquete perdido no afecta la calidad del sonido.

URL

. Localizador Uniforme de recursos (Uniform Resorce Locator). Sistema de direccionamiento estandar para archivos y funciones de Internet, especialmente en el Word Wide Web. El url esta conformado por el servicio (p. e. http://) más el nombre de la computadora (p. e. www.sfp.gov.ar ) más el directorio y el archivo referido

W

WAN

Wide Area Network. Red de Area Extensa.

WWW, WEB o W3

World Wide Web. Estrictamente que la WEB es la parte de Internet a la que accedemos a través del protocolo HTTP y en consecuencia gracias a Browsers normalmente gráficos como Netscape. Fuente tomada Servicio Nacional de Aprendizaje SENA

Fundamentos de Programación en Java

Introduccion 


Programación Orientada a Objetos
La Programación Orientada a Objetos es un paradigma de programación diferente a la Programación Estructurada o a la misma Programacion Procedural al que la mayoria de los programadores están acostumbrados a utilizar.
En la Programacion Estructurada y la Programación Procedural lo mas importante es el procedimiento que se esta desarrollando a través de un lenguaje de programación. En Programacion Orientada a Objetos, se hace un gran enfasis a los datos, y todo gira alrededor de ellos.
Cada vez que alguien quiere hacer una aplicacion, debe de pensar en los elementos (datos) que va a utilizar para programar, y la relación que existe entre estos datos, en su forma de interactuar entre si.


El mundo esta lleno de objetos y estos objetos tienen ciertas características que los hacen únicos y esas características se derivan de atributos que agrupadas representan a una clase que compone a los objetos definidos.
Java es un lenguaje que nos ayuda a entender mucho mejor el paradigma Orientado a Objetos de una manera mas sencilla y natural.


 Antecedentes del Lenguaje Java

Java se creó como parte de un proyecto de investigación para el desarrollo de software avanzado para una amplia variedad de dispositivos de red y sistemas embebidos. La meta era diseñar una plataforma operativa sencilla, segura, portable, distribuida y de tiempo real.

Cuando se inició el proyecto, C++ era el lenguaje del momento. Pero a lo largo del tiempo, las dificultades encontradas con C++ crecieron hasta el punto en que se pensó que los problemas podrían resolverse mejor creando una plataforma de lenguaje completamente nueva.

Se hizo uso de la arquitectura y diseño de una amplia variedad de lenguajes como Eiffel, SmallTalk, Objetive C y Cedar/Mesa. El resultado es un lenguaje que se ha mostrado ideal para desarrollar aplicaciones de usuario final seguras, distribuidas y basadas en red en un amplio rango de entornos desde los dispositivos de red embebidos hasta su uso para soluciones en Internet.

Características en el Diseño de Java

- Sencillo, orientado a objetos y familiar: Sencillo, para que no requiera grandes esfuerzos de entrenamiento para los desarrolladores. Orientado a objetos, porque la tecnología de objetos se considera madura y es el enfoque más adecuado para las necesidades de los sistemas distribuidos y/o cliente/servidor. Familiar, porque aunque se rechazó C++, se mantuvo Java lo más parecido posible a C++, eliminando sus complejidades innecesarias, para   facilitar la migración al nuevo lenguaje.

- Robusto y seguro: Robusto, simplificando la administración de memoria y eliminando las complejidades del uso de apuntadores y aritmética de apuntadores del C. Seguro para que pueda operar en un entorno de red.
- Independiente de la arquitertura y portable: Java está diseñado para soportar aplicaciones que serán instaladas en un entorno de red heterogéneo, con hardware y sistemas operativos diversos. Para hacer esto posible el compilador Java genera un código llamado 'bytecodes' o comúnmente conocido como código byte, un formato de código independiente de la plataforma diseñado para transportar código eficientemente a través de múltiples plataformas de hardware y software. Es además portable en el sentido de que es rigurosamente el mismo lenguaje en todas las plataformas. El 'bytecode' es traducido a código máquina y ejecutado por la Java Virtual Machine, que es la implementación Java para cada plataforma hardware-software concreta.

- Alto rendimiento: A pesar de ser interpretado, Java tiene en cuenta el rendimiento, y particularmente en las últimas versiones dispone de diversas herramientas para su optimización. Cuando se necesitan capacidades de proceso intensivas, pueden usarse llamadas a código nativo.

- Interpretado, multi-hilo y dinámico: El intérprete Java puede ejecutar codigo byte en cualquier máquina que disponga de una Máquina Virtual Java (JVM). Además Java incorpora capacidades avanzadas de ejecución multi-hilo (ejecución simultánea de más de un flujo de programa) y proporciona mecanismos de carga dinámica de clases en tiempo de ejecución.


Características del Lenguaje

ü  Lenguaje de propósito general.

ü  Lenguaje Orientado a Objetos.

ü  Sintaxis inspirada en la de C/C++.

ü  Lenguaje multiplataforma: Los programas Java se ejecutan sin variación (sin recompilar) en cualquier plataforma soportada (Windows, UNIX, Mac, etc.)

ü  Lenguaje interpretado: El intérprete a código máquina (dependiente de la plataforma) se llama Java Virtual Machine (JVM). El compilador produce un código intermedio independiente del sistema denominado bytecode ó código byte.

ü  Lenguaje gratuito: Creado por SUN Microsystems, que distribuye gratuitamente el producto base, denominado JDK (Java Development Toolkit) o actualmente J2SE (Java 2 Standard Edition).

ü  API distribuida con el J2SE muy amplia. Código fuente de la API disponible.
Facilidades del J2SE  (Java 2 Estándar Edition)
ü  Herramientas para generar programas Java. Compilador, depurador, herramienta para   documentación, etc.
ü  La JVM, necesaria para ejecutar programas Java.
ü  La API de Java (jerarquía de clases).
ü  Código fuente de la API (Opcional).
ü  Documentación.
Java Runtime Environment  (JRE)
JRE es el entorno mínimo para ejecutar programas Java 2. Incluye la JVM y la API. Está incluida en el J2SE aunque puede descargarse e instalarse separadamente. En aquellos sistemas donde se vayan a ejecutar programas Java, pero no compilarlos, el JRE es suficiente. 
El JRE incluye el Java Plug-in, que es el 'añadido' que necesitan lo navegadores (Explorer o Netscape) para poder ejecutar programas Java 2. Es decir que instalando el JRE se tiene soporte completo Java 2, tanto para aplicaciones normales (denominadas 'standalone') como para Applets (programas Java que se ejecutan en una página Web, cuando esta es accedida desde un navegador).


Jerarquía de Operadores Java

Jerarquía de los operadores aritméticos

Prioridad
Operadores
Asociatividad
1
( )
 Empezando por los paréntesis más internos
2
++, --, +(positivo), - (negativo)
 De derecha a izquierda, ++ y --  dependiendo de la posición
3
*,/,%
 De izquierda a derecha
4
+, -
 De izquierda a derecha
5
=,+=,-=,*=, /=,%=
 De derecha a izquierda




Variables, Operaciones y Jerarquía en las Operaciones Java

En Java existen dos categorías de tipos de datos:
  • Tipos Primitivos. Los cuales se definen abajo.
  • Referencias. Las cuales corresponden a clases y objetos que se tratarán posteriormente.

Tipos primitivos

Los tipos primitivos son los que permiten manipular valores numéricos (con distintos grados de precisión), caracteres y valores boléanos (verdadero / falso). Los Tipos Primitivos son:
  • boolean: Puede contener los valores true o false.
  • byte: Enteros. Tamaño 8-bits. Valores entre -128 y 127.
  • short: Enteros. Tamaño 16-bits. Entre -32768 y 32767.
  • int: Enteros. Tamaño 32-bits. Entre -2147483648 y 2147483647.
  • long: Enteros. Tamaño 64-bits. Entre -9223372036854775808 y 9223372036854775807.
  • float: Números en coma flotante. Tamaño 32-bits.
  • double: Números en coma flotante. Tamaño 64-bits.
  • char: Caracteres. Tamaño 16-bits. Unicode. Desde '\u0000' a '\uffff' inclusive. Esto es desde 0 a 65535

Variables

Una variable es un área en memoria que tiene un nombre y un Tipo asociado. El Tipo es o bien un Tipo primitivo o una Referencia.
Es obligatorio declarar las variables antes de usarlas. Para declararlas se indica su nombre y su Tipo, de la siguiente forma:
tipo_variable nombre ;
Ejemplos:
int i;         // Declaracion de un entero
char
letra;    // Declaracion de un caracter
boolean
flag;  // Declaracion de un booleano

·         El; es el separador de instrucciones en Java.
·         El símbolo // indica comentarios de línea, se ponen después de una instrucción para comentarla, el compilador no las toma al detectarlas.
En Java las mayúsculas y minúsculas son significativas. No es lo mismo el nombre       letra que Letra.
·         Todas las palabras reservadas del lenguaje van en minúsculas. 
Se pueden asignar valores a las variables mediante la instrucción de asignación (=). Por ejemplo:
i = 5;          // a la variable i se le asigna el valor 5
letra = 'c';    // a la variable letra se le asigna el valor 'c'
flag = false;  // a la variable flag se le asigna el valor false

La declaración y la asignación se pueden combinar en una sola expresión:
int i = 5;        
char letra = 'c';  
boolean flag = false; 

Operaciones Básicas
En java al igual que en C++ se tienen una serie de operadores que ayudan a obtener cálculos, dependiendo de los valores a utilizar, Java trabaja con los siguientes operadores:
Operadores Aritméticos
Operador en Java
Significado
+
suma
-
resta
*
multiplicación
/
división
                     %
residuo

Otros operadores de Asignación
En Java, como en C++, es posible abreviar algunas expresiones de asignación como se muestra en la siguiente tabla:
Operador
Expresión equivalente
v + = e
v = v + e
v - = e
v = v – e
v * = e
v = v * e
v / = e
v = v / e
v % = e
v = v % e


Otros Operadores aritméticos
En Java, al igual que en C++, existen también los siguientes operadores aritméticos:
        ++ incremento

        -- decremento

Meta Descripción Dinamicas en Bloggers

Muy buenas bloggeros en esta ocasión quiero compartirles como generar nuestras meta descripciones dinámicas en bloggers para obtener más visitas y estar mejor indexados en los buscadores.

1: paso entramos a esta página y creamos nuestras meta etiquetas las cuales son aceptadas por bloger
Generar Meta descripción Dinamica en Blogger
2: paso nos dirigimos al blog al cual le vamos agregar las meta descripciones Plantilla--> Editar Html
3: paso buscamos la etiqueta   <b:include data='blog' name='all-head-content'/> y debajo de esta etiqueta pegamos las meta etiquetas generadas.

Listo con esto cada entrada de nuestro blog tendra su meta descripción diferente.
Lo que hace esta pagina es tomar los primeros 255 caracteres de cada entrada y adecuarla al lenguaje que acepta blogger.
Este se hace con el fin de tener un mejor posicionamiento en los buscadores

Nota esto nada funciona para Blogger.

Espero que les sirva de mucho y les ayude a mejorar su posición en los buscadores.

Mi primer Reporte en Ireport usando Java , Maven y NetBeans Generar PDF Versión WEB

Mi primer Reporte en Ireport usando Java , Maven y NetBeans Generar PDF Versión WEB Estructura del proyecto Listado de rutas de car...