Arquitetura de Workflow em Plone e Web Services



Documentos relacionados
O uso do gestor de conteúdos plone no suporte a processos de software

Web Services. Autor: Rômulo Rosa Furtado

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Introdução ao Plone. terça-feira, 4 de agosto de 15

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

Anexo I Formulário para Proposta

Introdução a Banco de Dados Aula 03. Prof. Silvestri

AGENDA. O Portal Corporativo. Arquitetura da Informação. Metodologia de Levantamento. Instrumentos Utilizados. Ferramentas

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

IV. Intercâmbio Eletrônico de Dados (EDI)

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Microsoft.NET. Desenvolvimento Baseado em Componentes

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

Sistemas Distribuídos

Engenharia de Requisitos Estudo de Caso

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

Curso de Aprendizado Industrial Desenvolvedor WEB

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Desenvolvendo Websites com PHP

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Aplicação Prática de Lua para Web

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais.

Ferramentas de Administração. PostgreSQL

18/04/2006 Micropagamento F2b Web Services Web rev 00

UFG - Instituto de Informática

Figura 1 - Arquitetura multi-camadas do SIE

Noções de. Microsoft SQL Server. Microsoft SQL Server

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

WebApps em Java com uso de Frameworks

Universidade Federal do Rio Grande do Sul Centro de Processamento de Dados

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

BlackBerry Mobile Voice System

Alfresco Content Management

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

UFG - Instituto de Informática

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

LINGUAGEM DE BANCO DE DADOS

Serviços Web: Arquitetura

Prof. Marcelo Heitor Teixeira marceloheitor.com. Java API JDBC

Introdução a Computação

TRIBUNAL REGIONAL FEDERAL DA 2ª REGIÃO Secretaria de Tecnologia da Informação

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Documento de Arquitetura

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Fase III Iteração II

Feature-Driven Development

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

1

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: ou

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

Conceitos de Banco de Dados

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

Consultoria sobre Joomla!

Introdução a Banco de Dados

4 Um Exemplo de Implementação

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa

UNIVERSIDADE CÂNDIDO MENDES

Universidade da Beira Interior

Desenvolvimento Web TCC Turma A-1

3 SCS: Sistema de Componentes de Software

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Arquitetura de Banco de Dados

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

MULTIACERVO - VERSÃO 17.*

SISTEMA GERENCIADOR DE BANCO DE DADOS

Diretrizes Propostas para Aplicação da APF em Programa Envolvendo Tecnologias Recentes Tais como Barramento, BPMS e Portal

IBM Software Demos The Front-End to SOA

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9

Integração de sistemas utilizando Web Services do tipo REST

Especial Online RESUMO DOS TRABALHOS DE CONCLUSÃO DE CURSO. Sistemas de Informação ISSN

Parceiro Oficial de Soluções Zabbix no Brasil

Thalita Moraes PPGI Novembro 2007

SISTEMA DE CONTROLE DE ACESSO, PARA AMBIENTE ACADÊMICO

O Gerenciamento de Documentos Analógico/Digital

IMPLANTAÇÃO DE UM SISTEMA DE AVALIAÇÃO DE DESEMPENHO NA UFG

Manual do usuário. v1.0

Semântica para Sharepoint. Busca semântica utilizando ontologias

Histórico de Revisão Data Versão Descrição Autor

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Projeto Disciplinar de Infra-Estrutura de Software SISCOP TORRE FORTE CONSTRUÇÕES LTDA.

SOFTWARE INFORMAÇÕES GERAIS

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Transcrição:

