Sistema operativo Solaris

Solaris es un sistema operativo desarrollado por Sun Microsystems. Es un sistema certificado como una versión de UNIX. Aunque Solaris en sí mismo aún es software propietario, la parte principal del sistema operativo se ha liberado como un proyecto de software libre denominado Opensolaris. Solaris puede considerarse uno de los sistemas operativos más avanzados. Sun denomina así a su sistema operativo.

Arquitecturas soportadas

Solaris usa una base de código común para las arquitecturas que soporta: SPARC y x86 (incluyendo AMD64/EM64T). También fue portado a la arquitectura PowerPC (en plataforma PReP) en la versión 2.5.1, pero el porte fue cancelado casi tan pronto como fue liberado. En un tiempo se planeó soporte para el Itanium pero nunca se llevó al mercado.[1] Sun también tiene planes de implementar ABIs de Linux en Solaris 10, permitiendo la ejecución de código objeto Linux de forma nativa en la plataforma x86.

Solaris tiene una reputación de ser muy adecuado para el multiprocesamiento simétrico (SMP), soportando un gran número de CPUs. También ha incluido soporte para aplicaciones de 64 bits SPARC desde Solaris 7. Históricamente Solaris ha estado firmemente integrado con la plataforma hardware de Sun, SPARC, con la cual fue diseñado y promocionado como un paquete combinado. Esto proporcionaba frecuentemente unos sistemas más fiables pero con un coste más elevado que el del hardware de PC. De todas formas, también ha soportado sistemas x86 desde la versión Solaris 2.1 y la última versión, Solaris 10, ha sido diseñada con AMD64 en mente, permitiendo a Sun capitalizar en la disponibilidad de CPUs de 64 bits commodities basadas en la arquitectura AMD64. Sun ha promocionado intensamente Solaris con sus estaciones de trabajo de nivel de entrada basadas en AMD64, así como con servidores que en 2006 varían desde modelos dual-core hasta modelos a 16 cores.

Entornos de escritorio

El primer entorno de escritorio para Solaris fue OpenWindows. Fue reemplazado por CDE en la versión Solaris 2.5. El escritorio Java Desktop System, basado en GNOME, se incluye por defecto con Solaris 10.

OpenSolaris

El código fuente de Solaris (con unas pocas excepciones)[2] ha sido liberado bajo la licencia CDDL (Licencia Común de Desarrollo y Distribución) como un proyecto de software libre bajo el nombre OpenSolaris.

La licencia CDDL ha sido aprobada por la Open Source Initiative (OSI) como una licencia open source[3] y por la FSF como una licencia de software libre (aunque incompatible con la popular licencia GPL[4] ).

La base de OpenSolaris fue alimentada el 14 de junio de 2005 a partir de la entonces actual base de desarrollo de código de Solaris. Es posible descargar y licenciar versiones tanto binarias como en forma de código fuente sin coste alguno. Además, se ha añadido al proyecto Open Solaris código para características venideras como soporte Xen. Sun ha anunciado que las versiones futuras de Solaris se derivarán a partir de OpenSolaris.

Sun x VM Ops Virtual Box

Sun xVM VirtualBox es un software de virtualización para arquitecturas x86 que fue desarrollado originalmente por la empresa alemana Innotek GmbH, pero que paso a ser propiedad de la empresa Sun Microsystems en febrero de 2008 cuando ésta compró a Innotek. Por medio de esta aplicación es posible instalar sistemas operativos adicionales, conocidos como “sistemas invitados”, dentro de otro sistema operativo “anfitrión”, cada uno con su propio ambiente virtual. Por ejemplo, se podrían instalar diferentes distribuciones de Linux en un VirtualBox instalado en Windows XP o viceversa.

Entre los sistemas operativos soportados (en modo anfitrión) se encuentran GNU/Linux, Mac OS X, OS/2 Warp , Windows, y Solaris/OpenSolaris, y dentro de éstos es posible virtualizar los sistemas operativos FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows y Solaris.

La aplicación fue inicialmente ofrecida bajo una Licencia de software no libre|licencia de software privado, pero en enero de 2007, después de años de desarrollo, surgió VirtualBox OSE (Open Source Edition) bajo la licencia GPL 2. Actualmente existe la versión privada, VirtualBox, que es gratuita únicamente bajo uso personal o de evaluación, y esta sujeta a la licencia de “Uso Personal y de Evaluación VirtualBox” (VirtualBox Personal Use and Evaluation License o PUEL) y la versión Open Surce, VirtualBox OSE, que es software libre, sujeta a la licencia GPL.

