Se dan las instrucciones para poder crear el entorno con las versiones y los
URL de descarga necesarios. Las pruebas se han llevado a cabo en los siguientes
equipos:
2.2. Sakai
Podéis encontrar información en la web de Sakai:
http://wiki.sakaiproject.org/confluence/display/BOOT/Development+Environ
ment+Setup+Walkthrough++(2.2.x-2.4.x)
$ java -version
java version "1.5.0_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-
b05)
Java HotSpot(TM) Server VM (build 1.5.0_09-b05, mixed mode)
Si el resultado no es éste
Windows
Estableced o cread variable de entorno JAVA_HOME/jdk1.5.0_15
Añadidlo al PATH %JAVA_HOME%\bin
Linux/Unix/Mac
$export JAVA_HOME=$DIR_TREBALL/jdk1.5.0_15
$export PATH=$JAVA_HOME/bin:$PATH (sólo Linux/Unix)
5. Ejecutad Tomcat.
<Html>
<Head>
<Meta http-equiv="refresh" content="0;url=/portal">
</Head>
<Body>
redirecting to /portal ...
</Body>
</Html>
maven.repo.remote =
http://source.sakaiproject.org/maven/,http://repo1.maven.org/maven/
#En windows indicar las barras "/" y no "\" quedará c:/windows/tomcat/
maven.tomcat.home = /$CATALINA_HOME/tomcat/
$ cd sakai-src
#en caso de no querer correr los tests unitarios simplemente tenéis que
añadir el argumento '-Dmaven.test.skip=true' a la hora de compilar con
el pedido 'maven'. No uséis el pedido maven sakai la primera vez.
#La primera vez que compiléis haréis
$ maven bld -Dmaven.test.skip=true
# O ejecutando los tests
$ maven bld (puede fallar los tests)
$ maven dpl
#Para recompilar otras veces escribid esta orden; eso ejecuta maven cln
bld dpl, es decir, borra, hace el buil y el despliegue (nunca lo hagáis la
primera vez)
$ maven sakai -Dmaven.test.skip=true
# Se tiene que ejecutar en la carpeta raíz del código fuente del sakai
$maven plugin:download -DartifactId=sakai -
DgroupId=sakaiproject -Dversion=2.2
20. Añadid la pasarela. Aquí están todos los ficheros, aunque se ponen
los enlaces directos. Para hacerlo, primero hay que instalar la
extensión osid 2.0.1.
https://projectes.lafarga.cat/projects/campusokisakai/downloads
$CATALINA_HOME/components/sakai-osid-pack/WEB-
INF/components.xml
<Bean id = "org.campusproject.component.osid.logging.LoadPropertiesLogging"
23. Para poder configurar la herramienta de test tenéis que crear los
ficheros de configuración dentro del directorio 'osid_config' de
$CATALINA_HOME/sakai/osid_config:
- cat.campus.tool.test.TestTool_app.properties
- cat.campus.tool.test.TestTool_inst.properties
24. El fichero de app debe contener todas las parejas clave valor:
"nombre_clave1 = valor1". El fichero inst tiene que contener sólo
claves: 'nombre_clave1'.
NOTA: evitad los saltos de línea al final del fichero. Para hacer
funcionar el TestTool hace falta que pongáis la propiedad
"propietat_instancia_1"
BUILD FAILED
File ... ... /home/user/.maven/cache/sakai-2.2/plugin.jelly
Elemento ... maven:reactor
Line ... ... 34
Column. ... 6
The build cannot continue because of the following
unsatisfied dependency:
oki-config-1.0.jar
29. Una vez probado y ejecutado con éxito el TestTool vais a instalar el
módulo campustool. El campustool permite la instalación de
aplicaciones haciendo de intermediario (proxy) entre las diferentes
aplicaciones. Para eso hace falta que descarguéis el campustool en:
https://projectes.lafarga.cat/frs/download.php/1889/campustool-
1.0rc2.tar.gz.
30. Definid los parámetros de contexto que servirán para pasar valores
en todo el sistema, cread el fichero
$CATALINA_HOME/sakai/sakai.campusproxytool.properties con el
contenido:
31. Ahora cread, en la carpeta "sakai" del Tomcat, una subcarpeta que
se llame "tools" con el fichero
$CATALINA_HOME/sakai/tools/campustool.xml, con el contenido:
2.4.1. Introducción
Java_OSID_2.0a https://svn.projectes.lafarga.org/svn/campus/okibus/
okibusJava/trunk/OKI_OSID_2.0
OkiBusJava, crear https://svn.projectes.lafarga.org/svn/campus/okibus/
jar okibusJava/trunk/OkiBusJava
OkiBusJavaWebApp https://svn.projectes.lafarga.org/svn/campus/okibus/
Server, necesita okibusJava/trunk/OkiBusJavaWebAppServer
OkiBus
OkiBusXmlSchema https://svn.projectes.lafarga.org/svn/campus/okibus/
s okibusJava/trunk/OkiBusXmlSchemas
CampusComponent https://svn.projectes.lafarga.org/svn/campus/compon
sJava ents/componentsJava/trunk
OSID_Test https://svn.projectes.lafarga.org/svn/campus/OSID-
Tests/OSID-TestJava/trunk
CampusLauncherJa https://svn.projectes.lafarga.org/svn/campus/launche
va r/launcherJava/trunk
Los archivos siguientes que se tienen que modificar son parte del
Proyecto OkiBusJavaWebAppServer.
o WebContent\WEB-INF\classes\
oki_operations_manager.gatewaysakai.sakai.proper
ties. Cada manager se configura con la clave
‘'Implementation.<fullQualifiedOsidInterfaceName>', y
como valor el fullQualified Package Name de la clase
implementadora.
Ejemplo de configuración con la pasarela:
Implementation.org.osid.agent.AgentManager=org.campusproject.component.osid.agen
t
Implementation.org.osid.authentication.AuthenticationManager=org.campusproject.co
mponent.osid.authentication
Implementation.org.osid.authorization.AuthorizationManager=org.campusproject.comp
onent.osid.authz
Implementation.org.osid.id.IdManager=org.campusproject.component.osid.id
Implementation.org.osid.logging.LoggingManager=org.campusproject.component.osid.l
ogging
Implementation.org.osid.dictionary.DictionaryManager=org.campusproject.component.
osid.locale
contextParams = sessionId,instanceId,ip,httpagent,dictionaryDir,remote_ip,
app_properties, instance_properties, currentagent
Ubicación de los servicios. El cliente tiene que conocer los URL para
acceder a los servicios del lado servidor. Eso se parametriza en:
o El mecanismo consulta el fichero WebContent\WEB-
INF\classes\oki_service_locator.properties, que tiene una
entrada para cada servicio.
DispatcherAgent=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherAgent
DispatcherAuthentication=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherAuthentication
DispatcherAuthorization=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherAuthorization
DispatcherConfiguration=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherConfiguration
DispatcherIdentifier=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherIdentifier
DispatcherLocale=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherLocale
DispatcherLogging=http://urlSakai/OkiBusJavaWebAppServer/services/DispatcherLogging
47. Una vez configurado y generados los jars necesarios deberéis tener
la siguiente estructura:
Tomcat-5.5.23-SAKAI desplegado:
Ya lo habéis desplegado con el Maven.
OkiBusWebAppServer, necesita los jars (ver punto
"2.4.3.1 Crear Aplicaciones Oki" para hacerlo desde
Eclipse). Si no se indica lo contrario se pueden encontrar
en la carpeta "lib" del proyecto OkiBusJava
axis.jar
commons-discovery-0.2.jar
commons-logging.jar
jaxrpc.jar
jsr173_1.0_api.jar
log4j-1.2.14.jar
saaj.jar
wsdl4j-1.5.1.jar
xbean.jar
OkiBusJava.jar (montado antes)
okiBusXmlSchemas.jar (creado antes a partir del
xmlbeans)
NOTA importante para evitar problemas de seguridad:
no debe añadir el jar OkiOSID-2.0.jar, ya que éste está
en la carpeta shared/lib del Tomcat y tiene que
interactuar con la implementación de la pasarela sakai-
osid-impl-2.4.1.jar.
Esquema despliegue
SAKAI CampusLauncherJava
shared/lib/OkiOSID-2.0 CampusComponents.jar
okiOsid-2.0.jar
Tomcat-Cliente
Esquema configuración
OkiBusWebAppServer
1-ConponentsConfigFile
(configuration.okibus.bin
1-OkibusProviderConfigFile Implementación de los
(oki_operations_manager_xxx.bin componentes)
Implementación del Gateway) 2-OsidContextParams
2-OsidContextParams (OsidContextParams.properties
(OsidContextParams.properties Indicamos los parámetros de
Indicamos los parámetros de contexto)
contexto) 3-Localització de los WebServices
(oki_service_locator. properties
indica dónde están los diferentes
dispatxers)
Tomcat-Cliente
Tomcat-Sakai
Tomcat Sakai:
oki_operations_manager.gatewaysakai.properties
(OkiBusProviderConfigFile que está en OkiBusJavaWebAppServer/config)
OsidContextParams.properties
(parámetros de contexto del jar OkiBusJava.jar)
MANUAL ENTORNO DESARROLLO SAKAI
Versión: 1.0 Página21 de40
Tomcat Cliente:
config/configuration.okibus.bin
(ComponentsConfigFile, en el CampusComponentsJava/config)
OsidContextParams.properties
(parámetros de contexto del jar OkiBusJava.jar)
oki_service_locator.properties
(en el jar OkiBusJava.jar)
Con el fin de poder Okizar una aplicación remota lo que hacemos en Eclipse
es:
Proyecto Carpeta
OkiBusJava OkiBusJava.jar
OkiBusJava lib/axis.jar
OkiBusJava lib/commons-discovery-
0.2.jar
OkiBusJava lib/commons-logging.jar
OkiBusJava lib/jaxrpc.jar
OkiBusJava lib/jsr173_1.0_api.jar
OkiBusJava lib/log4j-1.2.14.jar
OkiBusJava lib/saaj.jar
OkiBusJava lib/wsdl4j-1.5.1.jar
OkiBusJava lib/xbean.jar
OkiBusXmlSchemas okiBusXmlSchemas.jar
Java_OSID_2.0a okiOSID-2.0.jar
CampusComponentsJava CampusComponentsJava.jar
Proyecto Carpeta
Java_OSID_2.0a okiOSID-2.0.jar
CampusComponentsJava CampusComponentsJava.jar
Tomcat Cliente
OkiBusJava.jar
lib/axis.jar
lib/commons-discovery-0.2.jar
lib/commons-logging.jar
lib/jaxrpc.jar
lib/jsr173_1.0_api.jar
lib/log4j-1.2.14.jar
lib/saaj.jar
lib/wsdl4j-1.5.1.jar
lib/xbean.jar
okiBusXmlSchemas.jar
okiOSID-2.0.jar
CampusComponentsJava.jar
Tomcat Servidor
OkiBusJava.jar
okiBusXmlSchemas.jar
3. Persistencia
4. IDE
http://www.eclipse.org/downloads
Con el fin de poder cargar Sakai hará falta que indiquéis, en el eclipse.ini que
encontraréis en la carpeta donde se ha instalado:
Los usuarios de Windows no podéis usar "Bloc de Notas", se tiene que utilizar
el "edit" o "Wordpad".
Es recomendable escoger la JVM actual; para hacerlo hace falta que abráis
Eclipse y Window -> Preferences -> Java -> Installed JREs y escogéis el actual.
1. Encended Eclipse.
2. Cread un nuevo workspace para Sakai:
1. Clicad en File -> Switch Workspace
2. Introducid el nombre, por ejemplo WS-sakai"
3. Clicad Ok
3. Añadid las librerías del repositorio de Maven al classpath:
1. Seleccionad Window -> Preferences -> Java -> Build Path -> Classpath
Variables.
2. Añadid la variable MAVEN_REPO en el classpath con el camino del
repositorio local. ($HOME/.maven)
4. Cambiad a la perspectiva de Java (Window -> Open Perspective -> Java).
Aseguraos de que estáis en Package Explorer.
5. Desactivad "Automatic builds", seleccionando Project -> desmarcad Build
automatically.
6. Seleccionad File -> importe -> Existing Projects into Workspace
Indicad el camino completo al directorio del código fuente Sakai (sakai-
src).
7. Clicad Deselect All para deseleccionar todos los proyectos.
8. Seleccionad los proyectos siguientes (básicamente necesitamos la mayoría de
API, algunas utilidades y todos los referentes en la base de datos).
alias-api
announcement-api
archive-api
authz-api *
componente-api *
content-api
courier-api
cm-api
db-api
db-impl
db-util
entity-api *
MANUAL ENTORNO DESARROLLO SAKAI
Versión: 1.0 Página24 de40
email-api
event-api *
jsf
message-api
master
site-api *
site-manage-api
tool-api *
user-api *
user-util *
util-api *
util-util
velocity
* tiene que estar relacionado con proyecto "osid"
osid
authz-impl *
entity-impl *
memory-api *
site-impl *
tool-impl *
tool-util *
test-harness *
archive-api *
* tiene que estar relacionado con proyecto "osid"
10. Clicad Finish para importar los proyectos (puede tardar 5 minutos).
5.2.1. Introducción
• Otro servidor, que actúa como Cliente, tiene que poder usar la
implementación de los OSID que hay en el servidor anterior teniendo
desplegado el CampusLauncherJava, OkiBusClient y Aplicación Oki
(WelcomeJavaApp).
Este servidor supondremos que está en http://localhost:8081
5.2.2. Configuración
SERVIDOR
CLIENTE
CampusLauncher Comprobad que está desplegado con todos los jars necesarios
Java
shared/clases Deberéis tener
OsidContextParams.properties
oki_service_locator.properties
config/configuration.okibus.bin
shared/lib CampusComponentsJava.jar
okiOSID-2.0.jar
OkiBusJava.jar
okiBusXmlSchemas.jar
axis.jar
commons-discovery-0.2.jar
commons-logging.jar
jaxrpc.jar
jsr173_1.0_api.jar
saaj.jar
wsdl4j-1.5.1.jar
xbean.jar
DispatcherAgent= http://localhost:8080/OkiBusJavaWebAppServer/services/DispatcherAgent
5.2.3. Test
# The username and password. The defaults are for the out-of-the-box
HSQLDB. Change to match your setup.
username@javax.sql.BaseDataSource=sakaiuser
password@javax.sql.BaseDataSource=sakaipassword
10. Si creáis una página nueva, tendréis que ir a "New Page", donde
podréis indicar el título, la estructura de la página y podréis añadir las
herramientas. Para crear herramientas nuevas pulsad el botón "Tools".
11. Como es una página nueva no tendréis ninguna herramienta, por lo
tanto clicad sobre "New Tool" y añadid la herramienta que se ha
instalado antes.