Sistema de Gestão de Recursos Móveis

Tamanho: px
Começar a partir da página:

Download "Sistema de Gestão de Recursos Móveis"

Transcrição

1 FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Sistema de Gestão de Recursos Móveis João Manuel Ferreira Gouveia Mestrado Integrado em Engenharia Informática e Computação Orientador: António Miguel Pontes Pimenta Monteiro 17 de Janeiro de 2011

2

3 Sistema de Gestão de Recursos Móveis João Manuel Ferreira Gouveia Mestrado Integrado em Engenharia Informática e Computação Aprovado em provas públicas pelo Júri: Presidente: Ana Paula Rocha Vogal Externo: Paulo Sousa (ISEP/IPP-DEI) Orientador: António Miguel Pontes Pimenta Monteiro 9 de Fevereiro de 2011

4

5 Resumo Cada vez mais, as tecnologias de mobilidade e os dispositivos móveis são a chave para acelerar e optimizar processos e operações de negócio. Este facto torna as tecnologias de mobilidade no próximo nível da infraestrutura das Tecnologias de Informação (TI) das organizações. Em particular, a crescente área de «Gestão de Recursos Móveis» em tempo real, do original Mobile Resource Management ou, simplesmente, MRM. Esta Dissertação insere-se no contexto descrito, onde há uma necessidade de sistemas integrados e escaláveis que permitam a monitorização e controlo das operações e aumentem a eficiência operacional. Além disso, pretende-se acrescentar o suporte a indicadores de gestão para Apoio à Decisão. A Dissertação tem como objectivo principal a concepção e teste da arquitectura e infraestrutura de uma solução empresarial capaz de responder aos requisitos esperados para uma aplicação MRM num contexto empresarial, com adição de uma componente de Apoio à Decisão e recorrendo apenas a tecnologias de Código Aberto. A Dissertação demonstra uma solução empresarial inovadora capaz de gerir, em tempo real, recursos móveis georreferenciados e que integra ainda uma componente de Apoio à Decisão. Trata-se de um trabalho extenso que resultou numa solução que reúne todas as vantagens de uma arquitectura adequada a aplicações empresariais e as vantagens das mais adequadas e avançadas tecnologias de Código Aberto. i

6 ii

7 Abstract Increasingly, mobile technologies and mobile devices are the key to speed and streamline business processes and operations. This makes mobile technologies the next level of enterprise Information Technology (IT) infrastructure. In particular, there are reliable studies that point out the growing area of Mobile Resource Management in real time. This Dissertation is within the scope of MRM enterprise solutions, where the market demands integrated and scalable solutions that enable the operation s monitoring and operational efficiency. In addition, we intend to add support for management indicators (Decision Support). The Dissertation's main goal is to design and test an enterprise solution that meets the expected requirements for a MRM application in a business context, integrating a Business Intelligence component and using only Open Source technologies. The Dissertation introduces an innovative enterprise solution capable of managing georeferenced mobile resources in real time, with an integrated Business Intelligence component. This extensive Dissertation resulted in a solution that combines all the advantages of the appropriate enterprise application architectures and the challenging State-of-the-Art Open Source technologies. iii

8 iv

9 Agradecimentos No momento de concluir esta Dissertação, não posso deixar de agradecer a todos os Professores, colegas e amigos que me ensinaram, apoiaram e incentivaram ao longo de todos estes anos de estudo e trabalho. A todos os que contribuíram directamente ou indirectamente para a realização desta Dissertação, manifesto a minha gratidão, com um especial agradecimento: Ao Prof. Miguel Pimenta Monteiro, por todo o apoio e orientação da Dissertação; Ao Eng.º Jorge Soares von Doellinger, pelo apoio e amizade sempre demonstrado; À Capgemini Portugal, pelas condições necessárias ao desenvolvimento da Dissertação; A todos os colegas e amigos da unidade de Technology Services, da Capgemini Portugal, por toda a amizade e incentivo; Aos meus familiares, pela compreensão que têm demonstrado ao apoiarem e incentivarem a minha dedicação e empenho. v

10 vi

11 Conteúdo Resumo... i Abstract... iii Agradecimentos...v Lista de Figuras... xi Notação... xiii Acrónimos e abreviaturas utilizadas:... xiii Capítulo 1 Introdução Enquadramento Mobile Resource Management Business Intelligence Descrição da Dissertação Objectivos e Resultados Esperados Organização do Documento...2 Capítulo 2 Estado da Arte Avaliação do Mercado Segmentação Actual Caracterização do Mercado Alvo Ambiente da Industria Tendências e Previsões do Mercado Atractividade do Mercado Análise SWOT Soluções de Mobilidade Empresarial Plataformas de Desenvolvimento de Aplicações Móveis Soluções no Mercado Aspectos Inovadores Capítulo 3 Arquitectura do Sistema vii

12 3.1. Visão Geral Análise Funcional do Sistema Definições Actores User Stories Fluxo de Dados Arquitectura Física Arquitectura do Software Modelo da Arquitectura Descrição da Arquitectura Tecnologias e Arquitectura Capítulo 4 Frameworks de Desenvolvimento Spring Framework Arquitectura Tecnologias Estratégias de Desenvolvimento Liferay Portal Arquitectura Tecnologias Estratégias de Desenvolvimento Pentaho BI Platform BI Platform e Arquitectura Reporting Data Integration Analysis Services Data Mining Capítulo 5 Desenvolvimento e Implementação Infraestrutura e Ambiente de Desenvolvimento Servidor MySQL MySQL Workbench SpringSource Tool Suite Servidor Liferay Portal Servidor Pentaho Especificação da Implementação Método de Desenvolvimento Visão Geral Base de Dados viii

13 Spring Portlets Portal Liferay Pentaho - Business Intelligence Resultados Alcançados Capítulo 6 Conclusões e Trabalho Futuro Referências ix

14 CONTEÚDO x

15 Lista de Figuras Figura 1 Evolução das Iniciativas de Mobilidade (Aberdeen Group, 2009)... 5 Figura 2 Diagrama de Porter: Principais Influências no Mercado de Soluções de Mobilidade... 6 Figura 3 Análise SWOT da Solução MRM... 7 Figura 4 Diagrama UML do Modelo Funcional Figura 5 Exemplo de um Portal com Portlets Figura 6 Exemplo de um Dashboard Figura 7 - Diagrama do Fluxo de Dados da Aplicação Figura 8 - Diagrama da Arquitectura Física Figura 9 - Modelo da Arquitectura Model-View-Controller (Oracle, 2010) Figura 10 Arquitectura de Software da Aplicação (MVC) Figura 11 Tecnologias da Arquitectura do Software Figura 12 Tecnologias e Linguagens Envolvidas nas Respectivas Camadas da Aplicação Figura 13 Arquitectura da Spring MVC Framework Figura 14 Diagrama de Funcionamento do DispatcherServlet da Spring MVC Figura 15 Diagrama de Sequência do Processo de Funcionamento de Portlets Figura 16 Arquitectura do Liferay Portal Figura 17 Organização das Ferramentas da Pentaho BI Suite CE Figura 18 Arquitectura do Pentaho BI Platform (Pentaho Community, 2008) Figura 19 Exemplo do Interface Gráfico do MySQL Workbench Figura 20 Interface da SpringSource Tools Suite Figura 21 Funcionalidades Instaladas no IDE da SpringSource Tool Suite Figura 22 Página Inicial do Portal Liferay Figura 23 Página Inicial do Servidor da Plataforma Pentaho BI Figura 24 Modelo da Aplicação Web Figura 25 Arquitectura Geral da Implementação da Solução Figura 26 Modelo Relacional UML da Base de Dados OLPT Figura 27 Modelo e Funcionamento da Aplicação Web Figura 28 Organização do Projecto no IDE Figura 29 Estrutura da Aplicação Web Figura 30 Demonstração do Portal e do Portlet Spring da Aplicação MRM Figura 31 Demonstração do Tema do Portal Liferay para Smartphone Figura 32 Demonstração de Painel de Indicadores Pentaho no Liferay xi

16 LISTA DE FIGURAS xii

17 Notação a) O método de primeiro elemento e data do ISO 690 é o standard internacional usado neste documento para especificar os elementos incluídos nas referências bibliográficas; b) «Nomenclatura adaptada» - identifica a nomenclatura adaptada ou traduzida de nomes, termos, disciplinas, conceitos, etc. de língua estrangeira; c) - os endereços e ligações Web são apresentados em itálico; d) Código de programação ou Directórios - o código ou nomes de programação, os caminhos de directórios ou nomes de directórios são apresentados com o tipo de letra Consolas (tamanho 10); Acrónimos e abreviaturas utilizadas: AOP Aspect-Oriented Programming API Application Program Interface CRM Costumer Relationship Management ERP Enterprise Resource Planning ETL Extraction, Transformation and Loading GIS Geographic Information System IDE Integrated Development Environment JSP JavaServer Pages OLAP On-line Analytic Processing OOP Object-Oriented Programming PDA Personal Digital Assitant RAM Random Access Memory SDK Software Development Kit TI Tecnologias de Informação URL Uniform Resource Locator xiii

18 NOTAÇÃO xiv

19 Capítulo 1 Introdução Este documento é elaborado no âmbito da Dissertação do Mestrado Integrado em Engenharia Informática e Computação, da Faculdade de Engenharia da Universidade do Porto. Esta introdução ao Dissertação inclui o seu enquadramento, a descrição do âmbito, os objectivos e a organização do documento Enquadramento As Tecnologias de Informação (TI) são uma imposição para as organizações que pretendem competir no mercado. Se inicialmente, o papel das TI era essencialmente a automatização dos processos operacionais das organizações, esse papel tem evoluído consideravelmente. (Santos, et al., 2009) Neste momento, as TI, além do suporte aos processos operacionais, permitem aumentar o conhecimento das organizações: sobre si própria; sobre as entidades externas e sobre a sua capacidade de influência no mercado. (Santos, et al., 2009) Actualmente, vários indicadores de mercado apontam para as tecnologias de mobilidade como o próximo nível de infraestrutura das TI que suportam as organizações. A corroborar, existem estudos de referência que indicam a importância e a tendência das tecnologias de monitorização, navegação e dos dispositivos móveis nas organizações. Ainda, os indicadores dos mesmos, apontam para um aumento considerável no investimento e na competição por serviços baseados na localização. Tudo isto faz crer que a actual área em grande crescimento das organizações é a área da gestão de recursos móveis em tempo real, o Mobile Resource Management. (Intergraph Corporation, 2005) Da mesma forma, o êxito das empresas depende de sistemas que apoiem a tomada de decisão com base no conhecimento das empresas, através da informação obtida das TI. Onde esse conhecimento é obtido através de processos e/ou tarefas de Business Intelligence. Nesta Dissertação o conceito de Mobile Resource Management e de Business Intelligence entendem-se da forma enunciada a seguir, no âmbito do mesmo Mobile Resource Management O Mobile Resource Management (ou MRM) é definido como a capacidade de monitorizar o progresso de recursos móveis em tempo real, com o objectivo de atribuir a tarefa correcta ao recurso correcto, com o equipamento adequado, numa localização precisa, na hora certa. (Intergraph Corporation, 2005) 1

20 Introdução Um sistema MRM deverá saber onde estão os seus recursos móveis, onde eles estiveram e onde eles devem estar, de forma a gerir eficazmente o volume de trabalho e a melhorar a resposta dos recursos em função das exigências. (Intergraph Corporation, 2005) Business Intelligence O termo Business Intelligence (ou BI) tem sido adoptado para substituir a designação de Sistemas de Suporte à Decisão. (Ramos, et al., 2009) Os sistemas de BI dispõem de um conjunto de ferramentas analíticas para extracção de informação relevante, a partir de dados armazenados. Estes sistemas melhoram a disponibilidade e a qualidade da informação para a tomada de decisão. (Ramos, et al., 2009) 1.2. Descrição da Dissertação Esta Dissertação consiste na concepção e teste de uma solução de MRM empresarial, principalmente em termos da sua arquitectura e infraestrutura, para a gestão de tarefas e colaboradores em tempo real capaz de incluir a monitorização dos colaboradores com recurso à georreferenciação, a par da troca de informação técnica associada a um cenário empresarial. Ainda, a aplicação deve permitir a modularização dos dados obtidos para uma vertente de Business Intelligence. A Dissertação foi proposta pela Capgemini Portugal, Serviços de Consultadoria e Informática, S.A. e desenvolvido em Lisboa, nas suas instalações Objectivos e Resultados Esperados Concepção de uma aplicação empresarial capaz de responder aos requisitos e funcionalidades descritos no ponto 1.1; Recorrer exclusivamente a tecnologias de Código Aberto; Estudar diferentes tecnologias capazes de integrar uma solução; Provar a capacidade e a interoperabilidade das tecnologias de Código Aberto escolhidas para a solução Organização do Documento Para além da introdução, esta dissertação contém mais 5 capítulos. No capítulo 2, é descrito o estado da arte onde, além do enquadramento no mercado, é feita a análise das soluções no mercado e dos aspectos inovadores desta Dissertação. No capítulo 3, é descrita a arquitectura do sistema que incluí a análise funcional e a apresentação das tecnologias por cada camada da arquitectura. No capítulo 4, é apresentado o estudo das frameworks de desenvolvimento. No capítulo 5, é descrito o ambiente de desenvolvimento, a sua configuração e as especificações e opções da implementação. No capítulo 6, é feita a discussão do trabalho desenvolvido e apresentação do trabalho futuro. 2

21 Capítulo 2 Estado da Arte Este estudo do Estado da Arte tem como objectivo principal identificar as últimas soluções e tecnologias utilizadas para implementar soluções de mobilidade empresarial. Para uma melhor percepção do Estado da Arte, e em primeiro lugar, é necessário definir o enquadramento da aplicação. Assim, na secção 2.1, é analisado o Mercado Actual e é definido o Mercado Alvo da aplicação. Nas secções 2.2 e 2.3, é apresentado o ambiente de competição onde se insere a aplicação MRM, as oportunidades e a análise do grau de interesse deste tipo de aplicações. Nas secções 2.4 e 2.5, são definidas as características gerais que uma solução de mobilidade empresarial deve ter e as plataformas que podem suportar aplicações do tipo. Por fim, nas duas últimas secções, são identificadas as soluções apresentadas pelas principais empresas do ramo, entre outras existentes no mercado, e identificados os aspectos inovadores que se pretenderam incluir nesta Dissertação Avaliação do Mercado Esta avaliação do Mercado é feita com o estudo da sua segmentação actual do tecido empresarial português e a caracterização do Mercado Alvo Segmentação Actual Na estrutura empresarial portuguesa as PME representam 99,6% das unidades empresariais criando cerca de 3/4 dos empregos privados e realizam mais de metade dos negócios em Portugal. (IAPMEI, 2008) Dentro desta classe dimensional encontram-se empresas dos mais diversos sectores de mercado com necessidades distintas. Deste mercado pretende-se identificar um segmento essencialmente caracterizado pela necessidade de gestão de recursos móveis. Assim, com base nos sectores de mercado existentes (Ministério da Ecónomia e da Inovação), destacam-se os sectores de Comércio e Distribuição, Serviços e Transportes. Se observarmos o retrato sectorial do país, as perspectivas de atractividade deste segmento são animadoras. Só os sectores de Comércio e Serviços representam cerca de 3/4 das unidades empresariais em actividade, geram mais de metade dos empregos privados em Portugal e aproximadamente 2/3 dos negócios do país. Em particular, o sector de Serviços gerava em 2005 mais de 1/4 dos empregos privados, sendo o principal sector empregador em Portugal. Sendo também, este último, o sector que mais cresceu em Portugal entre os anos 2000 e (IAPMEI, 2008) Representando em 2009, 3/4 do Valor acrescentado bruto e 60,5% do emprego. 3

22 Estado da Arte (AICEP, 2010) Em suma, os sectores económicos que mais crescem e com maiores perspectivas de crescimento são os que constituem o segmento de mercado identificado. A identificação da necessidade de soluções MRM à medida para um segmento de mercado crescente e desta dimensão, justifica a necessidade da solução que se pretende desenvolver Caracterização do Mercado Alvo Dos sectores de Comércio e Distribuição, Serviços e Transportes, pretende-se desenvolver uma solução para pequenas e médias empresas que sigam as tendências da evolução da mobilidade empresarial, que necessitem de gerir tarefas e mobilidade de colaboradores em tempo-real de forma optimizada, independentemente do grau de informatização da sua actividade. Contudo, pode-se ainda enquadrar serviços ligados ao sector público. Assim, o mercado alvo caracteriza-se pelas seguintes necessidades: Gestão de mobilidade de colaboradores em tempo-real; Gestão de tarefas em função, ou não, do posicionamento geográfico dos colaboradores em tempo-real; Monitorização do posicionamento de colaboradores; Processos de gestão optimizados; Análise da eficácia da gestão de colaboradores e tarefas optimizada; Análise da eficiência e eficácia de colaboradores; Baixos custos de aquisição e implementação de soluções integradas; Soluções integradas capazes e preparadas para acompanhar a evolução das tecnologias com baixos custos. No Sector do Comércio e Distribuição e no Sector de Serviços serão essencialmente grossistas dos mais variados ramos (retalho e bens de consumo, tabaco, informática, gás, pneus, etc.) ou empresas de comércio com serviço de distribuição/entrega e empresas prestadoras de serviços ao domicílio (reparações, assistência técnica, instalação de equipamentos, limpeza, etc.) Ambiente da Industria Nesta secção é focado o ambiente empresarial onde se insere a Dissertação Tendências e Previsões do Mercado O sector das organizações de TI pode ser afectado, essencialmente, por tendências económicas e tecnológicas. Poderia esperar-se que as empresas, face à corrente crise económica, apresentassem uma redução no orçamento nos seus planos de mobilidade. Mas, pelo contrário, as empresas mantiveram-se fiéis aos seus planos de mobilidade ou tornaram os planos ainda mais ambiciosos. Segundo pesquisas feitas por empresas independentes, a mobilidade empresarial é o futuro mais previsível e torna-se cada vez mais uma vantagem competitiva no panorama do mercado actual. (E-Commerce Times, 2009) Os dados indicam que as empresas com mais sucesso no seu plano de mobilidade conseguiram até 40% mais de produtividade nos colaboradores, 35% na satisfação dos clientes e, inclusive, 25% na retenção de empregos. Agilidade, flexibilidade e velocidade de resposta, são benefícios que qualquer organização que compita no mercado quer atingir. (E-Commerce Times, 2009) Contudo, apesar do elevado interesse nestes benefícios, há sempre um esforço contínuo para redução de custos nos seus planos, o que resulta, por exemplo, em reduzir o orçamento para dispositivos (cada vez mais evoluídos e dispendiosos) e, consequentemente, recorrer a 4