En comparación con otras aplicaciones privadas de virtualizacion, como VMware Workstation o Microsoft Virtual PC, VirtualBox carece de algunas funcionalidades, pero provee de otras como la ejecucion de maquinas virtuales de forma remota, por medio del Remote Desktop Protocol (RDP), soporte iSCSI ó el soporte USB con dispositivos remotos.

En cuanto a la emulación de hardware, los discos duros de los sistemas invitados son almacenados en los sistemas anfitriones como archivos individuales en un contenedor llamado Virtual Disk Image, incompartible con los demás software de virtualización.

Otra de las funciones que presenta es la de montar imágenes ISO como unidades virtuales de CD o DVD, o como un disco floppy.

Sun x VM Ops Center

Sun xVM Ops Center es una herramienta de gestión de centros de datos altamente escalable que permite la gestión de entornos de TI heterogéneos.

La virtualización ha revolucionado el centro de datos más que cualquier otra tecnología en los últimos diez años. Pero todos los beneficios ofrecidos en un entorno virtualizado han tenido su correspondiente coste: la proliferación de tecnología y más demandas de gestión. Los clientes han necesitado adquirir distintas herramientas de gestión, lo que se ha traducido en un incremento de la complejidad. Sun pone fin a esta tendencia con una nueva gama de productos denominada Sun xVM: la intersección de la virtualización y la gestión. Sun xVM se ha diseñado para ayudar a los clientes a mitigar la complejidad inherente a las soluciones de virtualización al abordar la gestión y virtualización de distintos activos. Sun acaba de lanzar el primer producto de la gama Sun xVM, Sun xVM Ops Center, una herramienta de gestión de centros de datos altamente escalable que permite la gestión de entornos de TI heterogéneos y simplifica el descubrimiento, la monitorización, la provisión de Sistema Operativo, las actualizaciones, la gestión de parches, firmware y del propio hardware. Todo ello se puede realizar en plataformas Linux y Solaris y tanto en entorno x86 como SPARC.

"Sun xVM Ops Center se ha diseñado específicamente para utilizarse en los centros de datos existentes, incluso cuando las empresas no ejecuten la tecnología de Sun. Hoy día, en el centro de datos, los administradores de TI tienen que hacerse cargo de una gran cantidad de tareas manuales y la mayoría de ellas han requerido siempre distintas herramientas de administración. Pero Sun xVM Ops Center permitirá automatizar todo, excepto el desembalaje de las cajas de Sun. Asimismo, integrará esas herramientas de gestión en un único producto de fácil uso", explica Oren Teich, director de marketing de Sun xVM Ops Center.

Sun xVM Ops Center consolida distintas prestaciones de gestión clave:

* Gestión de actualización de software avanzada.
* Informes de conformidad .
* Descubrimiento de hardware y software.
* Aprovisionamiento de firmware de servidor, sistemas operativos que se ejecutan estrechamente con el hardware con tecnología Lights-out y aplicaciones.
* Control de sistema operativo y sistema.
* Alertas y configuración de umbral.
* Escalable para entornos de TI mundiales con miles de activos que gestionar.

Arquitectura JEE


Java Platform, Enterprise Edition o Java EE (anteriormente conocido como Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4), es una plataforma de programación—parte de la Plataforma Java—para desarrollar y ejecutar software de aplicaciones en Lenguaje de programación Java con arquitectura de N niveles distribuida, basándose ampliamente en componentes de software modulares ejecutándose sobre un servidor de aplicaciones. La plataforma Java EE está definida por una especificación. Similar a otras especificaciones del Java Community Process, Java EE es también considerada informalmente como un estándar debido a que los suministradores deben cumplir ciertos requisitos de conformidad para declarar que sus productos son conformes a Java EE; no obstante sin un estándar de ISO o ECMA.

