Eduardo Spotorno
http://eduardo.spotorno.com.ar/2014/11/estrategia-de-desarrollo-de-las-aplicaciones/
Export date: Tue Dec 12 21:35:08 2017 / +0000 GMT

Estrategia de Desarrollo de las Aplicaciones con xpotronix


Estrategia de Desarrollo de Aplicaciones con xpotronix


Las aplicaciones mencionadas son aplicaciones xpotronix compatibles a la versión 2. Xpotronix es una librería para el desarrollo de aplicaciones web a través de serializaciones XML y transformaciones XSL. Esto permite desarrollar código en forma rápida y segura. Las librerías son complemento de la consultoría en desarrollo de aplicaciones. Se ha cedido en forma gratuita el uso de las liberías para el CMCABA en expediente xxx/2006 a fojas (yyy). El paquete completo incluye liberías y herramientas de terceros para su funcionamiento, como ser:

  • apache2

  • mysql5

  • Saxon HE

  • Java

  • PHPGacl

  • ADODB


destacando las herramientas principales.

Para los sistemas de templates, se utilizan herramientas que requieren licenciamiento:

  • ExtJS3 (Sencha.com, es la misma libería que utiliza JusCABA-CAyT)

  • Bootstrap (gratuita, cedida por Twitter Inc.)

  • SmartAdmin, para los templates de MiPortal (costo 18 u$s)


Ventajas para el uso de las aplicaciones xpotronix:

  • Desarrollo rápido en forma segura de código fuente: esto permite que un sólo programador pueda desarrollar varios sistemas completos a la vez y dar soporte

  • Facilidad para realizar cambios pequeños en producción en forma segura, sin la necesidad de esperar a un nuevo release del software

  • Facilita la implementación de proyectos a través de desarrollo de prototipos incrementales (Agile)

  • Lenguaje declarativo, no implementa un lenguaje propio para procedimientos (son procedimientos estándar PHP, SQL y Javascript)

  • En caso de migrar a cualquier otro framework de desarrollo el código sigue siendo reutilizable

  • Implementa ORM para facilitar la programación y el desarrollo de aplicaciones

  • Sistema de templates basado en XSL estándar

  • Generación de código a través de templates XSL

  • Utiliza herramientas de abstracción de acceso a base de datos permitiéndo implementar interfaces entre dos plataformas de base de datos distintas (interoperación MSSQL y MySQL para la migración de datos entre Payroll y xPay)

  • Implementa REST (interoperabilidad Kiwi/JusCABA)

  • Implementa SOAP (login entre aplicaciones, ej. WordPress)

  • Arquitectura ordenada y reutilizable lo que permite un footprint mínimo para la aplicación resultante transformada

  • Implementación modelo MVC

  • Implementa ACL lo que permite definir roles de usuario y desarrollar tanto reglas de negocio como templates de usuario de acuerdo a los permisos correspondientes

  • Generación automática de código SQL


entre otras facilidades. Para mayor información visitar http://xpotronix.com

 

Localización de los fuentes de las aplicaciones


En el directorio proyects/priv-projects se encuentran los fuentes de las aplicaciones desarrolladas. Para cada proyecto un subdirectorio donde residen todos los fuentes y declaraciones necesarias para el funcionamiento.





Proyecto Destino Ruta
juscaba2 Interoperabilidad CMCABA/MPF projects/priv-projects/juscaba2
xPay Recursos Humanos (DFH) projects/priv-projects/xpay (incluye a projects/priv-projects/payroll)
doCABA Visor de Documentos Digitales projects/priv-projects/docaba

Implementación de las aplicaciones


Las aplicaciones funcionan en en un stack LAMP (Linux, Apache, MySQL, PHP) estándar.

Configuración del PHP5


Para la configuración del servidor PHP deberá contemplar la variable
short_tags = On

para su funcionamiento, tanto para los entornos de ejecución apache2 y CLI.

Configuración del Servidor de Aplicaciones Apache2


Las aplicaciones xpotronix son comunes a todas las aplicaciones y deben ser instaladas el el directorio
/usr/share/xpotronix

Las liberías quedarán disponibles al DocumentRoot de la aplicación a través de la siguiente configuración en /etc/apache2/sites-enabled
<Directory /var/www/xpotronix/juscaba2/>
<IfModule mod_php5.c>
php_value include_path ".:/usr/share/php:/usr/share/php/adodb:/usr/share/xpotronix"
</IfModule>
</Directory>

Para las librerías ExtJS y propias en Javascript, las aplicaciones requieren de los siguientes liberías Javascript a modo de alias:
Alias /ux /usr/share/xpotronix/templates/ext/ux/
Alias /ext /usr/share/xpotronix/lib/ext/

 

Quedan entonces los archivos completos configurados de la siguiente forma para las aplicaciones mencionadas en el directorio /etc/apache2/sites-enabled:
### kiwi.juscaba.jusbaires.gov.ar

<VirtualHost *:80>