23 Estado da Arte dispositivos pessoais dos próprios colaboradores para trabalho. Esta estratégia faz com que os dispositivos, actores do sistema, não sejam normalizados e haja uma migração dos serviços de manutenção internos para serviços outsource. (E-Commerce Times, 2009) Consequentemente, esta estratégia de poupança, levanta questões de segurança, risco e responsabilidade para as empresas. A constante evolução tecnológica, por um lado, obriga as empresas a adoptar estratégias que aumentam os custos de adaptação dos seus sistemas, os custos com dispositivos roubados ou por intrusão. São estratégias que, além de atingirem a contabilidade, podem levantar questões de legitimidade. Por outro lado, a evolução responde com soluções que minimizam estas desvantagens, como protocolos eficazes na segurança da rede, VPN e encriptação de dados ondevice. (E-Commerce Times, 2009) Assim, para atenuar os riscos da constante evolução e crescimento das TI, as empresas de maior sucesso exigem aos seus empregados o cumprimento das normas de segurança, autenticação e acesso. Esta análise das tendências e previsões de mercado é baseada no estudo More Mobility Less Budget: The 2009 Enterprise Mobility Benchmark (Aberdeen Group, 2009) pela Aberdeen Group e é, na sua essência, corroborada pelo estudo mais recente Enterprise Mobility Strategies 2010 (Aberdeen Group, Dezembro 2009) realizado pela mesma empresa Atractividade do Mercado Ainda no estudo More Mobility Less Budget: The 2009 Enterprise Mobility Benchmark (Aberdeen Group, 2009) da Aberdeen Group, foi apresentado o resultado de um inquérito ilustrativo da atractividade do mercado de soluções de mobilidade empresariais. Nesse inquérito, foi verificado um aumento de 42%, em relação ao inquérito anterior, nos inquiridos que responderam que têm iniciativas de mobilidade em curso e uma descida de 93% nos que responderam que não tinham nenhuma iniciativa do tipo (Figura 1). (E-Commerce Times, 2009) Figura 1 Evolução das Iniciativas de Mobilidade (Aberdeen Group, 2009) Neste ponto, também é importante analisar o contexto do mercado das soluções de mobilidade. Assim, com uma Análise de Porter pretende-se perceber quanto o contexto pode afectar a atractividade deste mercado. Poder negocial dos fornecedores: no ramo das TI pode existir alguma pressão dos fornecedores de hardware ou dispositivos necessários à implementação das soluções de mobilidade, depende da existência de restrições impostas ao nível das plataformas a utilizar. Ainda derivado dessas restrições, existe ainda o factor das empresas fornecedoras de software licenciado a integrar numa solução de mobilidade. 5

24 Estado da Arte Poder negocial dos clientes: na conjuntura actual os clientes podem estar sensíveis ao preço da implementação de TI. Influência da dimensão do cliente e da solução a implementar. Por outro lado, existe um número considerável potenciais clientes no mercado e a necessidade soluções de mobilidade é cada vez maior. Ameaça de substitutos: empresas com menor fundo de maneio podem optar por aplicações normalizadas para colmatar apenas as suas necessidades básicas de mobilidade. Contudo, as empresas com iniciativas de mobilidade em curso, dificilmente mudarão o seu plano pois, os custos associados à mudança deste tipo de soluções são muito elevados. Ameaça de novas entradas: as necessidades de investimento e o capital vultuoso para o arranque de uma actividade neste ramo são, talvez, a principal barreira à entrada de novos substitutos. Os clientes fidelizam-se às actuais empresas competidoras por preferência ou por diferenciação das soluções e o respectivo suporte. Rivalidade entre concorrentes: No mercado global, não existe nenhuma empresa dominante. Contudo, a rivalidade é atenuada pela dimensão do mercado que é muito grande e pela diferenciação das soluções de mobilidade entre as empresas competidoras. Em baixo, na Figura 2, é possível observar o respectivo diagrama de Porter. Figura 2 Diagrama de Porter: Principais Influências no Mercado de Soluções de Mobilidade Análise SWOT Assumindo a total capacidade interna para a execução do projecto, podemos concluir a Análise dos Sectores de Negócio com a Análise SWOT da solução MRM estudada e desenvolvida. Pontos Fortes Recurso a apenas tecnologias de Código Aberto normalizadas; Baixo custo; Independência da tecnologia de Base de Dados; 6

25 Estado da Arte Inclusão de uma componente de Apoio à Decisão na solução, através de uma plataforma e ferramentas de Business Intelligence. Pontos Fracos Não é uma solução integrada para uma cadeia de negócio completa; Os serviços disponibilizados na solução podem ser considerados limitados (ex.: não tem serviços do tipo Context-aware). Oportunidades Crescimento do mercado de aplicações de mobilidade empresarial; Identificação de um Mercado Alvo com défice de soluções à medida. Ameaças Adopção da mesma estratégia e das mesmas tecnologias por parte da concorrência; Empresas de menor dimensão que ofereçam soluções com custos ainda mais reduzidos; Soluções de custos reduzidos em detrimento da qualidade e fiabilidade. Em baixo, na Figura 3, é possível observar a matriz da análise SWOT apresentada. Figura 3 Análise SWOT da Solução MRM 2.3. Soluções de Mobilidade Empresarial As soluções de mobilidade empresarial podem integrar plataformas de colaboração móvel ou simples serviços de informação contextualizada, permitem comunicação por vídeo, voz e texto. Na sua generalidade, as soluções de mobilidade fazem a captura, tratamento e visualização de informação contextual de processos de negócio em tempo real. Esta informação contextualizada pode ser, por exemplo, a localização de um bem móvel, o seu estado (ex.: em movimento ou não), as suas condições de conservação (ex.: temperatura e pressão) ou a localização de uma pessoa e respectiva disponibilidade. Assim, com as actuais tecnologias é possível implementar aplicações de mobilidade empresarial que permitem responder aos mais variados tipos de necessidades, tais como: 7

26 Estado da Arte Inserção e actualização de informação no imediato - Sincronização; Suporte à decisão em tempo real; Georreferenciação; Planeamento e escalonamento de actividades; Optimização de actividades; Inventariação de bens através de sistemas de código de barras/rfid no terreno; Facturação on-site; Integração em soluções empresariais; Gestão e auditoria completas; Segurança Plataformas de Desenvolvimento de Aplicações Móveis Existem várias plataformas para o desenvolvimento de aplicações de mobilidade. Contudo, a escolha da plataforma de desenvolvimento deve ser bem decidida de acordo com a especificação da implementação ou com a predominância no mercado ou ainda com base numa aposta na tendência do mercado. Por norma, as plataformas não são compatíveis entre si e cada dispositivo móvel apenas suporta uma plataforma específica, com a possível excepção do Java ME. As principais plataformas que suportam dispositivos de diferentes fabricantes são: Java ME; Symbian; Android;.NET Compact Framework; Windows Mobile e Windows Phone; Palm OS. Destinadas apenas a um fabricante, existem as plataformas BlackBerry, iphone OS (ios) e, mais recentemente, a Samsung Bada e Nokia MeeGo, uma evolução do Nokia Maemo Soluções no Mercado Todas as grandes empresas de Consultadoria e/ou de Tecnologias de Informação, com mais ou menos ênfase, apresentam soluções de mobilidade para responder às diferentes necessidades empresariais. De seguida, são apresentadas as características das soluções de mobilidade empresarial apresentadas por algumas das maiores empresas do ramo: HP, IBM & Cisco, CSC e Accenture. Depois, serão apresentadas as soluções das empresas encontradas no mercado português, Sinfic e Geoglobal, que apresentam, com mais detalhe, soluções muito próximas da solução que se pretende desenvolver. HP A HP apresenta a capacidade de desenvolver soluções móveis optimizadas para os diferentes tipos de dispositivos móveis (PDA, smartphone, etc.). Esta oferta pode também ser completada com recurso a Sistemas de Informação Geográfica (GIS). Assim, a HP apresenta soluções capacitadas de tecnologias de identificação automática, incluindo código de barras, imagens, RFID e serviços baseados em localização, tais como GPS e sistemas de localização em tempo real. (HP, 2010) Estas tecnologias são usadas tipicamente para aplicações de Acompanhamento e Gestão, Gestão de cadeias de fornecimento, Logística, Gestão de Processos e Segurança. (HP, 2010) 8

27 Estado da Arte IBM & Cisco A IBM e a Cisco formaram uma aliança com o objectivo de integrar os seus processos de negócio, conhecimento da indústria, tecnologias de informação e trabalho em rede. (Cisco, 2010) Esta aliança, sem referência a um produto concreto ou solução com um fim específico, apresenta a capacidade de desenvolver soluções de mobilidade empresarial com base em três componentes: serviços Mobility User, Motion Network e Borderless Access. (Cisco, 2010) Pretendem assim que as suas soluções de mobilidade permitam a captura e integração dinâmica de informação contextual em processos de negócio em tempo real. (Cisco, 2010) Com base nas tecnologias associadas aos componentes Mobility User e Borderless Access (Wi-Fi, VPN, Voip, Cloud-based services, etc.), a ideia consiste em permitir os colaboradores e clientes comunicarem e partilharem dados entre si de forma segura, independentemente da sua localização, dispositivo ou aplicação/plataforma a usar. Ainda, as tecnologias envolvidas na componente Motion Network permitem, essencialmente, serviços de Localização Contextaware. (Cisco, 2010) Estes serviços recorrem às tecnologias da rede para localizar os dispositivos móveis e dinamizar essa informação com informação contextualizada através de Presence Applications. Com base neste serviço, é possível actualizar e saber o estado de um colaborador em tempo real com base na sua localização e as regras definidas pelo utilizador. Por exemplo, se um colaborador saiu da cafetaria para ir para uma reunião, ao entrar na sala de reuniões o estado do colaborador no seu dispositivo passará para ocupado de acordo com o seu contexto (ex.: reunião) e o seu dispositivo será automaticamente configurado para modo silencioso. Consequentemente, na tentativa de comunicação com este colaborador, visto que este está ocupado (em reunião), o sistema poderá permitir, no contexto, reencaminhar a chamada para um colaborador alternativo que esteja disponível. (Cisco, 2010) CSC A CSC apresenta a solução Mobile Enterprise como um sistema modular e completo com o objectivo de facilitar a adaptação das soluções de mobilidade às diferentes indústrias e respectivas necessidades. O seu sistema pretende integrar aplicações empresariais (incluindo integração com sistemas ERP, CRM, etc.) e de produtividade de acordo com os papéis nas empresas. Assim, o sistema está diferenciado em duas partes: Mobile Worker e Mobile Executive. (CSC, 2010) A solução Mobile Worker não é dependente de uma única plataforma, é compatível com diversos tipos de dispositivos móveis: PDA, BlackBerry, Notebook, etc. A solução pode também recorrer aos mais diversos dispositivos de acordo com necessidades específicas: RFID, leitura de Código de Barras, GPS, GIS, vídeo e voz. O que possibilita desenvolver diferentes soluções industriais: gestão de armazéns, gestão de turnos e inspecções, monitorização e gestão de tarefas e recursos, gestão de workflows, serviços de pontos de entrega com ordens de compra e/ou venda, etc. (CSC, 2010) Com foco nas necessidades de gestores de negócio em constante movimento, a CSC apresenta a solução Mobile Executive que fornece serviços baseados nas necessidades de trabalho remoto. Tal como a solução anterior, é compatível com diversos dispositivos móveis. Através dos quais dispõe de diversas funcionalidades, tais como: ferramentas de gestão de informação pessoal ( , calendário, tarefas, etc.), assim como acesso a uma plataforma que possibilita o acesso a aplicações empresariais (ERP, CRM, etc.). (CSC, 2010) Accenture A Accenture como empresa de tecnologias de informação, consultadoria e outsourcing oferece soluções móveis e todo um conjunto de serviços de apoio de forma a maximizar a sua implementação, o seu uso e a sua aceitação no contexto empresarial. Dispõe também de um Innovation Center for Open Source, significado da crescente importância das tecnologias Open Source. As soluções da Accenture são apresentadas de uma forma genérica, sem identificar aplicações, funcionalidades ou recursos específicos. Apresenta as soluções sob a forma de serviços e as ferramentas de desenvolvimento de aplicações móveis. Assim, Accenture pretende 9

28 Estado da Arte desenvolver aplicações móveis inovadoras e à medida começando, em primeiro lugar, por uma estratégia de mobilidade empresarial (Mobile Enterprise Strategy). Depois, para reduzir a complexidade, o custo e o tempo de desenvolvimento associado com o desenvolvimento deste tipo de soluções, apresenta uma Framework de arquitectura para aplicações Windows Mobile com suporte para múltiplos utilizadores (Avanade Connected Arquitecture) e uma ferramenta para iphone de gestão de aplicações móveis e integração com armazéns de dados (Enterprise iphone Toolbox). (Accenture, 2010) As restantes soluções apresentadas são serviços através de plataformas da Accenture ou serviços hospedados na Accenture que se desviam bastante do tipo de solução que se pretende desenvolver. (Accenture, 2010) Das tecnologias utilizadas para o desenvolvimento das soluções empresariais, a Accenture apresenta ainda soluções baseadas em Open Source Software (OSS), mostra o crescente interesse da adopção por parte de organizações de Tecnologias de Informação e destaca a vantagem de baixos custos de licenciamento e manutenção. (Accenture, 2010) Através do Accenture Innovation Center for Open Source, a Accenture pretende criar a possibilidade dos seus clientes comprovarem funcionamento de soluções Open Source em ambientes simulados, avaliados e testados pelo Centro. (Accenture, 2010) Assim, a Accenture definiu arquitecturas comprovadas que contêm tecnologias Open Source para as áreas que mais podem beneficiar: arquitecturas do tipo Service-oriented (SOA), Server virtualization, Portais Web, Gestão de conteúdos e dados, Business Intelligence (BI) e Aplicações Web. (Accenture, 2010) Sinfic A Sinfic apresenta soluções de mobilidade integradas e automatizadas, com tratamento de informação em tempo real. A sua oferta pretende assegurar a optimização de todo o processo de uma cadeia de valor de uma organização, desde a produção e armazenamento, até à venda e distribuição. (Sinfic, 2010) Próximo da solução MRM que se pretende desenvolver, apresentam sistemas de gestão e optimização de rotas, consumos e posicionamento, gestão de tarefas (definindo perfis de clientes, perfis de técnicos, prioridades, etc.), gestão de stocks globais e individuais e gestão de mensagens. (Sinfic, 2010) Geoglobal A Geoglobal apresenta nos seus serviços o GeoMob, uma solução de gestão e controlo de bens e recursos móveis. (Geoglobal, 2010) A solução destina-se essencialmente à logística. Permite o rastreio de todas as encomendas a entregar, integrando em tempo real toda a informação das operações de distribuição. (Geoglobal, 2008) A solução GeoMob recorre a tecnologias de comunicação GPRS e Wi-fi associadas a tecnologias de GPS para localização e monitorização de frotas. Utiliza ainda a leitura de códigos de barras e RFID para identificação de operações, objectos, intervenientes e locais. (Geoglobal, 2008) 2.6. Aspectos Inovadores Face ao Estado da Arte, os aspectos inovadores e de diferenciação da solução especificada e implementada incluem os seguintes: Tecnologia o recurso exclusivo a tecnologias de Código Aberto normalizadas permite desenvolver soluções aplicacionais estáveis e modulares, disponíveis para diferentes áreas de negócio e acessíveis a pequenas e médias empresas. Simplicidade a solução pretende optimizar as operações empresariais em tempo real de forma simples e escalável. Ao se eliminar as funcionalidades pesadas das soluções comuns pretende-se explorar um Mercado Alvo bem definido. Além disso, pretende-se adoptar uma comunicação entre Front Office e Back Office eficiente que, em conjunto com as tecnologias, irá optimizar os custos de operação sem prejudicar a optimização das operações. 10

29 Estado da Arte Reforço da decisão integração de uma forte componente de Business Intelligence que irá permitir a análise dos dados gerados pelo sistema, com todas as potencialidades associadas. Dadas as soluções presentes no mercado, o tipo e o Mercado Alvo da solução que se pretende desenvolver, a integração e inclusão deste módulo torna-a, sem dúvida, uma solução/aplicação inovadora. 11

30 Estado da Arte 12

31 Capítulo 3 Arquitectura do Sistema A Arquitectura do Sistema é o modelo conceptual que define a estrutura, comportamento e a funcionalidade do sistema. Este capítulo inicia-se com a Visão Geral do sistema onde é apresentada uma divisão lógica do mesmo. De seguida, é apresentada a Análise Funcional do Sistema, onde são identificadas as suas funcionalidades e comportamento. Na secção 3.3, são identificados os componentes físicos que podem suportar o sistema. Na secção 3.4, é apresentado o modelo da arquitectura de software utilizada e só depois a representação da arquitectura solução baseada no modelo apresentado. Este capítulo termina com a identificação das tecnologias e o seu enquadramento na arquitectura de software apresentada Visão Geral O desenvolvimento do sistema é dividido em 4 módulos funcionais: Back Office Módulo de gestão de tarefas e colaboradores: responsável pelo (re)planeamento e (re)escalonamento de tarefas; Front Office Módulo da interacção dos colaboradores com o sistema: comunicação e troca de dados do negócio em tempo real; BI Módulo de extracção e transformação de dados da componente de Apoio à Decisão (Business Intelligence); Administração Módulo de gestão e administração de utilizadores e configuração do sistema. O respectivo diagrama UML do Modelo Funcional apresenta-se na Figura 4 (incluindo as suas dependências). No modelo apresentado, o Front Office depende da actividade do módulo de Back Office. O módulo da Administração opera através do módulo de Back Office. O módulo de BI opera sobre os dados recolhidos no Back Office. 13

32 Arquitectura do Sistema Figura 4 Diagrama UML do Modelo Funcional 3.2. Análise Funcional do Sistema A Análise Funcional descreve o comportamento do sistema através da definição das suas funções e especificação dos componentes da aplicação Definições Antes de se iniciar a Análise Funcional é necessário definir conceitos importantes para a correcta compreensão do sistema que se pretende analisar. Portal Um portal consiste num grupo de páginas Web que estão, por norma, associadas a utilizadores, cujo acesso, organização e permissões é gerido por um conjunto de utilizadoresadministradores desse portal. Actualmente e por norma, todos os Portais suportam páginas Web dinâmicas que são constituídas por uma ou mais janelas. Cada janela contém um ou mais Portlets. Por sua vez, um Portlet tem associado uma lógica de negócio do lado do servidor e uma interface do lado do cliente. Portlet Portlets são componentes orientados à Web que disponibilizam conteúdos dinâmicos. Os Portlets são suportados em páginas Web dinâmicas e, devido ao facto de terem especificações padrão de desenvolvimento (na especificação Java EE), são reutilizáveis e portáveis. Esta característica fez com que os Portlets ganhassem bastantes adeptos no desenvolvimento de portais para a Web. (Oracle) Na Figura 5 é possível visualizar um exemplo de Portlets num portal. 14

33 Arquitectura do Sistema Figura 5 Exemplo de um Portal com Portlets Business Intelligence Os sistemas de Business Intelligence (BI) pretendem melhorar a disponibilidade e qualidade da informação gerada por um sistema. Para tal é necessário conjugar dados com um conjunto de ferramentas analíticas de forma a se obter informação relevante para a tomada de decisão. Os sistemas de BI extraem informação útil através de ferramentas de análise, a partir de dados recolhidos das operações do sistema que integram. As tarefas associadas ao BI e à respectiva gestão do conhecimento, são: Análise dos dados históricos e actuais da organização para elaboração de previsões; Criação de possíveis cenários na introdução ou alteração de variáveis; Permitir a análise e o acesso a dados para responder a questões não predefinidas; Análise detalhada da organização (aprofundamento do conhecimento). Dashboard Dentro do conceito de BI existem vários conceitos importantes mas, dada a extensão do tema, o enfoque da Dissertação foi restringido à integração da componente de BI num sistema MRM. Como tal, o conceito mais relevante é o de dashboard. Um dashboard pode ser traduzido como um «Painel de Indicadores». Em BI, os indicadores são o resultado das tarefas de análise dos dados através de ferramentas analíticas adequadas. Os indicadores são normalmente representados por diferentes tipos de gráficos. Por sua vez, os tipos de gráficos têm que ser adequados aos dados que se pretendem apresentar como indicador. Assim, um dashboard pode ser definido como um conjunto de gráficos/indicadores resultantes dos processos de análise de dados associados ao BI, com o objectivo de apoiar a tomada de decisões. Na Figura 6 é possível visualizar um exemplo de um dashboard constituído por Portlets. 15

