Child pages
  • Sakai 10 and later System Requirements

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Sv translation
languagees

Elección del sistema operativo

Sakai CLE es neutral respecto al sistema operativo. Habitualmente corre sobre cualquiera de los numerosas distribuciones Linux. Ejemplos de estas distribuciones comunes de Linux son CentOS, Debian GNU/Linux, Fedora, Gentoo Linux, Red Hat Enterprise Linux (RHEL), SuSe Linux, Ubuntu. Sakai CLE también puede funcionar en Mac OS X server, Microsoft Windows y Sun Solaris. Los sistemas que no Linux no son habitualmente tan testados por la comunidad, ya que los servidores de QA son Linux, por eso, habitualmente se recomienda uno de estos sistemas Linux.

Java

Sakai 10 se ha probado mayoritariamente con Oracle's Java 7 . Puede ser compatible binariamente con Java 6, aka Java 1.6 . Requiere JDK 6 para compilar "todo el código".  Igualmente, JDK deberían complilar la mayoría del código. Ciertos ficheros, como *.jsp y *.jws, requieren compilation por lo que descargar y tratar de usar sólo el run time environment (JRE 7.0) no es suficiente. 

Para Sakai 10

Objetivo Java 6+. Probado con 7. Requiere Java 6-8 para compilarse

Probablemente para  Sakai 11 (liberado en 2015)
Los objetivos son JRE 7+. Y probarlo a fondo con JRE 8. Requiere JDK 7-8 para compilar.

Lo que estropea la compatibilidad con los JRE es cuando alguien quiere o necesita utilizar nuevas funcionalidades del lenguaje o nuevas librerías. Lo que rompe la compatibilidad con el JDK son generalmente cambios internos en las interfaces donde tenemos que realizar trabajo para poder soportar 2 conjuntos de código fuente.

 

Warning

Oracle's Sun Java J2SE 5.0 (a.k.a Java 1.5) ha terminado el proceso EOL y ya no tiene soporte. Si todavía está usando Java 1.5 por favor dese cuenta de las vulnerabilidades en la seguridad que existen en las actualizaciones JDK/JRE 5.0 1.5.0_17 y anteriores.

Selección del Servidor de Aplicaciones

Apache Tomcat 7 es el recomendado y el más testeado en profundidad, y es utilizado mayoritariamente con un servidor web como Apache Http Server. Algunas instituciones ejecutan sus Tomcats con Windows IIS y proxies nginx sin ningún problema. Algunas escuelas como la Hong Kong University of Science and Technology y la Universidad de Guadalajara informan que han desplegado Sakai en JBoss, en el pasado pero no se proporciona soporte para este tipo de configuración. Como durante el proceso de Sakai 10, Tomcat 8 estaba en beta, no ha sido probado.

Note

Sakai 2.8.0 y las versiones anteriores requerían Tomcat 5.5 por defecto pero pueden ser configuradas para correr sobre Tomcat 7. Sin embargo Tomcat 7 es el requisito para correr Sakai 2.9.0+. Hace falta realizar algunos cambios en la configuración de Tomcar para conseguir que Sakai funcione tanto en la versión binaria o la versión a partir del código fuente en Tomcat 7. Por favor, visite este enlace para más información

Warning
titleWebsphere no soportado

En Sakai CLE 2.7.0 se incluye un módulo Websphere para facilitar el despliegue en un entorno de producción Websphere/Db2; sin embargo, el soporte ha cesado y la opción de Websphere se considera actualmente obsoleta.                     

 

Selección de la Base de Datos

Las instalaciones de producción de Sakai CLE se ejecutan habitualmente sobre Oracle 10g/11g and 12c o MySQL 5.1/5.5. 

MariaDB puede remplazar Mysql (source) y MariaDB debería funcionar con Sakai, pero no está oficialmente soportadoHay instalaciones conocidas de Sakai sobre MariaDB 5.1 o 5.5 (por ejemplo en Rutgers University -source)

Sakai no se limita a estas opciones y la integración con otros RDBMS  no es difícil. En el pasado, al menos una instalación ha usado Microsoft SQL Server mientras que peticiones sobre integraciones con PostgreSQL de vez en cuando surgen en la lista de desarrolladores de Sakai. Sin embargo nadie en la comunidad Sakai ha dado un paso adelante para dar soporte a alternativas a Oracle o MySQL, un prerrequisito para añadir opciones adicionales de base de datos a Sakai.

Warning
titleIBM DB2 No soportado

El soporte de IBM Db2 se añadió en Sakai CLE 2.7.0 pero para 2.8.0 los scripts de conversión a DB2 no se actualizaron y se considera actualmente obsoletos, incluso para 2.9.x.                     

Note

La versión demo de Sakai incluye HSQLDB; pero no se debe usar nunca en producción.                     

Estrategias de Clustering, almacenamiento de ficheros y balanceo de carga