Arquitetura de Workflow em Plone e Web Services Elisandra Fidler Pez, Heitor Strogulski Núcleo de Processamento de Dados Universidade de Caxias do Sul (UCS) Caxias do Sul, RS Brasil {efidler, hstrogul}@ucs.br Abstract. This article presents an architecture of workflow system using development technologies for Web, as Zope and Plone, integrating diferent systems through Web Services. The purpose is describing every tools used in this architecture and to show a solution developed at Universidade de Caxias do Sul (UCS). Resumo. Este artigo apresenta uma arquitetura de sistema de workflow utilizando as tecnologias de desenvolvimento para Web, como o Zope e o Plone, integrando diferentes sistemas através de Web Services. O propósito é descrever todas as ferramentas utilizadas nesta arquitetura e mostrar uma solução desenvolvida na Universidade de Caxias do Sul (UCS). 1.Introdução As organizações têm um importante desafio que é colocar seus sistemas de informações gerenciais na Web. Este novo paradigma traz consigo mudanças tecnológicas que são de difícil adaptação para os sistemas que ainda estão em plataforma cliente/servidor. Além dessa mudança de paradigma, existem obstáculos para integração entre esses novos sistemas e os sistemas legados. Em paralelo, as organizações buscam aproveitar o pontencial da Web para implementar sistemas de gestão de conteúdo através dos chamados portais corporativos. Esses portais abrem a possibilidade de, num mesmo ambiente, disponibilizar serviços oferecidos pelos sistemas gerenciais e informações não-estruturadas contidas em documentos em diversos formatos. Nossa motivação é trabalhar nesse ambiente tecnologicamente heterogêneo para construir portais corporativos que forneçam novas funcionalidades de acesso e apresentação das informações. Além disso, esse ambiente deve permitir novas formas de apoiar os processos de negócio das organizações através de sistemas de workflow [Hathawaymix, 2006]. A UCS é uma organização de ensino típica: possui sistemas legados desenvolvidos internamente e possui diversos sistemas gerenciais de terceiros. Todos estes sistemas estão em plataformas diferentes, o que dificulta a integração dos mesmos. Para resolver as questões da integração de sistemas, da implantação de um portal corporativo e a necessidade de automatizar processos de negócio sob a forma de workflow, a UCS definiu uma arquitetura de sistemas baseada em Zope e Plone. Este trabalho apresenta essa arquitetura de portal corporativo e o desenvolvimento de uma aplicação de workflow para o processo de compras. O processo de negócio de compras foi escolhido por ser um dos mais complexos, permitindo uma real avaliação das potencialidades das tecnologias adotadas. Nas seções seguintes serão descritas as

ferramentas utilizadas nesta arquitetura e uma breve descrição sobre a aplicação desenvolvida. 2.Arquitetura Os requisitos que a arquitetura de sistemas de workflow proposta contemplou foram: interface única e padrão na Web; controle de acesso com base nos papéis dos usuários existentes na organização; grande usabilidade do portal corporativo para usuários leigos; integração dos sistemas de informações legados através do compartilhamento on-line e sem replicação das bases de dados; automatização dos processos de negócios através de um sistema de workflow que fosse independente dos sistemas de informações; e, as tecnologias utilizadas estarem sob licenças livres. Assim, a arquitetura de workflow projetada pela UCS propõe a implementação de integração de sistemas de informações através de Web Services [Neto, 2006]. Esta arquitetura ilustrada na Figura 1, demonstra a aplicação que integra sistemas que utilizam os bancos de dados relacionais Progress, Oracle e SQL Server. Figura 1: Arquitetura de aplicações Web com Plone usando Web Services Nos itens que seguem estão descritas as tecnologias utilizadas nesta arquitetura. 2.1. Web Services Os Web Services são uma tecnologia que têm por objetivo integrar sistemas distintos através da Internet, usando protocolos padronizados que garantem a independência de plataforma e de linguagem de programação em que esses sistemas foram escritos. Assim, é possível disponibilizar uma coleção de métodos em um servidor remoto e permitir que sejam acessados por programas clientes [Neto, 2006]. A linguagem de programação adotada para desenvolver os Web Services nas aplicações da UCS foi o Java. As conexões com os bancos de dados são feitas através de JDBC (Java Database Connectivity) [Object Web, 2006]. Na implementação dos métodos dos Web Services que inserem registros nos bancos de dados, surgiu a necessidade de fazer o gerenciamento de transações, para esse gerenciamento de transações utilizamos uma API chamada JOTM (Java Open Transaction Manager) [Object Web, 2006].