ServerName kiwi.juscaba.jusbaires.gov.ar
DocumentRoot /var/www/sites/xpotronix/juscaba2/

ErrorLog ${APACHE_LOG_DIR}/juscaba.jusbaires.gov.ar.error.log
CustomLog ${APACHE_LOG_DIR}/juscaba.jusbaires.gov.ar.access.log combined

<Directory /var/www/sites/xpotronix/juscaba2/>
<IfModule mod_php5.c>
php_value include_path ".:/usr/share/php:/usr/share/php/adodb:/usr/share/xpotronix"
</IfModule>
</Directory>

Alias /ux /usr/share/xpotronix/templates/ext/ux
Alias /ext /usr/share/xpotronix/lib/ext

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>

#Header unset ETag
#FileETag None

<FilesMatch "(?i)^.*.(ico|flv|jpg|jpeg|png|gif|css)$">
Header unset Last-Modified
#Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT"
Header set Cache-Control "public; max-age=6000"
</FilesMatch>

<FilesMatch "(?i)^.*.(js)$">
Header unset Last-Modified
#Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT"
Header set Cache-Control "max-age=600"
</FilesMatch>

</VirtualHost>

### xpay.jusbaires.gov.ar

<VirtualHost *:80>

ServerName xpay.jusbaires.gov.ar

DocumentRoot /var/www/sites/wordpress/xpay/

ErrorLog ${APACHE_LOG_DIR}/xpay.jusbaires.gov.ar.error.log
CustomLog ${APACHE_LOG_DIR}/xpay.jusbaires.gov.ar.access.log combined

<Directory /var/www/sites/xpotronix/xpay/>
<IfModule mod_php5.c>
php_value include_path ".:/usr/share/php:/usr/share/php/adodb:/usr/share/xpotronix"
</IfModule>
</Directory>

Alias /ux /usr/share/xpotronix/templates/ext/ux
Alias /ext /usr/share/xpotronix/lib/ext
Alias /extjs /usr/share/xpotronix/lib/ext

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>

#Header unset ETag
#FileETag None

<FilesMatch "(?i)^.*.(ico|flv|jpg|jpeg|png|gif|css)$">
Header unset Last-Modified
#Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT"
Header set Cache-Control "public; max-age=6000"
</FilesMatch>

<FilesMatch "(?i)^.*.(js)$">
Header unset Last-Modified
#Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT"
Header set Cache-Control "max-age=600"
</FilesMatch>

</VirtualHost>

### miportal.jusbaires.gov.ar

<VirtualHost *:80>

ServerName miportal.jusbaires.gov.ar

DocumentRoot /var/www/sites/xpotronix/xpay/

ErrorLog ${APACHE_LOG_DIR}/xpay.jusbaires.gov.ar.error.log
CustomLog ${APACHE_LOG_DIR}/xpay.jusbaires.gov.ar.access.log combined

<Directory /var/www/sites/xpotronix/xpay/>
<IfModule mod_php5.c>
php_value include_path ".:/usr/share/php:/usr/share/php/adodb:/usr/share/xpotronix"
</IfModule>
</Directory>

Alias /ux /usr/share/xpotronix/templates/ext/ux
Alias /ext /usr/share/xpotronix/lib/ext
Alias /extjs /usr/share/xpotronix/lib/ext

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>

#Header unset ETag
#FileETag None

<FilesMatch "(?i)^.*.(ico|flv|jpg|jpeg|png|gif|css)$">
Header unset Last-Modified
#Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT"
Header set Cache-Control "public; max-age=6000"
</FilesMatch>

<FilesMatch "(?i)^.*.(js)$">
Header unset Last-Modified
#Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT"
Header set Cache-Control "max-age=600"
</FilesMatch>

</VirtualHost>


### Librerías adicionales javascript

Alias /ux /usr/share/xpotronix/templates/ext/ux/
Alias /ext /usr/share/xpotronix/lib/ext/

### Aliases para acceder en formato http://host/aplicacion

Alias /xpay /var/www/sites/xpotronix/xpay
Alias /miportal /var/www/sites/xpotronix/xpay
Alias /juscaba2 /var/www/sites/xpotronix/juscaba2
Alias /docaba /var/www/sites/xpotronix/docaba

### Librerías de ejecución xpotronix

<Directory /var/www/sites//xpotronix/>
<IfModule mod_php5.c>
php_value include_path ".:/usr/share/php:/usr/share/php/adodb:/usr/share/xpotronix"
</IfModule>
</Directory>


 

Post date: 2014-11-21 15:40:31
Post date GMT: 2014-11-21 18:40:31

Post modified date: 2015-12-04 12:46:25
Post modified date GMT: 2015-12-04 15:46:25

Export date: Tue Dec 12 21:35:08 2017 / +0000 GMT
This page was exported from Eduardo Spotorno [ http://eduardo.spotorno.com.ar ]
Export of Post and Page has been powered by [ Universal Post Manager ] plugin from www.ProfProjects.com