Un clúster típico de Sakai CLE se compone de uno o más servidores de aplicaciones corriendo una o más instancias de Tomcat 7 operando cada uno en modo standalone o detrás de un servidor web Apache HTTP 2.2. Cada instancia de Tomcat ejecuta una copia completa de Sakai. El cluster está apoyado en una única base de datos proporcionado alojamiento transaccional a la información.

Alojar el contenido binario fuera de la base de datos es una opción configurable en Sakai y es altamente recomendable para un mejor rendimiento. La mayoría de las organizaciones con Sakai con gran cantidad de usuarios optan por soluciones de alojamiento en red tipo NAS o SAN. El balanceo de carga lo proporciona Apache (usando mod_jk, mod_proxy_balancer o mod_proxy_ajp) o con hardware dedicado, como las soluciones F5 BIG-IP, NetScaler o Zeus.

 

Opciones de autenticación externa

Sakai CLE se puede integrar con varios sistemas de autenticación externa incluyendo CAS, Kerberos, LDAP, Shibboleth y WebAuth.


Integrando Sakai con los Sistemas de Información de Estudiantes (Student information systems - SIS)

Las instituciones de la Comunidad Sakai han integrado sus instalaciones de Sakai CLE con Banner, Datatel y Peoplesoft así como con una gran variedad de sistemas propios.

Sakai CLE tiene dos formas básicamente de integrar los datos de sistemas externos. En la mayoría de lugares se usa una combinación de estas dos formas. La primera es utilizar los API's internos que proporciona Sakai. Estos APIs son lugares donde Sakai puede consultar mientras está en marcha. Hay APIs para la Identidad del Usuario, para el Directorio de Usuarios, para el Listado de Cursos y Roles de Usuario.

User Identity API: permite a Sakai llamar código local para validar usuarios cuando se loguean en el sistema. Esto usualmente se hace usando Kerberos, Active Directory o LDAP para validar las credenciales del usuario.

User Directory API: Permite que la información del usuario, como el nombre o el e-Mail sea consultada por un sistema externo como LDAP o X.509. El User Directory API permite decidir al sitio local cuando mostrar la información del estudiante para cumplir los requisitos FERPA (Protección de datos personales). Cada institución tiene diferente interpretación de FERPA por lo que las decisiones finales sobre FERPA se delegan al User Directory API.

Course Listing API: es consultado cuando el instructor crea un sitio del tipo curso. Este API devuelve la lista de grupos en los que el usuario actual es el profesor. El usuario puede seleccionar uno o más de esos grupos externos para asociarlos con el curso que está creando.

User Role API: se consulta cuando los usuarios entran en la plataforma para determinar de qué grupos externos el usuario es miembro y cual es el rol en esos grupos. La configuración interna de Sakai se actualiza si hay cambios el estado del usuario en un grupo externo.

Los APIs anteriores son "pull" APIs-- se consultan cuando el usuario entra o intenta hacer alguna acción. El Course List API descrito anteriormente no matricula automáticamente los cursos.

Si se desea "empujar" la información en Sakai CLE, hay dos formas de hacerlo - Quartz y web services.

Sakai utiliza un sistema interno de tareas llamado Quartz que proporciona la capacidad de lanzar tareas programadas en Sakai. Quartz se usa creando una clase de Java que hace el trabajo necesario y entonces se programa en Quartz una agenda de ejecución regular de ese código Java.

Una forma más común de introducir información en Sakai es mediante los web services. Cualquiera de los APIs de Sakai puede ser accedido por web services. Los puntos de acceso de los web services se han desarrollado a partir de los APIs habitualmente utilizados para configuración. Estos web services SOAP pueden llamarse desde PHP, Python, Perl, Java, .NET o cualquier otro lenguaje. La estructura de datos de los web services de  Sakai CLE se mantienen lo más simple posible para asegurar la mayor interoperabilidad posible con el mayor número de lenguajes posible. Los administradores a menudo construyen scripts para meter datos de sus SIS y poblar el Sakai CLE con datos. Estos scrips se pueden automatizar con cron o ser ejecutados manualmente por el administrador en el momento adecuado.

Esta combinación de capacidades de configuración pull/push permiten un gran rango de posibilidades de integración de Sakai CLE.

Sv translation
languagezh

操作系统选择

Sakai是操作系统中立的。可以安装在绝大多数的Linux发行版上。常见的Linux发行版包括CentOS,Debian GNU/Linux,Fedora,Gentoo Linux,Red Hat Enterprise Linux (RHEL),SUSE Linux,Ubuntu。Sakai也可以运行在Mac OS X服务器,Microsoft Windows以及Sun Solaris上。Linux意外的操作系统没有被充分测试过,所有的社区测试服务器都是部署在Linux上,所以一般也建议使用Linux来部署Sakai。

Java

