• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Desarrollo Web con Herramientas Libres
 

Desarrollo Web con Herramientas Libres

on

  • 2,850 views

 

Statistics

Views

Total Views
2,850
Views on SlideShare
2,848
Embed Views
2

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 2

https://twitter.com 2

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Desarrollo Web con Herramientas Libres Desarrollo Web con Herramientas Libres Presentation Transcript

    • Desarrollo Web con Herramientas Libres Diego Fernando Marin Lozano http://www.dfmarin.com [email_address]
    • Por que este tema?
      • Las Empresa gastan dinero comprando software que pueden obtener gratis.
      • Muchas empresas no inician sus proyectos tecnológicos precisamente por los costos que esto puede significar.
      • Es necesario popularizar el uso de estas herramientas, para que existan mas negocios relacionados con ellas.
      • Es necesario difundir el uso de las herramientas libres, como opciones validas para las empresas.
    • De donde el Software Libre?
      • Fundación de Software Libre (1984) crea el Proyecto GNU (GNU’s Not Unix).
      • La licencia GPL (GNU Public License) se convierte en un estándar para el Software Libre.
      • Existen muchos otros tipos de licencias para Software Libre.
      • Miles de programas existen en el mundo, con Licencias Libres.
      • La Libertad es lo importante, NO el Precio.
    • Software Libre es Libertad!
      • Cuatro Libertades Básicas:
      • 0. Usar el programa, con cualquier propósito.
      • 1. Estudiar cómo funciona el programa, y adaptarlo a tus necesidades.
      • 2. La libertad de distribuir copias.
      • 3. La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie.
    • Por que Software Libre?
      • Es un asunto de Libertad, NO de precio.
      • Puede ser comercial, y aun así es mas barato.
      • Siempre es de Código Abierto (requisito para ejercer las libertades 1 y 3)
      • Siempre esta protegido por una Licencia, si fuera de Dominio Público, cualquier se apropiaría de él.
      • Siempre es Legal, porque cualquier uso que le de, esta cubierto por la Licencia.
    • Inversión en Tecnología
      • La Tecnología es un facilitador, no un objetivo.
      • Las Empresas requieren una infraestructura de computo confiable, para prestar estos servicios.
      • La inversión debe recuperarse con los ahorros de implantar la nueva tecnología.
      • La Empresas no pueden ser conejillos de indias, para los nuevos productos y servicios.
    • La tecnología de Internet?
      • Protocolos Base - TCP/IP
      • Correo - SMTP/POP
      • Transferencia de Archivos - FTP
      • WWW - HTTP/HTML
      • Presencia y Mensajes Instantáneos - ICQ
      • Administración - SNMP
      • Realidad Virtual - HTTP/VRML
      • Multimedia - Protocolos Stream
      • Otros
    • Y el Software?
      • TCP/IP - Implementación “libre” Berkeley.
      • Correo - Sendmail +80%.
      • FTP - WU-FTP +60%.
      • WWW - Apache +60%.
      • IMPP - ICQ, AIM, Messenger - Estándar.
      • SNMP - Herramientas “libres” disponibles.
      • VRML - Extensión de HTML.
      • Multimedia - IceCast, ShoutCast.
      • Otros - Lenguajes de Programación!
    • Que es LAMP?
      • LAMP es la mezcla de varias Tecnologías Open Source , para desarrollo de aplicaciones Web.
      • LAMP se compone de L inux + A pache + M ySQL + P HP.
      • Cada componente puede reemplazarse por alguna otra alternativa, Linux por FreeBSD, MySQL por PostgreSQL, PHP por Perl o Python, etc.
      • El termino fue acuñado en Alemania, y popularizado por O’Really & Asociados.
    • Por que Software Libre?
      • Fundación de Software Libre (1984) crea el Proyecto GNU (GNU’s Not Unix).
      • La licencia GPL (GNU Public License) se convierte en un estándar para el Software Libre.
      • Existen muchos otros tipos de licencias para Software Libre.
      • Miles de programas existen en el mundo, con licencias “libres”.
      • El Código es lo importante, no el Precio.
    • Componentes LAMP
      • Sistema Operativo: L inux
      • Servidor Web: A pache httpd
      • Base de Datos: M ySQL
      • Lenguaje de Programación: P HP
      Todo ambiente Web dinámico, requiere de 4 componentes:
    • Linux! El Aglutinador
      • Antes de Linux, existían otros sistemas operativos Libres, como FreeBSD, OpenBSD, NetBSD, Minix, etc.
      • Linux, aparece en 1991 bajo la licencia GPL, y muchos programadores a través de Internet comienzan a mejorarlo.
      • A finales de 1993, aparece la versión 1.0, y comienza a tomar fuerza comercialmente.
      • Muchos proyectos se unen a la cruzada Linux por un Sistema Libre Completo.
    • Que es Linux?
      • Linux es un sistema operativo “libre” estilo Unix creado por Linus Torvalds con la asistencia de desarrolladores de todo el mundo.
      • Antes de Linux, existían otros sistemas operativos Libres, como Minix, FreeBSD, OpenBSD, NetBSD, etc.
      • Linux, aparece en 1991 bajo la licencia GPL, y a finales de 1993, aparece la versión 1.0, la actual es 2.6.23 .
    • Que es Linux?
      • Desarrollado a traves de Internet, bajo el esquema de GNU, en donde el código fuente esta disponible.
      • Linux es una implementación independiente de POSIX e incluye multitarea real, memoria virtual, librerías compartidas, carga por demanda, manejo de memoria, soporte a redes, y otras características consistentes con otros equipos UNIX.
    • Un Sistema GNU/Linux
      • Linux es solo el sistema operativo, y el código fuente ocupa escasos 40Mb.
      • Un sistema de computo es mucho mas que un sistema operativo, se requieren: Lenguajes de Programación, Software de Administración, Servicios de Red, Aplicativos para Usuario Final (Oficina, Administrativos), Juegos, Internet, etc.
      • Mucho de ese software ya existía antes de Linux, como parte del Proyecto GNU.
    • Las Distribuciones
      • Para bajar Linux desde Internet, se necesitarían cientos de horas.
      • El Linux Software Map, referencia cerca de 8.3 Gb en programas compilados por sistema, sin contar el código fuente.
      • Las Distribuciones nacen para facilitar la labor de instalar un Sistema Linux Completo.
      • Una distribución se consigue en US$3/DVD, y comercial US$50/Caja.
    • Las Distribuciones
      • La primera distribución fue Slackware, en 1993, USA.
      • Poco después aparecen Red Hat en USA, SuSE en Alemania, TurboLinux en Japón.
      • Red Hat sirve como base a otras distribuciones como Fedora, CentOS, White Box, además de Mandrake en Francia, Conectiva en Brasil, que sobreviven hoy en día unidas en Mandriva.
      • Hoy existen cientos de distribuciones, muchas con propósitos muy particulares.
    • Las Distribuciones
      • Problemas de Seguridad? PHLAK, Auditor, Backtrack.
      • Solo quiere “Probar”? Knoppix, Ubuntu, Damn Small Linux.
      • Necesita soporte técnico? Utilice las versiones comerciales que incluyen esto.
      • Certificaciones? Red Hat, IBM, Novell, etc. Todos tienen programas de certificación.
      • Ensayelas!! Al fin y al cabo son gratis.
      • No tiene como descargarla? Cópiele el CD o DVD a un amigo? O compre uno barato.
    • Lenguajes de Programación
      • C / C++ / Objetive C, GNU Compiler Collection, GNU Pascal, Free Pascal, Lazarus, Borland Kylix, GNU Cobol / Cobol for GCC, RM/Cobol, MicroFocus Object COBOL, CobolScript, Blackdown Java, Sun Java 2 SDK, Sun Forte for Java, IBM Linux JDK, IBM VisualAge for Java, Kaffe, Gnome Basic, Chipmunk Basic, YaBasic, TrueBasic, Basmark QuickBASIC, UniBasic (Business Basic), Softworks VBVM, FlagShip (Clipper), PlugSys MaxLINUX.
    • Lenguajes de Programación
      • Assembler, Ada, APL, Eiffel, Forth, Fortran, Guile, Limbo, Lisp, Logo, Modula, Prolog, Rexx, Scheme, Smalltalk.
      • Active Server Pages, Java Server Pages, PHP HyperText Preprocessor, Perl, Python, TCL/TK, SQL, XML, Flash Script, JavaScript, ColdFusion CFML.
    • Bases de Datos
      • MySQL, PostgreSQL, Borland InterBase, GNU SQL Server, Leap RDBMS
      • IBM DB2, Informix Online RDBMS, Oracle RDBMS, Sybase Adaptative Server, Lotus Notes & Domino.
    • Linux en Internet
      • http://www.linux.com
      • http://www.redhat.com
      • http://www.linux-mandrake.com
      • http://www.suse.com
      • http://www.debian.org
      • http://www.slackware.com
      • http://linux.oreillynet.com
      • http://www.amazon.com - 684 Libros
    • Que es Apache?
      • Apache es un Servidor HTTP, también conocido como Servidor Web.
      • El proyecto Apache es desarrollado por un grupo de programadores de la Fundación Apache, patrocinados por MIT, IBM, Oracle, RedHat, Sun, Transmeta, Fujitsu Siemens, Stanford Univ., entre otros.
      • Sus proyectos incluyen Jakarta (Tomcat), PHP, Perl, XML, TCL, etc.
    • Que es Apache?
      • Soporte para LOGs configurables.
      • Módulos disponibles: 51
      • Objetos Dinámicos (DSO) para Módulos.
      • Soporte para “Hosts” Virtuales.
      • Seguridad SSL/TLS.
      • Programación SSI, CGI, y múltiples lenguajes de Scripting.
      • La versión mas popular: 1.3.24
      • La versión actual es: 2.2.09
    • Apache en Internet
      • http://www.apache.org
      • http://httpd.apache.org
      • http://www.apache-ssl.org
      • http://apache-server.com
      • http://www.onlamp.com/apache
      • http://apachetoday.com
      • http://www.apacheweek.com
      • http://www.amazon.com - 52 Libros
    • Que es MySQL?
      • MySQL es un motor de base de datos relacional (RDBMS).
      • Diseñada para el máximo de velocidad con cargas altas de trabajo.
      • APIs para lenguaje C, C++, Eiffel, Java, Perl, PHP, Python, y Tcl.
      • Cumple los estándares SQL92 básico, y ODBC 0-3.51.
      • La versión actual es: 5.0.67
    • MySQL en Internet
      • http://www.mysql.com
      • http://www.abriasoft.com
      • http://www.nusphere.com
      • http://www.datanamic.com
      • http://phpmyadmin.sourceforge.net
      • http://www.weberdev.com
      • http://web.oreilly.com
      • http://www.amazon.com - 95 Libros
    • Que es PHP?
      • PHP (PHP: Hypertext Preprocessor) es un lenguaje interpretado de alto nivel embebido en páginas HTML y ejecutado en el servidor.
      • PHP fue creado a finales de 1994 por Rasmus Lerdorf.
      • En 1997 el proyecto personal de Rasmus, se convierte en un proyecto organizado de desarrollo Open Source, y surge PHP3.
      • La versión actual es: 5.2.6
    • Que es PHP?
      • APIs e Interfaces con Java, Python, C, etc.
      • No hay declaración de Variables, o Tipos.
      • Conversión Automática de Tipo.
      • Arreglos con índice, o Asociativos.
      • Funciones, y Parámetros por Defecto.
      • Soporte para Objetos, con Constructores, Herencia de Clases, Sobrecarga.
      • Arquitectura de 3 Niveles, CORBA.
      • Soporte para Templates, Cookies, etc.
    • Que es PHP?
      • Funciona en los siguientes Sistemas:
      • UNIX, Win32, QNX , MacOS, OS/2 y BeOS.
      • Soporta las siguientes Bases de Datos:
      • Adabas D, Ingres, Oracle 7 y 8, dBase, InterBase, PostgreSQL, Empress, FrontBase, Solid, FilePro, mSQL, Sybase, IBM DB2, MySQL, Raima Velocis, Informix, DB++, Berkeley DB, ODBC y dbm.
      • Protocolos SMTP, POP, FTP, IMAL, LDAP.
      • Desarrollo Cliente/Servidor con PHP-GTK.
    • Que es PHP?
      • Soporte para codificación:
      • uuencode, MIME, MD5, DES, TripleDES, Blowfish, 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2, RC6, IDEA y otros.
      • Creación dinámica de PDF, FDF, SWF (Flash), imágenes GIF, JPEG, o PNG.
      • Soporte para XML, XSLT, WML, YAZ, ZLib, CCVS.
      • Compresión de Contenido Web.
    • PHP en Internet
      • http://www.php.net
      • http://www.zend.com
      • http://phpbuilder.net
      • http://www.phpwizard.net
      • http://www.devshed.com
      • http://www.onlamp.com/php
      • http://www.opendeveloper.org
      • http://www.amazon.com - 154 Libros
    • Como se usa PHP?
      • Al estilo XML: <?php print “Ok!”; ?>
      • Al estilo SGML: <? phpinfo(); ?>
      • Al estilo ASP: <% echo “Hello!”; %>
      • Al estilo JavaScript:
      • <script language=&quot;php&quot;>
      • for ($i=0; $i<10; $i++)
      • echo $i;
      • </script>
    • Como se usa PHP?
      • <?php
      • mysql_pconnect(&quot;db.empresa.com&quot;,”usuario&quot;,”clave&quot;);
      • mysql_select_db(&quot;productos&quot;);
      • $result = mysql_query(&quot;SELECT * FROM detalles&quot;);
      • if ($result) {
      • echo &quot;<TABLE>n&quot;;
      • echo &quot;<TR><TH>Nombre</TH><TH>Descripcion</TH></TR>n&quot;;
      • while ($a = mysql_fetch_array($result)) {
      • echo &quot;<TR><TD>$a[nomb]</TD>&quot;, &quot;<TD>$a[desc]</TD></TR>&quot;;
      • }
      • echo &quot;</TABLE>&quot;;
      • } else {
      • echo &quot;<P>No hay registros.&quot;;
      • }
      • ?>
    • Como se usa PHP?
      • <?php
      • require 'gtk.inc';
      • $window_width = 500;
      • $window_height = 200;
      • $window_xpos = (Gdk::screen_width() - $window_width) / 2;
      • $window_ypos = (Gdk::screen_height() - $window_height) / 2;
      • $main_window = &new GtkWindow();
      • $main_window->connect('destroy','destroy');
      • $main_window->set_policy(TRUE, TRUE, FALSE);
      • $main_window->set_title(’PHP-GTK Hola Mundo!');
      • $main_window->set_uposition($window_xpos, $window_ypos);
      • $main_window->set_usize($window_width, $window_height);
      • $main_window->show_all();
      • Gtk::main();
      • ?>
    • Como se usa PHP?
      • forma.html
      • <form action=”forma.php&quot; method=&quot;POST&quot;>
      • Tu Nombre: <input type=text name=nombre><br>
      • Tu Edad: <input type=text name=edad><br>
      • <input type=submit>
      • </form>
      forma.php <?php echo “Hola! $nombre.<BR>”; echo “Tu edad es $edad<P>”; ?>
    • Como se usa PHP?
      • function box_header($box_title) {
      • echo &quot;<HR WIDTH=2>&quot;;
      • echo &quot;<TABLE cellSpacing=0 cellPadding=4 width=100% border=0>n”;
      • echo &quot;<TR bgColor=Black><TD>$box_title</TD></TR>n”;
      • echo &quot;<TR vAlign=top bgColor=#d0d0d0><TD class=TextoCaja>n&quot;;
      • }
      • function box_footer() {
      • echo &quot;</TD></TR>n</TABLE>nn&quot;;
      • }
      • function noticias() {
      • box_header(”Noticias&quot;);
      • echo &quot;Las Noticias van aquí ... bla, bla, bla ... ”;
      • box_footer();
      • }
    • ¿E-Commerce?
      • Portales : AngelineCMS, Back-End, E-Xoops, eZ Publish, ezContents, Mambo, PHP-Nuke, phpwcms, phpWebSite, phpWebThings, PHPX, Postnuke, Sitellite, Spip, Tiki, Typo3, vportal-S, Xaraya, XOOPS
      • Blogs : b2evolution, MyPHPblog, Nucleus, pLog, pMachine, Serendipity, WordPress
      • Groupware : dotProject, eGroupWare, MoreGroupware, phpCollab, PHProjekt, phpWiki
    • ¿E-Commerce?
      • Foros : openBB, Phorum, phpBB, W-Agora, XMB
      • E-Learning : Claroline, Moodle, Segue
      • ERP : GNU Enterprise
      • Varios : Coppermine, Gallery, Owl, phpMyChat
      • Ventas : MyMarket, PgMarket, Market+, FishCart, FreznoShop, Zen Cart, osCommerce
    • ¿ PREGUNTAS ? Diego Fernando Marin Lozano http://www.dfmarin.com [email_address]