En muchos blogs, he escuchado hablar sobre Jaxer, asi que, como sabran que me encanta programar en Javascript, les voy a platicar si es que no se han enterado sobre Jaxer.

¿Que demonios es Jaxer?
Jaxer es un servidor ajax el cual nos permitira ejecutar aplicaciones Javascript dentro del servidor (Server-Side), este servidor fue creado por los mismos desarrolladores de el IDE Aptana.
¿Y de que nos sirve ejecutar Javascript en el servidor?
Bueno, recordemos que hace años Javascript era un lenguaje, que practicamente estaba por desaparecer, y solo servia para la validacion de formularios, sin embargo gracias a la llegada de Ajax, el mundo cambio la forma de ver a Javascript, como una herramienta extra a verlo de forma necesaria e implementar nuevas soluciones con esta valiosisima herramienta.
Imaginemos entonces, cuanto a crecido el mundo Ajax-Javascript, tanto que hoy en dia podemos encontrar juegos desarrollados con este lenguaje(precarios pero algo es algo), animaciones, librerias, Frameworks, he inclusive hasta sistemas que emulan ser un verdadero Sistema Operativo(WEB – OS).
Lo mas avanzado sin duda que hemos visto ultimamente desarrollado con Javascript ha sido la implementacion de Ajax, Desarrollo de Juegos, Web-Os, Paginas Offline que se almacenan en una base de datos embedida(Google Gears), etc.
Entonces si Javascript ha crecido tanto en tan poco tiempo, imaginemos que pasaria si se ejecutara en el servidor, sin duda las posibilidades serian muchas.
Bueno ya sabemos para que es, que es y sus ventajas(creo), ahora vayamos a ver como funciona.
Jaxter trabaja como un servidor el cual esta implementado bajo Apache Web Server.
Lo primero que haremos sera ir a bajar el servidor web Jaxer en la siguiente direccion Web http://www.aptana.com/jaxer/, y lo bajamos a nuestro equipo.
Nota: Existen versiones para descargar tanto en Windows, Linux y Mac.
Una vez descargado lo descomprimimos, y ya que lo hemos descomprimido ejecutamos el archivo configure FireWall.exe, para que nos permita configurar el puerto donde vamos a correr nuestro servidor, que por default correra en el puerto 8081.