34 Arquitectura do Sistema Figura 6 Exemplo de um Dashboard Deslocação, Movimento, Percurso O sistema MRM descrito centra-se nos conceitos de deslocação, movimento e percurso. Uma deslocação tem sempre associada a si um local georreferenciado (uma coordenada de GPS), uma ou mais tarefas a executar nesse local e um ou mais recursos necessários para a sua execução. Se duas deslocações forem representadas como dois pontos num mapa, um movimento será a linha que une esses dois pontos. Ou, por outras palavras, um movimento num mapa georreferenciado interessa apenas o ponto de partida e o ponto de chegada, independente do trajecto adoptado para chegar do inicial ao final. Assim, um percurso será um conjunto de movimentos cujos pontos de chegada são iguais aos pontos de partida do movimento seguinte, excepto no caso do primeiro e último movimento de um percurso. Estes conceitos foram elaborados aquando da concepção do modelo relacional da base de dados. A dissecação de percursos em movimentos e movimentos em deslocações foi a solução encontrada mais eficaz para persistir os dados necessários Actores Os principais actores do sistema incluem: Utilizador não autenticado Utilizador não registado ou que ainda não efectuou a autenticação no sistema. Não possui qualquer tipo de permissões de acesso ao sistema a não ser, o acesso à página inicial do portal e ao formulário de autenticação. Operacional Utilizador registado e autenticado no sistema, com permissões de acesso através de um portal Web ou aplicação para dispositivos móveis. Considerados os utilizadores de Front Office, terão acesso à informação relativa à sua actividade e ao preenchimento de pequenos relatórios pré-definidos. Operador Utilizador registado e autenticado no sistema, com permissões de acesso através de um portal Web. Considerados os utilizadores de Back Office, podem consultar e gerir 16

35 Arquitectura do Sistema os recursos da organização de acordo com as funcionalidades do sistema e lógica do contexto empresarial. Administrador Utilizador registado e autenticado no sistema com permissão total sobre todas as suas funcionalidades tais como, efectuar operações relativas à gestão de utilizadores e manutenção do sistema User Stories As User Stories são uma definição de alto nível dos requisitos do sistema. Faz parte das metodologias ágeis de desenvolvimento de software, mais especificamente da metodologia Extreme Programming (XP) e desempenha um papel importante no planeamento da implementação. (Wells, 2010) Segue-se a apresentação das User Stories do sistema, cada ponto corresponde a uma única User Story e pode representar um requisito funcional ou não funcional: Os utilizadores não autenticados no sistema têm que se autenticar obrigatoriamente. Os utilizadores autenticados podem configurar os seus dados de acesso ao sistema. Os utilizadores autenticados podem alterar os seus dados pessoais. Os utilizadores podem consultar os dados de Business Intelligence desde que lhes seja dada permissão por um Administrador. As deslocações devem ser atribuídas de acordo com parâmetros de optimização. As deslocações devem ser geridas apenas através do Back Office por um Operador ou, sempre que possível, automaticamente pelo sistema. Os Operadores podem gerir operacionais, tarefas, deslocações e percursos. Os Operadores podem atribuir percursos constituídos por deslocações a operacionais. Os Operadores devem certificar-se que as tarefas são associadas a deslocações e atribuídas a operacionais cumprindo os requisitos estabelecidos para o efeito, quer sejam atribuídas por si ou automaticamente pelo sistema. Os Operadores terão acesso a um Sistema de Informação Geográfica para efeitos das suas operações. Os Operadores podem elaborar relatórios de anomalias da operação do sistema. Os Operacionais terão acesso ao sistema através dos seus dispositivos móveis. Os Operacionais terão acesso aos percursos pré-estabelecidos e calculados, associados aos seus Planos de Tarefas do dia. Os Operacionais poderão visualizar os percursos em dispositivos móveis apropriados. O trajecto a percorrer entre as deslocações de um percurso será calculado pelo próprio dispositivo do Operacional, apropriado para o efeito. Os Operacionais não podem gerir os seus Planos de Tarefas. Os Operacionais, após uma deslocação, podem preencher individualmente um Relatório de Execução de Tarefas atribuídas a si para aquela deslocação. Os Operacionais podem elaborar pequenos relatórios ou actualizar o seu estado de acordo com eventuais problemas ou reparos relacionados com a sua actividade. Os Administradores podem modificar todas as configurações do sistema e operar com todas as funcionalidades no mesmo Fluxo de Dados Na Figura 7 é apresentado o Diagrama de Fluxo de Dados do Sistema onde é possível verificar a lógica do funcionamento, a ordem das operações e as funcionalidades do sistema. Com o objectivo de facilitar a percepção do funcionamento do sistema, no Diagrama de Fluxo de Dados referido só está representado a persistência dos objectos do tipo Tarefa através 17

36 Arquitectura do Sistema do mapeamento objecto-relacional para a base de dados. Contudo, todos os dados gerados pelas actividades do sistema ou recolhidos pelo sistema são mapeados e persistidos em base de dados. Os Operadores de Back Office introduzem no sistema as tarefas a executar. Após essa introdução, o sistema deve fazer o planeamento e o escalonamento das tarefas segundo critérios de prioridade e disponibilidade dos recursos necessários à sua execução. As tarefas são associadas a deslocações que vão constituir os percursos a efectuar pelos Operacionais durante um dia. Após o planeamento e o cálculo dos percursos, o sistema atribui os mesmos aos Operacionais, constituindo o Plano de Tarefas a ser executado no dia. Os Operacionais preenchem Relatórios de Execução de Tarefas no final da execução das tarefas associadas a uma deslocação. A actualização da localização dos colaboradores é feita aquando da submissão dos referidos relatórios ou aquando da actualização do estado do colaborador. Na componente de BI, através da respectiva plataforma e com recurso a ferramentas analíticas faz-se a selecção dos dados relevantes da Base de Dados Operacional (BD OLPT) (dados gerados e recolhidos pelo sistema). Faz-se também a respectiva modelação e armazenamento numa Data Warehouse através de um processo de ETL. Depois procede-se à construção e apresentação dos dashboards com todos os indicadores pretendidos. Figura 7 - Diagrama do Fluxo de Dados da Aplicação 3.3. Arquitectura Física Na Figura 8 é apresentado a estrutura física de alto nível do sistema a desenvolver, o Diagrama da Arquitectura Física. 18

37 Arquitectura do Sistema Figura 8 - Diagrama da Arquitectura Física 19

38 Arquitectura do Sistema Os principais intervenientes incluem os seguintes: Dispositivo móvel pode ser Tablet PC, PDA, smartphone ou outro dispositivo móvel capaz de suportar as funcionalidades pretendidas para os Operacionais através do Portal. Computadores pessoais máquina a partir do qual é possível aceder ao sistema e operar no mesmo de acordo com o tipo de utilizador e as funções designadas ao mesmo. Não necessariamente apenas a partir da intranet mas também, a partir da rede externa. Servidor Web máquina onde será alojada a aplicação ou plataforma do sistema. Servidor de Base de Dados máquina onde será alojada a Base de Dados necessária ao funcionamento do sistema Arquitectura do Software Modelo da Arquitectura Sendo um dos requisitos a garantia de uma aplicação empresarial completamente de Código Aberto, foi decidido que toda a Arquitectura do Software deveria assentar sobre plataforma Java. Esta opção foi feita com base na necessidade da interoperabilidade e compatibilidade entre diferentes frameworks e com a eventual necessidade de integração com outros sistemas. Além disso, para integrar esta solução foram estudadas as melhores ferramentas, frameworks e plataformas de Código Aberto para integrar a solução. Após esse estudo, concluiu-se que o conjunto de frameworks e plataformas seleccionadas são todas desenvolvidas com tecnologias Java. Desta forma, faz todo o sentido orientar e adequar a Arquitectura de Software à plataforma Java EE. Assim, tratando-se de uma aplicação empresarial em Java e orientada à Web, a plataforma é necessariamente a Java Platform, Enterprise Edition (Java EE). Além desta, existe ainda a Java Platform, Standard Edition (Java SE), a Java Platform, Micro Edition (Java ME) e a Java FX. (Oracle, 2010) A plataforma Java EE foi construída sobre a plataforma Java SE. Assim, a plataforma Java EE além das funcionalidades da Java SE (desde classes básicas a classes de alto nível utilizadas para redes, segurança, acesso a base de dados, interfaces gráficas e XML parsing), disponibiliza uma API e um runtime environment para o desenvolvimento de aplicações empresariais de grande escala, multi-tiered (com áreas funcionais separadas em camadas chamadas tiers), escaláveis, estáveis e seguras. (Oracle, 2010) A plataforma Java EE está concebida de forma a dar completa liberdade no desenho de arquitecturas de aplicações empresariais. Embora isso permita utilizar os componentes da plataforma ao gosto do arquitecto da aplicação, nem sempre as opções tomadas são as mais benéficas para o sistema onde será integrada. O arquitecto do sistema pode até encontrar situações em que ele próprio tenha dificuldade em decidir sobre a opção que optimiza a robustez e a eficiência da aplicação. Para colmatar as falhas que poderão surgir desta liberdade, a Sun (agora Oracle) criou o programa Java Blueprints. Este programa constitui um guia com exemplos concretos para que os programadores e arquitectos de sistemas sobre a Java EE saibam maximizar as suas vantagens, assim como identificar os modelos de arquitectura e de programação que melhor se adequam ao tipo de desenvolvimento e implementação das suas aplicações. Com o programa Java Blueprints, a actual Oracle, pretende educar a comunidade Java através da definição de um conjunto de recomendações de modelos de programação das aplicações, de guias orientadoras e arquitecturas para cenários de aplicações no mundo real. Através deste programa faz ainda a divulgação das novas tecnologias e funcionalidades da 20

39 Arquitectura do Sistema plataforma e aborda questões como escalabilidade, portabilidade e interoperabilidade, entre outros assuntos que tenham impacto no futuro e sucesso da plataforma Java. (Oracle, 2010) Para a arquitectura no Java BluePrints podemos encontrar os padrões de arquitectura recomendados, os Java EE Patterns. Com estes padrões recomendados (padrões testados e com provas dadas) pretende-se solucionar problemas de projecto recorrentes e problemas das consequências e do impacto das soluções. (Oracle, 2010) Deste modo, a arquitectura de software adoptada para a aplicação segue o modelo Model-View-Controller (MVC). (Oracle, 2010) No modelo de arquitectura MVC faz-se a separação dos dados da aplicação (Model), da apresentação dos dados (View), e da lógica de negócio (Controller). Na Figura 10 é apresentado o diagrama que representa o modelo de arquitectura MVC. (Oracle, 2010) Figura 9 - Modelo da Arquitectura Model-View-Controller (Oracle, 2010) Esta organização, suporta melhor a escalabilidade (múltiplos utilizadores), facilita modificações e a manutenção das aplicações, já que as respectivas camadas podem ser desenvolvidas e testadas em separado Descrição da Arquitectura Para a solução MRM pretende-se que a interface do utilizador do sistema seja desenvolvida e organizada num portal. Sob esse portal estará a funcionar a aplicação com toda a lógica de negócio, de acordo com a Análise Funcional e respectiva persistência. Assim, o portal deverá fornecer toda a informação e todos os dados necessários para as funções dos Operadores e dos Operacionais, segundo os requisitos da aplicação. Paralelamente existe a plataforma de Business Intelligence, cujos indicadores (resultado das tarefas associadas ao BI) devem ser visualizados no portal. De acordo com a estrutura da aplicação descrita, na Figura 10 é apresentada a arquitectura de software genérica da aplicação, segundo a arquitectura MVC padrão. Nela é possível visualizar a estrutura e a organização das diferentes camadas da solução e a sua correspondência com o padrão MVC incluindo, a integração com as camadas associadas à componente de Business Intelligence. 21

40 Arquitectura do Sistema Figura 10 Arquitectura de Software da Aplicação (MVC) Nas camadas mais baixas da aplicação que correspondem ao Model da arquitectura, encontram-se a Base de Dados e a Abstracção da Base de Dados. A Base de Dados com sistema OLTP (Online Transaction Processing), está encarregue de suportar todas as transacções necessárias em tempo real. Por sua vez, a camada de Abstracção da Base de Dados faz o mapeamento objecto-relacional. Este mapeamento permite relacionar as tabelas da Base de Dados com os objectos da linguagem de programação da aplicação ou, por outras palavras e neste caso, permite a persistência dos objectos da linguagem Java em Base de Dados. No correspondente ao Controller da arquitectura existe a Integração Aplicacional. A Integração Aplicacional será o núcleo da aplicação que é desenvolvido em Java e que suporta toda a lógica de negócio e comportamento da aplicação. Na componente View da arquitectura existe o portal que suporta todas as funcionalidades associadas à interface do utilizador da aplicação através de páginas Web dinâmicas. Paralelamente irá funcionar a plataforma de Business Intelligence. A plataforma integra a solução de forma independente da aplicação. Esta inclui as suas próprias camadas e interface, com as respectivas ferramentas associadas às tarefas de Business Intelligence. Tem acesso à Base de Dados OLTP da aplicação e ao conhecimento da lógica de negócio, necessário para as ferramentas ETL (Extract, Transform and Load). Ou seja, a própria plataforma tem as ferramentas necessárias para a extracção dos dados da Base de Dados OLTP, a sua transformação e carregamento para uma Base de Dados que irá funcionar como armazém de dados, a Data Warehouse. Por fim, a plataforma integra-se na componente View da aplicação (no portal) através da visualização de dashboards, os indicadores de apoio à decisão Tecnologias e Arquitectura Um dos requisitos e factor de inovação da Dissertação é a concepção de uma solução com recurso exclusivo a tecnologias de Código Aberto. O estudo das tecnologias capazes de integrar a solução não é simples. As tecnologias envolvidas estão em constante evolução e de forma pouco linear. Tanto podem dar um salto qualitativo grande entre versões, como dar um salto pequeno apenas para correcção de bugs. O tempo entre os lançamentos das versões pode também variar consideravelmente, o que, por vezes, torna difícil de prever a sua evolução e o seu futuro. Após o estudo das características das tecnologias candidatas à solução, foram feitos alguns testes de integração das mesmas. No resultado do estudo e dos testes efectuados, foram seleccionadas as tecnologias que reuniam as melhores características, em conformidade com a 22

41 Arquitectura do Sistema arquitectura apresentada. Na Figura 11 são apresentadas as tecnologias seleccionadas para as diferentes camadas e módulos da Arquitectura de Software apresentada. Figura 11 Tecnologias da Arquitectura do Software Para o portal foi seleccionado o Liferay Portal, versão 6.0. A Liferay apresenta uma infraestrutura de especificação e gestão de portais, tecnologicamente bastante evoluída e com bastantes implementações e aplicações reais. Apresenta clientes importantes como a CISCO, a T-Mobile, a China Mobile, etc. A aplicação será implementada com recurso à framework desenvolvida pela SpringSource, a Spring Framework, versão A SpringSource tem parceiros como a VMware, Accenture, JTeam, Terracotta, etc. A aplicação será desenvolvida de forma a responder às funcionalidades esperadas e será suportada no portal. Pretende-se assim que as operações dos utilizadores sejam executadas na aplicação através do portal. Na camada de abstracção de dados são utilizadas algumas funcionalidades disponibilizadas pela Spring Framework, o módulo Spring ORM. O Spring ORM em conjunto com as funcionalidades de Mapeamento Objecto-Relacional do Hibernate3, constituem a camada de persistência da aplicação. Os dados da aplicação são persistidos numa Base de Dados desenvolvida num servidor MySQL 5.1, com todas as tecnologias associadas. A execução das tarefas de Business Intelligence estão a cargo da plataforma Pentaho, versão A Pentaho disponibiliza uma suite completa, a Pentaho BI Suite, com as suas próprias ferramentas de ETL, Análise, Reporting e Data Mining. A plataforma Pentaho BI opera sobre a Base de Dados da aplicação e persiste os dados resultantes na sua própria Base de Dados do tipo Data Warehouse. Tal como o portal Liferay, a plataforma Pentaho tem duas versões, a Community Edition e a Enterprise Edition. No caso da Enterprise Edition, a Pentaho disponibiliza ainda uma ferramenta específica para a construção de dashboards. As versões das tecnologias apresentadas são as versões finais (não beta) mais actualizadas até à data do início dos trabalhos da Dissertação. Apenas as ferramentas da Pentaho BI Suite não têm especificada a versão porque estas pertencem à Suite mas funcionam e são lançadas de forma independente da Plataforma (mas operam sobre a mesma). Além disso, as tarefas de BI e o funcionamento das respectivas ferramentas não são o enfoque da Dissertação, apenas a sua integração na solução/sistema de MRM. As tecnologias foram seleccionadas de forma a maximizar a sua integração e as respectivas funcionalidades. Toda a solução apresentada tem em comum a Spring Framework. Quer o Liferay Portal, quer a Pentaho BI Platform, têm uma parceria de desenvolvimento com a 23

42 Arquitectura do Sistema SpringSource. Consequentemente, faz todo o sentido desenvolver a aplicação MRM também com recurso à Spring Framework. A decisão sobre as tecnologias teve por base o seu grau de integrabilidade, as suas funcionalidades, a sua interface gráfica (importante no caso do BI) e o facto de terem, no geral, as tecnologias mais sofisticadas do seu Estado da Arte. Para trabalhar nas tecnologias e frameworks apresentadas para o desenvolvimento da solução é necessário ter um conhecimento alargado das tecnologias Web da plataforma Java EE, das respectivas linguagens e funcionalidades. Na Figura 12 é apresentado um sumário de todas as tecnologias envolvidas, em função das respectivas camadas da aplicação. Figura 12 Tecnologias e Linguagens Envolvidas nas Respectivas Camadas da Aplicação Na Figura 12, é possível concluir que as tecnologias envolvidas na Dissertação são de facto extensas e que além de oferecerem um leque grande de hipóteses de desenvolvimento, permitem personalizar completamente a aplicação. No capítulo seguinte, as arquitecturas e as tecnologias das frameworks de desenvolvimento apresentam-se com mais detalhe, resumindo-se as suas características principais e as suas potencialidades. 24

43 Capítulo 4 Frameworks de Desenvolvimento No presente capítulo são apresentadas as arquitecturas, as tecnologias e as principais funcionalidades das frameworks de desenvolvimento utilizadas na solução empresarial, de forma ordenada: Spring Framework, Liferay Portal e Pentaho BI Platform Spring Framework 3.0 A Spring Framework é uma plataforma Java para desenvolvimento de aplicações Java. A framework permite ao programador concentrar-se no desenvolvimento da aplicação sem se preocupar com a estrutura da mesma. (Spring Source, 2010) A Spring Framework traz bastantes vantagens para quem desenvolve as aplicações. Esta permite implementar métodos em Java: Para transacções em Bases de Dados sem ter que lidar com APIs específicas para transacções; Como procedimentos remotos sem recorrer a funções específicas de Java RMI; Para gestão de operações sem ter que lidar com as APIs do JMX (Java Management Extensions); Para gerir e manipular mensagens sem utilizar as APIs do JMS (Java Message Service). Todas estas vantagens estão relacionadas com o conceito de Dependecy Injection (DI) e Inversion of Control (IoC) no desenvolvimento da Spring Framework. Estas duas características serão apresentadas como parte das tecnologias Arquitectura A sua arquitectura é modular. Permite desde o desenvolvimento de aplicações Java sobre somente a plataforma Java SE, ao desenvolvimento de aplicações empresariais de grande escala sobre a plataforma Java EE. (Spring Source, 2010) As bibliotecas e recursos da framework estão organizados em cerca de 20 módulos. Os principais módulos da framework são agrupados em Spring Core Container, Data Access/Integration, Web, Aspect-Oriented Programming (AOP) e Test, conforme apresentado na Figura 13. (Spring Source, 2010) 25