Java EE incluye varias especificaciones de API, tales como JDBC, RMI, e-mail, JMS, Servicios Web, XML, etc y define cómo coordinarlos. Java EE también configura algunas especificaciones únicas para Java EE para componentes. Estas incluyen Enterprise JavaBeans, servlets, portlets (siguiendo la especificación de Portlets Java), JavaServer Pages y varias tecnologías de servicios web. Esto permite al desarrollador crear una Aplicación de Empresa portable entre plataformas y escalable, a la vez que integrable con tecnologías anteriores. Otros beneficios añadidos son, por ejemplo, que el servidor de aplicaciones puede manejar transacciones, la seguridad, escalabilidad, concurrencia y gestión de los componentes desplegados, significando que los desarrolladores pueden concentrarse más en la lógica de negocio de los componentes en lugar de en tareas de mantenimiento de bajo nivel.

Web Service

En el entorno J2EE los servicios web se construyen sobre JAX-RPC (Java API for XML-based RPC). Este es un API para construir servicios web y clientes que utilizan llamadas a procedimientos remotos (RPC) y XML.

En JAX-RPC, una llamada a un procedimiento remoto está representada por un protocolo basado en XML, como SOAP. La especificación SOAP define la envoltura estructural, las reglas de codificación y la convención para representar llamadas y respuestas a procedimientos remotos. Estas llamadas y respuestas se transmiten como mensajes SOAP (ficheros XML) sobre HTTP. Aunque los mensajes SOAP son un poco complejos, esta complejidad es transparente para el desarrollador. Cuando se desarrollan las implementaciones del lado del cliente y del servidor, los desarrolladores no tienen que generar mensajes SOAP porque estos los generan las llamadas al API JAX-RPC.

En el lado del servidor, el desarrollador especifica los procedimientos remotos definidiendo métodos de un interface escrito en Java. El desarrollador también codifica una o más clases que implementan esos métodos. Los programas cliente también son fáciles de codificar. Un cliente crea un proxy, un objeto local que representa el servicio, y luego simplemente llama a los métodos del proxy. Con JAX-RPC, el desarrollador no tiene que generar o analizar mensajes SOAP. Es el sistema de ejecución JAX-RPC el que convierte las llamadas y respuestas a/desde el API a mensajes SOAP.

Para este tutorial, utilizaremos la librería Axis de Apache, que es una iniciativa de código abierto de la Apache Software Foundation (ASF). Axis es un motor SOAP compatible JAX-RPC. Puede integrarse con contendores web como Tomcat/Jetty, lo que permite utilizar muchas características de esos contenedores como la seguridad, los repositorios de recursos, multi-threads, etc.

JPA: Java Persistence API


Java Persistence API (JPA) proporciona un estándar para gestionar datos relacionales en aplicaciones Java SE o Java EE, de forma que además se simplifique el desarrollo de la persistencia de datos.
Aunque ha sido definida como parte de la especificación EJB 3.0 (Java EE 5), que supone una simplificación sobre versiones anteriores, ya no requiere de un contenedor EJB ni un servidor de aplicaciones Java EE.

Es una API de persistencia de POJOs (Plain Old Java Object). Es decir, objetos simples que no heredan ni implementan otras clases (como los EJBs).

En su definición, ha combinado ideas y conceptos de los principales frameworks de persistencia, como Hibernate, Toplink y JDO, y de las versiones anteriores de EJB. Todos estos cuentan actualmente con una implementación JPA.

El mapeo objeto-relacional (es decir, la relación entre entidades Java y tablas de la base de datos, queries con nombre, etc) se realiza mediante anotaciones en las propias clases de entidad. No se requieren ficheros descriptores XML. También pueden definirse transacciones como anotaciones JPA.

Spring soporta JPA para el acceso a datos.

Java ME


Java ME o plataforma Java, edición Micro (en inglés Java Platform, Micro Edition), anteriormente conocida como Java 2 Platform, Micro Edition o J2ME, es una colección de APIs de Java para el desarrollo de software para dispositivos de recursos limitados, como PDA, teléfonos móviles y otros aparatos de consumo.

Java ME es formalmente una especificación, aunque el término es frecuentemente usado también para referirse a las implementaciones en tiempo de ejecución de la especificación. Java ME fue desarrollado mediante el Java Community Process bajo la especificación JSR 68. La evolución de la plataforma ha propiciado el abandono de las Java Specification Request (peticiones de especificación para Java) en favor de JSRs separadas para las distintas versiones de Java ME.