Ahora ejecutamos, el archivo (en caso de windows) StartServers.bat el cual (para los curiosos) contiene lo siguiente.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
@echo off rem rem This batch file is part of the Windows portable Jaxer package. rem It launches JaxerManager and, if present, the Apache web server. rem If you create a Windows shortcut to this file, be sure the shortcut rem has its "Start in" value set to the folder containing this file. rem rem set JAXER_APACHE_PORT=8081 rem Note: MySQL is neither packaged nor started by default set JAXER_MYSQL_PORT=4417 set JAXER_WEB_PORT=5370 set JAXER_COMMAND_PORT=5371 set JAXER_MIN_PROCESSES=3 set JAXER_MAX_PROCESSES=10 set NO_JAXER_SPLASH=1 set JAXER_LOGFILE=file://%CD%logsjaxer.log set JAXER_TEMP=file://%CD%temp set ANCHOR=%~sp0 cd %ANCHOR% if "%~1"=="" goto start_all if "%~1"=="start" goto start_all if "%~1"=="stop" goto stop_all goto show_usage :start_all title Start Jaxer if not exist data mkdir data if not exist temp mkdir temp if not exist public mkdir public if exist publicfavicon.ico goto redirect if exist jaxerdefault_publicfavicon.ico copy jaxerdefault_publicfavicon.ico publicfavicon.ico 1> nul :redirect if exist publicindex.html.redirect goto logs if exist jaxerdefault_publicindex.html.redirect copy jaxerdefault_publicindex.html.redirect publicindex.html.redirect 1> nul :logs if not exist logs mkdir logs if not exist local_jaxer mkdir local_jaxer if not exist local_jaxerconf mkdir local_jaxerconf if exist local_jaxerconfconfig.js goto configlog if exist jaxerdefault_local_jaxerconfconfig.js copy jaxerdefault_local_jaxerconfconfig.js local_jaxerconfconfig.js 1> nul :configlog if exist local_jaxerconfconfigLog.js goto routes if exist jaxerdefault_local_jaxerconfconfigLog.js copy jaxerdefault_local_jaxerconfconfigLog.js local_jaxerconfconfigLog.js 1> nul :routes if exist local_jaxerconfconfigRoutes.js goto extensions if exist jaxerdefault_local_jaxerconfconfigRoutes.js copy jaxerdefault_local_jaxerconfconfigRoutes.js local_jaxerconfconfigRoutes.js 1> nul :extensions if not exist local_jaxerextensions mkdir local_jaxerextensions if not exist mysqlbinmysqld.exe goto start_apache :init_mysql if exist datamysql goto start_mysql echo ___________________________________________ echo ^| ^| echo ^| This is the first use of this MySQL... ^| echo ^| ^| echo ^| Creating the data directory ^| echo ^|___________________________________________^| echo. mkdir datamysql xcopy mysqldata_blank data /s :start_mysql echo _____________________________________ echo ^| ^| echo ^| Starting MySQL... ^| echo ^|_____________________________________^| echo. start /b mysqlbinmysqld --no-defaults --port=%JAXER_MYSQL_PORT% --standalone --console --datadir="%ANCHOR%/data" --log-error=logs/mysql_error.log 1> nul :start_apache if not exist Apache22binhttpd.exe goto show_jaxermanager_only echo _____________________________________ echo ^| ^| echo ^| Starting JaxerManager and Apache... ^| echo ^|_____________________________________^| echo. start /b Apache22binhttpd echo. goto start_jaxermanager :show_jaxermanager_only echo _____________________________________ echo ^| ^| echo ^| Starting JaxerManager... ^| echo ^|_____________________________________^| echo. :start_jaxermanager cd jaxer start /b StartJaxer.bat start 1> nul cd .. if not exist Apache22binhttpd.exe goto ready echo ^*^*^* BROWSE TO HERE: ^-^-^> http://localhost:%JAXER_APACHE_PORT%/aptana/ echo. :ready if not "%~1"=="" goto done echo _____________________________________ echo ^| ^| echo ^| Hit any key to stop and exit ^| echo ^|_____________________________________^| echo. pause > nul :stop_all if not exist mysqlbinmysqladmin.exe goto stop_apache mysqlbinmysqladmin --port=%JAXER_MYSQL_PORT% -u root shutdown :stop_apache if not exist Apache22binhttpd.exe goto stop_jaxer taskkill /f /im httpd.exe :stop_jaxer cd jaxer start /b StartJaxer.bat exit cd .. if not "%~1"=="" goto done exit :show_usage title Usage echo. echo usage: StartServers [start^|stop] :done |
Como vemos desde este archivo podemos configurar los servidores que deseamos instalar asi como tambien, se puede especificar los puertos a usar y/o servicios.

Y por ultimo para ver el servidor en funcionamiento, deberemos abrir la siguiente direccion en nuestro navegador http://localhost:8081/aptana//strong>

Ahi veremos ejemplos como una chat, entre otros, los cuales estan dentro de la carpeta *NUESTRO_PATH/Aptana Jaxer/jaxer/aptana/samples, en donde NUESTRO_PATH es la carpeta Jaxer_package_withApache donde descomprimimos nuestro servidor.
Pueden ver y jugar con estos ejemplos para ver cuantas cosas podemos aprender, con esta pequeña introduccion hemos visto que Javascript tiene uan gran potencial actual y futuro en el desarrollo de aplicaciones Web.
Basado en el articulo de Jhon Resig – Server-Side JavaScript with Jaxer(ing)
Y de Andres Nieto | Javascript en el servidor con Jaxer