44 Frameworks de Desenvolvimento Figura 13 Arquitectura da Spring MVC Framework 3.0 No núcleo da framework, o Core Container, estão contidos os módulos Core, Beans, Context e Expression Language. O Core e o Beans são os módulos principais da framework e que incluem as características IoC e DI. O módulo Beans implementa uma BeanFactory avançada que remove a necessidade de criar classes Singleton ao nível da programação da aplicação Java e permite separar a configuração e a especificação, das dependências da programação da aplicação. A interface da BeanFactory tem um mecanismo de configuração avançada capaz de suportar qualquer tipo de objecto. Tem ainda uma subinterface, a ApplicationContext que adiciona mais funcionalidades orientadas a aplicações empresariais. Esta última interface representa o denominado IoC Container que é responsável por instanciar, configurar e construir os mais diversos tipos de Beans. (Spring Source, 2010) O módulo Context, implementado sobre os módulos Core e Beans, permite aceder aos objectos de forma parecida com um JNDI registry. Dá suporte a funcionalidades que complementam o módulo Beans tais como: internacionalização (ex.: facilita a utilização de diferentes linguagens na mesma aplicação), propagação de eventos, carregamento de recursos, criação de contextos de forma transparente (ex.: criação de Servlet Containers). (Spring Source, 2010) O módulo Expression Language é uma extensão da Unified Expression Language (Unified EL) da especificação JSP 2.1, uma linguagem avançada para manipulação de objectos em runtime denominada SpEL (Spring Expression Language). A linguagem permite funcionalidades do tipo get e set de propriedades de objectos, invocação de métodos, operadores lógicos e aritméticos e utilização de variáveis pelo nome, entre outras funcionalidades. A SpEL é complementar ao módulo Context, permitindo alternativas de implementação que aumentam a transparência das aplicações. (Spring Source, 2010) 26

45 Frameworks de Desenvolvimento A camada Data Access/Integration consiste nos módulos JDBC, ORM, JMS e Transaction. O módulo JDBC (Java Database Connectivity) permite a abstracção da camada JDBC. Não é necessário fazer qualquer tipo de programação associada ao estabelecimento de ligação com Bases de Dados, enviar SQL statements ou processamento de resultados específicos da Base de Dados. (Spring Source, 2010) O módulo ORM permite integração com as APIs mais populares associadas ao mapeamento Objecto-relacional, tais como: JPA, JDO, Hibernate e ibatis. Assim, com este módulo é possível combinar todas as funcionalidades da Spring Framework com a framework de mapeamento Objecto-relacional pretendida. (Spring Source, 2010) O módulo OXM suporta a abstracção da implementação do mapeamento de Objectos/XML para JAXB, Castor, XMLBeans, JiBX e XStream. O Java Messaging Service (JMS) contém o envio e recepção de mensagens. O módulo Transaction torna a programação das transacções transparentes. Faz a gestão das transacções para classes Java que implementem interfaces e para POJOs (Plain Old Java Objects), o que permite a escrita do código uma única vez e também beneficiar de estratégias de transacções em diferentes contextos aplicacionais. (Spring Source, 2010) A camada Web consiste nos módulos: Web, Web-Servlet, Web-Struts e Web-Portlet. O módulo Web permite a integração de funcionalidades orientadas à Web e a inicialização do mencionado IoC Container com Servlet Listeners e o contexto da aplicação orientada à Web. (Spring Source, 2010) O módulo Web-Servlet contém a Spring Web MVC Framework. Permite a clara separação da lógica da aplicação, do modelo de dados e das Web forms. A framework está implementada em redor do DispatcherServlet que faz a resolução de pedidos e das Views a apresentar de acordo com a localização e tema, bem como suporte de upload de ficheiros. (Spring Source, 2010) O módulo Web-Struts suporta as classes de integração do Struts numa aplicação Spring mas trata-se de um módulo que está descontinuado. Não se justifica a sua integração tendo-se acesso ao Spring Web MVC Framework que é muito mais vantajosa que a solução clássica do Struts. (Spring Source, 2010) O módulo Web-Portlet possibilita a implementação da arquitectura MVC em Portlets, com todas as funcionalidades do módulo Web-Servlet. (Spring Source, 2010) O módulo AOP permite uma implementação conforme uma programação do tipo Aspect- Oriented. A tecnologia associada a este módulo será analisada no ponto seguinte, relativo às tecnologias da Spring Framework. (Spring Source, 2010) O último módulo, Test, disponibiliza os componentes de teste para as aplicações Spring com JUnit ou TestNG. Permite carregar os contextos das aplicações Spring (ApplicationContext) e possibilita o uso de uma espécie de falsos objectos (mock objects) que possibilitam testes isolados. (Spring Source, 2010) Tecnologias Inversion of Control e Dependency Injection Conforme já referido a Spring Framework implementa o principio de Inversion of Control (IoC). Também conhecido como Dependency Injection (DI). Em termos gerais, na Spring, DI é o processo onde os objectos definem as suas dependências (que podem ser outros objectos) através da passagem das mesmas como argumentos ao seu construtor (numa factory) ou através da definição das dependências como propriedades da instância do objecto, após ter sido criado. Ou, por outras palavras, o próprio Bean é que controla a instanciação e localização das suas dependências na construção directa da classe. (Spring Source, 2010) Na realidade, existe uma discussão na comunidade Java sobre qual dos dois termos o mais correcto. (Fowler, 2004) Apesar de não haver uma conformidade nas opiniões, é aceite que o termo IoC é demasiado genérico para ser anunciado como uma característica de uma framework 27

46 Frameworks de Desenvolvimento porque uma framework que não tem algum tipo de «inversão de controlo» deixa de ser uma framework. Ou seja, o objectivo de uma framework é sempre inverter o controlo sobre um determinado aspecto do desenvolvimento, onde a mesma assume o controlo na vez do programador. Nessa lógica, no caso da Spring Framework, é aceitável dizer que o IoC desta framework consiste na Dependency Injection nos Beans da aplicação. Com o princípio de DI, o código torna-se mais limpo quando os objectos são criados com as suas próprias dependências. Desta forma o objecto não necessita de procurar as suas dependências, nem saber a localização e as classes das mesmas. (Spring Source, 2010) Esta funcionalidade obriga a existência de algum tipo de resolução na construção dos Beans pois a declaração das suas dependências tem que corresponder aos respectivos construtores. Neste caso, o próprio IoC Container valida a configuração de cada Bean no momento da sua criação, incluindo a validação da referência das dependências dos Beans. (Spring Source, 2010) Os Beans podem ter diferentes âmbitos, uns podem estar pré-instanciados e são criados aquando da criação do IoC Container, outros só são criados quando são necessários. Na prática, com o princípio de DI, a criação de um Bean normalmente causa a criação de um grafo de Beans, assim que as suas dependências e as suas dependências das dependências (e assim consecutivamente) são criadas e atribuídas/ligadas entre si. (Spring Source, 2010) Validation, Data Binding e Type Conversion As tecnologias Validation e Data Binding são complementares e constituem uma solução de validação que integra as validações na camada de integração aplicacional. Ou seja, com estas duas tecnologias, os processos de validação não estão presos à camada Web das aplicações. Estas permitem utilizar as classes de validação como plug-ins das outras camadas da aplicação. Para tal, a Spring tem as interfaces denominadas Validator e DataBinder que transformam esta funcionalidade acessível e fácil para diferentes camadas da aplicação. Assim é possível validar através da interface Validator os Inputs do utilizador que têm uma ligação dinâmica, criada com a interface DataBinder, com as classes de validação na camada de integração aplicacional. (Spring Source, 2010) A tecnologia Type Conversion, tal como o nome sugere, é um sistema geral de conversão de tipos de objectos. O sistema desenvolvido na Spring define uma Service Provider Interface (SPI) que implementa a conversão lógica dos tipos e uma Application Provider Interface (API) para executar a conversão dos tipos em runtime. (Spring Source, 2010) Spring Expression Language SpEL A SpEL é uma linguagem de expressão que permite o acesso e a manipulação de objectos ou estruturas de objectos em runtime. A sintaxe da linguagem é semelhante a Unified EL (Java Unified Expression Language), que permite embeber expressões de programação em páginas Web. A SpEL, comporta-se como uma extensão da referida linguagem, adicionando outras funcionalidades como invocação de métodos e integração de modelos básicos de expressões (templates). (Spring Source, 2010) Existem outras linguagens de expressão em Java, por exemplo, OGNL, MVEL ou JBoss EL. Contudo, o objectivo da Spring é oferecer uma linguagem bem desenvolvida e completamente integrada, que possa ser usada em todos os produtos oferecidos pela mesma. (Spring Source, 2010) Entre outras funcionalidades da linguagem, destacam-se (Spring Source, 2010): Operadores relacionais e booleanos; Expressões regulares; Acesso a propriedades, arrays, listas e maps; Invocação de métodos; Atribuição de variáveis; Construção de arrays; Modelos de expressões (templates). 28

47 Frameworks de Desenvolvimento Para se ter uma noção do funcionamento da tecnologia Type Conversion e de como a linguagem SpEL pode ser usada, apresenta-se o seguinte exemplo (Spring Source, 2010): ( ) // Uma classe que representa uma lista de booleanos class Simple { public List<Boolean> booleanlist = new ArrayList<Boolean>(); } ( ) // Nova lista de booleanos Simple simple = new Simple(); // Adiciona true à lista simple.booleanlist.add(true); // Cria o serviço de conversão por contexto (tecnologia Type Conversion) StandardEvaluationContext simplecontext = new StandardEvaluationContext(simple); /* O valor false é passado como String. A SpEL e o service de conversão irão * reconhecer correctamente que o valor do tipo String tem ser passado para * Booleano e só depois adicionado */ parser.parseexpression("booleanlist[0]").setvalue(simplecontext, "false"); // b terá o valor booleano false Boolean b = simple.booleanlist.get(0); ( ) No excerto apresentado é utilizado um exemplo que pode ser usado para adicionar facilmente inputs do utilizador a estruturas de programação mas, a SpEL pode também ser usada, por exemplo, em configurações de Beans em XML. Aspect-Oriented Programming (AOP) A tecnologia Aspect-Oriented Programming da Spring complementa a Object-Oriented Programming (OOP) que proporciona uma outra forma de pensar sobre a estrutura dos programas. Enquanto na OOP a unidade central é a classe, na AOP a unidade central é o Aspect. (Spring Source, 2010) Um Aspect é a modularização/concretização de um interesse partilhado entre diferentes classes. Por exemplo, a gestão de transacções é um interesse partilhado por várias classes de uma aplicação Java empresarial. No Spring AOP, o conceito Aspect é implementado através de classes normais ou classes com anotações (Spring Source, 2010) Uma aplicação Spring recorre naturalmente à tecnologia AOP quando se requer serviços ou pacotes de serviços middleware (ex.: pooling). (Spring Source, 2010) Contudo, existe a Spring AOP Framework que fornece serviços empresariais, especialmente para substituição de serviços de EJBs, dos quais se destaca a gestão declarativa de transacções. Neste exemplo, há um forte interesse do recurso à AOP framework para substituir a tecnologia Container-Managed Transactions dos EJB (EJB CMT) da plataforma Java EE. Uma das vantagens oferecidas sem equivalente na EJB CMT é a possibilidade da existência de regras para rollbacks das transacções que permite, por exemplo, apanhar excepções não suportadas, geradas pelo código que executa no contexto actual de uma transacção e lançadas para a Stack. (Spring Source, 2010) 29

48 Frameworks de Desenvolvimento Testing A tecnologia Testing baseia-se no valor acrescentado que o principio IoC traz aos testes unitários (Unit Testing) e na framework de testes de integração (Spring Framework Integration Testing). (Spring Source, 2010) Por sua vez, a DI faz com que o código da aplicação seja menos dependente do seu container que as tradicionais aplicações Java EE. Isso permite testar os POJOs da aplicação com JUnit ou TestNG, simplesmente instanciando-os com o operador new. Assim como, utilizar falsos objectos (mock objects) para testar partes da aplicação isoladamente. (Spring Source, 2010) Se as recomendações de arquitectura da Spring forem seguidas, a aplicação terá as suas camadas e componentes definidos de forma clara. Por exemplo, deverá ser possível testar a camada dos serviços da aplicação através da criação de falsos DAOs (Data Access Objects) ou interfaces para repositórios, sem recorrer aos dados reais persistidos na camada de dados para executar os testes unitários. (Spring Source, 2010) A framework permite fazer testes de integração (Integration Testing) à aplicação sem ser necessário publicar a mesma ou liga-la a outra infraestrutura empresarial. Esta possibilita testar a aplicação: Na correcta ligação das estruturas e contextos do IoC Container. No acesso a dados usando JDBC ou ferramentas ORM: testa os statements SQL, as queries do Hibernate3, o mapeamento de entidades JPA, etc. A partir da Spring Framework 2.5, os testes unitários e de integração podem ser feitos através anotações (annotation-driven testing) com a Spring TestContext Framework. (Spring Source, 2010) Estratégias de Desenvolvimento Apenas os principais tópicos e vantagens das tecnologias disponibilizadas pela Spring Framework foram expostos. Mas já é possível deduzir que são de facto extensas e, com certeza, leva algum tempo até o programador poder usufruir de todas as vantagens disponibilizadas. Neste ponto são apresentadas as duas principais alternativas de desenvolvimento Web que a framework permite. Ambas são estratégias válidas para o desenvolvimento de aplicações Web. Aplicações Web A opção de desenvolvimento convencional de aplicações Web é baseada em Servlets e feito com recurso à Spring Web MVC Framework. Conforme já referido, esta framework foi desenhada em redor do DispatcherServlet que faz a resolução dos pedidos e respectivas páginas, suporta temas e upload de ficheiros. (Spring Source, 2010) A Spring Web MVC Framework, tal como outras frameworks de desenvolvimento do género, é desenhada em redor de um Servlet que faz a resolução de pedidos, do tipo requestdriven. Na Figura 14 é apresentado o diagrama de funcionamento do DispatcherServlet. Nele é possível visualizar como as aplicações Web standard desenvolvidas em Spring MVC se comportam. O padrão de funcionamento do DispatcherServlet em tudo se assemelha ao design Front Controller. (Spring Source, 2010) 30

49 Frameworks de Desenvolvimento Figura 14 Diagrama de Funcionamento do DispatcherServlet da Spring MVC Portlets A Spring Portlet MVC Framework espelha as funcionalidades da Web MVC Framework, descritas nos pontos anteriores, para o desenvolvimento de Portlets com especificação JSR-168. (Spring Source, 2010) Enquanto no workflow de um Servlet, o pedido de acção está associado a uma resposta dessa acção e a uma renderização, num Portlet, um pedido pode ter duas fases na resposta do seu workflow: a fase de acção e a fase de renderização. A fase de acção é executada apenas quando há um pedido de acção ou uma modificação do sistema. A fase de renderização é executada só quando há um refresh da interface (um pedido de actualização da página pelo utilizador). A principal diferença de funcionamento está na distinção destas duas fases, as acções são executadas uma única vez e as renderizações são executadas várias vezes. Isto implica uma clara separação das camadas de persistência, daquelas camadas que geram aquilo que é renderizado para o utilizador. (Spring Source, 2010) Na Figura 15 é possível observar o diagrama de funcionamento de pedidos em duas fases dos Portlets, cujos intervenientes das acções são o servidor do portal, o Portlet Container e dois Portlets, o A e o B. O exemplo do diagrama corresponde ao comportamento de dois Portlets configurados numa única página de portal, onde o primeiro pedido ao servidor corresponde ao carregamento ou actualização da página Web e o segundo pedido corresponde ao pedido de uma acção do Portlet A, sempre através de um Navegador Web. 31

50 Frameworks de Desenvolvimento Figura 15 Diagrama de Sequência do Processo de Funcionamento de Portlets A divisão dos pedidos a Portlets em duas fazes é um dos pontos fortes da especificação JSR-168. Por exemplo, numa pesquisa dinâmica os resultados podem ser actualizados com frequência na interface sem o utilizador executar explicitamente a acção de pesquisa novamente. (Spring Source, 2010) Outras frameworks equivalentes tentam esconder esta especificação de pedidos em duas fases mas, na Spring não há essa intenção, é entendido que isso seria despromover a vantagem da especificação JSR-168. (Spring Source, 2010) Tal como a Web MVC Framework está desenhada em redor do DispatcherServlet, a Portlet MVC Framework, por sua vez, está desenhada em redor do DispatcherPortlet. O DispatcherPortlet resolve os pedidos e faz a sua delegação para os respectivos handlers. O mapeamento dessas delegações e as renderizações das respostas são configuráveis. O suporte para upload de ficheiros é feito da mesma forma que a Web MVC. Já o suporte das funcionalidades de internacionalização e temas são feitos pelos Portlets Containers (os portais). Como a exposição destas duas funcionalidades é feita no DispatcherPortlet da mesma forma que no DispatcherServlet, elas funcionam correctamente. (Spring Source, 2010) 4.2. Liferay Portal 6.0 O Liferay Portal é um portal empresarial Open Source escrito em Java com todas as funcionalidades associadas a páginas Web, constituídas essencialmente por unidades funcionais, os Portlets. O Liferay é o primeiro Java Portlet Container a suportar as especificações JSR-168 e JSR O portal está bastante avançado em relação a outros do género, é versátil e opera como um Servlet Java EE em qualquer um dos mais usados Java Servlet Containers (ex.: Apache Tomcat, 32

51 Frameworks de Desenvolvimento Glassfish, JBoss, WebShere, etc.). É ainda possível conectar o portal com quase todos os tipos de servidor de Base de Dados (ex.: MySQL, Hypersonic, HSQLDB, Oracle, PostgreSQL, Microsoft SQL Server, etc.). Internamente, para gestão de ligações e queries à Base de Dados, é possível utilizar Hibernate ou JPA. Com o objectivo de aumentar a flexibilidade do portal, o Liferay usa a Spring Framework nas suas funcionalidades internas, com todas as metodologias associadas ao Inversion of Control (IoC) e ao Aspect-Oriented Programming (AoP). Quase todos os serviços e funcionalidades do portal Liferay podem ser substituídos através de passos relativamente simples. Apesar da sua associação às tecnologias Spring, o Liferay suporta Portlets desenvolvidos com recurso a outras tecnologias, desde que sejam de acordo com as especificações JSR-168 ou 286. O portal suporta várias frameworks de desenvolvimento de Portlets, incluindo Struts, Spring MVC, Java Server Faces (JSF), a par da sua própria framework. Para os templates dos Portlets, também suporta várias tecnologias, incluindo Velocity, Freemarker e Vanilla JSP Arquitectura O portal Liferay tem uma arquitectura SOA. Permite aos utilizadores acederem de qualquer dispositivo e aos programadores acederem através da API exposta via SOAP, RMI, XML-RPC, JSON, etc. Figura 16 Arquitectura do Liferay Portal Com os princípios SOA, o portal foi desenhado para suportar diversos tipos de Portlet, cache de páginas, alojamento virtual dinâmico. Integra ainda LDAP e SSO, segurança, etc. Em particular, o Enterprise Service Bus (ESB) funciona como um gestor central de ligações a infraestruturas empresariais que permite ligar aplicações e serviços exteriores, com facilidade. Por exemplo, através do ESB é possível integrar o portal com SharePoint, BPM, etc Tecnologias O portal suporta praticamente todas as tecnologias associadas à Web e as já referidas tecnologias associadas à Spring Framework. Assim, nesta secção apenas se justifica referir a única tecnologia particular do portal, o Web Application Integrator (WAI). 33

