Mensagens enviadas por: black_fire
Índice dos Fóruns » Perfil de black_fire » Mensagens enviadas por black_fire
Autor Mensagem
valeu Maracuja.. vou dar uma olhada lá.
Abraço,
Fala ae galera, tudo certo?
Um grande abraço para todos da velha guarda e também para a galera que chegou depois de mim.

Estou iniciando um novo projeto, e estou meio enjoado do modelo VO, BO, DAO (não sei o nome desse padrão)
Como fiquei muito tempo trabalhando em um projeto que usa essa arquitetura, estou meio desatualizado do que tem de novo por aí.

Se houverem padrões novos, me passem por favor, apenas nomes, não precisa detalhar, com o nome consigo pesquisar.

A muito tempo o CV tinha me passado algo sobre Model Driven, alguém por aí conhece?

Um grande abraço para todos, se alguém tiver uma luz, me dá um toque.

PS: A aplicação será Swing, processando a regra de negócio centralizada em um servidor RMI ou EJB (ainda não sei qual vou usar)
Novo post incluído no blog,
.
BigDecimal para C++
http://rodrigomgsys.wordpress.com/2010/10/31/bigdecimal-para-c/
.
Abraço e obrigado a todos que estão acompanhando e comentando...
Novo post incluído no blog,
.
Detalhes da Programação - Ferramenta SQL (Parte 4 - Final)
http://rodrigomgsys.wordpress.com/2010/10/19/detalhes-da-programacao-ferramenta-sql-parte-4-final/
.
Abraço e obrigado a todos que estão acompanhando e comentando...
Novo post incluído no blog,
.
Detalhes da Programação - Ferramenta SQL (Parte 3)
http://rodrigomgsys.wordpress.com/2010/10/17/detalhes-da-programacao-ferramenta-sql-parte-3/
.
Abraço e obrigado a todos que estão acompanhando e comentando...
Novo post incluído no blog,
.
Detalhes da Programação ? Ferramenta SQL (Parte 2)
http://rodrigomgsys.wordpress.com/2010/10/14/detalhes-da-programacao-ferramenta-sql-parte-2/
.
Abraço e obrigado a todos que estão acompanhando e comentando...
Novo post incluído no blog,
.
Detalhes da Programação ? Ferramenta SQL (Parte 1)
http://rodrigomgsys.wordpress.com/2010/10/13/detalhes-da-programacao-%E2%80%93-ferramenta-sql-parte-1/
.
Abraço e obrigado a todos que estão acompanhando e comentando...
Novo post incluído no blog,
.
Primeira Aplicação - Ferramenta SQL em QT
http://rodrigomgsys.wordpress.com/2010/10/07/primeira-aplicacao-ferramenta-sql-em-qt/
.
Abraço e obrigado a todos que estão acompanhando e comentando...
laudenpower wrote:Quanto ao javax.comm concordo. É uma pena uma api daquelas ter sido deixada no esquecimento, mas o rxtx considero uma ótima opção em comparação a outras (como a giovynet por exemplo), nesse caso gostaria de saber por que você acha que o rxtx deixa a desejar?


Na verdade como disse no post anterior, não acho o problema exclusivo do RxTx, que funciona bem, o problema é a interação do Java com Lib (.so ou .dll).
Quando ocorre uma falha as libs não retornam erro para o Java, a VM simplesmente fecha.
O problema realmente não é o erro em si e sim a falta do motivo. Veja como exemplo, identificamos que no Debian, quando não há pariedade de memória (duas memórias de tamanho diferentes) eventualmente a VM fecha, quando as memórias são casadas corretamente isso não ocorre.

Em linguagens compiladas como C, C++ ou Pascal o acesso é mais natural e os tratamentos são melhores na minha opnião...
Fala galera, vamos por parte como diria nosso amigo Jack...ehehehe

khaoz wrote:Uma pequena dúvida, já que você esta desenvolvendo esse tipo de aplicativo: Qual ferramenta utilizará para relatórios ? Acredito que hoje use ireport/jasperreport. Prentende manter a dupla ou existe uma solução do nível e em c++ ?[]'s

