190 likes | 260 Views
OpenACS Uma 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.
E N D
OpenACS Uma 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.
OpenACS Um 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
OpenACS Um 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 .
OpenACS Uma 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/latest • Histó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 Java • 2001: 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
OpenACS Cultura da Comunidade "OpenACS is more than a technology, it is a vibrant community." Jade Rubick, emhttp://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
OpenACS Subsistemas • 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
OpenACS Framework 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
OpenACS Framework 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.
OpenACS Framework 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
http://www.openacs.org/doc/acs-templating/developer-guide.htmlhttp://www.openacs.org/doc/acs-templating/developer-guide.html
http://www.openacs.org/doc/openacs-5-2/request-processor.htmlhttp://www.openacs.org/doc/openacs-5-2/request-processor.html
OpenACS Framework 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
OpenACS Framework para Aplicações na Web • Referência para Desenvolvedores • http://www.openacs.org/doc/openacs-5-2/dev-guide.html