52 Frameworks de Desenvolvimento Web Application Integrator (WAI) O WAI disponibiliza uma forma rápida de integrar aplicações Java Servlet normalizadas no portal. Basta copiar o ficheiro WAR (Web Application Archive) de uma aplicação para a pasta de integração e a aplicação será automaticamente configurada com os ficheiros necessários e disponibilizada através de Portlets ou, mais especificamente, iframe Portlets Estratégias de Desenvolvimento O desenvolvimento do portal pode ser feito com diferentes tipos de extensões. Umas extensões podem alterar o núcleo do portal, enquanto outras podem acrescentar novas funcionalidades ao mesmo. O importante é escolher a estratégia de desenvolvimento mais adequada, de forma a poupar tempo e esforço e assegurar a compatibilidade da extensão com futuras versões. As opções de desenvolvimento são Portlets, Themes (temas), Layout Templates (visual e disposição das páginas), Hooks (funcionalidades) e Ext plugins (modificações ao portal). Todas estas opções podem ser publicadas no servidor do portal automaticamente pelo WAI como plugins. Portlets Os Portlets são os componentes mais importantes de um portal, sendo eles que contêm toda a funcionalidade. Os Portlets funcionam como pequenas aplicações Web e o portal (um Portlet Container) é responsável por agregar os Portlets que são visualizados em páginas Web dinâmicas. (Liferay, 2010) Os Portlets são a extensão menos invasiva do Liferay Portal, são inteiramente contidos neles próprios e em caso de erro, não impedem o funcionamento do portal. Um único projecto (plugin) deste tipo pode implementar múltiplos Portlets, sendo assim possível dividir uma única aplicação em pequenas unidades funcionais que podem ser visualizadas e dispostas dinamicamente numa página Web. (Liferay, 2010) Os Portlets podem ser desenvolvidos com as próprias frameworks disponibilizadas pela Liferay: a MVCPortlet e a AlloyPortlet. Pode usar-se também outra Framework de desenvolvimento de Portlets, como no caso da solução apresentada, a Spring Portlet MVC Framework. Themes A opção de desenvolvimento Theme permite implementar plugins do tipo «Tema». Num Theme é possível fazer alterações ao visual do portal através de uma combinação de CSS, imagens e Velocity templates. Na maioria dos casos as modificações são feitas exclusivamente através de CSS. Contudo, no caso de se pretender modificações mais profundas à disposição e aos elementos do próprio portal, é possível desenvolver templates que se sobrepõem às definições do portal que vêm por defeito. (Liferay, 2010) Layout Templates Os plugins do tipo Layout Template são em tudo idênticos aos Themes (temas) mas, em vez de modificarem o visual do portal, modificam apenas a sua disposição. Os Layout Template são escritos em Velocity. (Liferay, 2010) Hooks As modificações às funcionalidades do núcleo do Liferay devem ser feitas através de plugins do tipo Hook. Os Hooks podem modificar as propriedades do portal ou acrescentar acções ao iniciar e encerrar do portal, no login e logout dos utilizadores, na criação e destruição de sessões. Numa perspectiva de IoC, o Liferay permite substituir qualquer funcionalidade ou serviço do seu núcleo por uma implementação personalizada dos mesmos, tal como os JSP templates por defeito no portal. (Liferay, 2010) 34

53 Frameworks de Desenvolvimento Ext plugins A opção Ext plugins é a que dá mais flexibilidade na modificação do núcleo do Liferay Portal, permitindo modificar qualquer classe através da substituição da sua implementação. Pode-se considerar como uma modificação de mais baixo nível. A substituição de classes tem riscos e custos acrescidos, além de que não é garantida a sua compatibilidade com futuras versões do portal. Tal como os restantes plugins, os Ext plugins são publicados automaticamente pelo WAI mas requerem ainda o reiniciar do servidor para terem efeito. (Liferay, 2010) 4.3. Pentaho BI Platform 3.6 A Pentaho BI Suite é uma plataforma que implementa componentes de BI orientados à construção de soluções empresariais. No caso da plataforma Pentaho BI e para a solução apresentada, não é necessário recorrer à sua framework para fazer qualquer tipo de desenvolvimento ou integração. Ou seja, ao nível das funcionalidades do BI, não é suposto fazer-se qualquer tipo de implementação. Ao nível da integração, a plataforma deverá ter implementado os seus próprios mecanismos de integração, pretendendo-se que necessite apenas de configuração. As funcionalidades e ferramentas referidas neste ponto serão apenas as disponibilizadas com a Community Edition (CE) da plataforma Pentaho BI Suite. Na Figura 17, são apresentados os projectos associados à plataforma Pentaho BI, da versão CE, com as respectivas ferramentas disponibilizadas. Figura 17 Organização das Ferramentas da Pentaho BI Suite CE BI Platform e Arquitectura A Pentaho BI Platform é o núcleo ou a base da Pentaho BI Suite, fornece toda arquitectura e infraestrutura necessária para a construção de soluções de BI. Corre em servidor Web (ex.: Tomcat) e tem um controlador central que funciona como um motor de workflows. A plataforma funciona como um processo centralizado. Todas as actividades/tarefas de BI desenvolvidas com as ferramentas resultam na definição de processos de diferentes naturezas em forma de workflow que são executados pelo motor de workflows. (Pentaho Corporation, 2008) Esta forma de funcionamento centralizado é o factor de diferenciação em relação a outras plataformas de BI. A arquitectura e o código completamente originais, com integração de outros componentes de Código Aberto, formam uma plataforma de BI avançada, original, escalável e modular. (Pentaho Corporation, 2008) A plataforma tem um sistema complexo de funcionalidades, associadas a: servidores Java EE, segurança, portais, workflows, motores de regras, geração de gráficos, colaboração, gestão de conteúdos, análise de dados e modelação. Muitos dos componentes que integram as 35

54 Frameworks de Desenvolvimento funcionalidades são desenvolvidos sobre normas e podem ser substituídos por outros produtos. (Pentaho Corporation, 2008) Na Figura 18 é apresentada a arquitectura da plataforma, onde se apresentam os componentes desenvolvidos pela Pentaho, os componentes de Código Aberto integrados na plataforma e as tecnologias clientes envolvidas (ver legenda da figura). Figura 18 Arquitectura do Pentaho BI Platform (Pentaho Community, 2008) O Solution Engine é centro de toda a arquitectura e gere o acesso aos componentes da plataforma. A plataforma fornece serviços para aplicações Web exteriores. Os serviços têm acesso ao Solution Engine e aos componentes da interface do utilizador. Os serviços podem ainda ser chamados pelo motor de workflows para executar acções do sistema. Um sistema de auditoria da própria plataforma faz a monitorização da performance dos diferentes componentes de geração de relatórios e extracção de dados. Os Componentes são módulos que podem ser adicionados ao sistema. Todos os motores têm os respectivos componentes que os integram, o que os torna motores completamente modulares. É possível inclusive acrescentar novos motores desenvolvendo apenas os respectivos componentes de integração. (Pentaho Corporation, 2008) 36

55 Frameworks de Desenvolvimento Reporting O projecto Pentaho Reporting Community Edition inclui: Pentaho Report Designer, Pentaho Report Engine, Pentaho Reporting SDK e partilha as bibliotecas mais comuns associadas ao reporting com a restante plataforma de BI. Estas ferramentas Open Source permitem a criação de relatórios analíticos (com indicadores) e relacionais (de diferentes fontes de informação) e exportá-los para: PDF, Excel, HTML, Text, Rich-TExt-File, XML e CSV. (Pentaho Corporation, 2010) Data Integration A distribuição do Pentaho Data Integration Community Edition é a base de todas as tarefas associadas ao BI, constituindo a distribuição no cliente das ferramentas ETL. O Pentaho Data Integration implementa ferramentas gráficas e intuitivas, com um ambiente do tipo drag and drop. (Pentaho Corporation, 2010) Tal como é suposto pelo processo ETL, estas ferramentas permitem: Extracção de dados recolhe dados de diversas fontes e faz a sua homogeneização; Transformação de dados limpeza de dados com a identificação de erros e aplicação de possíveis correcções e conversão de dados para os formatos que vão ser persistidos na Data Warehouse; Carregamento de dados persistência dos dados transformados em Data Warehouses, incluindo tarefas como: ordenação, agregação, consolidação e verificação da integridade dos dados. (Ramos, et al., 2009) Analysis Services O Pentaho Analysis Services Community Edition é um servidor com a tecnologia Online Analytical Processing (OLAP) que permite aos utilizadores do sistema analisar grandes quantidades de informação, em diferentes perspectivas e em tempo real. (Pentaho Corporation, 2010) O servidor tem uma arquitectura ROLAP (Relational OLAP). Nesta arquitectura o servidor funciona como intermediário entre a base de dados relacional e as ferramentas clientes que fazem a análise dos dados. Um servidor ROLAP tem um gestor de base de dados relacionais para armazenar e gerir os dados que serão analisados posteriormente. (Ramos, et al., 2009) Os utilizadores poderão explorar os dados, manipulando-os sobre as diferentes perspectivas, de acordo com o esquema de modelação de dados utilizado Data Mining O projecto Pentaho Data Mining disponibiliza um conjunto de ferramentas de Data Mining e aprendizagem do sistema. Explora os dados e aprende com o sistema e com a lógica do negócio, através de regras de associação, classificação, regressão, algoritmos de criação de clusters, etc. (Pentaho Corporation, 2010) O objectivo do Data Mining é encontrar relacionamentos, padrões ou modelos a partir dá análise de grandes quantidades de dados. 37

56 Frameworks de Desenvolvimento 38

57 Capítulo 5 Desenvolvimento e Implementação Neste capítulo, é apresentada a infraestrutura de desenvolvimento, incluindo a instalação e a configuração das plataformas e frameworks apresentadas no capítulo anterior. Nas secções seguintes, são apresentadas e discutidas as soluções encontradas, relativas a diferentes aspectos da integração e interoperabilidade das tecnologias. O capítulo conclui com os resultados alcançados no desenvolvimento da solução Infraestrutura e Ambiente de Desenvolvimento O Ambiente de Desenvolvimento necessário para desenvolver a solução é bastante exigente a nível computacional. Requer uma máquina (ou mais) com capacidade suficiente para correr um servidor de Base de Dados, um ou dois servidores Web (depende da intenção do arquitecto do sistema) e um emulador de smartphone para testes da componente móvel. Neste caso, o componente da solução mais exigente ao nível de recursos computacionais é o componente de Business Intelligence. Para se ter uma noção da exigência dos recursos, os requisitos recomendados para a plataforma Pentaho BI são 2Gb de RAM e um processador com dois núcleos a 64bits (dual-core x64). O Ambiente de Desenvolvimento apresentado é configurado em ambiente Windows. Nas secções seguintes, da à 5.1.5, são apresentados os passos de instalação dos componentes que constituem o ambiente de desenvolvimento com as respectivas interfaces. Os requisitos principais são a instalação do.net Framework versão 3.5 e o Java Development Kit (JDK) actualizado. No ambiente de desenvolvimento testado, é usado o JDK versão 6, actualização Servidor MySQL 5.1 O servidor MySQL é bastante simples e rápido de instalar. Basta aceder à página Web de downloads da MySQL e escolher o download da aplicação de instalação do MySQL Community Server. Depois de terminado o download, corre-se a aplicação de instalação e segue-se todos os passos da instalação recomendada. A Base de Dados deverá ser do tipo OLTP, sem necessidade de qualquer configuração excepcional. O MySQL Community Server é a Base de Dados Open Source mais popular, suportada por uma grande comunidade de programadores e adeptos de software aberto. A versão 5.1 do servidor é a utilizada no ambiente de desenvolvimento da solução. 39

58 Desenvolvimento e Implementação MySQL Workbench 5.2 Na mesma página de download do servidor MySQL, faz-se o download do MySQL Workbench. A sua instalação é trivial, basta seguir os passos de instalação e as opções de configuração recomendadas. O MySQL Workbench é a um ambiente integrado de ferramentas de: Desenho e modelação de Bases de Dados; Desenvolvimento SQL (em substituição do anterior MySQL Query Browser); Administração de Bases de Dados (em substituição do anterior MySQL Administrator e em alternativa à linha de comandos MySQL). Figura 19 Exemplo do Interface Gráfico do MySQL Workbench O ambiente integrado desta interface gráfica facilita e agiliza o desenvolvimento de Bases de Dados. A partir da interface é possível aceder à ferramenta de criação de modelos relacionais, a MySQL Model. Esta ferramenta permite escolher a notação pretendida para as relações e os objectos do modelo e gerar os scripts SQL a partir do mesmo, entre outras funcionalidades mais avançadas. A ferramenta de administração de Bases de Dados, a Admin, permite gerir o servidor, configurar todos os parâmetros e variáveis associadas às Bases de Dados MySQL, monitorizar a ligações e o estado do servidor, entre outras opções. A última ferramenta da interface a apresentar é a MySQL Editor. Com esta ferramenta é possível estabelecer uma ligação a um servidor MySQL instanciado e fazer todo o tipo de operações que o SQL permite, incluindo a criação de Vistas e de Rotinas. A principal vantagem é a possibilidade de gerir facilmente mais do que um Schema de uma BD e executar rapidamente os scripts SQL, por exemplo, gerados pelo MySQL Model. 40

59 Desenvolvimento e Implementação SpringSource Tool Suite O SpringSource Tool Suite (STS) é uma ferramenta para desenvolvimento de aplicações Java empresariais personalizada e configurada em função da estratégia de desenvolvimento da Spring. O download do STS é feito através do sítio da SpringSource. O STS tem uma interface bastante familiar, é desenvolvida com base no Eclipse IDE (ver Figura 20). Incluí ferramentas para o desenvolvimento de aplicações empresariais com base nas tecnologias Java, Spring, Groovy and Grails e desenvolvimento OSGi. (SpringSource, 2010) Figura 20 Interface da SpringSource Tools Suite A distribuição da ferramenta vem ainda com um servidor Apache Tomcat (TC) optimizado para Spring. O TC Server Developer Edition tem uma interface gráfica que permite identificar e diagnosticar problemas de aplicações através de métricas de desempenho em tempo real. (SpringSource, 2010) Para o ambiente de desenvolvimento da solução é necessário proceder a alguns passos de configuração e instalação das tecnologias de desenvolvimento no STS (o IDE). Incluindo as ferramentas para as estratégias de desenvolvimento do Liferay. Configuração do IDE 1) Após o download do STS a partir do sítio da SpringSource, executar o instalador e instalar com as opções recomendadas; 2) Após a instalação, verificar no IDE se a versão do JRE configurada por defeito no STS, é a da distribuição do JDK instalado; 3) No STS, instalar as ferramentas do Hibernate através do seu Update Site: 4) No STS, instalar o SDK do Liferay também através do seu Update Site: 41

60 Desenvolvimento e Implementação 5) Fazer o download do ficheiro em arquivo com o compilador Jikes e extrair o ficheiro para o directório mais conveniente; 6) Fazer o download do ficheiro em arquivo dos binários do construtor Ant e extrair o ficheiro para o directório mais conveniente; 7) Para o funcionamento correcto das ferramentas é necessário configurar as seguintes Variáveis de Ambiente do Windows: a. «JAVA_HOME» a apontar para o directório do JDK; b. «JIKES_HOME» a apontar para o directório do compilador Jikes; c. «ANT_HOME» para o directório onde foi extraído no ponto anterior d. Acrescentar «%JIKES_HOME%\bin», «%JAVA_HOME%\bin» e «%ANT_HOME%\bin» à variável «Path» Se a configuração do IDE for feita com sucesso, deverão aparecer os símbolos das funcionalidades instaladas (Hibernate e Liferay), na visualização de About (Figura 21). Figura 21 Funcionalidades Instaladas no IDE da SpringSource Tool Suite Servidor Liferay Portal 6.0 As instruções de instalação e configuração das ferramentas necessárias para as estratégias de desenvolvimento do portal, foram consideradas no ponto anterior, aquando da instalação do IDE. Contudo, é ainda necessário configurar o servidor do portal Liferay para ser utilizado no IDE. Como o IDE de desenvolvimento para o portal é o mesmo, dispensa-se qualquer introdução ao mesmo neste ponto. Configuração do servidor Liferay no IDE 1) No sítio do Liferay, fazer o download das distribuições da comunidade do Plugins SDK e do pacote do portal com o servidor Tomcat; 2) Configurar o Liferay Plugins SDK no IDE, adicionando o respectivo directório em «Installed SDKs» do IDE; 3) Configurar a instância do servidor Tomcat do portal no IDE, adicionando o runtime environment do mesmo. Caso a configuração seja terminada com sucesso, a instancia do servidor deverá aparecer no separador Servers da interface apresentada (Figura 20). Para testar o servidor e o portal, basta seleccionar o mesmo na aba apropriada do IDE e iniciá-lo. No final do arranque do servidor, o sítio do portal deverá abrir automaticamente no 42

61 Desenvolvimento e Implementação navegador pré-definido. Caso não aconteça, pode-se abrir o mesmo manualmente e navegar até Na Figura 22 é apresentada a página inicial do portal Liferay. A autenticação de testes é feita com o correio electrónico e a palavra passe «test». Figura 22 Página Inicial do Portal Liferay Servidor Pentaho 3.6 O desenvolvimento de Business Intelligence não é objectivo da Dissertação, pelo que é desprezada a apresentação e configuração das ferramentas disponibilizadas na Pentaho BI Suite, referidas no capítulo 4. Interessa apenas configurar o servidor para a implementação da integração das tecnologias e funcionamento da plataforma Pentaho BI no conjunto da solução. Configuração do servidor 1) No sítio da Pentaho, nos projectos da comunidade, fazer o download do servidor Tomcat com a plataforma Pentaho BI; 2) Configurar as seguintes Variáveis de Ambiente do Windows: a. «CATALINA_HOME» a apontar para o directório do servidor Tomcat da plataforma; b. «CATALINA_OPTS» com o seguinte valor: -Xms256m -Xmx768m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval= Dsun.rmi.dgc.server.gcInterval= ) Iniciar a plataforma de BI executando o ficheiro «start-pentaho.bat» localizado na pasta «biserver-ce» do ficheiro transferido e extraído; 4) Para experimentar ou trabalhar com a plataforma de imediato, basta aceder através do navegador de internet, a 5) Para acrescentar fontes de dados à plataforma, aceder à consola de administração que pode ser iniciada com a execução do ficheiro «start-pac.bat» na pasta «administration-console». A página inicial do servidor deverá apresentar-se conforme a Figura

62 Desenvolvimento e Implementação Figura 23 Página Inicial do Servidor da Plataforma Pentaho BI Depois da configuração do servidor da plataforma Pentaho BI, pode-se explorar as demonstrações da plataforma. Para todas as tarefas de BI (ETL, Reporting, etc.) é necessário o download das respectivas ferramentas da plataforma Especificação da Implementação Sobre a especificação da implementação, em primeiro lugar são apresentados os métodos de desenvolvimento utilizados durante a concepção e implementação da solução. Em segundo lugar é apresentado a visão e o funcionamento geral da solução desenvolvida com base nas tecnologias apresentadas anteriormente. Depois, são apresentadas as opções de integração e as especificações da implementação das tecnologias Método de Desenvolvimento No desenvolvimento da solução foram usados processos ágeis de desenvolvimento de software da metodologia XP (Extreme Programming). (Wells, 2010) Apesar de haver outros processos de desenvolvimento ágeis, os processos da metodologia XP são os mais adequados ao tipo de projecto/desenvolvimento que se pretende fazer. O XP adequa-se bem quando os requerimentos do sistema podem mudar ao longo da implementação ou não há uma ideia concreta da solução final. Nesta metodologia, o desenvolvimento é feito com pequenas equipas, com o método de «Programação em Pares», do original Pair Programming. A implementação da solução é feita de forma iterativa e a programação das funcionalidades feita por pares de programadores num só computador. O tempo de desenvolvimento deste método em comparação com o tempo de desenvolvimento das funcionalidades por programadores independentes estima-se que seja equivalente mas, a qualidade do código de programação é quase sempre superior. Contudo, neste aspecto, a implementação efectuada foi feita apenas pelo autor. O conceito usado e mais relevante desta metodologia é a «História do Utilizador», do original User Story. Uma User Story descreve um problema a ser resolvido pelo sistema- 44

