Cómo instalar Semantic Web Builder (SWB)

Lo primero que hay que hacer es visitar la página oficial de SWB y leer el manual de instalación. Este post solo pretende detallar algunos pasos de este manual.
Necesitarás instalar:
- El Kit de desarrollo de Java 1.6 (JDK por sus siglas en inglés): Java SE Development Kit 6u15.
- El Manejador de Bases de Datos Mysql.
- El Apache Tomcat 6.x.
- El archivo war SWB.
Ahora empezamos la instalación:
Creamos la base de datos que requiere swb:
mysql>>create database swb;
Descomprimos el apache-tomcat en el directorio /opt/
- Abrimos un nautilus como root
- Descomprimos el .tar en el directorio /opt/ y cambiamos los permisos como en el manual.
Configuramso los archivos server.xml y catalina.sh
- Editamos el archivo /opt/apache-tomcat-versión/conf/server.xml. Así quedo mi archivo (sin los comentarios):
- Editamos el archivo /opt/apache-tomcat-versión/bin/catalina.sh. Así quedo mi archivo (segmento del archivo):
#!/bin/sh
JAVA_HOME=/usr/jdk1.6/jdk1.6.0_15; export JAVA_HOME
CATALINA_OPTS="-Xms256m -Xmx1024m -Xss256k"; export CATALINA_OPTS
....
if [ -z "$LOGGING_MANAGER" ]; then
JAVA_OPTS="$JAVA_OPTS -DiConsultora -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
else
JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER"
fi
....
<Server port="8025" shutdown="SHUTDOWN">
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
</Server>
Configuramos el WebBuilder
- Descomprimimos el swb.war en la ruta /opt/apache-tomcat-versión/webapps/ y le damos los permisos.
- Editamos el archivo /opt/apache-tomcat-6.0.18/webapps/swb/WEB-INF/classes/db.properties. Si usamos Mysql, queda como sigue (segmento del archivo):
...
drivers=org.gjt.mm.mysql.Driver
swb.url=jdbc:mysql://localhost:3306/swb
swb.maxconn=200
swb.user=root
swb.password=tu_password
swb.idle_time=900
#drivers=org.hsqldb.jdbcDriver
#swb.url=jdbc:hsqldb:mem:swbmemdb
#swb.url=jdbc:hsqldb:file:{apppath}/WEB-INF/db/hsqldb/swb
#swb.maxconn=50
#swb.user=SA
#swb.password=
#swb.idle_time=900
...
Levantar SemanticBuilder
Basta ejecutar este para de comandos en este orden:
/opt/apache-tomcat-version/logs/tail –f catalina.out
Una ejecución correcta debe mostrar la siguiente salida:
2009-08-09 21:30:32,113 OFF - Initializing VirtualHostFilter...
2009-08-09 21:30:32,119 OFF - Initializing SemanticWebBuilder Base...
2009-08-09 21:30:32,119 OFF - -->AppicationPath: /opt/apache-tomcat-6.0.20/webapps/swb/
2009-08-09 21:30:32,120 OFF - -->Default Encoding: UTF8
2009-08-09 21:30:32,121 OFF - Initializing SemanticWebBuilder Platform...
2009-08-09 21:30:32,122 OFF - -->SemanticWebBuilder Version: 4.0.0.0
2009-08-09 21:30:32,122 OFF - -->Java Version: 1.6.0_15-b03
2009-08-09 21:30:32,122 OFF - -->Java Memory: 266403840
2009-08-09 21:30:32,134 OFF - Initializing DBConnectionManager...
2009-08-09 21:30:32,378 OFF - Initializing SemanticMgr...
2009-08-09 21:30:35,442 OFF - Initializing SemanticWebBuilder Context...
2009-08-09 21:30:35,464 OFF - Initializing SemanticWebBuilder Portal...
***********UserRepository***************
***********UserRepository***************
2009-08-09 21:30:35,504 OFF - Initializing SWBUserMgr...
2009-08-09 21:30:35,507 OFF - Initializing SWBMonitor(500,5s)...
2009-08-09 21:30:35,514 OFF - Initializing SWBResourceMgr...
2009-08-09 21:30:35,516 OFF - Initializing SWBResourceCachedMgr: 100
2009-08-09 21:30:35,518 OFF - Initializing SWBResourceTraceMgr...
2009-08-09 21:30:35,537 OFF - Initializing PFlowManager...
2009-08-09 21:30:35,544 OFF - Initializing SWBTemplateMgr...
2009-08-09 21:30:35,545 OFF - Initializing SWBServiceMgr...
2009-08-09 21:30:35,552 OFF - initializing DBAdmLog
2009-08-09 21:30:35,554 OFF - Initializing SWBMessageCenter...
2009-08-09 21:30:35,562 OFF - Initializing SWBAccessLog...
2009-08-09 21:30:35,576 OFF - Initializing SWBAccessIncrement...
2009-08-09 21:30:35,576 OFF - Initializing SWBIndexMgr
2009-08-09 21:30:35,622 OFF - SWBRuleMgr Initialized...
2009-08-09 21:30:35,779 OFF - -->Admin Files in Memory: 5446
2009-08-09 21:30:35,787 OFF - Initializing InternalServlet Distributor...
2009-08-09 21:30:35,787 OFF - Initializing InternalServlet Login...
2009-08-09 21:30:35,787 OFF - Initializing InternalServlet Login...
2009-08-09 21:30:35,821 OFF - Initializing RepositoryManagerLoader ...
2009-08-09 21:30:35,821 OFF - Adding RepositoryManager with class org.semanticwb.repository.SWBRepositoryManager ...
2009-08-09 21:30:35,837 OFF - Initializing repository with namespace http://www.semanticwb.org/repository# ...
2009-08-09 21:30:35,888 OFF - Initializing SWBOfficeManager ...
2009-08-09 21:30:35,889 OFF - Type of office content swboffice:OfficeContent Contenido Básico
2009-08-09 21:30:35,889 OFF - Initilizing SWBRepositoryManager with repository Semantic INFOTEC WebBuilder 4.0 Repository ...
2009-08-09 21:30:35,889 OFF - Initializing GatewayOffice...
2009-08-09 21:30:35,889 OFF - Adding mappingType OfficeDocument...
2009-08-09 21:30:35,889 OFF - Adding mappingType OfficeApplication...
2009-08-09 21:30:35,932 OFF - Initializing InternalServlet Upload...
2009-08-09 21:30:35,934 OFF - Initializing InternalServlet EditFile...
2009-08-09 21:30:35,936 OFF - Initializing InternalServlet UploadFormElement...
2009-08-09 21:30:35,938 OFF - Initializing InternalServlet FrmProcess...
2009-08-09 21:30:35,940 OFF - SemanticWebBuilder started...
2009-08-09 21:30:35,940 OFF - ************************************
2009-08-09 21:30:37,830 INFO - Logging using commons-logging.
2009-08-09 21:30:37,881 INFO - retrieved system configuration file: java.io.ByteArrayInputStream@e5f0d2
2009-08-09 21:30:37,900 INFO - Creator 'pageflow' not loaded due to ClassNotFoundException. This is only an problem if you wanted to use it. Cause: Beehive/Weblogic Creator not available.
2009-08-09 21:30:37,961 INFO - Creator 'script' not loaded due to NoClassDefFoundError. This is only an problem if you wanted to use it. Cause: org/apache/bsf/BSFException
2009-08-09 21:30:38,362 INFO - Found Hibernate3 class: org.hibernate.Hibernate
09-ago-2009 21:30:38 org.apache.coyote.http11.Http11Protocol start
INFO: Arrancando Coyote HTTP/1.1 en puerto http-80
09-ago-2009 21:30:38 org.apache.jk.common.ChannelSocket init
INFO: Port busy 8009 java.net.BindException: Address already in use
09-ago-2009 21:30:38 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8010
09-ago-2009 21:30:38 org.apache.jk.server.JkMain start
INFO: Jk running ID=1 time=0/28 config=null
09-ago-2009 21:30:38 org.apache.catalina.startup.Catalina start
INFO: Server startup in 7663 ms
2009-08-09 21:32:16,607 OFF - ContextPath:/swb
Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
Seam Framework: Hola Mundo
Seam es un framework web que hace el desarrollo de aplicaciones web más sencillo. Ya que se han vuelto un estándar con Java EE 5, Seam hace un extensivo uso de las anotaciones para ayudarnos a lograr este objetivo. El uso de las anotaciones en Seam no elimina por completo la necesidad de configurar archivos XML. Sin embargo, la reduce enormemente comparado con otros frameworks como Spring, Struts o JSF. Seam incluye una completa integración con la biblioteca de componentes RichFaces. RichFaces proporciona muchos componentes de interfaces de usuario.
Inspiración

- Lo primero que hay que hacer es instalar JBoss, lo bajamos de esta liga http://www.jboss.org/jbossas/downloads/, yo bajé la versión 5.0.0.GA (con el nombre JBoss-5.0.0.GA.zip). Luego descomprimimos y ejecutamos [jboss_home]/bin/run.sh en Linux.
- El segundo paso es descargar Seam de este enlace http://seamframework.org/Download (jboss-seam-2.2.1.GA.zip) y descomprimirlo.
Después modificamos el archivo [seam_home]/build.properties y agregamos la línea
jboss.home=[seam_home] - Ejecutamos una aplicación de ejemplo. Abrimos la terminal y nos pasamos a este directorio [seam_home]/examples/numberguess y escribimos ant deploy para construir la aplicación y desplegarla en el servidor.
- Por último, abrimos un navegador y escribimos la siguiente dirección http://localhost:8080/seam-numberguess.
#Fri Jun 05 16:18:54 CDT 2009
qualifier=
mavenized=false
jboss.home=/home/dennys/Escritorio/jboss-5.0.0.GA
