Upload
guest33bc33
View
1.033
Download
0
Embed Size (px)
Citation preview
BIENVENIDOS
ACTUALIZACION DE BASES DE DATOS Y
PROGRAMACION WEB 2.0
Ing. Juan Raúl Vergara Villadiego
BASES DE DATOS
1. Introducción.
Las bases de datos, hoy en día, ocupan un lugar
determinante en cualquier área del quehacer humano,
comercial, y tecnológico. No sólo las personas involucradas
en el área de Informática, sino todas las personas
administrativas, técnicas y con mayor razón los profesionales
de cualquier carrera, deben de tener los conocimientos
necesarios para poder utilizar las bases de datos.
Los profesionales en ingeniería de sistemas y carreras a fines
deben de estar en la capacidad de administrar, implantar y
recomendar sistemas de gestión de bases de datos
dependiendo el entorno empresarial y el crecimiento proyectado
de las instituciones. Para realizar estas actividades debe
conocer las diferentes alternativas que hay en el mercado, sus
fortalezas y debilidades.
2. Consideraciones a tener en cuenta al momento de decidir que
bases de datos utilizar.
Numero de usuarios que se conectaran a la base de datos
(Dependencias o departamentos de la empresa)
Cuantos registros se estima que tendrá, por lo menos a 5 años.
Transacciones debe realizar la aplicación
Con que presupuesto se cuenta para realizar el proyecto.
Alternativas de soporte técnico.
En que plataforma funcionará el motor de base de datos.
Compatibilidad del motor de bases de datos, con las
herramientas de desarrollo.
Manejo de la seguridad en la base de datos.
Soporta consultas complejas, paquetes, procedimientos
almacenados etc.
Costo de las licencias.
3. Alternativas.
Las alternativas las podemos clasificar dependiendo el tamaño del
proyecto y el tipo de licencias de los diferentes sistemas de gestión
de bases de datos.
3.1 Según su tipo de licencia.
3.1.2 Licencias de software propietario.
ORACLE ( Oracle)
SQL SERVER (Microsoft)
INFORMIX(IBM)
MYSQL (Sun Microsystem)
3.1.2 De licencia Libre.
MYSQL (Proyecto mysql).
Postgre SQL (Proyecto postgre).
3.2 Según el tamaño del proyecto.
Este aspecto en los últimos años a perdido cierta importancia,
debido a que los grandes desarrolladores de base de datos como
ORACLE, MICROSOFT entre otros, han desarrollados deferentes
tipos de productos enfocados a diferentes sectores del mercado, no
solo poseen productos para grandes organizaciones. También
poseen productos para medianas y pequeñas empresas como las
versiones Express Edition.
Algunos desarrolladores de bases de datos como ORACLE Y
MICROSOFT otorgan licencias gratuitas para los productos XE,
con limitaciones de almacenamiento.
4. Evolución de los sistemas de bases de datos mas conocidos.
4.1 Evolución de versiones de SQL sever
4. Evolución de los sistemas de bases de datos mas conocidos.
4.2 Evolución de versiones de ORACLE
DATABASE
5.Análisis del posicionamiento de las bases de datos.
Microsoft y Oracle en los últimos tres años han sido los jefes butting
base de datos para obtener los usuarios de Windows Server en el
mercado, y Oracle ha reducido los precios y ofrecen un nivel de
entrada, la versión libre, Oracle Express, para luchar contra SQL
Server.
6. Comparación entre ORACLE 9i y SQL SERVER 2000.
A menudo, a los profesionales nos preguntamos acerca de la
comparación de algunos de Oracle y Microsoft SQL Server. A
continuación, comparamos SQL Server 2000 Base de datos con
Oracle 9i de precios, rendimiento, plataformas de apoyo, los dialectos
y de los productos SQL límites.
6.1 Plataforma (Sistema Operativo).
SQL Server 2000 sólo funciona en las plataformas basadas en
Windows, incluido Windows 9x, Windows NT, Windows 2000 y
Windows CE.
En comparación con SQL Server 2000, Base de datos Oracle 9i
soporta todas las plataformas, incluyendo las plataformas basadas
en Windows, los sistemas basados en AIX, Compaq Tru64 UNIX, HP
9000 Series HP-UX, Linux Intel, Sun Solaris y otros.
6.2 Requerimientos de software.
SQL Server 2000 se presenta en seis ediciones: Enterprise, Standard,
Personal, Developer, Desktop Engine y SQL Server CE (una versión
compatible para Windows CE) y requiere el siguiente software:
6.2 Requerimientos de software.
Base de datos Oracle 9i se presenta en tres ediciones: Enterprise,
Standard y personales, y requiere el siguiente software:
6.3 Comparación de rendimiento
Es muy difícil hacer la comparación entre el rendimiento de SQL Server
2000 y bases de datos Oracle 9i. El rendimiento de sus bases de datos
no depende de la experiencia de los desarrolladores de la base de
datos y administrador de base de datos de la base de datos del
proveedor. Puede utilizar ambos RDBMS para construir un sistema
eficaz y estable.
6.4 Comparaciones de precios.
Comparacion de precios para SQL Server 2000 Standard Edición y
Standard Edition Oracle9i:
6.5 T-SQL vs PL/SQL
El dialecto de SQL compatible con Microsoft SQL Server 2000 se
denomina de Transact-SQL (T-SQL). El dialecto de SQL apoyo de la
base de datos Oracle 9i se llama PL / SQL. PL / SQL es más potente
lenguaje de T-SQL. Este es el breve comparación de PL / SQL y T-
SQL:
6.6 Conclusión.
No es cierto que SQL Server 2000 es mejor que Oracle 9i, o viceversa.
Ambos productos se pueden utilizar para construir un sistema eficaz y
estable y la estabilidad y la eficacia de sus aplicaciones y bases de
datos. Sin embargo, SQL Server 2000 tiene algunas ventajas en
comparación con Oracle 9i y viceversa.
•SQL Server 2000 es más barato que comprar la base de datos
Oracle 9i.
•SQL Server 2000 tiene la parte superior de rendimiento TPC-C y la
relación precio / rendimiento de los resultados.
•SQL Server 2000 es generalmente aceptado como más fácil de
instalar, utilizar y gestionar.
Posibles Ventajas de SQL
SERVER
•Base de datos Oracle 9i soporta todas las plataformas, no sólo a los
basados en plataformas Windows.
•PL / SQL es más potente lenguaje de T-SQL.
•Más de ajuste a la configuración que se puede hacer a través de la
puesta en marcha parámetros.
La base de datos Oracle 9i ventajas:
7. Tendencias.
Los sistemas de bases de datos utilizados para proporcionar fácil
acceso a disco a través de los datos residentes, eficiente
procesamiento de consultas, la indexación de las estructuras,
control de concurrencia, y la recuperación.
Tal punto de vista tradicional de los sistemas de bases de datos ha
cambiado recientemente debido a la aparición de gran variedad de
nuevas aplicaciones y tecnologías que incluyen las aplicaciones
web, redes de sensores, basados en la localización de servicios, la
comunicación inalámbrica, multimedia, datos científicos,
conocedores del contexto, los sistemas de grandes e inesperados
número de usuarios.
Debemos tener en cuenta conceptos como minería de datos que
también están contribuyendo con este cambio.
La importancia que han cobrado los datos no estructurados
(texto, páginas de Internet, etc.)
La necesidad de integrar los algoritmos y resultados obtenidos en
sistemas operacionales, portales de Internet, etc.
La exigencia de que los procesos funcionen prácticamente en línea
(por ejemplo, que frente a un fraude con una tarjeta de crédito).
Los tiempos de respuesta. El gran volumen de datos que hay que
procesar en muchos casos para obtener un modelo válido es un
inconveniente; esto implica grandes cantidades de tiempo de proceso y
hay problemas que requieren una respuesta en tiempo real.
7.1 Otros conceptos a tener en cuenta.
Nubes de datos.
Bodegas de datos
PROGRAMACION WEB
Introducción
En los últimos años, hemos visto como Internet ha cambiado la
forma de desarrollar aplicaciones , tal ha sido el impacto de esta
técnica, que los desarrolladores mas importantes de lenguajes de
programación de mundo como Borland y Microsoft entre otros, se
han visto obligados a incluir estas nuevas técnicas en sus nuevas
versiones.
Son tantos los beneficios de utilizar esta técnica que en pocos años
lenguajes como php, asp y jsp se convirtieron en las alternativas
preferidas tanto por las empresas, como por los profesionales en
este campo de la informática, para desarrollar aplicaciones.
A continuación mencionamos algunos portales y aplicaciones de
internet ,tanto de Colombia como de diferentes países de mundo,
que han logrado ser más competitivas implementado sistemas de
información, basados en esta técnica.
8. Casos de éxito.
EMPRESAS.
Líder mundial en venta de computadoras portátiles,
posee un portal implementado en aspx.
Red social mas famosa del mundo
accidental implementada con php.
En Colombia.
Toda la red de bancos posee herramientas de consulta,
transferencias y demás transacciones con jsp y php
Posee su portal desarrollado en aspx.
Y así como estos ejemplos, existen miles de empresa en Colombia
y en el mundo que tienen éxito y logran una ventaja competitiva con
estas tecnologías.
8.2 Lenguajes mas usados para la implementación de aplicaciones
WEB
Sin duda los lenguajes con mayor aceptación al momento de
implementar una aplicación web en la red son:
PHP: Código Abierto (El lenguaje de scripting PHP dinámico se ha
vuelto enormemente popular para la ejecución de aplicaciones Web
ligeras, y se utiliza ampliamente como un servidor del lado del lenguaje
de script para servidores web.
JAVA: Sun Microsystem
ASP: Microsoft.
8.3 Lenguajes de programación Web y el enfoque OO.
Para cumplir con el enfoque orientado a objetos estos
lenguajes deben soportar lo siguientes conceptos:
Encapsulamiento
Polimorfismo
Herencia
Abstracción.
Según, algunas conclusiones de autores y profesionales que
desarrollan con estos lenguajes solo JAVA ,PHP (en su versión 5)
y las tecnólogas .NET de Microsoft, soportan todos los conceptos
expuestos anteriormente
8.4 Nuevas tendencias.
Luego de la aparición de los lenguajes mencionados anteriormente y
de su posterior evolución, existen nuevas alternativas, como:
AJAX
GWT
WEB 2
PROGRAMACION EN LA NUBE
8.5 AJAX
AJAX (la abreviatura de JavaScript y XML asíncronos), es un grupo
de desarrollo web entre sí, las técnicas utilizadas para crear
aplicaciones web interactivas ricas o aplicaciones de Internet. Con
Ajax, las aplicaciones web pueden recuperar datos de forma
asíncrona el servidor en segundo plano sin interferir con la pantalla y
el comportamiento de la actual página.
A pesar de que el término «AJAX» fuese creado en 2005, la historia
de las tecnologías que permiten AJAX se remonta a una década
antes con la iniciativa de Microsoft en el desarrollo de Scripting
Remoto.
8.5.1 Tecnologías incluidas en Ajax.
XHTML (o HTML) y hojas de estilos en cascada (CSS)
Document Object Model (DOM) accedido con un lenguaje de
scripting por parte del usuario, especialmente implementaciones
ECMAScript como JavaScript y JScript, para mostrar e interactuar
dinámicamente con la información presentada.
8.5 Continua AJAX.
El objeto XMLHttpRequest para intercambiar datos de forma
asíncrona con el servidor web
XML
9. GWT: Google Web Toolkit
Actualmente, la creación de aplicaciones web resulta un proceso
pesado y propenso a errores. Los desarrolladores pueden pasar
el 90% de su tiempo estudiando las peculiaridades de los
navegadores. Por otra parte, la creación, la reutilización y el
mantenimiento de una gran cantidad de componentes AJAX y
bases de código JavaScript pueden ser tareas complejas y
delicadas. Google Web Toolkit (GWT) facilita estas arduas tareas
al ofrecer a los desarrolladores la posibilidad de crear y mantener
rápidamente aplicaciones JavaScript con interfaces complejas,
pero de gran rendimiento, en el lenguaje de programación Java.
9.1 Funcionamiento de Google Web Toolkit
Google Web Toolkit (GWT) permite crear aplicaciones AJAX en el
lenguaje de programación Java que son compiladas posteriormente
por GWT en código JavaScript ejecutable optimizado que funciona
automáticamente en los principales navegadores. Durante el
desarrollo de una aplicación, puedes repetir rápidamente el mismo
ciclo "editar - actualizar - ver" típico de JavaScript y aprovechar la
ventaja añadida de poder depurar y recorrer una a una todas las
líneas de código Java.
9.1 Continua. GWT
Cuando estés listo para la implementación, GWT compilará el
código fuente Java en archivos JavaScript optimizados
independientes. Google Web Toolkit te permite crear fácilmente
tanto un artilugio para una página web como una aplicación
completa.
9.2 Crea aplicaciones AJAX en lenguaje Java y compílalas en
código JavaScript optimizado
A diferencia de los minimizadores de JavaScript, que sólo
funcionan con texto, el compilador de GWT realiza un análisis
estático completo de toda la base de código de GWT y,
frecuentemente, genera código JavaScript que se carga y ejecuta
con mayor rapidez que el código JavaScript equivalente creado de
forma manual. Por ejemplo, el compilador de GWT suprime de
forma segura todo el código no utilizable (mediante una exhaustiva
tarea de eliminación de clases, métodos, campos, e incluso
parámetros, que no se utilizan) para asegurarse de que el archivo
de secuencias de comandos compilado sea lo más pequeño
posible
9. Continua GWT.
9.3 Flujo de trabajo de desarrollo
Edita código Java y visualiza los cambios inmediatamente sin
tener que volver a compilarlo
Recorre todo el código AJAX utilizable con el depurador de
Java
Compila e implementa código JavaScript optimizado para varios
navegadores
Descarga disponible: http://code.google.com/intl/es-CO/webtoolkit/download.html
10. WEB 2.
La Web 2.0 es la representación de la evolución de las aplicaciones
tradicionales hacia aplicaciones web enfocadas al usuario final. El
Web 2.0 es una actitud y no precisamente una tecnología.
La Web 2.0 es la transición que se ha dado de aplicaciones
tradicionales hacia aplicaciones que funcionan a través del web
enfocadas al usuario final. Se trata de aplicaciones que generen
colaboración y de servicios que reemplacen las aplicaciones de
escritorio.En la charla inicial del Web Conference se habló de los principios
que tenían las aplicaciones Web 2.0:
La web es la plataforma
La información es lo que mueve al Internet
Efectos de la red movidos por una arquitectura de participación.
La innovación surge de características distribuidas por
desarrolladores independientes.
El fin del círculo de adopción de software pues tenemos servicios
en beta perpetuo
10. Continua Web 2.
Tecnologías que dan vida a un proyecto Web 2.0:
Transformar software de escritorio hacia la plataforma del web.
Respeto a los estándares como el XHTML.
Separación de contenido del diseño con uso de hojas de estilo.
Sindicación de contenidos. Ajax (javascript ascincrónico y XML).
Uso de Flash, Flex o Lazlo.
Uso de Ruby on Rails para programar páginas dinámicas.
Utilización de redes sociales al manejar usuarios y comunidades.
Dar control total a los usuarios en el manejo de su información.
Proveer APis o XML para que las aplicaciones puedan ser manipuladas
por otros.
Facilitar el posicionamiento con URL sencillos.
11. Programación la nube.
Para explicar el concepto Christophe Bisciglia de google en
entrevista realizó en siguiente análisis.
Un ingeniero en programación de 27 años, quería comprobar si
estos estudiantes estaban listos para pensar como googlers.
“Díganme”, decía, “¿qué harían si tuvieran una cantidad mil
veces mayor de información?”La mayor parte de este hardware no estaba en el campus de
Google. Se encontraba sencillamente allá afuera, en algún punto
de la tierra, zumbando en enormes y refrigerados centros de
información de datos. La gente en Google lo llamaba “la nube”. Y
uno de los desafíos de programación era hacer palanca en esa
nube –llevarla a aplastar a máquinas más pequeñas. Los nuevos
empleados de Google, dice Bisciglia, generalmente tardan unos
pocos meses en trabajar a esta escala. “Luego, un día alguien
sugiere un trabajo fuera de lo común, un trabajo que necesita 1000
máquinas distintas y uno dice „Sí, entiende todo‟”.
¿Qué es la “Google Cloud”, como se la llama? Es una cadena
conformada por cientos de miles –algunos estiman millones– de
servidores económicos, cada uno apenas más poderoso que las
computadoras que cualquiera posee en su hogar. Almacena
cantidades alternadas de información, que incluyen numerosas copias
de sitios de Internet. Esto agiliza la búsqueda, ayudando a descubrir
respuestas a millones de dudas en fracciones de segundos. Al
contrario de las tradicionales supercomputadoras, el sistema Google
no envejece. Cuando sus piezas individuales mueren, generalmente
luego de tres años, los ingenieros las desechan y las reemplazan con
nuevas y más rápidas piezas. Esto quiere decir que la nube se
regenera mientras crece, casi como un ser viviente.
11. Continua Programación en la Nube.
Este avance hacia “las nubes” señala un cambio fundamental en la
manera en que manejamos la información. Básicamente, la
informática es equivalente a la revolución que la electricidad provocó
un siglo atrás cuando los centros y los comercios cerraron sus
propios generadores y adquirieron el servicio de eficientes empresas
industriales. Hacía tiempo que los ejecutivos de Google habían
imaginado este cambio y se habían preparado para él.
Servicios en forma de nube, con su propia maquinaria como eje,
encajaba perfecto dentro de la gran visión de la compañía,
establecida una década atrás por sus fundadores Sergey Brin y
Larry Page: “para organizar el mundo de la información y hacerlo
universalmente accesible”. La idea de Bisciglia abrió un camino
hacia el futuro. “Quizá ya lo tenían en mente y no me lo habían
dicho”, dice Schmidt. “No me di cuenta de que Bisciglia iba a
tratar de cambiar el modo en que los científicos piensan acerca
de la informática. Esa es una ambición mucho mayor”.
11. Continua programación en la Nube..