63 Desenvolvimento e Implementação solução. Não descreve a solução, não usa linguagem técnica, nem expressões típicas dos tradicionais levantamentos de requisitos. Em vez disso, utilizam-se expressões simples e directas sobre o que sistema faz, como se se tratassem de comandos ao sistema. Num levantamento de requisitos tradicional, corresponde aos requisitos funcionais e não funcionais. Do XP, foi ainda utilizado o Test-driven Development que pode ser traduzido como «Desenvolvimento Orientado a Testes». Neste tipo de desenvolvimento os métodos de teste são implementados primeiro que os métodos funcionais a testar. A vantagem principal deste tipo de desenvolvimento é o teste da aplicação em pequenos passos e a possibilidade de reformular e aprovar o seu desenho antes de avançar com a implementação de novas funcionalidades. Contudo, apesar de aparentemente ser um princípio básico, requer uma grande disciplina, já que a tendência do programador é fazer precisamente o oposto. (Ambler, 2010) Visão Geral A aplicação de gestão de recursos móveis consiste numa aplicação Web desenvolvida em Spring Portlet MVC Framework, que funcionará como um plugin para portais Web. A aplicação é constituída por vários Portlets, cada um com a sua funcionalidade. Por sua vez, apesar de os Portlets serem implementados como módulos funcionais independentes, no seu conjunto, fazem parte de uma única aplicação Spring, onde partilham os dados e a lógica entre si, implementando assim todas as funcionalidades da aplicação. Como se trata de uma aplicação baseada em Portlets ela não funciona por si só, necessita de um portal (um Portlet Container) onde possa ser alojada. A Figura 24 ilustra a organização e estrutura do modelo da aplicação descrito. Contendo a aplicação Web a definição dos Portlets, a estrutura e a lógica da aplicação e as tecnologias de persistência dos dados na Base de Dados (BD). Neste caso, o acesso à BD é feito através de um mapeamento objecto-relacional com Hibernate3. O portal Liferay funciona de forma independente e suporta aplicações Web desenvolvidas com a Spring Portlet MVC Framework que, por sua vez, fornece todas as tecnologias necessárias ao desenvolvimento da aplicação MRM. Figura 24 Modelo da Aplicação Web 45

64 Desenvolvimento e Implementação O portal Liferay necessita da sua própria BD para funcionar. Na BD, o portal persiste toda a informação sobre os utilizadores, a sua gestão (hierarquia, permissões, etc.), a organização do portal, as estrutura das páginas Web dinâmicas, a localização dos temas, das imagens, etc. Ou seja, o portal persiste todas as suas funcionalidades e configurações nas suas próprias tabelas, na BD. A Arquitectura Geral da Solução (apresentada na Figura 25) ilustra o funcionamento de toda a solução e a organização das suas diferentes camadas e módulos. Figura 25 Arquitectura Geral da Implementação da Solução Nesta solução existem várias Bases de Dados envolvidas. O portal tem uma BD independente da BD OLTP da aplicação MRM. A plataforma de BI, dada a sua arquitectura, necessita das suas próprias Bases de Dados operacionais e uma Data Warehouse onde irá persistir os dados já modelados. O acesso ao portal pode ser feito através de dispositivos móveis ou através de computadores pessoais. No contexto empresarial apresentado, os dispositivos móveis estão associados aos Operacionais de Front Office e os computadores pessoais aos Operadores de Back Office. O portal será o responsável por gerir o acesso e a apresentação dos Portlets nas diferentes perspectivas dos utilizadores. Para a componente de BI, o acesso aos dados da aplicação MRM é feito através das ferramentas Pentaho que irão, por sua vez, recorrer ao motor da plataforma Pentaho BI para executar as tarefas associadas à modulação dos dados. As tarefas de BI irão resultar em indicadores de Apoio à Decisão, em forma de relatórios e gráficos que poderão ser visualizados em Portlets iframe. Estes Portlets limitam-se a requisitar a visualização dos indicadores através de pedidos URL ao servidor Pentaho. 46

65 Desenvolvimento e Implementação Base de Dados O Modelo Relacional da Base de Dados desenvolvido e implementado é apresentado na Figura 26. Figura 26 Modelo Relacional UML da Base de Dados OLPT A camada de persistência da aplicação necessita de uma Base de Dados desenhada à medida do negócio. Assim, para o efeito de prova, supôs-se que a BD deveria suportar um 47

66 Desenvolvimento e Implementação negócio de instalação e manutenção de dispositivos em casa de clientes e capaz de guardar indicadores primários de BI suficientes para a demonstração da componente de Apoio à Decisão. Segue-se a explicação e a descrição de todos os objectos representados do Modelo Relacional (Figura 26), incluindo as suas relações: Utilizadores toda a informação relativa aos utilizadores do sistema MRM. Os utilizadores são classificados por tipos de utilizadores (operadores, operacionais, administradores, etc.), têm estados (de baixa, activo, de férias, etc.), têm uma classificação de desempenho e podem estar associados a uma Deslocação ou mais. Tipos_Utilizadores todos os tipos de utilizadores do sistema. Os utilizadores têm que ter sempre associado um tipo. Estado_Utilizadores todos os tipos de estados dos utilizadores do sistema. Os utilizadores têm que ter sempre associado um estado. Classificacoes_Colaboradores histórico de todas as classificações atribuídas aos utilizadores ao longo do tempo. A classificação pode estar associada a um factor de desempenho e todos os colaboradores têm que ter uma classificação. Utilizadores_has_TempoPrevisto todos os tempos previstos de cada utilizador para a execução de cada um dos tipos de tarefas. Permite avaliar o tempo que cada utilizador demora a executar as tarefas, em função do tipo de tarefa. Tarefas toda a informação necessária à execução das tarefas. As tarefas podem ter um cliente e/ou um dispositivo associado que, por sua vez estará necessariamente atribuido a um cliente. As tarefas têm tipos de tarefas e problemas relativos à falha da execução das mesmas. Tipos_Tarefas todos os tipos de tarefas do sistema. Todas as tarefas têm que necessariamente ter um tipo. Tarefas_has_Tipos_Problemas todos os problemas associados à não execução de uma tarefa. Ou seja, cada tarefa pode ter um ou mais problemas pré-definidos associados à falha da sua execução. Tipos_Problemas todos os tipos de problemas associados à falha da execução das tarefas do sistema. As tarefas executadas com sucesso não têm problemas associados. Clientes toda a informação relativa aos clientes. Os clientes podem ter zero ou mais dispositivos associados assim como, tarefas. Dispositivos toda a informação relativa aos dispositivos que podem ser necessários à execução das tarefas e atribuídos a clientes. Tipos_Dispositivos todos os tipos de dispositivos. Todos os dispositivos têm que necessariamente ter um tipo. Deslocacoes toda a informação necessária a uma deslocação. A tabela de deslocações é o objecto central do modelo relacional. Uma deslocação pode ter mais do que uma tarefa associada a essa deslocação. Contudo, uma deslocação tem apenas um utilizador que a irá efectuar. Uma deslocação pertence sempre a um percurso a realizar por um utilizador. Percursos toda a informação relativa ao histórico dos percursos, incluindo os quilómetros previstos para o percurso. Os percursos são constituídos por movimentos entre deslocações. Movimentos toda a informação calculada pelo dispositivo do utilizador entre duas deslocações. Efectua um histórico dos movimentos efectuados entre duas deslocações. Tipos_Estados_Percursos todos os tipos de estados dos percursos. Os percursos têm que necessariamente ter um estado associado. Dos objectos descritos, interessa destacar a solução utilizada para persistir os percursos a efectuar pelos utilizadores. A ideia surge da necessidade de um utilizador ter mais do que uma deslocação a efectuar num dia e ser necessário um percurso para percorrer essas deslocações. Os 48

67 Desenvolvimento e Implementação percursos têm um movimento entre duas deslocações. As deslocações são ordenadas numa sequência de movimentos. O conjunto dos movimentos entre deslocações consecutivas forma o percurso a efectuar. A dinâmica dos percursos apresentada permite calcular no Back Office a sequência das deslocações que minimiza os quilómetros percorridos e passar para o Front Office apenas o ficheiro com um formato de itinerário que deverá ser carregado por um dispositivo GPS apropriado. Os formatos de ficheiros de itinerários mais conhecidos são GPX (GPS Exchange Format), ITN (TomTom Navigator Itinerary File) e KML (Keyhole Markup Language File, usado no Google Earth). O modelo permite ainda suportar as modificações ao percurso de um utilizador. Ou seja, permite fazer um replaneamento das tarefas e dos percursos ao longo do dia e guardar o seu histórico Spring Portlets Na aplicação Spring existem 3 camadas. A camada de «Visualização» ou View corresponde à componente de visualização dos Portlets no portal. A camada da Integração Aplicacional corresponde à estrutura e lógica da aplicação e, na perspectiva do modelo MVC, ao módulo Controller. A camada da abstracção da Base de Dados, o módulo Model do modelo MVC, corresponde à tecnologia Hibernate3 que faz o mapeamento objecto-relacional (ou camada ORM). A Persistência Nesta solução a persistência é feita através do mapeamento das Entidades (classes POJO Plain Old Data Objects) para o Modelo Relacional da BD, através de anotações da API Java Persistence Java Persistence Annonations (JPA) na própria classe da Entidade. Nestas «Entidades JPA» ou «Entidades Anotadas», o mapeamento é feito através destas anotações do JDK 5.0 em detrimento dos ficheiros hbm.xml (o ficheiro Hibernate3, descritor do mapeamento objecto-relacional em formato XML). Sobre as Entidades está a camada Data Access Object (DAO). O DAO é uma técnica de persistência que separa o objecto a persistir (a Entidade) da lógica de acesso à Base de Dados. Na solução é utilizada a framework de persistência Spring DAO. Esta framework utiliza um método simples para configurar o acesso à BD através da framework EJB da plataforma Java EE. O método consiste na criação de um Spring Bean com a configuração do acesso à BD (um DataSource Bean) que é injectado nas classes DAO. Ou seja, para o efeito, cada classe DAO é definido um novo Bean que o associa ao DataSource Bean. Além do mapeamento a API do Hibernate3 permite gerir as ligações e as transacções dos DAO aos dados através de «Sessões» (Session). Estas «Sessões» são criadas/estabelecidas através do SessionFactory da API do Hibernate3. Assim, resumidamente, o DAO tem associado a si um DataSource e uma Entidade (POJO). O DAO implementa os métodos de persistência das Entidades no DataSource que, no caso, será uma Base de Dados. Os métodos dos DAO estabelecem «Sessões» de ligação à Base de Dados (BD) através do SessionFactory do Hibernate3. As «Sessões» gerem as ligações e as transacções para a BD, onde o mapeamento das Entidades para os Objectos da BD é feito através das anotações (JPA) nas próprias classes das Entidades. A Estrutura e Lógica da Aplicação A lógica da aplicação está distribuída por um componente de serviços e por um componente Web. O componente de serviços é constituído por métodos gestores (Managers) que aplicam a lógica de negócio relativa à execução de tarefas, cálculos e operações com objectos. Estes métodos prestam serviços à componente Web e utiliza a camada DAO para a persistência dos objectos/entidades. 49

68 Desenvolvimento e Implementação A componente Web implementa os «Controladores» (Controllers) da aplicação, onde cada classe Controller corresponde a um Portlet da aplicação. Assim, cada Portlet tem a sua classe Controller que gere a sua visualização e recebe os comandos do utilizador. Ou, por outras palavras, os Controllers de cada Portlet chamam os serviços e gerem a sua visualização de acordo com os comandos do utilizador. Os Controllers requisitam ainda os serviços de uma componente de validação para efectuar todo o tipo de validações relativas aos comandos do utilizador e às operações das classes Managers, de acordo com a lógica do negócio. A visualização dos Portlets é implementada em JavaServer Pages (JSPs) (de acordo com a arquitectura) e com suporte para JavaScript (JS) e Cascading Style Sheets (CSS). Todo o modelo de funcionamento da aplicação descrito pode ser visualizado na Figura 27. Figura 27 Modelo e Funcionamento da Aplicação Web Conforme já referido, esta implementação da aplicação Web é feita no SpringSource Tool Suite (IDE) com recurso à Spring Framework ou, mais especificamente, à Spring Portlet MVC Framework. O desenvolvimento foi feito a partir de um projecto Spring criado de raiz e está dividido pelos componentes mencionados. Ou seja, cada componente da estrutura da aplicação corresponde a um «Pacote» (Package) do projecto (ver Figura 28). A compilação e publicação da aplicação no servidor do portal Liferay são feitas pela ferramenta de compilação Java, Apache Ant através de um ficheiro build.xml desenvolvido à medida da aplicação. 50

69 Desenvolvimento e Implementação Figura 28 Organização do Projecto no IDE Configuração da aplicação A configuração da aplicação é dividida em três ficheiros essenciais: web.xml, portlet.xml e applicationcontext.xml. O web.xml tem as configurações gerais da aplicação ao nível do servidor: configuração relativa ao sistema de logs do servidor, caminho do ficheiro de configuração do contexto da aplicação, configuração dos pedidos de renderização, etc. O applicationcontext.xml tem a declaração e configuração de todos os Spring Beans associados à camada de persistência, entre outras tecnologias disponibilizadas através da Spring Framework, tais como: Beans para resolução das vistas (JSPs),para tratamento de excepções, para internacionalização da aplicação, etc. O portlet.xml tem a declaração dos Portlets da aplicação e todas as configurações associadas aos mesmos. Existem ainda os ficheiros XML de configuração de cada Portlet. Este ficheiro de configuração define o Controller do respectivo Portlet, entre outras definições de contexto que podem ser específicas do Portlet. 51

70 Desenvolvimento e Implementação Figura 29 Estrutura da Aplicação Web Portal Liferay A configuração da aplicação relativa ao portal Liferay está dividida por três ficheiros: liferay-plugin-package.properties, liferay-display.xml e liferay-portlet.xml. O liferay-plugin-package.properties define as propriedades genéricas da aplicação que funcionará como um plugin para o portal. Um plugin do portal pode ter, entre outras propriedades, um nome, uma descrição, um autor, uma página de suporte, etc. O liferay-display.xml declara e configura a categoria dos Portlets da aplicação para o portal Liferay. Outras definições dos Portlets no portal são feitas no liferay-portlet.xml. Além do desenvolvimento da aplicação da solução MRM, foi feito um estudo ao acesso do portal através de smartphones. Nesse estudo foi desenvolvido um tema e uma funcionalidade para o portal, com as respectivas estratégias de desenvolvimento Theme e Hook. O tema desenvolvido altera o CSS e o layout das páginas onde for aplicado. Apresenta os Portlets da página numa única coluna e a faz o seu redimensionamento, adequando a visualização do portal para smartphones. A funcionalidade desenvolvida (o Hook) faz o redireccionamento dos utilizadores para uma página do portal, quando é acedido por um iphone ou Android e se efectua a autenticação. Sem esta funcionalidade o utilizador fica na mesma página inicial após a autenticação. Esta funcionalidade foi desenvolvida em Velocity 1. Assim, com estas duas implementações é possível redireccionar o utilizador que acede por um smartphone directamente para a página que tem o tema adaptado ao dispositivo. 1 O Apache Velocity Engine é um motor de templates, de Código Aberto e gratuito. O Velocity permite o uso de uma linguagem para implementar templates que referenciam objectos definidos em código Java. 52

71 Desenvolvimento e Implementação Pentaho - Business Intelligence Entre outros tipos de acesso, a plataforma Pentaho BI permite fazer pedidos e aceder directamente aos conteúdos gerados (gráficos, dashboard, etc.), resultantes das tarefas de BI, através de URL. Todas as tarefas executadas pela plataforma Pentaho BI são definidas por ficheiros XML denominados Action Sequence. Tal como o nome sugere, estes ficheiros XML definem uma «sequência de acções» ou seja, definem actividades como queries a Bases de Dados, geração de relatórios, envio de s, etc. e permitem a passagem de dados entre acções dentro do mesmo Action Sequence ou entre diferentes Action Sequences. O que a plataforma permite é especificar no URL o Action Sequence correspondente ao conteúdo que se pretende visualizar, juntamente com os dados de autenticação no servidor. Depois, o conteúdo é gerado e carregado em páginas HTML. Por conseguinte, a solução para a integração da componente de Apoio à Decisão no portal baseia-se precisamente nesta funcionalidade da plataforma através de iframe Portlets. Esses Portlets podem ser desenvolvidos de forma mais ou menos sofisticada mas, todos tem o objectivo de embeber outras páginas HTML dentro do portal. Desta forma, é possível ter um conjunto de iframe Portlets pré-definidos com pedidos URL de indicadores da plataforma Pentaho BI. Esta solução adoptada permite construir dinamicamente um Painel de Indicadores no portal Liferay ou construi-lo com a ferramenta Pentaho apropriada e fazer posteriormente o pedido do mesmo, através de iframe Portlets Resultados Alcançados Os estudos, testes e desenvolvimentos efectuados permitem perceber o modo de implementação, a evolução e a potencialidade das tecnologias utilizadas para a solução. No caso particular da integração da plataforma Pentaho BI no portal, esperava-se uma integração mais sofisticada relativamente à apresentada. Existe alguma documentação que indica que a plataforma inclui Portlets desenvolvidos para integração em portais. Esta possibilidade foi testada através de intercomunicação de Portlets mas, os resultados demonstraram que essa funcionalidade ainda não se encontra verdadeiramente funcional e aplicável. O resultado mais próximo que se conseguiu foi ter o portal Liferay e a plataforma Pentaho BI no mesmo servidor Tomcat e apresentar um Portlet HTML da plataforma no portal. Os Portlets mais sofisticados e de real interesse não funcionam no portal. Esta via de integração pode ter falhado por um de dois motivos. O primeiro motivo pode prender-se simplesmente com o facto de a funcionalidade dos Portlets da plataforma Pentaho BI não estar terminada. O segundo motivo pode dever-se à não compatibilidade dos Portlets implementados na plataforma Pentaho BI, com a versão do portal utilizada. Contudo, o último motivo é pouco provável, já que o conceito de Portlet é precisamente ser desenvolvido sobre uma norma e ser portável entre portais. A pesquisa sobre esta solução de integração da plataforma Pentaho no portal tornou-se difícil devido à fraca documentação mantida pela comunidade, quer em quantidade, quer na qualidade dos documentos. Para todas as outras tecnologias das funcionalidades do sistema foi sempre encontrada a documentação necessária. Embora, no geral, o facto de estas frameworks de Código Aberto estarem em constante evolução, torna difícil o trabalho das comunidades acompanharem a evolução e actualizarem a documentação em tempo útil. Como exemplo, destaca-se novamente a plataforma Pentaho que só no ano 2010 teve três lançamentos de versões finais, mas a documentação encontrada sobre os temas necessários estão datados de 2006 a Dado o insucesso desta solução de integração foi necessário encontrar uma solução alternativa que permitisse disponibilizar a componente de Apoio à Decisão no portal. Assim, a alternativa encontrada consiste em formular pedidos de Indicadores ou Painéis de Indicadores de BI à plataforma Pentaho através de URL, conforme especificado na secção Ou seja, a 53

72 Desenvolvimento e Implementação plataforma permite publicar, no servidor da mesma, os gráficos ou outros indicadores de BI e acedê-los directamente através de URL num Navegador Web. Esta funcionalidade pode ser utilizada no portal com iframe Portlets. Em relação ao estudo inicial sobre a integração das tecnologias, apenas a plataforma Pentaho obrigou a busca de uma alternativa na estratégia. As restantes tecnologias foram integradas como inicialmente previsto. Os resultados finais alcançados incluem a implementação total da arquitectura proposta (mostrada na Figura 10), com a integração e a prova do funcionamento conjunto de todos os seus componentes, através das seguintes acções: Desenvolvimento de uma aplicação que demostra a integração das tecnologias em Spring Portlet MVC, com toda a configuração em XML necessária e construtor Ant à medida (Figura 30); Integração da aplicação desenvolvida em Spring Portlet MVC com o portal Liferay (Figura 30); Desenvolvimento de um tema simples para smartphone (estratégia de desenvolvimento Theme do Liferay) (Figura 31); Desenvolvimento de novas funcionalidades para o portal Liferay com Velocity (estratégia de desenvolvimento Hook do Liferay), tais como: o Redireccionamento do utilizador para a sua página pessoal após a autenticação no portal; o Redireccionamento do acesso dos utilizadores ao portal através de iphone ou Android para a visualização adaptada aos dispositivos; Integração da plataforma Pentaho BI com o portal Liferay através de iframe Portlets com pedidos URL à plataforma dos indicadores de BI (Dashboards, Gráficos, Relatórios, etc.) (Figura 32); Prova do não funcionamento da intercomunicação dos Portlets da plataforma Pentaho BI com o portal Liferay, apesar de estar previsto o seu desenvolvimento e estarem declarados na Community Edition da plataforma. Conforme as acções descritas, para integrar e testar as tecnologias solução MRM foi necessário recorrer a diferentes estratégias de desenvolvimento e desenvolver diferentes projectos nas diferentes frameworks. Da Figura 30 à Figura 32 são mostrados alguns dos resultados alcançados. Na Figura 30 é possível verificar a integração da aplicação MRM desenvolvida em Spring Portlet MVC Framework no portal Liferay. Do lado esquerdo da imagem, o menu de adição de Portlets ao portal, onde o Portlet desenvolvido se encontra sob o submenu Spring Portlet. Do lado direito da imagem, o respectivo Portlet, já adicionado. Para o efeito de teste e demonstração das tecnologias da aplicação MRM, foi desenvolvido o Portlet que faz a gestão dos tipos de tarefas da solução. Através deste é possível pré-definir os tipos de tarefas do sistema, efectuando as operações CRUD dos objectos Tipo de Tarefa sobre a Base de Dados. 54