A aplicação hoje não possui reports, pois não é permitido (legislação) ter outra impressora que não seja a fiscal (ECF) conectada na estação.
Todos os relatórios são emitidos como texto puro direto na porta serial, então não cheguei a pensar nesse ponto.
Vi em um Livro que estou lendo [C++ GUI Programming with Qt 4] que a interface print é muito simples e exporta para HTML e XML, creio que isso seja o suficiente para relatórios, mesmo os mais complexos.

ViniGodoy wrote:black_fire, você já rodou um profiler na sua aplicação para saber pq ela consome tanta memória?
Por que talvez a migração não compense o esforço extra. Ou talvez você esteja é presenciando um consumo devido à um bug, não ao Swing.

Já fizemos uma análise que reduziu 200 Mb de memória, melhorando threads, e forçando o GC em alguns pontos, entre outros.
Agora o problema é o Hibernate, sem nada rodando (fora da aplicação) ele consome 150mb dos mapeamentos, tirar o hibernate hoje é quase escrever denovo, foi então que o C++ "veio a tona" como uma possibilidade muito forte.
Realmente não há mais o que fazer a não ser mudar alguns conceitos que hoje fazem parte da aplicação.

khaoz wrote:Dado a realidade que ele apresentou, eu acreidto que a execução de um profiler e a correção de qualquer bug/memory leak encontrado, não vai fazer com que uma aplicação java/swing consuma uma quantidade de memória aceitável para determinado perfil de máquina.
Ainda não tive a oportunidade de usar um aplicativo swing que, depois de um certo tempo de uso, não estivesse com uma quantidade de memória exagerada para o tamanho e funcionalidade executada no momento.
E a realidade que se encontra em pdv's por exemplo e complicada em muitos casos.
[]'s

Pois é, fizemos um teste que foi simplesmente um absuro, dois formulários, um em Java e outro em QT. (Ambos limpos, sem nada)
Em QT o consumo ficou fixo 4Mb de memória, em Java, iniciou com 20 Mb e conforme a Janela é movida na tela chegou 30Mb, sem contar os picos de processamento.
Isso foi um tanto assustador...

ViniGodoy wrote:Onde ele apresentou a situação?
Mas realmente, fazer em C++ irá poupar bastante recursos. Só tem que tomar MUITO cuidado com as plataformas escolhidas, e também seguir direitinho os padrões, ou a aplicação não será portável.
black_fire, você precisa que ela rode em Linux também, ou só Windows?

Isso é um ponto importante, hoje temos apenas Clientes em Linux, porém tem que ser 100% portável para o windows, pois é isso que vendemos hoje.
Quando iniciar o desenvolvimento faremos como hoje, sempre testando em ambos os ambientes sempre que há desenvolvimento novo.

ViniGodoy wrote:Achei ali no blog onde ele descreve a situação.
Realmente, nem pelo Swing, mas pelo acesso direto a portas seriais e hardware, eu já desaconselharia o Java. A API javax.comm é praticamente abandonada, ainda na época da Sun (o suporte ao Windows, por exemplo, simplesmente sumiu). E a rxtx é boa, mas ainda deixa muito a desejar.
Usar C++ nesse caso é muito mais indicado. Não só vai te dar um controle maior da aplicação, como vai permitir que você rode em sistemas mais humildes.
Outra coisa, conside a possibilidade de seu PDV se comunicar via socket com um sistema de ponto de venda. Aí, somente o seu PDV fica em C++, enquanto o sistema em si continua em Java. A comunicação pode ser via socket, ou mesmo troca de arquivos (não sei como você faz isso hoje), mas não acho que valha a pena migrar as duas pontas do sistema.
Finalmente, não considero o Eclipse uma boa escolha de IDE. Ele é lento, tem pouca integração com o debugger. Se seu sistema for para Windows, sugiro que use o Visual C++. Se for multiplataforma, procure pelo Qt Develop.


Pois é, nossa retaguarda hoje é Java Web, e continuará, será apenas o ponto de venda que será migrado, pois nesse caso as máquinas são melhores e não vale o esforço com certeza.
Comunicação com Libs em geral em Java é Fod... o problema é não dar exception, sempre que há um erro, simplesmente o Java fecha do nada, imprimindo um "log de erro muito amigável".
Também achei meio complicado o debug do Eclipse, ainda não sei se será a escolha final se não tiver uma forma de melhorar o debug.

