RYSYS Overview

466 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
466
No SlideShare
0
A partir de incorporações
0
Número de incorporações
74
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

RYSYS Overview

  1. 1. Arquitetura e uso rysys connection platform
  2. 2. <ul><li>Quem somos </li></ul><ul><li>Objetivo </li></ul><ul><li>Contexto </li></ul><ul><li>J2EE Connector Architecture (JCA) </li></ul><ul><li>A plataforma rysys </li></ul><ul><li>Demo </li></ul><ul><li>Conclusão </li></ul>Agenda
  3. 3. <ul><li>Quem somos </li></ul><ul><li>Objetivo </li></ul><ul><li>Contexto </li></ul><ul><li>J2EE Connector Architecture (JCA) </li></ul><ul><li>A plataforma rysys </li></ul><ul><li>Demo </li></ul><ul><li>Conclusão </li></ul>Agenda
  4. 4. Quem somos <ul><li>Fundada em 2006 </li></ul><ul><ul><li>IntelliME Plugin </li></ul></ul><ul><li>Profissionais com larga experiência em desenvolvimento de soluções corporativas </li></ul><ul><li>Contribuição em projetos open-source e revistas especializadas </li></ul><ul><li>Atuação na criação, suporte e evolução de produtos especializados </li></ul><ul><li>Parcerias estratégicas (Microsoft, Oracle) </li></ul>
  5. 5. <ul><li>Apresentar a arquitetura, caraterísticas e benefícios do rysys e de seus principais componentes </li></ul><ul><li>Expor as diversas visões envolvidas na criação e manutenção de aplicativos baseados no rysys </li></ul>Objetivo
  6. 6. Contexto <ul><li>Integração de sistemas </li></ul><ul><ul><li>Evita conversão de código </li></ul></ul><ul><ul><li>Aproveita conhecimento existente </li></ul></ul><ul><ul><li>Reduz custos </li></ul></ul><ul><li>Requisitos importantes </li></ul><ul><ul><li>Segurança </li></ul></ul><ul><ul><li>Integridade </li></ul></ul><ul><ul><li>Performance </li></ul></ul><ul><ul><li>Robustez </li></ul></ul>
  7. 7. <ul><li>Quem somos </li></ul><ul><li>Objetivo </li></ul><ul><li>Contexto </li></ul><ul><li>J2EE Connector Architecture (JCA) </li></ul><ul><li>A plataforma rysys </li></ul><ul><li>Demo </li></ul><ul><li>Conclusão </li></ul>Agenda
  8. 8. J2EE Connector Architecture (JCA) <ul><li>Características </li></ul><ul><ul><li>Especificação para integração entre servidores de aplicação J2EE e Enterprise Information Systems (EIS) </li></ul></ul><ul><ul><li>Compatível com qualquer servidor de aplicação J2EE </li></ul></ul>X
  9. 9. J2EE Connector Architecture (JCA) <ul><li>Visão geral </li></ul>Container-Component Contract Client API (e.g. CCI) System Contracts EIS specific contracts Resource Adapter J2EE Application Component J2EE Application Server Connection Manager Transaction Manager Security Manager Enterprise Information System
  10. 10. <ul><li>Quem somos </li></ul><ul><li>Objetivo </li></ul><ul><li>Contexto </li></ul><ul><li>J2EE Connector Architecture (JCA) </li></ul><ul><li>A plataforma rysys </li></ul><ul><li>Demo </li></ul><ul><li>Conclusão </li></ul>Agenda
  11. 11. A plataforma rysys Conceitos básicos <ul><li>Plataforma de integração de sistemas baseada na especificação JCA </li></ul><ul><ul><li>Resource adapter </li></ul></ul><ul><li>Integrações disponíveis </li></ul><ul><ul><li>COM+ </li></ul></ul><ul><ul><li>Informix / Aubit 4GL </li></ul></ul><ul><ul><li>Mumps </li></ul></ul><ul><ul><li>Microfocus Cobol </li></ul></ul><ul><ul><li>RPG </li></ul></ul>
  12. 12. A plataforma rysys Características <ul><li>Algumas características </li></ul><ul><ul><li>Segurança (integração JAAS) </li></ul></ul><ul><ul><li>Comunicação síncrona </li></ul></ul><ul><ul><li>Suporte a transações (locais e XA) </li></ul></ul><ul><ul><ul><li>Commit, rollback e compensação </li></ul></ul></ul><ul><ul><li>Pool de conexões gerenciado pelo container </li></ul></ul><ul><ul><li>Monitoramento remoto (JMX) </li></ul></ul>
  13. 13. A plataforma rysys Características <ul><li>Algumas características (cont.) </li></ul><ul><ul><li>Cache para operações comuns </li></ul></ul><ul><ul><li>Emulador </li></ul></ul><ul><ul><li>API rica e com alto nível de abstração </li></ul></ul><ul><ul><li>Balanceamento de carga e alta disponibilidade </li></ul></ul><ul><ul><li>Portabilidade entre servidores J2EE </li></ul></ul><ul><ul><li>SOA (Compatível com Microsoft Biztalk e Oracle SOA Suite) </li></ul></ul>
  14. 14. A plataforma rysys Visão geral <ul><li>Integração 4GL </li></ul><ul><ul><li>2-Tier </li></ul></ul><ul><ul><li>Sessões seguras, independentes e isoladas (SSH) </li></ul></ul><ul><ul><li>Funções encapsuladas em shared libraries </li></ul></ul><ul><ul><li>Suporte a diversos tipos de dados </li></ul></ul><ul><ul><ul><li>Inteiro, Float, String, Data </li></ul></ul></ul>
  15. 15. A plataforma rysys Visão geral <ul><li>Integração 4GL – visão geral </li></ul>J2EE AS [rysys.rar] rysys-core rysys-fgl rysys-fgl-emulator rysys-monitoring 4GL Server [rysys-fgl-daemon]
  16. 16. A plataforma rysys daemon <ul><li>Integração 4GL - daemon </li></ul>solicitação resultado SSH Contexto Repositório de funções 4GL rysys-fgl-daemon Função A Função B Função C Função D rysys-fgl Função B parser seletor executor
  17. 17. A plataforma rysys ra.xml <ul><li>Descritor (ra.xml) </li></ul><ul><ul><li>Especifica todas as configurações do conector </li></ul></ul><ul><ul><li>Principais configurações </li></ul></ul><ul><ul><ul><li>Driver </li></ul></ul></ul><ul><ul><ul><li>Conexão </li></ul></ul></ul><ul><ul><ul><li>Balanceamento </li></ul></ul></ul>
  18. 18. A plataforma rysys ra.xml <ul><li><config-property> </li></ul><ul><li><config-property-name> hostname </config-property-name> </li></ul><ul><li><config-property-type> java.lang.String </config-property-type> </li></ul><ul><li><config-property-value> localhost </config-property-value> </li></ul><ul><li></config-property> </li></ul><ul><li>... </li></ul><ul><li><config-property> </li></ul><ul><li><config-property-name> username </config-property-name> </li></ul><ul><li><config-property-type> java.lang.String </config-property-type> </li></ul><ul><li><config-property-value> rysys </config-property-value> </li></ul><ul><li></config-property> </li></ul><ul><li>... </li></ul><ul><li><config-property> </li></ul><ul><li><config-property-name> password </config-property-name> </li></ul><ul><li><config-property-type> java.lang.String </config-property-type> </li></ul><ul><li><config-property-value> {DES}ReYiutX2drQ= </config-property-value> </li></ul><ul><li></config-property> </li></ul>
  19. 19. A plataforma rysys ra.xml <ul><li><config-property> </li></ul><ul><li><config-property-name> driver </config-property-name> </li></ul><ul><li><config-property-type> java.lang.String </config-property-type> </li></ul><ul><li><config-property-value> INFORMIX_FGL </config-property-value> </li></ul><ul><li></config-property> </li></ul><ul><li>... </li></ul><ul><li><config-property> </li></ul><ul><li><config-property-name> balancingStrategy </config-property-name> </li></ul><ul><li><config-property-type> java.lang.String </config-property-type> </li></ul><ul><li><config-property-value> SINGLE_SERVER </config-property-value> </li></ul><ul><li></config-property> </li></ul><ul><li>... </li></ul><ul><li><config-property> </li></ul><ul><li><config-property-name> balancingConfigFile </config-property-name> </li></ul><ul><li><config-property-type> java.lang.String </config-property-type> </li></ul><ul><li><config-property-value> servers-config.xml </config-property-value> </li></ul><ul><li></config-property> </li></ul>
  20. 20. A plataforma rysys API – conceitos básicos <ul><li>API – conceitos básicos </li></ul><ul><ul><li>Funções </li></ul></ul><ul><ul><li>Executores </li></ul></ul><ul><ul><li>Anotações </li></ul></ul>
  21. 21. A plataforma rysys API – funções <ul><li>Funções </li></ul><ul><ul><li>Abstração das funções 4GL para o Java </li></ul></ul><ul><ul><li>Parâmetros e resultados </li></ul></ul><ul><ul><li>Recuperadas através de uma Factory </li></ul></ul><ul><ul><ul><li>Quantidade de parâmetros variável ( varargs ) </li></ul></ul></ul><ul><ul><li>Function function = FunctionFactory.getFunction(EisType.FGL, </li></ul></ul><ul><ul><li>&quot;aclfgl_inserirproposta&quot;, &quot;captura.so&quot;); </li></ul></ul>Shared library Nome da função 4GL Tipo da função
  22. 22. A plataforma rysys API – executores <ul><li>Executores </li></ul><ul><ul><li>Responsáveis pela execução das funções </li></ul></ul><ul><ul><li>Desvinculam a função da sua execução, permitindo flexibilidade e reaproveitamento de código </li></ul></ul><ul><ul><li>Connection con = </li></ul></ul><ul><ul><li>ConnectionHelper.getInstance().getConnection(); </li></ul></ul><ul><ul><li>Function function = FunctionFactory.getFunction(EisType.FGL, </li></ul></ul><ul><ul><li>&quot;aclfgl_inserirproposta&quot;, &quot;captura.so&quot;); </li></ul></ul><ul><ul><li>FglAnnotatedExecutor executor = new FglAnnotatedExecutor(); </li></ul></ul><ul><ul><li>executor.execute(con, function, proposta); </li></ul></ul>
  23. 23. A plataforma rysys API – anotações <ul><li>Anotações </li></ul><ul><ul><li>Simplificam a codificação e aumentam a produtividade </li></ul></ul><ul><ul><li>Mapeiam propriedades da classe em parâmetros da função </li></ul></ul><ul><ul><ul><li>Classes de dados (DTO) anotadas com @FglDataMap </li></ul></ul></ul><ul><ul><li>Permitem especificar tipos e ordem dos parâmetros </li></ul></ul><ul><ul><ul><li>@FglDate, @FglInteger, @FglFloat, @FglText </li></ul></ul></ul><ul><ul><li>Propriedades podem armazenar dados de entrada ou saída </li></ul></ul><ul><ul><ul><li>FROM_EIS, TO_EIS, FROM_TO_EIS </li></ul></ul></ul>
  24. 24. A plataforma rysys API – anotações <ul><li>Anotações (cont.) </li></ul><ul><ul><li>@FglDataMap </li></ul></ul><ul><ul><li>public class Proposta implements Serializable { </li></ul></ul><ul><ul><li>@FglText(order=1, direction=Direction.TO_EIS) </li></ul></ul><ul><ul><li>private String nomeSegurado; </li></ul></ul><ul><ul><li>@FglText(order=2, direction=Direction.TO_EIS) </li></ul></ul><ul><ul><li>private String sobrenomeSegurado; </li></ul></ul><ul><ul><li>@FglDate(order=3, direction=Direction.TO_EIS) </li></ul></ul><ul><ul><li>private Date dataNascimento; private int situacao; </li></ul></ul><ul><ul><li>@FglInteger(order=5, direction=Direction.TO_EIS) </li></ul></ul><ul><ul><li>private Integer rendimentoMensal; </li></ul></ul><ul><ul><li>... </li></ul></ul><ul><ul><li>} </li></ul></ul>
  25. 25. A plataforma rysys Monitoramento <ul><li>Emulador </li></ul><ul><ul><li>Permite a utilização do rysys sem necessidade de EIS </li></ul></ul><ul><ul><ul><li>Diminuição de custo de infra-estrutura </li></ul></ul></ul><ul><ul><li>Reduz a complexidade de desenvolvimento e aumenta a velocidade </li></ul></ul><ul><ul><li>Funciona localmente </li></ul></ul><ul><ul><ul><li>java -jar fgl_emulator.jar [<porta>] <arquivo_config> </li></ul></ul></ul>
  26. 26. A plataforma rysys Monitoramento <ul><li>Emulador (cont.) </li></ul><ul><ul><li>Arquivo de configuração </li></ul></ul><ul><ul><li><config> </li></ul></ul><ul><ul><li><users> </li></ul></ul><ul><ul><li><user name=&quot;andre&quot; password=&quot;andre&quot;/> </li></ul></ul><ul><ul><li></users> </li></ul></ul><ul><ul><li><transactions> </li></ul></ul><ul><ul><li><transaction description=&quot;Inserir proposta&quot;> </li></ul></ul><ul><ul><li><messageToSend regex=&quot; true &quot; value=&quot;^4;aclfgl_inserirproposta;.*$&quot;/> </li></ul></ul><ul><ul><li><messageToReceive value=&quot;&quot;/> </li></ul></ul><ul><ul><li></transaction> </li></ul></ul><ul><ul><li><transaction description=&quot;Calcular prêmio&quot;> </li></ul></ul><ul><ul><li><messageToSend regex=&quot; true &quot; value=&quot;^4;aclfgl_calcularpremio;.*$&quot;/> </li></ul></ul><ul><ul><li><messageToReceive value=&quot;50.0&quot;/> </li></ul></ul><ul><ul><li></transaction> </li></ul></ul><ul><ul><li></transactions> </li></ul></ul><ul><ul><li></config> </li></ul></ul>
  27. 27. A plataforma rysys Monitoramento <ul><li>Monitoramento </li></ul><ul><ul><li>Permite monitorar o funcionamento do conector em tempo real </li></ul></ul><ul><ul><li>Fornece estatísticas de tempo e erros de execução </li></ul></ul><ul><ul><li>Mostra gargalos e pontos passíveis de melhoria </li></ul></ul><ul><ul><li>Auxilia na tomada de decisões </li></ul></ul>
  28. 28. A plataforma rysys Monitoramento <ul><li>Monitoramento (cont.) </li></ul>
  29. 29. A plataforma rysys Visões <ul><li>Visões envolvidas no uso do conector </li></ul><ul><ul><li>Desenvolvedor </li></ul></ul><ul><ul><ul><li>API, emulador </li></ul></ul></ul><ul><ul><li>Deploy </li></ul></ul><ul><ul><ul><li>Independência entre plataformas 4GL e Java </li></ul></ul></ul><ul><ul><ul><li>Alterações de uma plataforma não interferem na outra </li></ul></ul></ul><ul><ul><li>Produção </li></ul></ul><ul><ul><ul><li>Monitoramento simplificado através de JMX </li></ul></ul></ul><ul><ul><ul><li>Logs detalhados </li></ul></ul></ul>
  30. 30. A plataforma rysys Boas práticas <ul><li>Guia de boas práticas para implantação </li></ul><ul><ul><li>Igualar número de conexões J2EE (pool) e SSH </li></ul></ul><ul><ul><li>Criar funções de integração (Façade) para aumentar gerenciabilidade e reduzir acoplamento </li></ul></ul><ul><ul><li>Externalizar funções do legado em serviços </li></ul></ul><ul><ul><ul><li>Automatização através de plugins </li></ul></ul></ul><ul><ul><ul><li>Integração SOA </li></ul></ul></ul><ul><ul><li>Utilizar cache para funções recorrentes </li></ul></ul>
  31. 31. <ul><li>Quem somos </li></ul><ul><li>Objetivo </li></ul><ul><li>Contexto </li></ul><ul><li>J2EE Connector Architecture (JCA) </li></ul><ul><li>A plataforma rysys </li></ul><ul><li>Demo </li></ul><ul><li>Conclusão </li></ul>Agenda
  32. 32. Conclusão <ul><li>ROI </li></ul><ul><li>Redução de TCO </li></ul><ul><li>Suporte especializado </li></ul>
  33. 33. software for developers www.codecompany.com.br [email_address]

×