73 Desenvolvimento e Implementação Figura 30 Demonstração do Portal e do Portlet Spring da Aplicação MRM A Figura 31 mostra o resultado da estratégia Theme desenvolvida para o portal, onde o mesmo Portlet (mostrado na Figura 30) é redimensionado e colocado numa única coluna junto com outros Portlets. O Hook desenvolvido complementa esta funcionalidade, permitindo o redireccionamento do utilizador para na página do portal com os Portlets que se pretendem visualizar em smartphone. Para o efeito, foi utilizado um emulador de smartphone com o sistema operativo Android. Figura 31 Demonstração do Tema do Portal Liferay para Smartphone Na Figura 32 é possível visualizar o resultado da solução adoptada para a integração da componente de Apoio à Decisão na solução. Na figura, são mostrados diferentes indicadores de BI, de exemplo na plataforma Pentaho BI, no portal Liferay. 55

74 Desenvolvimento e Implementação Figura 32 Demonstração de Painel de Indicadores Pentaho no Liferay Como o desenvolvimento efectuado é um desenvolvimento de teste e demonstração das tecnologias, não houve cuidados especiais com a aparência e/ou enquadramento dos Portlets no portal. Em suma, os resultados satisfazem plenamente os objectivos da Dissertação, pois permitem verificar a adequação e integração das tecnologias da solução apresentada às exigências das funcionalidades esperadas para a aplicação MRM. As tecnologias utilizadas permitem o desenvolvimento de uma aplicação consistente, escalável e versátil que pode originar diferentes aplicações MRM adaptadas para diferentes áreas de negócio. Com estes resultados é possível prever uma aplicação que funcionará com base numa Base de Dados OLTP e que permitirá operar de forma eficaz, com a possibilidade da actualização dos estados dos colaboradores em tempo real. O sucesso da integração da componente de Business Intelligence irá permitir a análise dos dados gerados pelo sistema e uma componente forte de Apoio à Decisão. Este facto associado às restantes funcionalidades totalmente desenvolvidas com tecnologias de Código Aberto torna esta aplicação MRM uma aplicação simples, de baixo custo e inovadora, em função das soluções existentes no mercado. 56

A Gisgeo. Web SIG Sistemas de Informação Geográfica via web. Geo Marketing e Geo Turismo. Localização de pessoas. Gestão de frota automóvel

A Gisgeo. Web SIG Sistemas de Informação Geográfica via web. Geo Marketing e Geo Turismo. Localização de pessoas. Gestão de frota automóvel A Gisgeo Web SIG Sistemas de Informação Geográfica via web Geo Marketing e Geo Turismo Localização de pessoas Gestão de frota automóvel App de localização para smartphones Sistemas de navegação GPS A Gisgeo

Leia mais

PALAVRAS CHAVE RESUMO

PALAVRAS CHAVE RESUMO ESIG2001 SPATIAL INTELLIGENCE INFORMAÇÃO GEOGRÁFICA COMO MEIO DE SUPORTE À DECISÃO João Machado Costa, Rui Marques Ferreira Novabase www.novabase.pt joao.machado@novabase.pt PALAVRAS CHAVE Spatial Information

Leia mais

Gestão Total da Manutenção: Sistema GTM

Gestão Total da Manutenção: Sistema GTM Gestão Total da Manutenção: Sistema GTM por Engº João Barata (jbarata@ctcv.pt), CTCV Inovação Centro Tecnológico da Cerâmica e do Vidro 1. - INTRODUÇÃO Os sub-sistemas de gestão, qualquer que seja o seu

Leia mais

Engenharia de Software Sistemas Distribuídos. 2º Semestre, 2007/2008. Departamento Engenharia Informática. Enunciado do projecto: Loja Virtual

Engenharia de Software Sistemas Distribuídos. 2º Semestre, 2007/2008. Departamento Engenharia Informática. Enunciado do projecto: Loja Virtual Engenharia de Software Sistemas Distribuídos 2º Semestre, 2007/2008 Departamento Engenharia Informática Enunciado do projecto: Loja Virtual Fevereiro de 2008 Índice Índice...2 Índice de Figuras...3 1 Introdução...4

Leia mais

Premier. Quando os últimos são os Primeiros

Premier. Quando os últimos são os Primeiros Premier Quando os últimos são os Primeiros Fundada em 1997 Especializada no desenvolvimento de soluções informáticas de apoio à Gestão e consultoria em Tecnologias de Informação. C3im tem como principais

Leia mais

A versão básica disponibiliza a informação criada no Microsoft Navision em unidades de informação

A versão básica disponibiliza a informação criada no Microsoft Navision em unidades de informação O Business Analytics for Microsoft Business Solutions Navision ajuda-o a ter maior controlo do seu negócio, tomar rapidamente melhores decisões e equipar os seus funcionários para que estes possam contribuir

Leia mais

Mobile Business. Your sales on the move.

Mobile Business. Your sales on the move. Pág/02 O PRIMAVERA é um produto destinado a empresas que utilizem processos de auto-venda e/ou pré-venda com Equipas de Vendas que necessitem de um conjunto de informação e funcionalidades avançadas, disponíveis

Leia mais

SIBS PROCESSOS cria solução de factura electrónica com tecnologias Microsoft

SIBS PROCESSOS cria solução de factura electrónica com tecnologias Microsoft SIBS PROCESSOS cria solução de factura electrónica com tecnologias Microsoft A solução MB DOX oferece uma vantagem competitiva às empresas, com a redução do custo de operação, e dá um impulso à factura

Leia mais

Business Intelligence & Performance Management

Business Intelligence & Performance Management Como medir a evolução do meu negócio? Tenho informação para esta decisão? A medição da performance é uma dimensão fundamental para qualquer actividade de gestão. Recorrentemente, qualquer gestor vê-se

Leia mais

Planeam/ Estratégico de SI

Planeam/ Estratégico de SI Planeam/ Estratégico de SI Curso de Engenharia de Sistemas e Informática - 4º ANO Frequência de Planeamento Estratégico de Sistemas de Informação (Teórica) 2002 / 2003 - Data: 2003/07/05 Duração 60 Minutos

Leia mais

Gestão da Informação

Gestão da Informação Gestão da Informação Aplicações de suporte à Gestão da Informação na empresa Luis Borges Gouveia, lmbg@ufp.pt Aveiro, Fevereiro de 2001 Sistemas de informação para empresas Manutenção e exploração de sistemas

Leia mais

Sistemas de Informação no sector da Construção. João Poças Martins, FEUP/GEQUALTEC, 2011 1

Sistemas de Informação no sector da Construção. João Poças Martins, FEUP/GEQUALTEC, 2011 1 Sistemas de Informação no sector da Construção João Poças Martins, FEUP/GEQUALTEC, 2011 1 Sistemas de Informação no sector da Construção 1. SI na Construção. Introdução 2. ERP 3. BIM 4. Outras aplicações

Leia mais

CUSTO TOTAL DE PROPRIEDADE DO PANDA MANAGED OFFICE PROTECTION. 1. Resumo Executivo

CUSTO TOTAL DE PROPRIEDADE DO PANDA MANAGED OFFICE PROTECTION. 1. Resumo Executivo 1. Resumo Executivo As empresas de todas as dimensões estão cada vez mais dependentes dos seus sistemas de TI para fazerem o seu trabalho. Consequentemente, são também mais sensíveis às vulnerabilidades

Leia mais

Com esta tecnologia Microsoft, a PHC desenvolveu toda a parte de regras de negócio, acesso a dados e manutenção do sistema.

Com esta tecnologia Microsoft, a PHC desenvolveu toda a parte de regras de negócio, acesso a dados e manutenção do sistema. Caso de Sucesso Microsoft Canal de Compras Online da PHC sustenta Aumento de 40% de Utilizadores Registados na Área de Retalho Sumário País: Portugal Industria: Software Perfil do Cliente A PHC Software

Leia mais

Utilização de informação geoespacial na gestão e apoio à decisão das empresas

Utilização de informação geoespacial na gestão e apoio à decisão das empresas Utilização de informação geoespacial na gestão e apoio à decisão das empresas A Gisgeo Alguns dados da empresa: Fundada em 2008; Integrada no UPTEC Parque de Ciência e Tecnologia da UP; 3 sócios + 2 colaboradores,

Leia mais

GeoMob Gestão de Recursos Móveis. Sistema de Monitorização de Logística

GeoMob Gestão de Recursos Móveis. Sistema de Monitorização de Logística GeoMob Gestão de Recursos Móveis 1 Objectivo GERIR O QUE SE MOVE NO TERRITÓRIO É o grande desafio que as empresas de distribuição enfrentam diariamente. A solução da GEOGLOBAL responde aos requisitos técnicos

Leia mais

Arquitecturas de Sistemas de Informação

Arquitecturas de Sistemas de Informação Arquitecturas de Sistemas de Informação Arquitectura Tecnológica Arquitectura Tecnológica O que é: É a escolha dos tipos de tecnologia que devem ser utilizados para dar suporte a cada um dos sistemas e

Leia mais

Implemente a sua solução de Gestão de Marketing, Vendas e Serviço de Clientes, em menos de 7 dias.

