domingo, 21 de noviembre de 2010

JSP: Java Server Pages

JSP es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como Páginas de Servidor Java. Es, pues, una tecnología orientada a crear páginas web con programación en Java. 



JavaServer Pages (JSP) es una tecnología Java que permite generar contenido dinámico para web, en forma de documentos HTML, XML o de otro tipo.
Esta tecnología es un desarrollo de la compañía Sun Microsystems. La Especificación JSP 1.2 fue la primera que se liberó y en la actualidad está disponible la Especificación JSP 2.1.
Las JSP's permiten la utilización de código Java mediante scripts. Además, es posible utilizar algunas acciones JSP predefinidas mediante etiquetas. Estas etiquetas pueden ser enriquecidas mediante la utilización de Bibliotecas de Etiquetas (TagLibs o Tag Libraries) externas e incluso personalizadas.

Arquitectura

JSP puede considerarse como una manera alternativa, y simplificada, de construir servlets. Es por ello que una página JSP puede hacer todo lo que un servlet puede hacer, y viceversa. Cada versión de la especificación de JSP está fuertemente vinculada a una versión en particular de la especificación de servlets.
El funcionamiento general de la tecnología JSP es que el Servidor de Aplicaciones interpreta el código contenido en la página JSP para construir el código Java del servlet a generar. Este servlet será el que genere el documento (típicamente HTML) que se presentará en la pantalla del Navegador del usuario.

Es posible enriquecer el lenguaje de etiquetas utilizado por JSP. Para ello debemos extender la capa de alto nivel JSP mediante la implementación de Bibliotecas de Etiquetas (Tags Libraries). Un ejemplo de estas bibliotecas son las propocionadas por Sun bajo la denominación de JSTL o las distribuidas por Apache junto con el Framework de Struts.

El rendimiento de una página JSP es el mismo que tendría el servidor equivalente, ya que el código es compilado como cualquier otra clase Java. A su vez, la máquina virtual compilará dinámicamente a código de máquina las partes de la aplicación que lo requieran. Esto hace que JSP tenga un buen desempeño y sea más eficiente que otras tecnologías web que ejecutan el código de una manera puramente interpretada.

La principal ventaja de JSP frente a otros lenguajes es que el lenguaje Java es un lenguaje de propósito general que excede el mundo web y que es apto para crear clases que manejen lógica de negocio y acceso a datos de una manera prolija. Esto permite separar en niveles las aplicaciones web, dejando la parte encargada de generar el documento HTML en el archivo JSP.
Otra ventaja es que JSP hereda la portabilidad de Java, y es posible ejecutar las aplicaciones en múltiples plataformas sin cambios. Es común incluso que los desarrolladores trabajen en una plataforma y que la aplicación termine siendo ejecutada en otra.

Los servlets y Java Server Pages (JSPs) son dos métodos de creación de páginas web dinámicas en servidor usando el lenguaje Java. En ese sentido son similares a otros métodos o lenguajes tales como el PHP, ASP o los CGIs, programas que generan páginas web en el servidor. Sin embargo, se diferencian de ellos en otras cosas.
Para empezar, los JSPs y servlets se ejecutan en una máquina virtual Java, lo cual permite que, en principio, se puedan usar en cualquier tipo de ordenador, siempre que exista una máquina virtual Java para él. Cada servlet (o JSP, a partir de ahora lo usaremos de forma indistinta) se ejecuta en su propia hebra, es decir, en su propio contexto; pero no se comienza a ejecutar cada vez que recibe una petición, sino que persiste de una petición a la siguiente, de forma que no se pierde tiempo en invocarlo (cargar programa + intérprete). Su persistencia le permite también hacer una serie de cosas de forma más eficiente: conexión a bases de datos y manejo de sesiones.

Los JSPs son en realidad servlets: un JSP se compila a un programa en Java la primera vez que se invoca, y del programa en Java se crea una clase que se empieza a ejecutar en el servidor como un servlet. La principal diferencia entre los servlets y los JSPs es el enfoque de la programación: un JSP es una página Web con etiquetas especiales y código Java incrustado, mientras que un servlet es un programa Java puro que recibe peticiones y genera a partir de ellas una página web.

Motor JSP