A necessidade de integrar os sistemas através de Web Services surgiu por causa dos diferentes tipos de bancos de dados que a UCS possui, alguns bancos não permitem acesso nativo aos seus dados como por exemplo o SGBD Progress. Para disponibilizar os serviços dos Web Services utilizamos o Tomcat e o Axis através de WSDL (Web Service Definition Language) [Neto, 2006]. 2.3. Zope e Plone O Zope é um um ambiente para desenvolvimento e gerenciamento de aplicações Web e um Servidor de Aplicações. É registrado sob uma licença Livre compatível com a GNU General Public License (GPL) [Patrick, 2006]. O Zope é orientado a objetos e possui um banco de objetos embutido, o ZODB (Zope Object DataBase). Possui também um Servidor Web embutido (HTTP, FTP, WebDAV), o Zserver, e duas linguagens de templates: a DTML (Document Template Markup Language) e a TAL (Template Attribute Language). Objetos criados no Zope são publicados através de todos os protocolos que ele possui suporte, entre eles HTTP, FTP, XML-RPC, WebDAV, CORBA, SOAP e outros [Patrick, 2006]. O Plone é um Sistema Gerenciador de Conteúdo (CMS) livre e de código aberto baseado em Zope. Ele vem com um sistema de workflow, segurança e funções préconfiguradas, um conjunto de tipos de conteúdo e atualmente com suporte a 50 idiomas [Limi, 2006]. O Plone é baseado em um Framework de Gerenciamento de Conteúdo (CMF) que permite gerenciar conteúdo geralmente para um web site. Os principais objetivos dos Sistemas Gerenciadores de Conteúdo são permitir fácil criação, publicação e retorno de conteúdo que se ajuste às necessidades requeridas [Burton, 2006]. O Plone também foi desenvolvido em Python. Ele suporta a maior parte das bases de dados, tanto comerciais (Oracle, Sybase, DB2, MS SQL, SAP, Interbase, etc.) como as livres (PostgreSQL, MySQL, Firebird, etc.) [Limi, 2006]. Neste projeto foi escolhido o Plone para o gerenciamento de conteúdo pela interface amigável aliado a grande usabilidade e acessibilidade pelo usuário final. O Plone é responsável pelo gerenciamento de conteúdo do workflow de compras, todo o código gerado com os tipos de conteúdo será instalado no Plone. 2.5. Archetypes/ArchGenXML O ArchGenXML é um gerador de código para aplicações Plone baseado no framework Archetypes [Klein, 2006], framework Python voltado ao desenvolvimento de aplicações de gerenciamento de conteúdo para o Plone. Ele analisa modelos UML em formato XMI (.xmi,.zargo,.zuml) e cria código Python para o Plone [Santos, 2004]. Neste projeto adotamos a ferramenta Poseidon [Gentlware, 2006] para contruir os diagramas de classes e de estados (exemplo Figura 2) que são analisados pelo ArchGenXML e este por sua vez cria código Python, todo esse código será instalado no Plone como um novo produto, ou seja, um novo tipo de conteúdo como por exemplo um conteúdo do tipo Solicitação de Compra. O diagrama de estados representa o workflow da aplicação, portanto todos os estados e transições do workflow, bem como as permissões de usuários para fazer as transições, devem ser definidos no diagrama de estados.

3. Aplicação A arquitetura proposta neste artigo pretende ser abrangente o bastante para atender qualquer processo de negócio da Universidade. Para testar este sistema, pensou-se em modelar um processo de negócio e implementá-lo como piloto. A aplicação escolhida foi o workflow de compras, por ser tradicionalmente complexo em instituições de ensino. Um piloto de um processo de negócio simples, talvez não fosse suficiente para testar a solução. O workflow de compras abrange desde o preenchimento da solicitação de compra pelo usuário até a integração com o sistema EMS-Datasul, passando por vários níveis de aprovações e revisões, como será explicado em seguida. Na Figura 2 é apresentado o workfow de compras representado pelo diagrama de estados. Este diagrama de estados define o comportamento do workflow da aplicação no Plone. Figura 2: Diagrama de estados representando o workflow do processo de compras O processo de compras na Universidade possui diversos níveis de autorização e isso exige um controle rigoroso através de um sistema de autenticação e a definição de perfis dos usuários conforme seus cargos e responsabilidades. No sistema de autenticação existe uma camada de negociação que define as permissões de acordo com o perfil de cada usuário, este perfil de usuário é chamado de papel ou role. Todos os usuários com os roles definidos na aplicação receberão um e- mail de notificação quando uma solicitação está esperando sua intervenção em um determinado momento do workflow. O role Solicitante é atribuído a qualquer funcionário ou professor ativo na universidade, sua função no sistema é incluir novas solicitações de compras, enviar para aprovação da chefia imediata e acompanhar todo o processo de compra dentro do sistema. O role Aprovador é definido para as pessoas que ocupam algum cargo de chefia. O aprovador tem permissão de aprovar somente as solicitações requeridas por um solicitante subordinado a ele, quando o aprovador recebe uma solicitação ele pode

