Archivo

Archivo para marzo, 2009

Liferay 5.2 + DWR

jueves, 26 de marzo de 2009 Sin comentarios

Continuando con el desarrollo de portlets en Liferay, me topé con la necesidad de investigar sobre respuestas asíncronas de parte del servidor a los clientes. Consultando con profesores y amigos, me sugirieron leer sobre COMET, una técnica muy similar a AJAX con la diferencia que envia respuestas sin que el cliente las solicite.

Así encontré DWR (Direct Web Remoting: directwebremoting.org) una librería de JAVA, que permite la interacción asíncrona del servidor (Java) con los clientes (javascript). Aquí más sobre DWR (http://directwebremoting.org/dwr/overview/dwr)

Busqué en el sitio de Liferay más información sobre DWR y portlets, pero no me ayudó mucho, pues en la wiki dan una explicación muy general y no está actualizado con la última versión de liferay 5.2.x. Encontré un artículo muy bueno en la web (link) de como hacer una aplicación web utilizando DWR, me ayudó mucho pero no lo explicaba con liferay. Así que me tocó hacer un híbrido entre este articulo, la wiki de liferay, el sitio de DWR y sobre todo mucha prueba y error.

Aquí los pasos a seguir:

WEB-INF Liferay

WEB-INF Liferay

  1. Descargar la última versión estable de DWR (dwr.jar) (link)
  2. Copiar el jar en la carpeta WEB-INF->lib (ver Fig. 1)
  3. Configurar dwr en liferay
  4. Abrir el archivo web.xml que etsá en la carpeta WEB-INF (ver Fig. 1)
  5. Agregar lo siguiente:
  6. <servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <display-name>DWR Servlet</display-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    <init-param>
    <param-name>debug</param-name>
    <param-value>true</param-value>
    </init-param>
    </servlet>

    <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>

  7. En esa misma carpeta WEB-INF crear un archivo dwr.xml
  8. Copiar lo siguiente por el momento
    <dwr>
    <allow>
    <!– define la clase de servicios que se va a publicar mediante DWR –>
    <!– defines the service class to share across DWR –>
    <create creator=»new» javascript=»JDate»>
    <param name=»class» value=»java.util.Date»/>
    </create>
    </allow>
    </dwr>
  9. Probar el DWR en http://localhost:<puerto>/dwr
  10. Debería salir una página con el link de JDate, si es así perfecto!
  11. Luego Creamos el portlet (yo utilizo netbeans, pero también se lo puede hacer con eclipse)
  12. Estos 2 IDEs crean todo lo necesario de un portlet, claro deben tener instalado el plugin de liferay para netbeans o eclipse, como sea el caso (Para eclipse existe Lomboz pero hasta la versión 4.0 de Liferay).
  13. Crear Clases necesarias (dependiendo de la necesidad u objetivo del portlet)
  14. Compilar las clases

    Carpeta Liferay + tomcat

    Carpeta Liferay + tomcat

  15. Copiar todo el paquete de clases generado en la compilación y pegarlo en la carpeta shared–>classes (ver Fig.2)
  16. Luego agregar dicha clase en el archivo DWR que creamos en el paso 7
    <create creator=»new» javascript=»<nombre de la clase>»>
    <param name=»class» value=»<paquete>.<nombre de la clase>»/>
    </create>
    <convert converter=»bean» match=»<paquete>.*»/>
  17. El bean es solo si se necesita utilizarlo, sino no es necesario.
  18. Ejecutamos el paso 8
  19. Y si sale el link de nuestra clase, todo está perfecto.
  20. Ahora lo que resta es llamar desde javascript a nuestro codigo java.
    En mi caso:
    SchedulerService.getSchedule(id,showScheduler);

    En donde SchedulerService es el nombre de la clase y getShedule es el método declarado en la clase anteriormente mencionada. Este método solo recibe un parámetro, pero al utilizar DWR se le debe pasar también una función (callback), en este caso showScheduler. Esta función callback recibe como parámetro la respuesta que retorna el metodo java, y es la que se encargará de manipular la información (parsear, mostrar, etc.)

  21. Desde view.jsp incluimos al js antes creado y listo.

Un poco largo, pero si funciona 🙂

Tips para Emprender en Ecuador

martes, 17 de marzo de 2009 13 comentarios

No soy una experta en emprendimiento, para eso está Álvaro Noboa, pero siento que he aprendido mucho y tengo mucho más por aprender en esta nueva faceta de mi vida como gerente de una pequeña empresa (NEOBOX S.A.).

Cada segundo que alguien le pueda dedicar a su empresa es una experiencia innolvidable que enriquece, pues nadie nace sabiendo. Es gratificante ver como crece nuestra red de contactos, ya sean estos clientes, proveedores, colegas, socios, etc. No solo basta llegar a tener un gran número de conocidos, sino simpatizar con ellos o sacarle provecho a la relación.

En Ecuador para arrancar con una nueva empresa, hay que seguir un sinnúmero de trámites que muchas veces no se encuentra el fin. Aquí los pasos para montar su propia empresa.

1. Tener una buena idea de negocio, si ya existe producto mucho mejor
2. Elegir socios de confianza, preferible personas ya conocidas
3. Asesorarse con un buen abogado para agilitar los trámites de constitucion
3.1. Reunir capital
3.2. Accionistas
3.3. Escrituras
3.4. Registro Mercantil
3.5. Registro en la Super de Cias
3.6. Honorarios Abg.
4. Sacar RUC persona jurídica (llevar escrituras)
5. Registrarse en el IESS
5.1. Empresa
5.2. Patrono
5.3. Mínimo 1 empleado
6. Sacar Permiso Municipal (en el caso de Guayaquil en el Municipio de Guayaquil, Malecón)�
6.1. Uso de Suelo
6.2. Patente
6.3. Permiso de Habilitación
6.3.1 Aqui se necesita hacer un balance general y llevarlo a la Super de Cia.
6.3.1.1. Para esto se debe llenar el formulario 101 (SRI) , si es por internet se debe comprar igual este formulario para registrar la nómina de accionistas. Además se debe hacer una carta (el formato lo dan en la Super) indicando quien o quienes son los administradores (Gerente General) de la empresa.  La declaración del 101  se la debe guardar en un medio magnético y entregar. Piden además copia de una planilla de servicio básico, copia de la cédula y papeleta de votación del Gerente.
6.3.1.2. Una vez entregado el balance general en la Super. Se debe hacer sellar los papeles (el balance) en otra oficina ahí mismo en la Super, pues son requisito para el municipio (1,5 x mill)
6.4. Si es local a nombre de la empresa, sacar predios urbanos

7. Comprar Extintor (primero averiguar la capacidad segun el local)
8. Ir al Benemérito cuerpo de Bomberos de Guayaquil
8.1. solicitar orden de pago
8.2. Cancelar dicho valor en el bco de Gquil
8.3. Entregar papeleta al BCBG
8.4. Esperar la visita de un delegado a la oficina de la empresa
8.5. Ir nuevamente al BCBG para retirar el permiso
9. Sacar un servicio básico a nombre de la empresa
9.1. El más rápido es el teléfono: TvCable, Telmex, Pacifictel
10. Verificar Domicilio empresa en SRI (Este es el trámite más tedioso)
10.1. Antes de empezar con este trámite, todos los anteriores (1-9) deben ya estar ejecutados
10.2. Solicitar certificados o facturas a los proveedores (maximo 3)
10.3. Copia de Cotizaciones/facturas emitidas a clientes (maximo 3)
11. Una vez verificada la dirección, solicitar emisión de facturero al SRI
12. Mandar a imprimir facturero
13. Publicitarse
14. Vender

Como notarán son muchas cosas, pero mientras las van ejecutando, no hay que olvidar que se debe declarar mensualmente al SRI. Como se está inciando no hay ventas, pero posiblemente si hay gastos. Desde el primer día que la empresa tiene RUC es recomendable pedir facturas a nombre de la empresa para los gastos de la misma. Las declaraciones mensuales son 3, formulario 104, 103 y anexos. Y anual se envia un anexo del balance general (formulario 101) y se lo lleva a la Super de Compañías, también la patente es anual. Así mismo, mensualmente se debe pagar las aportaciones de los empleados al IESS.

Puedo decir, que si no hubiera tenido conocidos en la mayoría de estas entidades, tal vez no llevaría ni el 50% de terminado este proceso. Es muy bueno, conocer a mucha gente, como dije anteriormente, pues podemos sacar provecho de esto. Muchos opinirán que es INTERES o CORRUPCION, pero yo no lo veo asi, simplemente es OPORTUNIDAD, una muy buena oportunidad que se da gracias al nexo que existe entre nosotros y los demás. Nunca hice nada por la izquierda, de hecho, si lo hiciera, no estaríamos creando mi socio y yo, la empresa con todas las de la ley.

Lo escrito aqui, son solo los pasos a seguir para crear una empresa en regla. No hay que olvidar las reuniones periodicas con los socios y empleados, para mantenerse enterado de todo lo que ocurre a bien o mal de la empresa. Hacer proyecciones, tener un Plan A, Plan B, no solo vender, sino ser reconocidos por el buen producto que se vende.

Muchos se asustarán con todos estos pasos, pero creanme, luego de la tormenta, siempre viene la calma. Lo más gratificante es la experiencia adquirida en todo este proceso que nunca acaba.

 

Lisette

(última modificación: 25/abr/09)

Liferay 5.2.2 (configuración de base de datos)

martes, 3 de marzo de 2009 4 comentarios

Hoy instalé en mi computador la nueva versión del Liferay (5.2.2), el paquete que incluye tomcat, y como algunos ya sabemos, por default al correrlo por primera vez, se crea una base de datos de prueba utilizando el motor HSQL.

Este motor no es recomendable tenerlo en un servidor, solo se lo recomienda para pruebas, es por esto que Liferay permite hacer conexiones con oracle, mysql, postgres y otros.

En mi caso probaré con mysql.

En la versión 5.1.2 del liferay fue muy fácil encontrar el archivo de configuración para cambiar la base de datos, estaba en: tomcat\conf\Catalina\localhost\ROOT.xml en donde solo se comentaba la sección de HSQL y se habilitada la del mysq y todo funcionaba perfectamente.

Ahora, con la versión 5.2.x la estructura ha cambiado un poco, han incluido un archivo portal.properties que está dentro de (tomcat\webapps\ROOT\WEB-INF\lib\portal-impl.jar) ahí se especifican ciertos parámetros para lograr que funcione este portal. Uno de los parámetros es el motor de base de datos, pero como modificarlo si está dentro del jar? Pues muchos opinarán: «Cambiando la extensión del jar por zip, descomprimir, modificar, comprimir y volver de zip a jar», pero en lo personal es una opción sucia que en realidad no sé si funcione.  Bueno, lo optimo es crear un archivo llamado «portal-ext.properties» en ((tomcat\webapps\ROOT\WEB-INF\classes) y solo agregar lo siguiente.

 

jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=user
jdbc.default.password=pass

Una vez creado este archivo, o antes, debemos crear la base en mysql y asignarle si deseamos un user y pass.
create database lportal character set utf8;
use lportal;
create user user;
set password for ‘user’@’localhost’ = password(‘pass’);
grant all privileges on *.* to ‘user’@’localhost’ identified by ‘pass’
De ahí, levantamos el tomcat y esperamos que todo se instale!

El Internet se usa más para socializar

martes, 3 de marzo de 2009 Sin comentarios

Hoy, antes de salir de mi casa ví en el periódico (diario El Expreso) un tema que me llamó la atención, «El Internet se usa más para socializar»

Algo que no me gustó de este artículo, es que al iniciar y al finalizar, emplean una frase que no concuerdo: «El Internet en Ecuador lo utilizan jóvenes y empresarios. Sin embargo, esta herramienta está mal utilizada. La relacionan más con el tema del ocio. Por ejemplo, para conectarse a redes sociales»

Bueno, muchos estarán de acuerdo o en desacuerdo, pero el utilizar redes sociales no significa que estamos mal utilizando el internet. Claro, el internet no es solo para eso, me parece perfecto que se lo utilice en la investigación, pagos de servicios básicos, comercio electrónico, etc.

Si lo vemos desde otro punto de vista… «El internet solo se lo utiliza para pagar los servicios básicos», podemos decir lo mismo, que está siendo mal utilizado, pero creo que la palabra no es mal utilizado, sino que no se lo está explotando al máximo, es decir, no se está aprovechando todo su potencial.

Pasando a otros datos que publican en este mismo artículo, indican que en el 2002 se realizó un proyecto para que más ecuatorianos puedan acceder fácilmente al internet, y además incluyeron un programa de teleducación para incrementar o fomentar la cultura informática en escuelas y colegios. No indican si les fué bien o mal, pero si mencionan cifras. Actualmente existe un proyecto pendiente que pretende hacer lo mismo, tocará esperar para ver los resultados.

Muestran porcentajes de las horas que le dedican los usuarios al internet, la mayoría son los que lo utilizan entre 1 y 2 horas, y de ahí las cifras van bajando. Esto es preocupante, pues significa que son pocos los que tienen la facilidad (económica, geográfica, etc) para poder acceder al internet, siendo esta una herramienta que ya no es de élite (tal vez nunca lo fue).

El internet debería ser de todos, pues actualmente a nivel mundial es algo indispensable en cada computador y en cada familia, la educación y la cultura es lo primero que se debe mejorar en nuestro país.

NOTA: Las cifras expuestas anteriormente fueron realizadas por Supertel en un sondeo a 435 usuarios localizados en 19 provincias del país.

Aquí la fuente: http://www.expreso.ec/ediciones/2009/03/02/economia/el-internet-se-usa-mas-para-socializar/Default.asp

Ir a la barra de herramientas