El motor de las páginas JSP está basado en los servlets de Java -programas en Java destinados a ejecutarse en el servidor-, aunque el número de desarrolladores que pueden afrontar la programación de JSP es mucho mayor, dado que resulta mucho más sencillo aprender que los servlets.

En JSP creamos páginas de manera parecida a como se crean en ASP o PHP -otras dos tecnologías de servidor-. Generamos archivos con extensión .jsp que incluyen, dentro de la estructura de etiquetas HTML, las sentencias Java a ejecutar en el servidor. Antes de que sean funcionales los archivos, el motor JSP lleva a cabo una fase de traducción de esa página en un servlet, implementado en un archivo class (Byte codes de Java). Esta fase de traducción se lleva a cabo habitualmente cuando se recibe la primera solicitud de la página .jsp, aunque existe la opción de precompilar en código para evitar ese tiempo de espera la primera vez que un cliente solicita la página. 

 Ejemplo de página JSP

En la imagen siguiente se puede ver un ejemplo extremadamente simple de una página JSP y el esquema de conversión de esa página en un servlet.

Diagrama de una página JSP

Sintaxis

Variables Implícitas

Las páginas JSP incluyen ciertas variables privilegiadas sin necesidad de declararlas ni configurarlas:


Variable Clase
pageContext   javax.servlet.jsp.PageContext
request   javax.servlet.http.HttpServletRequest
response   javax.servlet.http.HttpServletResponse
session       javax.servlet.http.HttpSession
config  javax.servlet.ServletConfig
application  javax.servlet.ServletContext
out  javax.servlet.jsp.JspWriter
page  java.lang.Object
exception  java.lang.Exception

Directivas

Son etiquetas a partir de las cuales se genera información que puede ser utilizada por el motor de JSP. No producen una salida visible al usuario sino que configura cómo se ejecutará la página JSP.

Las directivas disponibles son:
  • include: Incluye el contenido de un fichero en la página mediante el atributo file.
<%@ include file="cabecera.html" %>
  • taglib: Importa bibliotecas de etiquetas (Tag Libraries)
<%@ taglib uri="/tags/struts-html" prefix="html" %>
  • page: Especifica atributos relacionados con la página a procesar. Los atributos son:
 

Scriptlets

Nos permite declarar variables, funciones y datos estáticos.
Las scriptles son partes de código Java incrustadas entre los elementos estáticos de la página.Las expresiones se evalúan dentro de la servlet. No deben acabar en ";".

Etiquetas

Etiquetas JSP para simplificar el código y dar mayor funcionalidad.
Desarrollar sitios web utilizando etiquetas presenta ciertas ventajas como:
  • facilitar el aprendizaje.
  • facilitar el mantenimiento.
  • fomentar la modularidad y la reutilización.
  • simplificar el código y reducir el número de líneas necesarias.

Etiquetas JSP

Son las etiquetas pertenecientes a la especificación JSP. Proporcionan una funcionalidad básica.
Un primer grupo de etiquetas proporciona funcionalidad a nivel de la página de una manera muy simple:
  • , redirige la request a otra URL
  • , incluye el texto de un fichero dentro de la página
  • , descarga un plugin de Java (una applet o un Bean).
Un segundo grupo permite manipular componentes JavaBean sin conocimientos de Java.
  • , permite manipular un Bean (si no existe, se creará el Bean), especificando su ámbito (scope), la clase y el tipo.
  • , obtiene la propiedad especificada de un bean previamente declarado y la escribe en el objeto response.
  • , establece el valor de una propiedad de un bean previamente declarado.

Etiquetas JSTL

Son proporcionadas por Sun dentro de la distribución de JSTL.
  • core, iteraciones, condicionales, manipulación de URL y otras funciones generales.
  • xml, para la manipulación de XML y para XML-Transformation.
  • sql, para gestionar conexiones a bases de datos.
  • i18n, para la internacionalización y formateo de las cadenas de caracteres como cifras.

Etiquetas Struts TagLib

Distribuidas por Apache para funcionar junto con el Framework de Struts.
  • Bean
  • HTML
  • Logic
  • Nested
  • vjgp


Bibliografías:

http://www.desarrolloweb.com/articulos/831.php
http://es.wikipedia.org/wiki/JSP
http://www.jsptut.com







Java Servlet