aprová-la, rejeitá-la ou devolvê-la ao solicitante a fim de que sejam feitas correções, caso ele a aprove, ela será enviada para o departamento de compras devendo ser acessada primeiramente pelo supervisor de compras. A tela de aprovação da solicitação está demonstrada na Figura 3. Figura 3: Tela de aprovação da solicitação de compra O role SupervisorCompras é dado à chefia do Setor de Compras, a função dele é revisar a solicitação e encaminhar a um comprador, ou então, devolvê-la ao Aprovador. O role Comprador é atribuído para as pessoas ligadas ao Setor de Compras que têm a função de comprador, estes receberão a solicitação e terão algumas opções, entre elas a de enviar um ou mais itens da solicitação a uma comissão de avaliação técnica. E, finalmente, para os usuários que têm a responsabilidade de avaliar os itens tecnicamente é dado o role de AvaliadorTecnico, o qual pode rejeitar um ou mais itens da solicitação ou aprová-los, dessa forma os itens serão devolvidos ao comprador para que este gere a ordem de compra. O processo de gerar a ordem de compra é feito através do preenchimento de um formulário com algumas informações adicionais além das contidas na solicitação. Em seguida o formulário é processado, todas as informações são extraídas e através de um script Python do workflow, o qual cria um documento no formato XML e o envia para o Web Service. O Web Service receberá este documento, usará um parser para extrair as informações e fará a inclusão da nova ordem de compra no banco de dados Progress do sistema EMS Datasul, onde a ordem de compra seguirá o caminho normal até o pedido de compra. 4. Conclusões Existem diversas soluções comerciais de workflow disponíveis no mercado. Todas guardam semelhanças quanto a funcionalidade. Entretanto, a maioria delas têm um alto custo de aquisição e implantação. Quanto a implantação, pode-se dizer que todas exigem um grande esforço no que tange ao desenvolvimento de programas para a extração de informações dos sistemas legados. O desenvolvimento deste projeto objetiva oferecer uma solução para o problema de integração entre os diferentes sistemas através de uma aplicação de workflow, utilizando

uma plataforma de software livre e gratuito. A arquitetura adotada permite que outros tipos de aplicações Web sejam desenvolvidas utilizando a mesma plataforma deixando para que o desenvolvedor se preocupe somente com o desenvolvimento e gerenciamento de conteúdos. A arquitetura do portal corporativo está implantada e o piloto de compras está em fase de testes em alguns departamentos. O próximo passo é colocar o processo de compras em produção em todos os setores da Universidade. Após a implantação em produção, o processo de compras deverá ser extendido para contemplar outras funcionalidades, como por exemplo o processo de cotação com os fornecedores via web. Referências Auersperg, P. et Al (2006) ArchGenXML - Getting started, http://plone.org/documentation/tutorial/archgenxml-getting-started, Agosto. Burton, J. (2006) What is Plone?, http://plone.org/about/plone, Janeiro. Debian (2006) Extensible User Authentication Product for Zope. http://packages.debian.org/testing/web/zope-exuserfolder, Agosto. Gentlware (2006), http://gentleware.com/index.php, Janeiro. Hathawaymix (2006) DCWorkflow: Web-Configurable Workflow for CMF, http://hathawaymix.org/software/dcworkflow, Janeiro. Klein, J. W. (2006) Archetypes, http://plone.org/products/archetypes, Janeiro. Limi, A. (2006a) Why Plone? An Intranet Point of View, http://plone.org/about/articles/plone-intranet, Janeiro. Neto, A. C. (2006). Web Services em Java com Axis Teoria e Prática, http://www.guj.com.br/content/articles/webservices/ws.pdf, Janeiro. Object Web (2006). How to use JDBC and transactions in Tomcat with JOTM, http://jotm.objectweb.org/current/jotm/doc/howto-tomcat-jotm.html, Janeiro. Patrick, T. (2006) What is Zope?, http://www.zope.org/whatiszope, Janeiro. Python (2006) What is Python?, http://www.python.org/doc/summary.html, Janeiro. Santos, F. W. (2004) ArchGenXML Uma Ferramenta CASE para Desenvolvimento de Aplicações de Gerenciamento de Conteúdo para o Plone. In: 5º Fórum Internacional Software Livre, ANAIS, páginas 123-125.