Abraço valeu pelas dicas...
Novo post incluído no blog,

Comentários Importantes, Foruns e afins?
http://rodrigomgsys.wordpress.com/2010/10/05/comentarios-importantes-forunse-afins/

Obs: Tomei a liberdade de transcrever alguns comentários para o blog,
caso alguém queria que seu comentário seja removido, favor informar que será
excluído imediatamente.
Todas as transcrições apontam para os posts originais, a intensão foi apenas
centralizar os comentários enviados.

Abraço e obrigado a todos que estão acompanhando e comentando...
Novo post incluído no blog,

Instalação Detalhada do QT - Linux e Eclipse
http://rodrigomgsys.wordpress.com/2010/10/04/instalacao-detalhada-do-qt-linux-e-eclipse/

Abraço e obrigado a todos que estão acompanhando e comentando...
entanglement wrote:Plugins? Eu aconselharia apenas segregar e encapsular a funcionalidade dependente de sistema operacional em algumas classes, não precisa complicar seu código mais ainda ao carregar plugins dinamicamente. Não é isso que vai deixar sua aplicação "portável".
Se olhar os fontes do JDK que estão em C++ vai ver que há uma boa parte comum e há algumas partes que são segregadas e diferentes. Baixe os fontes do JDK em:
http://download.java.net/jdk6/source/


Em resumo o que vocês está dizendo é ter realmente duas aplicações, algo mais ou menos assim:

- Genérico
Regras de negócios
Acesso a banco
Desenhos de telas
Tudo que puder ser igual, sem adaptações

- Aplicação Linux
Adaptações especiais para Linux usando os componentes genéricos

- Aplicação Windows
Adaptações especiais para Windos usando os componentes genéricos

Seria mais ou menos essa a idéia?
Tirando a parte genérica ter duas aplicações distintas tirando o melhor de cada Sistema Operacional?

Abraço valeu pelas dicas
entanglement wrote:Eu digo que uma aplicação desktop que tiver mais de 1 janela ou 3 controles deve usar algum toolkit.
Ou seja, quase todas.
Os casos de uso em que se necessita codificar tais aplicações na mão são muito poucos e específicos.
E use o Qt; além disso, investigue o Boost. No começo você vai apanhar bastante (aff) mas depois vai ver que é bastante fácil portar algo de Java para C++ / Boost porque os conceitos ficam bem parecidos. Vou dar um exemplo daqui a pouco.


Vou dar uma pesquisada sobre Boost.
Usar toolkit realmente é o objetivo, tentarei evitar apenas usar itens especificos de uma determinada plataforma e quando eu não tiver saída, partirei para o conceito de plugins, algo como (libserial_linux.so serial_win.dll) desta forma deixar a aplicação o mais robusta possível
lavh wrote:...vc vai migrar uma big aplicação para C++, e só tem 2 semanas de estudo de C++, ....

Hhehe, não nao, estou apenas iniciando os estudos... creio que vai uns dois meses para começar a fazer alguma coisa concreta.

Estou pensando no QT, pois sem modificação dá pra compilar no linux e no windows sem modificação além da produtividade na questão de design das telas que é bem simples.

lavh wrote: Tvz vc o caso de contratar um consultor C++

Com certeza, porém creio que a parte da linguagem dá pra ir lendo e estudando, meu conhecimento do OO é bem solido então creio que isso será simples, porém vou precisar de coisas mais avançadas como comunicação com Webservices, Comunicação Serial e nesse caso penso em chamar consultores específicos para ajudar a acelerar o processo.

Também sei que o negócio não será simples, pois é uma aplicação séria, ou seja, não dá pra fazer como trabalho de faculdade, então realmente vou ter que estar bem seguro para poder iniciar a migração.

Abraço

 
Índice dos Fóruns » Perfil de black_fire » Mensagens enviadas por black_fire
Ir para:   
Powered by JForum 2.1.8 © JForum Team