openacs uma comunidade sustentável de aprendizagem online conteúdo editado por...
TRANSCRIPT
OpenACSUma Comunidade Sustentável de
Aprendizagem Online
Conteúdo editado por "experts"/ Conteúdo adquirido por contribuição voluntária.
meios de comunicação/colaboração. meios para facilitar a busca de conteúdo
editado/contribuição . meios de delegação de moderação. meios de identificar membros que causam
"ruído" na comunidade e forma de excluí-los se necessário.
OpenACSUm Livro
Philip and Alex's Guide to Web Publishing"This book is a catalog of the mistakes that I've made while building more than 100 Web sites in the last five years. I wrote it in the hopes that others won't have to repeat those mistakes."
Philip Greenspun
http://philip.greenspun.com/panda/
Publicado (Web): Setembro 1998
Publicado (impresso): Abril 1999
OpenACSUm Livro
Software Engineering for Internet Applications
“The student finishes knowing how to build amazon.com by him or herself." Eve Andersson, Philip Greenspun, Andrew Grumet
http://philip.greenspun.com/seia/ Para: desenvolvedores de softwares que desejam construir
comunidades online ou outra aplicação multi-usuário para a Internet.
gerentes que avaliam software para suporte a comunidades online .
OpenACSUma Tecnologia Madura para
Aplicações na Web
um "toolkit" avançado para construção de aplicações escaláveis para web para suporte a comunidades.
um "framework" robusto, escalável, para construção de websites com conteúdo dinâmico.
uma coleção de aplicações prontas para uso e serviços que podem ser utilizados para criar websites.
derivado do ArsDigita Community System (ACS), atualmente parte da Red Hat, Inc., distribuído como software GPL
uma arquitetura de software modularizada e extensível
OpenACSUm repositório de software livre e de código
aberto com uma longa história
“The source code repositories show that the project is over 6 years old."
http://www.ohloh.net/projects/3877/analyses/latestHistória (Fatos importantes)
1999: Ben Adida, Don Baccus interessados no desenvolvimento de websites livres de licença Oracle, criam projeto ACS/Pg para usar Postgresql, logo renomeado OpenACS.
início 2000: aD forma uma equipe para desenvolver o toolkit ACS sem distrações oriundos de "apelos" de clientes. VC assume direção da empresa.
ainda em 2000, ACS começa a ser reescrito -- em Java2001: aD considera obsoleto o trabalho com ACS3 do ponto de vista de "mercado" e prioriza ACS4 (Java). Equipe ACS4 passa de 50 desenvolvedores.
OpenACSUm repositório de software livre e de código
aberto com uma longa história
ainda em 2001: OpenACS ultrapassa aD em termos de atividade visível com desenvolvimento do OpenACS 4 (sucessor do OpenACS 3.2.5, fork original do ACS Tcl)
mais em 2001: disputas internas, saída de Greenspun, reengenharia social, aD trabalha para afastar desenvolvedores de comunidades externas numa tentativa de "fechar" o código do ACS4e. aD recusa associação com Microsoft.
final de 2001: ACS4.6 (Java) tem release com licença modificada do código ACS que praticamente exclui participação da comunidade OpenACS.
Fevereiro 2002: aD fecha as portas após ser comprada pela RedHat Inc.
28 de Outubro 2002: OpenACS 4.6.0 é liberado
OpenACSCultura da Comunidade
"OpenACS is more than a technology, it is a vibrant community." Jade Rubick, em http://www.openacs.org/xowiki/community-culture
cooperação/moderação/confiança governança Componentes da arquitetura maduros e testados em
ambientes de grande demanda suporte comercial/não comercial (via
comprometimento de instituições) documentação
OpenACSSubsistemas
Interface do Usuário OpenACS ( OpenACS Tcl API; OpenACS PL/SQL;
OpenACS PL/PgSQL) Linguagem interpretada (Tcl e extensões [tDOM,
XoTcl, tWSDL]) RDBMS (PostgreSQL/Oracle) Linguagem procedural declarativa SQL
(PL/PSQL,PL/PgSQL) servidor web (Aolserver e extensões) sistema operacional
OpenACSSubsistemas: diagrama
OpenACSFramework para Aplicações na Web
“A web application framework is a set of software tools and libraries that make it easier to create web applications. They typically provide functionality such as database access, templating and session management." Fonte:http://en.wikipedia.org/wiki/Web_application_framework
Características da Arquitetura OpenACS Arquitetura multi-tier MVC não completamente funcional Metadados e geração automática de código no contexto de aplicações web típicas de comunidades identifica claramente papéis para componentes na Interface do Usuário com persistência de dados
OpenACSFramework para Aplicações na Web
"Pattern" Model-View-Controller no OpenACS: É elemento da arquitetura OpenACS, utilizada
pelo ATS para separação entre lógica,dados e apresentação e obtenção de componentes reusáveis da apresentação (included templates, master templates)
The model is the representation in the database of the ACS Objects and their associated PL/SQL package methods.
The view is the ADP template that formats the datasources retrieved through the controller into a presentation for a user.
OpenACSFramework para Aplicações na Web
The controller is the combination of the Request Processor and the application logic pages implemented as .tcl scripts that prepare data sources for the templating system.
Diagrama MVC Request Processor
Diagrama MVC
http://www.openacs.org/doc/acs-templating/developer-guide.html
Request Processor
http://www.openacs.org/doc/openacs-5-2/request-processor.html
OpenACSFramework para Aplicações na Web
Ambiente de Programação RDBMS: Oracle ou PostgreSQL Linguagem Procedural: Tcl OpenACS - Ambiente de execução: Aolserver Extensões ao toolkit: XoTcl,
http://www.tdom.org, Twis
OpenACSAmbiente de Execução
Servidor de Aplicação Aolserver Uma URL = um arquivo Linguagem Filtros: habilidade do servidor web em executar
um fragmento de código antes de servir uma URL que inicia com /foo/. Particularmente útil para controle de acesso ao código.
URL abstrata Log centralizado de execução SQL
OpenACSFramework para Aplicações na Web
Referência para Desenvolvedores http://www.openacs.org/doc/openacs-5-2/dev-
guide.html