Oktiva Vessel. Visão Geral Visão de P&D Pesquisa e Desenvolvimento são elementos chaves para a...

Post on 18-Apr-2015

103 views 0 download

Transcript of Oktiva Vessel. Visão Geral Visão de P&D Pesquisa e Desenvolvimento são elementos chaves para a...

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

● 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

A Plataforma Oktiva Vessel

Arquitetura

● Suporte a diversas interfaces● Alta modularidade● Performance● Redução de acoplamento

Arquitetura

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.

Vessel Cliente GUI

Vessel Cliente GUI

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

● E isso tudo ainda é um título a receber como qualquer outro.

Plugins

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.

Autorização

Sistema de Gestão Integrada Oktiva Vessel

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

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.

Obrigado pela audiência!Dúvidas?