Los servlets, son objetos que corren dentro del contexto de un contenedor de servlets (ej: Tomcat) y extienden su funcionalidad. La palabra servlet deriva de otra anterior, applet, que se refería a pequeños programas que se ejecutan en el contexto de un navegador web. Por contraposición, un servlet es un programa que se ejecuta en un servidor.
El uso más común de los servlets es generar páginas web de forma dinámica a partir de los parámetros de la petición que envíe el navegador web.

Historia

La especificación original de Servlets fue creada por Sun Microsystems (la versión 1.0 fue terminada en junio de 1997). Comenzando con la versión 2.3, la especificación de Servlet fue desarrollada siguiendo el Proceso de la Comunidad Java (Java Community Process).

Aspectos técnicos

Un servlet es un objeto que se ejecuta en un servidor o contenedor JEE, especialmente diseñado para ofrecer contenido dinámico desde un servidor web, generalmente HTML. Otras opciones que permiten generar contenido dinámico son los lenguajes ASP, PHP, JSP (un caso especial de servlet), Ruby y Python. Forman parte de JEE (Java Enterprise Edition), que es una ampliación de JSE (Java Standard Edition).

Un servlet implementa la interfaz javax.servlet.Servlet o hereda alguna de las clases más convenientes para un protocolo específico (ej: javax.servlet.HttpServlet). Al implementar esta interfaz el servlet es capaz de interpretar los objetos de tipo HttpServletRequest y HttpServletResponse quienes contienen la información de la página que invocó al servlet.

Entre el servidor de aplicaciones (o web content) y el servlet existe un contrato que determina cómo han de interactuar. La especificación de éste se encuentra en los JSR (Java Specification Requests) del JCP (Java Community Process).

Ciclo de vida

El ciclo de vida de un Servlet se divide en los siguientes puntos:
  1. El cliente solicita una petición a un servidor vía URL.
  2. El servidor recibe la petición.
    1. Si es la primera, se utiliza el motor de Servlets para cargarlo y se llama al método init().
    2. Si ya está iniciado, cualquier petición se convierte en un nuevo hilo. Un Servlet puede manejar múltiples peticiones de clientes.
  3. Se llama al método service() para procesar la petición devolviendo el resultado al cliente.
  4. Cuando se apaga el motor de un Servlet se llama al método destroy(), que lo destruye y libera los recursos abiertos.

-------------------------------------------------------------------------------------------------------------------------------------

Podemos crear un Servlet haciendo uso del paquete javax.servlet.

Interface HttpServletRequest

 http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html

Interface HttpServletResponse

 http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletResponse.html

 

Facebook Apps


Facebook es un sitio web gratuito de redes sociales creado por Mark Zuckerberg y fundado por Eduardo Saverin, Chris Hughes, Dustin Moskovitz y Mark Zuckerberg. Originalmente era un sitio para estudiantes de la Universidad Harvard, pero actualmente está abierto a cualquier persona que tenga una cuenta de correo electrónico. Los usuarios pueden participar en una o más redes sociales, en relación con su situación académica, su lugar de trabajo o región geográfica.
Ha recibido mucha atención en la blogosfera y en los medios de comunicación al convertirse en una plataforma sobre la que terceros pueden desarrollar aplicaciones y hacer negocio a partir de la red social. A pesar de ello, existe la preocupación acerca de su posible modelo de negocio, dado que los resultados en publicidad se han revelado como muy pobres.
A mediados de 2007 lanzó las versiones en francés, alemán y español para impulsar su expansión fuera de Estados Unidos, ya que sus usuarios se concentran en Estados Unidos, Canadá y Gran Bretaña. En julio de 2010, Facebook cuenta con 500 millones de miembros, y traducciones a 70 idiomas.

Facebook compite por abrirse espacio entre empresas de éxito como Google y MySpace, por lo que se enfrenta a grandes desafíos para lograr crecer y desarrollarse. Una de las estrategias de Zuckerberg ha sido abrir la plataforma Facebook a otros desarrolladores.


Como funciona una aplicación de Facebook?

Facebook soporta dos formatos de aplicaciones externas, aplicaciones creadas usando FBML y las que usan  iframe.
La mayoría de aplicaciones encontradas en Facebook se relacionan con juegos de rol, juegos parecidos al Trivial Pursuit, o pruebas de habilidades (digitación, memoria). Entre los más célebres se encuentran los juegos de Playfish y los juegos de Zynga Games como FarmVille.