Sakai 10 主要在Oracle Java 7下进行测试. 但应该在Java 6(Java 1.6)环境下也可以正常运行。但编译系统至少需要JDK 6或以上版本;JDK 8环境应该也可以运行。有些文件(例如*.jsp和*.jws)需要在部署后进行编译,所以仅仅安装JRE是不够的,必须要安装JDK。

Sakai 10 (2014发布)

版本要求 Java 6+。基于 Java 7进行测试。需要使用 Java 6-8进行编译。

Sakai 11 可能需求 (2015发布)

版本要求 Java 7+。可能基于 Java 8进行测试。可能需要使用Java 7-8进行编译。

影响JRE兼容性的主要原因是引入了Java语言的新功能或新函数。

 

Warning

Oracle Sun Java J2SE 5.0 (Java 1.5) 已经结束了生命周期,不再被官方维护。如果您还在使用 Java 1.5,请注意相关安全问题,并升级到1.5.0_17或更新版本。

应用服务器选择

推荐使用Apache Tomcat 7,这是被充分测试的应用服务器,一般会与Apache HTTP Server这样的Web服务器一起使用。有些学校也成功使用了Windows IIS或Nginx作为Web服务器。还有一些学校(香港科技大学和瓜达拉哈拉大学)使用JBoss运行Sakai,但这里不提供相关的安装指导。在Sakai 10完成开发时,Tomcat 8依旧处于beta状态,所以没有进行过相关测试。

Note
Sakai 2.8.0和之前版本需要Tomcat 5.5,但可以通过修改配置运行在Tomcat 7中。Sakai 2.9.0及以后版本需要运行Tomcat 7,并需要修改Tomcat的配置来使其正常运行。具体信息请参考这篇文档。
Warning
title不再支持Websphere
Sakai 2.7.0中包含Websphere模块来支持Websphere/DB2生产环境,然而由于缺乏维护,Websphere已不被支持。

 

数据库选择

现有Sakai生产环境中,使用最多的是MySql 5.5或更新版本,Oracle其次;已知的使用Oracle版本包括10g,11g,12c。Sakai并不局限于这两种数据库,与其它关系型数据库的集成也不是很困难。曾经有学校使用Microsoft SQL Server作为数据库,Sakai开发者中也偶尔有人建议支持PostgreSQL。但是,目前Sakai社区中没有人支持除MySQL和Oracle以外的数据库。

Warning
title不再支持IBM DB2
Sakai 2.7.0中增加了IBM DB2支持,但是在2.8.0中,数据库更新脚本没有被更新和测试。所以Sakai不再支持DB2,包括此后的2.9.x。
Note
Sakai demo版使用HSQLDB作为数据库,但请不要在生产环境中进行使用。

集群,文件存储和负载均衡策略

典型的Sakai集群使用多台服务器,每个服务器上部署一个或多个Tomcat,然后还可以将这些服务器部署在Apache HTTP Server之后。其中,每个Tomcat中部署一份完整的Sakai。另外还需要部署一台数据库服务器。

将用户文件保存在数据库外是推荐的做法,但需要在Sakai的配置文件中进行设置。多数部署Sakai的学校使用NAS或SAN来存储文件。负载均衡通过Apache HTTP Server(通过mod_jk,mod_proxy,mod_proxy_balancer或mod_proxy_ajp等模块)或者负载均衡硬件(如F5 BIG-IP,NetScaler或Zeus)实现。 

外部认证

Sakai可以与许多外部认证系统集成,如CAS,Kerberos,LDAP,Shibboleth,WebAuth。

与学生信息系统集成

Sakai社区中的高校成功集成过Datatel,Peoplesoft和其它高校自己编写的学生信息系统。

Sakai有几种基本的集成外部系统的方法。这几种方法可以混合使用。第一种是使用Sakai "provider" API,Sakai在运行时可以通过调用这些API获取信息,包括用户帐号,用户信息,课程信息,用户角色等。

用户帐号 API:Sakai用来确定用户是否可以登录到系统。可以用于Kerberos,Active Directory或者LDAP来进行验证用户身份。

用户信息 API: Sakai用来获取用户姓名、email等信息,获取的来源可以是LDAP或X.509。通过选择性地展示用户信息,可以保护用户隐私。

开课成信息API:Sakai用来获取课程信息、选课信息。

用户角色API:Sakai用来判定特定用户在响应站点中所处的角色。

以上API都是“拉取”API,只有在Sakai系统需要相关信息的时候,才会被调用。

如果需要将数据“推送”到Sakai,有2种方案 - 计划任务和Web Services。

Sakai通过内部叫做Quartz的系统执行批量计划任务,通过创建相关的Java类,执行数据同步任务,并通过类似cron表达式的方法按周期运行相关任务。

另一种更加普遍的方法是将相关数据通过Web Services的方法推送到Sakai。通过Web Services,可以简介访问很多Sakai的API。REST和SOAP接口可以被多种语言调用。系统管理员也可以根据实际需要创建自己的Web Services。但这种方法在数据量大时,可能会产生一定的性能问题。