Implemente a sua solução de Gestão de Marketing, Vendas e Serviço de Clientes, em menos de 7 dias. GoldMine QuickStart Implemente a sua solução de Gestão de Marketing, Vendas e Serviço de Clientes, em menos de 7 dias. O GoldMine é uma ferramenta de gestão da relação com os clientes (CRM-Costumer Relationship

Leia mais

ZetesAthena Gestão in-store mais inteligente

ZetesAthena Gestão in-store mais inteligente ZetesAthena Gestão in-store mais inteligente WWW.ZETES.COM ALWAYS A GOOD ID Precisão de aprovisionamento para o retalhista omnicanal Evitar a perda de vendas As expetativas dos clientes estão a mudar e

Leia mais

Lexmark Print Management

Lexmark Print Management Lexmark Print Management O Lexmark Print Management permite-lhe optimizar a impressão em rede e criar uma vantagem informativa com uma solução que pode ser implementada localmente ou através da nuvem.

Leia mais

A gestão comercial e financeira através da Internet

A gestão comercial e financeira através da Internet PHC dgestão A gestão comercial e financeira através da Internet A solução de mobilidade que permite introduzir e consultar clientes, fornecedores, artigos, documentos de facturação, encomendas, compras,

Leia mais

PRIMAVERA BUSINESS SOFTWARE SOLUTIONS, SA

PRIMAVERA BUSINESS SOFTWARE SOLUTIONS, SA PRIMAVERA BUSINESS SOFTWARE SOLUTIONS, SA Introdução Nesta edição do Catálogo de Serviços apresentamos os vários tipos de serviços que compõe a actual oferta da Primavera na área dos serviços de consultoria.

Leia mais

Software de gestão em tecnologia Web

Software de gestão em tecnologia Web Software de gestão em tecnologia Web As Aplicações de Gestão desenvolvidas em Tecnologia Web pela Mr.Net garantem elevados níveis de desempenho, disponibilidade, segurança e redução de custos. A Mr.Net

Leia mais

Prognos SMART OPTIMIZATION

Prognos SMART OPTIMIZATION Prognos SMART OPTIMIZATION A resposta aos seus desafios Menos estimativas e mais controlo na distribuição A ISA desenvolveu um novo software que permite o acesso a dados remotos. Através de informação

Leia mais

SCORE INNOVATION Corporate Profile Luanda Maputo, 1 de Novembro 2012

SCORE INNOVATION Corporate Profile Luanda Maputo, 1 de Novembro 2012 New Standards for Business SCORE INNOVATION Corporate Profile Luanda Maputo, 1 de Novembro 2012 Quem Somos A SCORE INNOVATION é uma empresa que tem como objecto social a prestação de serviços em consultoria,

Leia mais

Case Study Business Intelligence Portals como solução de Mobilidade

Case Study Business Intelligence Portals como solução de Mobilidade Case Study Business Intelligence Portals como solução de Mobilidade Agenda A BetterSoft Mobilidade e Colaboradores móveis A Divisão de FoodServices da Nestlé Portais corporativos O que são A Arquitectura

Leia mais

O aumento da força de vendas da empresa

O aumento da força de vendas da empresa PHC dcrm O aumento da força de vendas da empresa O enfoque total na actividade do cliente, através do acesso remoto à informação comercial, aumentando assim a capacidade de resposta aos potenciais negócios

Leia mais

O SECTOR A SOLUÇÃO Y.make Num mundo cada vez mais exigente, cada vez mais rápido e cada vez mais competitivo, o papel dos sistemas de informação deixa de ser de obrigação para passar a ser de prioridade.

Leia mais

manual instalação e configuração v13 1

manual instalação e configuração v13 1 manual instalação e configuração v13 1 Conteúdo Introdução... 3 Conteúdo do DVD:... 3 Instalação e configuração do ERP... 4 Instalação do ERP... 4 Configuração do ERP... 6 Como actualização de versão...

Leia mais

A Gestão de Configurações suporte dos Sistemas de Informação

A Gestão de Configurações suporte dos Sistemas de Informação A Gestão de Configurações suporte dos Sistemas de Informação O funcionamento dos sistemas e tecnologias de informação e comunicação têm nas organizações um papel cada vez mais crítico na medida em que

Leia mais

PHC dteamcontrol Externo

PHC dteamcontrol Externo PHC dteamcontrol Externo A gestão remota de projectos e de informação A solução via Internet que permite aos seus Clientes participarem nos projectos em que estão envolvidos, interagindo na optimização

Leia mais

ILM e as Arquitecturas Empresariais por Pedro Sousa

ILM e as Arquitecturas Empresariais por Pedro Sousa ILM e as Arquitecturas Empresariais por Pedro Sousa Neste artigo clarifica-se os objectivos do ILM (Information Life Cycle Management) e mostra-se como estes estão dependentes da realização e manutenção

Leia mais

Objectivos de aprendizagem

Objectivos de aprendizagem 2 Objectivos de aprendizagem ƒ Dar exemplos de como a Internet e outras tecnologias da informação apoiam os processos de negócio nas seguintes funções empresariais: ƒ contabilidade; ƒ gestão financeira;

Leia mais

PHC dteamcontrol Interno

PHC dteamcontrol Interno PHC dteamcontrol Interno A gestão remota de projectos em aberto A solução via Internet que permite acompanhar os projectos em aberto em que o utilizador se encontra envolvido, gerir eficazmente o seu tempo

Leia mais

Sistema Integrado de Gestão. Evento IDC PME 24.set.2008. Carlos Neves

Sistema Integrado de Gestão. Evento IDC PME 24.set.2008. Carlos Neves Sistema Integrado de Gestão Evento IDC PME 24.set.2008 Carlos Neves Agradecimentos Carlos Neves - 24.Set.08 2 Sumário 1. Oportunidades e desafios para as PME 2. Os projectos SI/TI e a Mudança 3. Perspectivas

Leia mais

Manual do GesFiliais

Manual do GesFiliais Manual do GesFiliais Introdução... 3 Arquitectura e Interligação dos elementos do sistema... 4 Configuração do GesPOS Back-Office... 7 Utilização do GesFiliais... 12 Outros modos de utilização do GesFiliais...

Leia mais

Bem-vindo à apresentação do SAP Business One.

Bem-vindo à apresentação do SAP Business One. Bem-vindo à apresentação do SAP Business One. Neste tópico, responderemos à pergunta: O que é o Business One? Definiremos o SAP Business One e discutiremos as opções e as plataformas disponíveis para executar

Leia mais

Tese Mestrado Manuel Teixeira Apresentaça o da Proposta de Tese

Tese Mestrado Manuel Teixeira Apresentaça o da Proposta de Tese Tese Mestrado Manuel Teixeira Apresentaça o da Proposta de Tese Título Desenvolvimento e Comercialização de Software de Gestão multiplataforma em regime de Aluguer Objetivos Extensão de um Software de

Leia mais

PROTEKTO ACTFAST. Soluções para Segurança Pública. Porque todos os segundos contam

PROTEKTO ACTFAST. Soluções para Segurança Pública. Porque todos os segundos contam PROTEKTO Porque todos os segundos contam Soluções para Segurança Pública A resposta às ocorrências no âmbito da segurança pública, têm de ser imediatas, eficientes e eficazes. Cada resposta operacional,

Leia mais

PHC dcrm. Aumente o potencial da força de vendas da sua empresa ao aceder remotamente à informação comercial necessária à sua actividade

PHC dcrm. Aumente o potencial da força de vendas da sua empresa ao aceder remotamente à informação comercial necessária à sua actividade PHC dcrm DESCRITIVO O módulo PHC dcrm permite aos comerciais da sua empresa focalizar toda a actividade no cliente, aumentando a capacidade de resposta aos potenciais negócios da empresa. PHC dcrm Aumente

Leia mais

A gestão de processos de negócio: conceitos e ferramentas BPM

A gestão de processos de negócio: conceitos e ferramentas BPM FACULDADE DE LETRAS DA UNIVERSIDADE DO PORTO A gestão de processos de negócio: conceitos e ferramentas BPM Trabalho realizado por: Ana Luisa Veiga Filipa Ramalho Doutora Maria Manuela Pinto GSI 2007 AGENDA:

Leia mais

Sem o recurso às tecnologias disponibilizadas pela Microsoft, a solução criada seria difícil de obter num tão curto espaço de tempo.

Sem o recurso às tecnologias disponibilizadas pela Microsoft, a solução criada seria difícil de obter num tão curto espaço de tempo. Caso de Sucesso Microsoft Finsolutia cria solução completa de suporte ao negócio com.net Framework 3.5 Sumário País: Portugal Indústria: Banking&Finance Perfil do Cliente A Finsolutia é uma joint venture

Leia mais

Relatório de Progresso

Relatório de Progresso Luís Filipe Félix Martins Relatório de Progresso Mestrado Integrado em Engenharia Electrotécnica e de Computadores Preparação para a Dissertação Índice Introdução... 2 Motivação... 2 Cloud Computing (Computação

Leia mais

Informática. Conceitos Básicos. Informação e Sistemas de Informação. Aula 3. Introdução aos Sistemas

Informática. Conceitos Básicos. Informação e Sistemas de Informação. Aula 3. Introdução aos Sistemas Informática Aula 3 Conceitos Básicos. Informação e Sistemas de Informação Comunicação Empresarial 2º Ano Ano lectivo 2003-2004 Introdução aos Sistemas A Teoria dos Sistemas proporciona um meio poderoso

Leia mais

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Informação no contexto administrativo Graduação em Redes de Computadores Prof. Rodrigo W. Fonseca SENAC FACULDADEDETECNOLOGIA PELOTAS >SistemasdeInformação SENAC FACULDADEDETECNOLOGIA

Leia mais

A vantagem competitiva através do desenvolvimento do e-business

A vantagem competitiva através do desenvolvimento do e-business A vantagem competitiva através do desenvolvimento do e-business Artigo original redigido por: Dien D. Phan Extraído do Information & Management, Vol.40, 2003 (pág.581-590) Introdução * E-business O seu

Leia mais

1 Serviços de Planeamento e Transformação Empresarial Os Serviços de Planeamento e Transformação Empresarial da SAP incluem:

1 Serviços de Planeamento e Transformação Empresarial Os Serviços de Planeamento e Transformação Empresarial da SAP incluem: Descrição de Serviços Serviços de Planeamento e Empresarial Os Serviços de Planeamento e Empresarial fornecem serviços de consultoria e prototipagem para facilitar a agenda do Licenciado relativa à inovação

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Tipos de SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução 2 n As organizações modernas competem entre si para satisfazer as necessidades dos seus clientes de um modo

Leia mais

PERIVER PLATAFORMA SOFTWARE REQUIREMENT SPECIFICATION. Periver_SoftwareRequirementSpecification_2008-03-31_v1.0.doc. Versão 1.0

PERIVER PLATAFORMA SOFTWARE REQUIREMENT SPECIFICATION. Periver_SoftwareRequirementSpecification_2008-03-31_v1.0.doc. Versão 1.0 PLATAFORMA Versão 1.0 31 de Março de 2008 TABELA DE REVISÕES Versão Autores Descrição da Versão Aprovadores Data António Rocha Cristina Rodrigues André Ligeiro V0.1r Dinis Monteiro Versão inicial António

Leia mais

Wide Scope. Soluções de Optimização

Wide Scope. Soluções de Optimização Wide Scope Soluções de Optimização 2 Wide Scope Scheduler sequenciamento e optimização da produção A oportunidade para passar a agir, em vez de reagir. Maximizar a capacidade produtiva dos recursos quando

Leia mais

SI Sistema de Informação Anexo 4

SI Sistema de Informação Anexo 4 onselho oordenador omo implementar? No actual quadro da dministração Pública torna-se necessário avaliar o desempenho dos serviços, o que implica, para os gestores públicos, desenvolver (os seus) sistemas

Leia mais

ITIL v3 melhora Gestão de Serviço de TI no CHVNG/Espinho

ITIL v3 melhora Gestão de Serviço de TI no CHVNG/Espinho Centro Hospitalar Vila Nova de Gaia/Espinho ITIL v3 melhora Gestão de Serviço de TI no CHVNG/Espinho Sumário País Portugal Sector Saúde Perfil do Cliente O Centro Hospitalar Vila Nova de Gaia/Espinho envolve

Leia mais

Apresentamos o KASPERSKY ENDPOINT SECURITY FOR BUSINESS

Apresentamos o KASPERSKY ENDPOINT SECURITY FOR BUSINESS Apresentamos o KASPERSKY ENDPOINT SECURITY FOR BUSINESS 1 Impulsionadores empresariais e respectivo impacto em TI AGILIDADE EFICIÊNCIA PRODUTIVIDADE Seja rápido, ágil e flexível Cortar custos Consolidar

Leia mais

NOTIFICAÇÃO DE NEGÓCIO

NOTIFICAÇÃO DE NEGÓCIO NOTIFICAÇÃO DE NEGÓCIO O Microsoft Business Solutions for Supply Chain Management Navision Business Notification ajudao a gerir a sua empresa mais facilmente e eficazmente. Pode identificar qualquer problema

Leia mais

GESTÃO. Gestão dos Processos e Operações Gestão de Sistemas e Tecnologias de Informação (dentro do capítulo 6) CLF

GESTÃO. Gestão dos Processos e Operações Gestão de Sistemas e Tecnologias de Informação (dentro do capítulo 6) CLF GESTÃO Gestão dos Processos e Operações Gestão de Sistemas e Tecnologias de Informação (dentro do capítulo 6) Informação e Decisões Gerir envolve tomar muitas e frequentes decisões Para decidir com eficácia

Leia mais

Enunciado de apresentação do projecto

Enunciado de apresentação do projecto Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 Enunciado de apresentação do projecto FEARSe Índice 1 Introdução... 2 2 Cenário de Enquadramento... 2 2.1 Requisitos funcionais...

Leia mais

Conceito. As empresas como ecossistemas de relações dinâmicas

Conceito. As empresas como ecossistemas de relações dinâmicas Conceito As empresas como ecossistemas de relações dinâmicas PÁG 02 Actualmente, face à crescente necessidade de integração dos processos de negócio, as empresas enfrentam o desafio de inovar e expandir

Leia mais

Plataforma de Gestão de Actualizações de Software Descrição do Problema

Plataforma de Gestão de Actualizações de Software Descrição do Problema Plataforma de Gestão de Actualizações de Software Descrição do Problema Pedro Miguel Barros Morgado Índice Introdução... 3 Ponto.C... 4 Descrição do Problema... 5 Bibliografia... 7 2 Introdução No mundo

Leia mais

Direcção Regional de Educação do Algarve

Direcção Regional de Educação do Algarve MÓDULO 1 Folha de Cálculo 1. Introdução à folha de cálculo 1.1. Personalização da folha de cálculo 1.2. Estrutura geral de uma folha de cálculo 1.3. O ambiente de da folha de cálculo 2. Criação de uma

Leia mais

A MOBILIDADE NAS EMPRESAS E A TRANSFORMAÇÃO DOS ERP

A MOBILIDADE NAS EMPRESAS E A TRANSFORMAÇÃO DOS ERP A MOBILIDADE NAS EMPRESAS E A TRANSFORMAÇÃO DOS ERP Conteúdos A MOBILIDADE NAS EMPRESAS E A TRANSFORMAÇÃO DOS ERP... 3 PREPARA-SE PARA UMA MAIOR MOBILIDADE... 4 O IMPACTO DOS ERP NO MOBILE... 5 CONCLUSÕES...

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

O GRUPO AITEC. Breve Apresentação

O GRUPO AITEC. Breve Apresentação O GRUPO AITEC Breve Apresentação Missão Antecipar tendências, identificando, criando e desenvolvendo empresas e ofertas criadoras de valor no mercado mundial das Tecnologias de Informação e Comunicação

Leia mais

Portal AEPQ Manual do utilizador

Portal AEPQ Manual do utilizador Pedro Gonçalves Luís Vieira Portal AEPQ Manual do utilizador Setembro 2008 Engenharia Informática - Portal AEPQ Manual do utilizador - ii - Conteúdo 1 Introdução... 1 1.1 Estrutura do manual... 3 1.2 Requisitos...

Leia mais

PHC ControlDoc CS. A gestão documental da empresa ou organização

PHC ControlDoc CS. A gestão documental da empresa ou organização PHC ControlDoc CS A gestão documental da empresa ou organização O arquivo digital de todo o tipo de ficheiros (imagens, word, excel, pdf, etc.) e a possibilidade de os relacionar com os dados existentes

Leia mais

Como elaborar um Plano de Negócios de Sucesso

Como elaborar um Plano de Negócios de Sucesso Como elaborar um Plano de Negócios de Sucesso Pedro João 28 de Abril 2011 Fundação António Cupertino de Miranda Introdução ao Plano de Negócios Modelo de Negócio Análise Financeira Estrutura do Plano de

Leia mais

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:

Leia mais

PLANEAMENTO ESTRATÉGICO DE SI/TI

PLANEAMENTO ESTRATÉGICO DE SI/TI (1) PLANEAMENTO ESTRATÉGICO DE SI/TI Docente: Turma: T15 Grupo 5 Mestre António Cardão Pito João Curinha; Rui Pratas; Susana Rosa; Tomás Cruz Tópicos (2) Planeamento Estratégico de SI/TI Evolução dos SI

Leia mais

IAPMEI EEN. KMS Knowledge Management Solution

IAPMEI EEN. KMS Knowledge Management Solution IAPMEI EEN KMS Knowledge Management Solution Praia, 1 e 2 de Dezembro de 2011 IAPMEI Instituto de Apoio às Pequenas e Médias Empresas e à Inovação http://www.iapmei.pt/ Principal instrumento das políticas

Leia mais

SUCH Serviço de Utilização Comum dos Hospitais

SUCH Serviço de Utilização Comum dos Hospitais Derechos Quem Somos O Serviço de Utilização Comum dos Hospitais é uma associação privada sem fins lucrativos, organizada e posicionada para a oferta integrada de Serviços Partilhados para o sector da Saúde.

Leia mais

SISTRADE MOBILIDADE, INOVAÇÃO & TECNOLOGIA SisTrade Sistemas de Informação Angulusridet Informática, S.A. sistrade.pt BdoisB MIS ERP 100% WEB SISTRADE - Angulusridet Informática, S.A. SISTEMAS DE INFORMAÇÃO

Leia mais

A ARTSOFT é uma empresa especializada no desenvolvimento e comercialização de soluções tecnológicas de apoio à gestão empresarial.

A ARTSOFT é uma empresa especializada no desenvolvimento e comercialização de soluções tecnológicas de apoio à gestão empresarial. POWERING BUSINESS QUEM SOMOS A ARTSOFT é uma empresa especializada no desenvolvimento e comercialização de soluções tecnológicas de apoio à gestão empresarial. Desde 1987 que desenvolvemos um trabalho

Leia mais

Programa de Universidades

Programa de Universidades University Program International Univer- sities Certified Universities Programa de Universidades 2013 Infosistema. All rights reserved. www.iflowbpm.com O que é o iflow BPM? Tabela de Conteudos O que é

Leia mais

Plataforma integrada para testes em arquitecturas orientadas a serviços

Plataforma integrada para testes em arquitecturas orientadas a serviços Plataforma integrada para testes em arquitecturas orientadas a serviços Índice Introdução... 2 A solução... 2 Plataforma Integrada (principais características)... 4 Eliminar limitações à execução de testes

Leia mais

BPM (Business Process Management)

BPM (Business Process Management) Instituto Superior de Economia e Gestão Ano lectivo 2007/2008 Cadeira de Tecnologias de Informação BPM (Business Process Management) Planeamento e Controlo de Gestão Baseados nos Processos de Negócio José

Leia mais

A certificação de Qualidade para a Reparação Automóvel.

A certificação de Qualidade para a Reparação Automóvel. A certificação de Qualidade para a Reparação Automóvel. Projecto A Oficina+ ANECRA é uma iniciativa criada em 1996, no âmbito da Padronização de Oficinas ANECRA. Este projecto visa reconhecer a qualidade

Leia mais

Nuno Fernandes Mara Ferreira & João Grilo. HR BPO Desafios nos próximos anos. 14 de Março 2012 Centro Congressos do Estoril

Nuno Fernandes Mara Ferreira & João Grilo. HR BPO Desafios nos próximos anos. 14 de Março 2012 Centro Congressos do Estoril Nuno Fernandes Mara Ferreira & João Grilo HR BPO Desafios nos próximos anos Agenda Enquadramento Serviços HR BPO Selecção de parceiros Implementação e operação do HR BPO Exemplo prático Meta4 Agenda Enquadramento

Leia mais

PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016

PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016 PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016 CURSO/CICLO DE FORMAÇÃO Técnico de Eletrotecnia e Técnico de Gestão de Equipamentos Informáticos / 2015/2018 DISCIPLINA: Tecnologias da Informação e Comunicação

Leia mais

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva da solução SAP SAP Technology SAP Afaria Objetivos Gestão da mobilidade empresarial como vantagem competitiva Simplifique a gestão de dispositivos e aplicativos Simplifique a gestão de dispositivos e aplicativos

Leia mais

RELATÓRIO DE ESPECIFICAÇÃO DE REQUISITOS

RELATÓRIO DE ESPECIFICAÇÃO DE REQUISITOS RELATÓRIO DE ESPECIFICAÇÃO DE REQUISITOS LABORATÓRIO DE GESTÃO DE PROJECTO Carlos Frias Manuel Seixas Sérgio Junior FACULDADE DE ENGENHARIA UNIVERSIDADE DO PORTO 22 Março 2013 Filipe Mota Manuel Melo Tiago

Leia mais

O FUTURO DA SUA EMPRESA PASSA POR AQUI OMNES TECNOLOGIA

O FUTURO DA SUA EMPRESA PASSA POR AQUI OMNES TECNOLOGIA O FUTURO DA SUA EMPRESA PASSA POR AQUI OMNES TECNOLOGIA Como tudo começou GIDEONI SILVA CONSULTOR BI & CRM Analista de Sistemas e Green Belt Six Sigma Experiência de 15 anos em projetos executados de Business

Leia mais

TENDÊNCIAS DE PROJECTOS DE IT EM PORTUGAL

TENDÊNCIAS DE PROJECTOS DE IT EM PORTUGAL TENDÊNCIAS DE PROJECTOS DE IT EM PORTUGAL Estudo Infosistema 4º trimestre de 2014 OBJECTIVO DO ESTUDO Objectivo: Analisar as tendências de projectos de IT em Portugal Período em análise: 4º Trimestre de

Leia mais

A solução de mobilidade que lhe permite executar e controlar, de forma eficaz, a Gestão Comercial e a Tesouraria da sua empresa, através da Internet

A solução de mobilidade que lhe permite executar e controlar, de forma eficaz, a Gestão Comercial e a Tesouraria da sua empresa, através da Internet PHC dgestão DESCRITIVO A qualquer momento e onde quer que esteja, o PHC dgestão permite introduzir e consultar clientes, fornecedores, artigos e documentos de facturação, encomendas e compras, guias de

Leia mais

PRIMAVERA INDUSTRY. Uma solução para as PME industriais

PRIMAVERA INDUSTRY. Uma solução para as PME industriais PRIMAVERA INDUSTRY Uma solução para as PME industriais PRIMAVERA INDUSTRY Uma solução para as PME industriais produtivos de modo a garantir uma maior qualidade dos produtos sujeitos a fabrico, ao menor

Leia mais

Copyright 2003, SAS Institute Inc. All rights reserved. 15. Copyright 2003, SAS Institute Inc. All rights reserved. 17

Copyright 2003, SAS Institute Inc. All rights reserved. 15. Copyright 2003, SAS Institute Inc. All rights reserved. 17 Copyright 2003, SAS Institute Inc. All rights reserved. Agenda Supplier Relationship Management Ana Rita Cunha Janeiro de 2004 Definição do conceito Problemas no relacionamento com fornecedores Como é

Leia mais

Contribuir para o desenvolvimento da região em que se inserem;

Contribuir para o desenvolvimento da região em que se inserem; SIPIE SISTEMA DE INCENTIVOS A PEQUENAS INICIATIVAS EMPRESARIAIS FICHA DE MEDIDA Apoia projectos com investimento mínimo elegível de 15.000 e a um máximo elegível de 150.000, que visem a criação ou desenvolvimento

Leia mais

O seu escritório na nuvem - basta usar o browser.

O seu escritório na nuvem - basta usar o browser. 02 O seu escritório na nuvem - basta usar o browser. As soluções tecnológicas que encontra para melhorar a colaboração na sua empresa são muito caras e complexas? Pretende tornar as suas equipas mais ágeis

Leia mais

Introdução. Confiabilidade. Conformidade. Segurança. Optimização e Disponibilidade

Introdução. Confiabilidade. Conformidade. Segurança. Optimização e Disponibilidade Introdução Desenvolvido segundo um modelo de bases de dados relacionais, podem ser realizadas personalizações à medida de cada empresa, em conformidade com o Sistema de Informação existente e diversas

Leia mais

Interface Homem Máquina para Domótica baseado em tecnologias Web

Interface Homem Máquina para Domótica baseado em tecnologias Web Interface Homem Máquina para Domótica baseado em tecnologias Web João Alexandre Oliveira Ferreira Dissertação realizada sob a orientação do Professor Doutor Mário de Sousa do Departamento de Engenharia

Leia mais

Modernização dos Sistemas de Informação do Grupo Prosegur

Modernização dos Sistemas de Informação do Grupo Prosegur Modernização dos Sistemas de Informação do Grupo Prosegur Rogério Machado Director Técnico José Monteiro Ferreira Director Informática e Telecomunicações AGENDA 1. A APR 2. APRESENTAÇÃO DO PROJECTO 3.

Leia mais

Apresentação da empresa

Apresentação da empresa Apresentação da empresa A SOFTIMPULSE é uma nova empresa de tecnologias de informática criada para dar resposta ao desenvolvimento da sua empresa. A SOFTIMPULSE integra soluções revolucionárias e tecnologicamente

Leia mais

3 ao Quadrado - Agenda Web

3 ao Quadrado - Agenda Web 3 ao Quadrado - Agenda Web Relatório de Gestão de Projectos de Software - Grupo A - LEIC 2001/2002 http://gnomo.fe.up.pt/gps01a João Montenegro - ei97023@fe.up.pt André Teixeira - ei97024@fe.up.pt Carlos

Leia mais

Versão 1.0. [08.02.2012] 2012, Portugal - Efacec Sistemas de Gestão S.A. Todos os direitos reservados. 1

Versão 1.0. [08.02.2012] 2012, Portugal - Efacec Sistemas de Gestão S.A. Todos os direitos reservados. 1 Copyright 2012 Efacec Todos os direitos reservados. Não é permitida qualquer cópia, reprodução, transmissão ou utilização deste documento sem a prévia autorização escrita da Efacec Sistemas de Gestão S.A.

Leia mais

1 Descrição sumária. Varajão, Santana, Cunha e Castro, Adopção de sistemas CRM nas grandes empresas portuguesas, Computerworld, 2011 1

1 Descrição sumária. Varajão, Santana, Cunha e Castro, Adopção de sistemas CRM nas grandes empresas portuguesas, Computerworld, 2011 1 Adopção de sistemas CRM nas grandes empresas portuguesas João Varajão 1, Daniela Santana 2, Manuela Cunha 3, Sandra Castro 4 1 Escola de Ciências e Tecnologia, Departamento de Engenharias, Universidade

Leia mais

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres.

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres. Módulo I - Introdução Aula 2 Carlos Eugênio Torres Engenheiro de Informática http://cetorres.com Faculdade Christus Sistemas de Informação 17/09/2010 Graduado em Ciência da Computação pela UFC, Brasil

Leia mais

Negócios à Sua dimensão

Negócios à Sua dimensão Negócios à Sua dimensão O seu Software de Gestão acompanha-o? O ArtSOFT pode ser a solução de gestão da sua empresa. O ArtSOFT Profissional permite o controlo total sobre a gestão da sua empresa, assegura

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite

Leia mais

SISTEMAS DEGESTÃO EMPRESARIAL

SISTEMAS DEGESTÃO EMPRESARIAL SISTEMAS DEGESTÃO EMPRESARIAL Imagine um mundo onde a sua Empresa se desenvolve facilmente, onde a cooperação entre os seus funcionários, as suas filiais e o seu ambiente de negócio é simples e em que

Leia mais

WorkinProject 8 Manual de Referência Rápida

WorkinProject 8 Manual de Referência Rápida WorkinProject 8 Manual de Referência Rápida Flagsoft, Lda 2015 Índice 1. Introdução...3 2. Integrador - Interface com o utilizador...4 3. Registo de actividade - Folha de horas...5 4. Agenda e colaboração...7

Leia mais

O projecto de sistemas de informação para as empresas de "Facility Services" e sua rede de parceiros

O projecto de sistemas de informação para as empresas de Facility Services e sua rede de parceiros PREMIVALOR O projecto de sistemas de informação para as empresas de "Facility Services" e sua rede de parceiros Rita Oliveira SEIDOR roliveira@seidor.es Telef.: +351 210 001 686 Lisboa, 6 Dezembro 2007

Leia mais

PHC Workflow CS. O controlo e a automatização de processos internos

PHC Workflow CS. O controlo e a automatização de processos internos PHC Workflow CS O controlo e a automatização de processos internos A solução que permite que um conjunto de acções a executar siga uma ordem pré-definida, de acordo com as normas da empresa, aumentando

Leia mais