Temas Relacionados Web 2

712 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
712
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Temas Relacionados Web 2

  1. 1. BIENVENIDOS ACTUALIZACION DE BASES DE DATOS Y PROGRAMACION WEB 2.0 Ing. Juan Raúl Vergara Villadiego
  2. 2. 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.
  3. 3. 2. Consideraciones a tener en cuenta al momento de decidir que bases de datos utilizar. <ul><li>Numero de usuarios que se conectaran a la base de datos (Dependencias o departamentos de la empresa) </li></ul><ul><li>Cuantos registros se estima que tendrá, por lo menos a 5 años. </li></ul><ul><li>Transacciones debe realizar la aplicación </li></ul><ul><li>Con que presupuesto se cuenta para realizar el proyecto. </li></ul><ul><li>Alternativas de soporte técnico. </li></ul><ul><li>En que plataforma funcionará el motor de base de datos. </li></ul><ul><li>Compatibilidad del motor de bases de datos, con las herramientas de desarrollo. </li></ul><ul><li>Manejo de la seguridad en la base de datos. </li></ul><ul><li>Soporta consultas complejas, paquetes, procedimientos almacenados etc. </li></ul><ul><li>Costo de las licencias. </li></ul>
  4. 4. 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)
  5. 5. 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.
  6. 6. 4. 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. <ul><li>La importancia que han cobrado los datos no estructurados (texto, páginas de Internet, etc.) </li></ul><ul><li>La necesidad de integrar los algoritmos y resultados obtenidos en sistemas operacionales, portales de Internet, etc. </li></ul>
  7. 7. 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
  8. 8. PROGRAMACION WEB
  9. 9. 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.
  10. 10. 5. 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.
  11. 11. 8.1 Evolución de lenguajes Ejemplo de PHP.
  12. 12. 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.
  13. 13. 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
  14. 14. 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
  15. 15. 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. <ul><li>8.5.1 Tecnologías incluidas en Ajax. </li></ul><ul><li>XHTML (o HTML) y hojas de estilos en cascada (CSS) </li></ul><ul><li>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. </li></ul>
  16. 16. 8.5 Continua AJAX. <ul><li>El objeto XMLHttpRequest para intercambiar datos de forma asíncrona con el servidor web </li></ul><ul><li>XML </li></ul>
  17. 17. 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 &quot;editar - actualizar - ver&quot; 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.
  18. 18. 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
  19. 19. 9. Continua GWT. 9.3 Flujo de trabajo de desarrollo <ul><li>Edita código Java y visualiza los cambios inmediatamente sin tener que volver a compilarlo </li></ul><ul><li>Recorre todo el código AJAX utilizable con el depurador de Java </li></ul><ul><li>Compila e implementa código JavaScript optimizado para varios navegadores </li></ul>Descarga disponible: http://code.google.com/intl/es-CO/webtoolkit/download.html
  20. 20. 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. <ul><li>En la charla inicial del Web Conference se habló de los principios que tenían las aplicaciones Web 2.0: </li></ul><ul><li>La web es la plataforma </li></ul><ul><li>La información es lo que mueve al Internet </li></ul><ul><li>Efectos de la red movidos por una arquitectura de participación. </li></ul><ul><li>La innovación surge de características distribuidas por desarrolladores independientes. </li></ul><ul><li>El fin del círculo de adopción de software pues tenemos servicios en beta perpetuo </li></ul>
  21. 21. 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.
  22. 22. 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’”.
  23. 23. ¿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.
  24. 24. 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..
  25. 25. ¿ Que ventajas tiene la implementar aplicaciones utilizando estas técnicas orientadas a la WEB?
  26. 26. Principales Fuentes. www.microsoft.com www.google.com http://www.apertura.com/notas/135487-google-y-la-sabiduria-las-nubes www.oracle.com es.wikipedia.org GRACIAS¡¡¡

×