Copyright © ACSINET S.A. de C.V. 2007
Derechos Reservados de este Material:
Atribución-No Comercial-Licenciamiento Recíproco 2.5 México
http://creativecommons.org/licenses/by-nc-sa/2.5/mx/
Eres libre de: a) copiar, distribuir y comunicar públicamente la obra, b) hacer obras derivadas. Bajo las condiciones siguientes: a) Atribución. Debes reconocer la autoría de la obra en los términos especificados por el propio autor o licenciante. b) No comercial. No puedes utilizar esta obra para fines comerciales. c) Licenciamiento Recíproco. Si alteras, transformas o creas una obra a partir de esta obra, solo podrás distribuir la obra resultante bajo una licencia igual a ésta.
Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Nada en esta licencia menoscaba o restringe los derechos morales del autor.
Java and all Java-based trademarks and logos are trademarks of Sun Microsystems in the United States and/or other countries.
Other products and services are trademarks of their respective owners.
Indudablemente Java se ha convertido hoy en día en una de las principales plataformas para el desarrollo de aplicaciones empresariales, abarcando el abanico completo desde los desarrollos basados en productos comerciales hasta el desarrollo de aplicaciones basados en ofrecimientos de software libre ( open source ).
Sin embargo, y especialmente para alguien que apenas se inicia en este universo, la gran variedad de especificaciones y conceptos asociados a dicha plataforma pueden generar frustración y desesperación. La plataforma java se ha convertido en una plataforma llena de opciones; para un desarrollador avanzado y que tiene familiaridad con la plataforma esto es una bendición; pero para alguien sin dicha familiaridad y sin una guía en dicha jungla tecnológica, el escenario suele ser exactamente el opuesto.
Esta serie de documentos tiene por objetivo ofrecer una presentación organizada de alto nivel con respecto a las principales tecnologías que integran la plataforma java, y de esta manera servir como una primera aproximación hacia estos conceptos para alguien que es nuevo en la plataforma.
La plataforma java está integrada por todo un ecosistema que va mucho más allá del lenguaje y de sus librerías. Sin embargo, en su parte esencial, la plataforma se distribuye oficialmente en tres diferentes ediciones: Edición Estándar, Edición Empresarial y Edición Micro.
El nombre oficial de la edición estándar a partir de la versión 6 de la plataforma es Java Standard Edition ( Java SE ). En versiones anteriores a ésta se le llama Java 2 Standard Edition ( J2SE ). La edición estándar define las características básicas para trabajar con la plataforma en ambientes desktop y servidores. Los componentes principales de esta edición se muestran en la imagen anterior:
- Compilador de código fuente en lenguaje de programación java a bytecode ( código binario ejecutable en una máquina virtual ).
- Máquina virtual de java ( Java Virtual Machine - JVM ), que proporciona el ambiente básico de ejecución de código java sobre sistemas operativos tradicionales ( Linux, Windows, Unix, MacOS, etc. ).
- Librerías centrales y APIs de la plataforma, que permiten realizar las labores de programación básicas sobre la plataforma.
La edición empresarial es llamada Java Enterprise Edition ( Java EE ) a partir de la versión 5. En versiones anteriores a ésta se le llama Java 2 Enterprise Edition. Esta edición define las características que se requieren para poder realizar aplicaciones que se ejecuten de forma portable a través de servidores de aplicaciones JEE certificados.
Java EE es una especificación que engloba dentro de sí misma a un conjunto de especificaciones ( APIs ) relacionadas. Como se ilustra en la imagen, Java EE se fundamenta en Java SE, y aprovecha todas las características básicas presentes en la edición estándar de la plataforma.
La edición micro de la plataforma java es llamada Java Micro Edition ( Java ME ), y se enfoca al manejo de java en dispositivos móviles / portátiles. Este tipo de ambientes ofrece características de arquitectura muy diferentes a las que se encuentran en una computadora personal o un servidor, y además estas características implican en muchas ocasiones que existen limitaciones en la arquitectura, en los mecanismos de desplegado visual, de procesamiento y de almacenaje en este tipo de dispositivos. Por lo tanto, Java ME no se fundamenta en Java SE ni en sus APIs, sino que presenta su propia familia de herramientas y librerías, apropiadas a este tipo de desarrollos.
Las herramientas de desarrollo son importantes en cualquier plataforma de desarrollo, y java no es la excepción. Los ambientes de desarrollo integrado ( Integrated Development Environment - IDE ) son programas que integran una gran variedad de herramientas de desarrollo de forma conveniente y sencilla. Existen varios de estos ambientes en el ecosistema de java, tanto de forma comercial como de forma libre. La naturaleza de estos ambientes varía dependiendo de las necesidades de desarrollo de cada persona u organización. También existen herramientas independientes que permiten realizar diferentes tareas; algunas de estas herramientas pueden integrarse a un IDE en forma de plugins o extensiones.
La plataforma java define extensiones estándares que no están incluidas como parte de las especificaciones Java SE, Java EE o Java ME. Estas extensiones pueden agregarse a estos ambientes si el equipo de desarrollo lo requiere. Todas las extensiones estándares de java ( al igual que las ediciones base ) se definen a través del Java Community Process ( JCP ), cuyo sitio web oficial es http://www.jcp.org. Cualquier persona u organización puede participar en este proceso abierto con el objetivo de ayudar al crecimiento de la plataforma.
Por supuesto, también existen extensiones no estándares que no están reguladas por el JCP. En forma general, se puede decir que estas extensiones se conforman de librerías, frameworks y lenguajes de programación que pueden ser ejecutados sobre la JVM y aprovechar librerías y facilidades de la plataforma. Estas extensiones no estándares son de lo más variado y cubren todas aquellas necesidades que han sido dejadas de alguna manera a un lado por las facilidades y extensiones estándares, o que ofrecen enfoques alternativos que en ocasiones definen nuevos rumbos y patrones..
Los siguientes documentos de esta serie partirán del mapa general presentado anteriormente, y desglosarán las tecnologías principales asociadas a cada uno de los bloques que lo componen. Un documento final generará una referencia general de cada una de ellas de forma que se puedan localizar diferentes tecnologías por nombre o por funcionalidad, y sea fácil y práctico obtener la descripción y discusión relacionada con cada una de ellas.
Linux Para Todos
http://www.linuxparatodos.net/portal/staticpages/index.php?page=mapa-java