[Ajax] Jaxer, ejecutando Ajax y Javascript en el servidor

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.

aptana-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.

configure-firewall-aptana-jaxter

Ahora ejecutamos, el archivo (en caso de windows) StartServers.bat el cual (para los curiosos) contiene lo siguiente.

@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%\logs\jaxer.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 public\favicon.ico goto redirect
if exist jaxer\default_public\favicon.ico copy jaxer\default_public\favicon.ico public\favicon.ico 1> nul
:redirect
if exist public\index.html.redirect goto logs
if exist jaxer\default_public\index.html.redirect copy jaxer\default_public\index.html.redirect public\index.html.redirect 1> nul
:logs
if not exist logs mkdir logs
if not exist local_jaxer mkdir local_jaxer
if not exist local_jaxer\conf mkdir local_jaxer\conf
if exist local_jaxer\conf\config.js goto configlog
if exist jaxer\default_local_jaxer\conf\config.js copy jaxer\default_local_jaxer\conf\config.js local_jaxer\conf\config.js 1> nul
:configlog
if exist local_jaxer\conf\configLog.js goto routes
if exist jaxer\default_local_jaxer\conf\configLog.js copy jaxer\default_local_jaxer\conf\configLog.js local_jaxer\conf\configLog.js 1> nul
:routes
if exist local_jaxer\conf\configRoutes.js goto extensions
if exist jaxer\default_local_jaxer\conf\configRoutes.js copy jaxer\default_local_jaxer\conf\configRoutes.js local_jaxer\conf\configRoutes.js 1> nul
:extensions
if not exist local_jaxer\extensions mkdir local_jaxer\extensions
if not exist mysql\bin\mysqld.exe goto start_apache
:init_mysql
if exist data\mysql goto start_mysql
echo ___________________________________________
echo ^| ^|
echo ^| This is the first use of this MySQL… ^|
echo ^| ^|
echo ^| Creating the data directory ^|
echo ^|___________________________________________^|
echo.
mkdir data\mysql
xcopy mysql\data_blank data /s
:start_mysql
echo _____________________________________
echo ^| ^|
echo ^| Starting MySQL… ^|
echo ^|_____________________________________^|
echo.
start /b mysql\bin\mysqld –no-defaults –port=%JAXER_MYSQL_PORT% –standalone –console –datadir=”%ANCHOR%/data” –log-error=logs/mysql_error.log 1> nul
:start_apache
if not exist Apache22\bin\httpd.exe goto show_jaxermanager_only
echo _____________________________________
echo ^| ^|
echo ^| Starting JaxerManager and Apache… ^|
echo ^|_____________________________________^|
echo.
start /b Apache22\bin\httpd
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 Apache22\bin\httpd.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 mysql\bin\mysqladmin.exe goto stop_apache
mysql\bin\mysqladmin –port=%JAXER_MYSQL_PORT% -u root shutdown
:stop_apache
if not exist Apache22\bin\httpd.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.

jaxter-server-start

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

aptana-jaxer_server

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

Leave a Comment

Your email address will not be published. Required fields are marked *