360 likes | 446 Views
Oktiva Vessel. Visão Geral. Visão de P&D. Pesquisa e Desenvolvimento são elementos chaves para a Oktiva. Velop 2 (1998 a 2003) Perl Oak ( 1999 a 2005) Oktiva.net (2003 a 2006) Mogno (2003 a 2004) Vessel (2003 a 2006). Redução de TCO.
E N D
Visão de P&D • Pesquisa e Desenvolvimento são elementos chaves para a Oktiva. • Velop 2 (1998 a 2003) • Perl Oak ( 1999 a 2005) • Oktiva.net (2003 a 2006) • Mogno (2003 a 2004) • Vessel (2003 a 2006)
Redução de TCO • Toda a infra-estrutura é composta por software livre ou gratuito. • Sun Java SDK • Sun Java 2 Enterprise Edition (J2EE) • JBoss J2EE Application Server • PostgreSql RDBMS • Jasper Reports • Debian GNU/Linux • Concentração do Processamento no servidor. • Otimização do uso da rede.
Oktiva Vessel • Plataforma de Desenvolvimento • Sistema de Gestão Integrada
Arquitetura • Suporte a diversas interfaces • Alta modularidade • Performance • Redução de acoplamento
Arquitetura • No servidor de aplicações • Session Façades • Módulos • Controle • Entidade • Data Access Objects
Session Façades • Responsáveis pela autenticação e autorização • Representam regras de negócio de granulação grossa • Confirmar venda, Emitir nota fiscal, Assinar contrato etc. • Acionam os módulos individuais
Módulos • Controle • Responsável pelas regras de negócio de granulação fina • Registrar Saída do Estoque, salvar dados do cliente, registrar data de assinatura do contrato etc. • Acionam as Entidades e os DAOs • Entidade • Mapeamento Entidade-Relacional, representa a informação direta. • DAO • Permite acesso otimizado à base de dados sem utilizar as Entidades
Acoplamentos • Um session façade pode depender de session façades e de módulos. • Um módulo não deve saber da existência de outros módulos.
Vessel Cliente GUI • Gerencia a autenticação fazendo a outra ponta do JAAS. • Otimiza o uso da rede, fazendo uma memória local dos elementos necessários durante a navegação. • Interface de abas e janelas proporcionando uma maior usabilidade. • Acessibilidade pelo teclado, aumentando a produtividade.
Plugins • Solução simples e versátil para reduzir o acoplamento e garantir a extensibilidade. • Qualquer parte do sistema pode ser pluginizada. • Mecanismo simples de registro e consulta, utilização do pattern Class Factory. • A Implementação de uma Interface é a única exigência para o registro de um plugin. • Este plugin pode estar acessando código de outro sistema, feito em outra linguagem.
Plugins • Exemplo de plugin: • Forma de Título • FormaTituloPlugin • FormaTituloGuiPlugin • É chamado para cada ação, possibilitando salvar dados adicionais. • Para isso a interface FormaTituloGuiPlugin define como pode ser colocado um painel de dados adicionais.
Plugins • Exemplo de implementação de plugin – Forma de Título Cheque: • Implementação de dados específicos • Nome no cheque, CPF, Banco, Agência, Conta e Número do Cheque • Implementação do controle de compensação • aberto, compensação, devolvido, reapresentado, devolvido2, liquidado • Cria entidade nova • Borderô de Depósito de Cheques • Define Interfaces novas com o usuário • Busca de Cheques, Criar Borderô, Marcar cheques como devolvidos, como liquidados
Plugins • E isso tudo ainda é um título a receber como qualquer outro.
Autorização • O sistema possui um mecanismo de gerenciamento de permissões baseado em definições de arquivos XML que mapeiam: • Funcionalidades • Dependências • Cache Services • Façades • Existe um “descriptor.xml” principal que contem as funcionalidades gerais do sistema. Mas cada plugin registrado pode definir funcionalidades novas.
Pensando no lado do Negócio • A Modelagem dos dados é uma representação da realidade, e não uma maneira de implementar uma funcionalidade. • Cada informação no sistema tem um significado no mundo real, se há necessidade de uma informação puramente de sistema, então o modelo está errado. • O financeiro é o centro, como no mundo real.
Financeiro • Contabilidade gerencial é o conceito principal da administração financeira no Vessel. • Praticamente tudo acaba se refletindo no Plano de Contas. • O sistema não amarra seu plano de contas, você configura como você quiser. • O sistema pode fazer uma série de movimentações contábeis sozinho. • Conhecimento em contabilidade gerencial é fundamental para operar bem o Vessel, mas para operar uma empresa também.
Contas à Receber e à Pagar • Os títulos à receber e à pagar são a representação de um saldo em uma das contas do plano de contas. • No Vessel é tudo título, seja à pagar ou à receber, não interessa se a cliente, a fornecedor ou recursos humano. • Com a representação do saldo, uma série de informações também são armazenadas. • Movimentos contábeis são criados em cada operação com os títulos. Contas contábeis também podem ser criadas.
Todo mundo é Pessoa • Cliente, Empresa, Fornecedor e Recurso Humano são pessoas. • Pessoa pode ter ocorrências registradas. • Eventualmente Fornecedor e Cliente são a mesma pessoa. • Contato também pode ser pessoa. • Contato poderá ser convertido em cliente. • As ocorrências ainda serão as mesmas. • Isso é pode ser um CRM (no sentido de “alguns conceitos que foram emprestados”).
Comércio de Mercadorias e Serviços • Mecanismo que concentra as operações com mercadorias e serviços em torno de “Pedido” e “Tipo de Pedido”. • A partir de um conjunto de configurações, pode-se criar praticamente qualquer tipo de operação com mercadorias e serviços. • Exemplo – Venda: • Lança o valor médio das mercadorias no estoque de origem como Custo das Mercadorias Vendidas • Lança o valor dos pedidos como Receita de Venda de Mercadorias e cria os Títulos à Receber.
Comércio de Mercadorias e Serviços • Cadastro das mercadorias • Multi-estoques, um tipo de mercadoria pode estar presente em mais de um estoque com valores médios, quantidades e endereços diferentes em cada depósito. • Cadastro dos serviços • Multi-tabelas-de-preço, uma mercadoria ou um serviço podem estar em mais de uma tabela de preços, que pode ser ativada a qualquer momento
Comércio de Mercadorias e Serviços • Plugin de confirmação de pedido permite que ações sejam disparadas após a confirmação de pedidos. • Em um pedido de transferência da matriz para a filial, quando o pedido de transferência de saída é confirmado, automaticamente o sistema cria um pedido idêntico de transferência de entrada na filial de destino. • Quando um pedido de venda de serviços é efetuado, o sistema lança no sistema de projetos a entrada dos serviços a serem realizados.
Contratos • Sistema de gerenciamento de contratos. • Completamente baseado em plugins. • Um plugin de tipo de contrato pode fazer: • Um contrato continuado de prestação de serviços pode automaticamente criar um pedido de venda a partir de um pedido-espelho, faturá-lo, emitir a nota fiscal, e preparar boletos bancários para remessa, tudo no plugin, sem criar acoplamento do sistema como um todo, permitindo uma fácil integração com outros sistemas.
Contratos • Um contrato de suporte por horas, antes do faturamento, verifica em outro sistema se o número de horas foi excedido, e se foi, gera o pedido já com o valor das horas excedidas. Tudo isso sem mexer nas funcionalidades básicas do sistema, apenas disponibilizando um plugin novo. • Contratos de trabalho são contratos, uma vez implementado o contrato CLT, é possível ter a folha gerada automaticamente. Para outros regimes de trabalho basta especializar plugins, não precisa alterar o código principal do sistema.
Relatórios • Relatórios também são plugins, é só desenhar o modelo no iReport, fazer a tela de parâmetros do relatório, se for um relatório mais complexo implementar as regras de negócio (em Java) para o preenchimento, registrar o plugin no Vessel e o relatório está disponível integrado no sistema. • Se o relatório não precisar de parâmetros nem de regras de negócio para o preenchimento, ou seja, se for apenas uma consulta SQL, só é necessário implementar o layout e registrar o plugin no Vessel.
Módulos Novos • Módulos novos podem ser disponibilizados no sistema a partir de um plugin que declare suas funcionalidades. Sendo isso feito, o plugin pode deployar façades, controles, DAOs e entidades que são independentes do resto do sistema, com pouco acoplamento, mas com muita integração.
Resumo • Oktiva Vessel é uma plataforma de desenvolvimento antes de qualquer outra coisa. • Utiliza tecnologia nova. • Segue a tendência do mercado de software que está caminhando para aplicações baseadas em componentes compostos e Web Services. • É um ERP com um conceito novo, simples. • É a plataforma ideal para integrar sistemas específicos à gestão da empresa.