Para la creación de una aplicación básica para facebook los requisitos son relativamente pocos:

  • Tener conocimientos sobre lenguajes de programación web, como: python. java, php, html, etc.
  • Registrarte en Facebook para poder obtener el ID de la apps.
  • Contar con las librerias cliente de Facebook .
  • Contar con un servidor fijo, para poder alojar tu app y las bases de datos que sean necesarias para su funcionamiento.
 En cuanto a seguridad, ésta no es tan confiable, ya que nuestros datos siempre estarán a la vista de terceros,
por lo que quieras o no, esto reduce la seguridad significativamente.

Bibliografías:
http://es.wikipedia.org/wiki/Facebook
http://developers.facebook.com/docs/guides/web





Google Apps

Google Apps es un servicio de Google para uso de dominios de diversos productos ofrecidos por la red Google. Este servicio representa muchas aplicaciones para Internet con funcionamiento similar a los tradicionales programas para escritorio, incluido Gmail, Google Agenda, Talk, Docs y Sites. Esto permite también elegir una garantía de seguridad y de conformidad (proporcionada por Postini) para la mensajería electrónica existente. Para Educación, el programa es gratuito.


Google Apps es una solución de mensajería y colaboración mucho más básica, idónea para familias, grupos y grupos de comunidades con sus propios dominios de Internet. Se recomienda Google Apps for Business para empresas de todos los tamaños que quieran pasar sus herramientas de mensajería o colaboración a una solución alojada.

Algunas de las características mas importantes para empezar a trabajar con google apps son:

  • Trabaja con lenguajes de programacion web (al menos uno de los siguientes):  java, ruby, python. Soportando también: servlets, javascripts, Django y bibliotecas 100%  python.
  • Se pueden agregar bases de datos para mejorar la funcionalidad de nuestras apps.
  • Se puede almacenar la app en un servidor propio o en appspot.com, según convenga.
  • En cuanto a seguridad, es similar a la utilizada por google, pero que al fin de cuentas no es del todo segura, ya que existen terceros para los cuales estan disponibles nuestros datos.

Ventajas de usar Google Apps (las más destacadas):

-> Ahorros en costes probados
Las aplicaciones de colaboración y mensajería de Google basadas en Internet no requieren ningún hardware ni software y, además, sólo es necesario un mantenimiento mínimo. Gracias a ello, las empresas pueden disponer de mucho tiempo, además de ahorrar costes.

Al realizar la transición a Gmail y a Google Calendar, los usuarios finales tienen la posibilidad de usar la interfaz de Microsoft Outlook (en inglés) para el correo electrónico, para los contactos y para el calendario.

-> Acceso a las aplicaciones de MI, de calendarios y de correo electrónico para móviles
Gracias a la variedad de opciones con las que los empleados cuentan para acceder a la información mientras están en movimiento, éstos pueden ser productivos con Google Apps incluso cuando no estén en sus lugares de trabajo.

-> Garantía de fiabilidad de tiempo de actividad del 99,9%
Garantizamos una disponibilidad de Google Apps del 99,9% como mínimo para que tus empleados sean más productivos y para que no tengas que preocuparte por los períodos de inactividad del sistema.

-> Espacio de almacenamiento 50 veces superior a la media del sector
Cada empleado cuenta con 25 GB para almacenar correo electrónico, por lo que pueden conservar los mensajes importantes y encontrarlos inmediatamente gracias a la incorporación de la búsqueda de Google.

-> Cumplimiento de las normativas y seguridad de la información
Cuando confíes la información de tu empresa a Google, puedes tener la tranquilidad de que esta información importante estará segura y en buenas manos.

-> Control total administrativo y de los datos
Los administradores pueden personalizar totalmente Google Apps para cubrir las necesidades que puedan tener en cuanto a marcas, aspectos técnicos y aspectos empresariales.

-> Asistencia al cliente durante las 24 horas del día, los siete días de la semana
Google Apps es muy fiable y fácil de utilizar, pero, en caso de que sea necesario, ofrece asistencia a los administradores.

Entre otras...

