Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouSilvana Alvarenga Penha Alterado mais de 7 anos atrás
1
www.mav.com.brwww.mav.com.brDaniel Colchete Desenvolvendo segurança para Internet utilizando Lua na MAV Tecnologia Lua Workshop 2009 06/10/2009
2
www.mav.com.brwww.mav.com.brDaniel Colchete A empresa Missão Desenvolver soluções que viabilizem um ambiente seguro e controlado para a Internet das empresas. Visão Desenvolver tecnologia inovadoras, tornando-se referência brasileira em soluções para segurança de Internet, até 2011.
3
www.mav.com.brwww.mav.com.brDaniel Colchete A empresa SEGURANÇA DE INTERNET Há mais de 10 anos no mercado a MAV Tecnologia desenvolve soluções para proteção, controle e rastreabilidade para empresas de diversos ramos de atuação em todo o Brasil
4
www.mav.com.brwww.mav.com.brDaniel Colchete Alguns clientes
5
www.mav.com.brwww.mav.com.brDaniel Colchete Produtos / Arquitetura Integral (C++) Antivirus DHT NLP Config. Autenticação BD MTA XMPP Criptografia SMTP HTTP Sniffer Estatística RPC Lua MAV 5.0 Sistema de papeis Central de usuários Auditoria Netview (etc...) Mail Securit y Web Securit y IM Securit y Interne t Gatew ay Supram ail
6
www.mav.com.brwww.mav.com.brDaniel Colchete Projeto Integral ● Integral é uma ferramenta programável em Lua para desenvolvimento de softwares de segurança de Internet.
7
www.mav.com.brwww.mav.com.brDaniel Colchete Por que desenvolver o Integral?
8
www.mav.com.brwww.mav.com.brDaniel Colchete Por que desenvolver o Integral? ● A arquitetura natural do Lua se casa perfeitamente com a necessidade do software flexível.
9
www.mav.com.brwww.mav.com.brDaniel Colchete Tamanho do projeto (MAV 5.0) ● Integral (C++): 121K ● MAV 5.0 (Lua): 26K ● Interface Google GWT (Java): 33K ● Total: 188K linhas de código ● “Medir o andamento de um projeto de software pelo número de linhas é como medir o desenvolvimento de um avião pelo seu peso” (Bill Gates)
10
www.mav.com.brwww.mav.com.brDaniel Colchete Por que escolhemos Lua? ● A mais rápida entre as linguagens de script disponíveis (referência: Language Shootout) ● Máquina virtual leve. ● Fácil integração com C/C++. ● Simples de programar.
11
www.mav.com.brwww.mav.com.brDaniel Colchete Por que não fazer tudo em C++? ● Lua = maior produtividade ● Lua = manutenção simplificada ● Lua = menos bugs ● Lua = ambiente de execução protegido
12
www.mav.com.brwww.mav.com.brDaniel Colchete Alguns detalhes técnicos ● Integração entre C++ e Lua feita usando o luna.h (Lua Users Wiki) ● A integração é manual, cada função de integração é escrita manualmente (Ctrl+C, Ctrl+V).
13
www.mav.com.brwww.mav.com.brDaniel Colchete Alguns detalhes técnicos ● Várias threads diferentes. Cada uma tem seu lua_State. ● Trabalhando com threads: ● DGlobalIndex ● DMutex ● Houve a necessidade de controlar melhor o Garbage Collector.
14
www.mav.com.brwww.mav.com.brDaniel Colchete Alguns detalhes técnicos ● Dois tipos de classes no projeto: ● Classes daemon, com eventos, iniciam threads. ● Classes utilitárias.
15
www.mav.com.brwww.mav.com.brDaniel Colchete O que foi possível fazer graças à essa arquitetura? ● Outra arquitetura: daemon em C++, interface de usuário em PHP/Perl/etc. ● Netview do Web Security ● Processamento correto de e-mails liberados da quarentena. ● Vale a máxima: tudo seria possível de fazer até em assembler, mas a arquitetura natural do Lua facilita as coisas.
16
www.mav.com.brwww.mav.com.brDaniel Colchete Exemplos de aplicações rápidas em Integral ● SMTP + Antivirus + Antispam: Filtro de e-mails ● RPC + Statistics + NSGA-II: otimização genética em clusters. ● DHT + MTA: servidor de e-mails em cluster com uptime de 99,999%.
17
www.mav.com.brwww.mav.com.brDaniel Colchete O que o Lua poderia ter a mais? ● Melhor integração Lua/C++/IDE. Exemplos: ● LuaEclipse ter uma base de dados das classes e métodos exportados. ● Mais automação na exportação do C++ para o Lua. ● continue
18
www.mav.com.brwww.mav.com.brDaniel Colchete Conclusão ● Lua é uma linguagem confiável, estável. ● A arquitetura do Lua gera ganhos significativos.
19
www.mav.com.brwww.mav.com.brDaniel Colchete Muito obrigado! Dúvidas? Certezas? Daniel Colchete daniel@mav.com.br http://www.mav.com.br/
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.