Algunas de las Google Apps mas conocidas son:


  • AdSense Obtén beneficios de tu sitio web.

  • AdWords Anuncia tu empresa en Google.


  •   Alertas de Google Recibe actualizaciones por correo electrónico de los temas que elijas.

  • Analytics Analiza el tráfico de tu sitio web.
     
  • Checkout Realiza compras online de forma más rápida y segura.
  • Búsqueda personalizada de Google Crea una experiencia de búsqueda personalizada en tu sitio web.

  • DoubleClick for Advertisers Administra, ejecuta, publica y revisa tu publicidad online.

  • DoubleClick for Publishers Administra tu inventario de anuncios.


  • Google Earth Explora el mundo desde tu equipo.

  • FeedBurner Analiza las suscripciones a los feeds de RSS que publicas.

  • iGoogle Añade noticias, juegos y mucho más a tu página principal de Google.
  • Knol Comparte tus conocimientos.
  • Google Maps
    Consulta mapas y obtén indicaciones para llegar a los sitios que buscas.

  • Merchant Centre
    Envía tus productos a Google.


  • Google Noticias Busca miles de noticias.
  • orkut Conoce a gente nueva y mantente en contacto con los amigos.


  • Álbumes web de Picasa Busca, modifica y comparte tus fotos.

  • Places Incluye tu empresa en Google.


  • Google Reader Accede rápidamente a todos tus blogs y feeds de noticias.

  • Translator Toolkit Obtén herramientas para que los traductores traduzcan tus páginas y documentos con mayor rapidez.
  • Google Wave Colabora en la elaboración de contenidos y participa en debates desde un mismo lugar.

  • Herramientas para webmasters de Google Mejora la visibilidad de tu sitio.

  • Optimizador de sitios web Crea sitios web eficaces.


  • YouTube Ve, sube y comparte vídeos.


Bibliografias:

http://www.google.com/apps

My SQL

MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.

Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.
Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el copyright del código está en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.
Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.
Mysql.svg
----------------------------------------------------------------------------------------------------------------

Historia del proyecto

SQL (Lenguaje de Consulta Estructurado) fue comercializado por primera vez en 1981 por IBM, el cual fue presentado a ANSI y desde entonces ha sido considerado como un estándar para las bases de datos relacionales. Desde 1986, el estándar SQL ha aparecido en diferentes versiones como por ejemplo: SQL:92, SQL:99, SQL:2003. MySQL es una idea originaria de la empresa opensource MySQL AB establecida inicialmente en Suecia en 1995 y cuyos fundadores son David Axmark, Allan Larsson, y Michael "Monty" Widenius. El objetivo que persigue esta empresa consiste en que MySQL cumpla el estándar SQL, pero sin sacrificar velocidad, fiabilidad o usabilidad.
Michael Widenius en la década de los 90 trató de usar mSQL para conectar las tablas usando rutinas de bajo nivel ISAM, sin embargo, mSQL no era rápido y flexible para sus necesidades. Esto lo llevó a crear una API SQL denominada MySQL para bases de datos muy similar a la de mSQL pero más portable.
La procedencia del nombre de MySQL no es clara. Desde hace más de 10 años, las herramientas han mantenido el prefijo My. También, se cree que tiene relación con el nombre de la hija del cofundador Monty Widenius quien se llama My.
Por otro lado, el nombre del delfín de MySQL es Sakila y fue seleccionado por los fundadores de MySQL AB en el concurso “Name the Dolphin”. Este nombre fue enviado por Ambrose Twebaze, un desarrollador de software de código abierto africano, derivado del idioma SiSwate, el idioma local de Swazilandia y corresponde al nombre de una ciudad en Arusha, Tanzania, cerca de Uganda la ciudad origen de Ambrose.

Lenguajes de programación

Existen varias APIs que permiten, a aplicaciones escritas en diversos lenguajes de programación, acceder a las bases de datos MySQL, incluyendo C, C++, C#, Pascal, Delphi (via dbExpress), Eiffel, Smalltalk, Java (con una implementación nativa del driver de Java), Lisp, Perl, PHP, Python, Ruby,Gambas, REALbasic (Mac y Linux), (x)Harbour (Eagle1), FreeBASIC, y Tcl; cada uno de estos utiliza una API específica. También existe una interfaz ODBC, llamado MyODBC que permite a cualquier lenguaje de programación que soporte ODBC comunicarse con las bases de datos MySQL. También se puede acceder desde el sistema SAP, lenguaje ABAP.


Aplicaciones


Toma de pantalla programa de   Monitoreo Mtop.
MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL. MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante adelantar monitoreos sobre el desempeño para detectar y corregir errores tanto de SQL como de programacion.


Especificaciones

Plataformas

MySQL funciona sobre múltiples plataformas, incluyendo:
 Características de la versión 5.0.22
  • Un amplio subconjunto de ANSI SQL 99, y varias extensiones.
  • Soporte a multiplataforma.
  • Procedimientos almacenados
  • Disparadores (triggers).
  • Cursores
  • Vistas actualizables.
  • Soporte a VARCHAR
  • INFORMATION_SCHEMA
  • Modo Strict
  • Soporte X/Open XA de transacciones distribuidas; transacción en dos fases como parte de esto, utilizando el motor InnoDB de Oracle.
  • Motores de almacenamiento independientes (MyISAM para lecturas rápidas, InnoDB para transacciones e integridad referencial).
  • Transacciones con los motores de almacenamiento InnoDB, BDB Y Cluster; puntos de recuperación (savepoints) con InnoDB.
  • Soporte para SSL.
  • Query caching
  • Sub-SELECTs (o SELECTs anidados).
  • Réplica con un maestro por esclavo, varios esclavos por maestro, sin soporte automático para múltiples maestros por esclavo.
  • indexing y búsqueda de campos de texto completos usando el motor de almacenamiento MyISAM.
  • Embedded database library
  • Soporte completo para Unicode.
  • Conforme a las reglas ACID usando los motores InnoDB, BDB y Cluster.
  • Shared-nothing clustering through MySQL Cluster.

Mejoras futuras

El mapa de ruta de MySQL 5.1 indica soporte para:
  • Particionado de la base de datos.
  • Backup en línea para todos los motores de almacenamiento.
  • Replicación segura
  • Restricciones a nivel de columna.
  • Planificación de eventos.
  • Funciones XML

Características distintivas

Las siguientes características son implementadas únicamente por MySQL:
  • Múltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al usuario escoger la que sea más adecuada para cada tabla de la base de datos.
  • Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el número de transacciones por segundo.

Tipos de compilación del servidor

Hay tres tipos de compilación del servidor MySQL:
  • Estándar: Los binarios estándar de MySQL son los recomendados para la mayoría de los usuarios, e incluyen el motor de almacenamiento InnoDB.
  • Max (No se trata de MaxDB, que es una cooperación con SAP): Los binarios incluyen características adicionales que no han sido lo bastante probadas o que normalmente no son necesarias.
  • MySQL-Debug: Son binarios que han sido compilados con información de depuración extra. No debe ser usada en sistemas en producción porque el código de depuración puede reducir el rendimiento.

Especificaciones del código fuente

MySQL está escrito en una mezcla de C y C++. Hay un documento que describe algunas de sus estructuras internas en http://dev.mysql.com/doc/internals/en/ (en inglés).

 Bibliografías:

http://es.wikipedia.org/wiki/MySQL

lunes, 25 de octubre de 2010

Manual de Programacion Java JSP

Les dejo el link para un manual de programación JSP muy completo en línea,  vienen explicaciones y todo el rollo, pero lo más importante creo es que vienen ejemplos que nos son de mucha duda para guiarnos o resolver dudas que van surgiendo.
-------------------------------------------------------------------------------------------------------------
El link Manual Java JSP

domingo, 3 de octubre de 2010

Python No Muerde

Checando en internet unas cosas me tope con un libro sobre python que según los comentarios de algunos de sus lectores, el libro esta muy completo y muy fácil de comprender.

El libro se llama "Python No Muerde" y se encuentra en constante actualización ya que todavia los estan terminando de escribir, esta en español y además es de libre acceso (gratis).

Espero que le sirva, para que aclaren algunas dudas que vayan surgiendo o simplemente para que aprendan mas sobre este lenguage de programación.

----------------------------------------------------------------------------------------------------------------
Les dejo el link de la página oficial para que lo descarguen o lo lean ahí mismo: Python No Muerde