Pergunta

Sou novo em Java (mas tem um pouco de .LÍQUIDO de experiência).

Eu preciso de um aplicativo Java e executar rapidamente, então o que eu estou procurando aqui está conselhos sobre componentes que irão simplificar ou reduzir a dor de tarefas comuns e cujo pagamento será imediato ou pelo menos com o mínimo de investimento em tempo gasto na aprendizagem de como usar o componente.Eu não tenho semanas para passar lidar com a complexa ou extensa quadros - eu estou olhando para add-ins que são fáceis de usar e remover alguns dos propblems do uso de matérias-APIs.No entanto, se a API crua é a melhor opção para qualquer uma dessas tarefas, tudo bem, deixe-me saber ...

Camada De Dados Eu quero escrever fornecedores específicos para o MySQL, MSSQL, Postgres, mas de outra forma de acesso a dados é muito simples coisas.Eu provavelmente precisará de transações.O que você sugere?Não dizer, Primavera de Acesso a Dados, oferecem tudo o que vale a pena ter mais de JDBC?Outra coisa que eu preciso para pensar?Meu palpite é algo como o Hibernate vai ser um exagero e levam muito tempo para se levantar e correr com - o que você acha?

Camada Intermediária Flexível, interface baseada camada de negócios.Eu preciso ser capaz de interagir com a camada intermediária através de uma aplicação web e uma aplicação de ambiente de trabalho - o que é a melhor forma de expor este?Web service?

Aplicação De Ambiente De Trabalho O que eu sei sobre Swing - existem outros desktop simples componentes de INTERFACE do usuário?Será preciso algum tipo de agendamento de componente para executar tarefas em segundo plano.

Web App Será preciso algum tipo de cache, eu preciso de sessões de usuário, eu preciso de páginas dinâmicas.O que posso dizer JSPs são um Java equivalente do PHP ou alguma outra linguagem de script do lado do servidor (e não de apoio do estado).Um framework MVC pode ser um exagero, a menos que haja uma estrutura que é muito simples para começar a trabalhar com?.Ouvi dizer que é um Java equivalente a ASP.NET formulários da web - é de bom?Talvez JSPs será suficiente aqui?

Estou à procura de conselhos práticos / suas experiências de componentes, em vez de uma lista de links da web :)

Obrigado por qualquer conselho ..

Foi útil?

Solução

Gostaria de check-out Grails para o modelo/controller/view mecanismo e web front-end.Ele vai chegar até você e em execução rapidamente com um ORM, um modelo de dinâmica de páginas, etc.(é um RoR - Ruby-on-Rails - modelo).

A partir daí, eu ficaria no uso de Java RMI para se comunicar com um ambiente de trabalho de front-end.RMI vem como padrão com o Java e é um ajuste natural para uma Java-para-Java requisito de comunicação.Eu não iria olhar para serviços da web, a menos que você tem um multi-linguagem/plataforma de exigência.RMI é muito simples de configurar, com pouca configuração.

Sua RMI-habilitado camada de serviço terá para interceptar com o Grails-desde modelo, mas que deve ser trivial.Para reduzir a possibilidade de cliente/servidor incomaptibilities (causado por mudanças na interface), você pode servir o Java desktop através de (dizer) O Java Web Start (você terá um servidor web courtersy do Grails) e pode vir do mesmo base de código que o servidor está executando.Up-to-date implantações são mantidos como você atualizar o back-end.

Outras dicas

Appfuse é uma ferramenta que pode iniciar e pré-configurar uma variedade de projetos Java, usando as melhores práticas. O código gerado também pode ser usado para aprender por exemplo.

O AppFuse é um projeto e um aplicativo de código aberto que usa ferramentas de código aberto criadas na plataforma Java para ajudá -lo a desenvolver aplicativos da Web de maneira rápida e eficiente. Foi originalmente desenvolvido para eliminar o tempo de aceleração encontrado ao criar novos aplicativos da Web para os clientes. Na sua essência, o Appfuse é um esqueleto de projeto, semelhante ao criado pelo seu IDE quando você clica em um assistente para criar um novo projeto da Web.

  • Para o Camada de dados : JPA (Hibernate, ou outro provedor JPA)
  • Para o Camada intermediária : Spring - é extremamente poderoso e fornece muitas coisas como suporte à transação, agendamento etc. Pode ser facilmente usado junto com o Apache CXF para expor os serviços da Web.
  • Para o Aplicativo web - JSF, Spring MVC, Struts
  • Para o App de desktop - O balanço está perfeitamente ok. Tem a capacidade de processar tarefas de segundo plano. Swingx - um monte de componentes agradáveis.

O Appfuse suporta todos os itens acima.

Vou limitar minhas respostas à parte do WebApp apenas como coisas que gostaria de responder outras partes já são respondidas por outras pessoas.

Pelo que posso dizer que os JSPs são um Java equivalente a PHP

Não é totalmente verdadeiro. O JSP pode fazer mais do que isso. Ainda mais, (AB) usando os JSPs da maneira PHP (com código Java embutido como roteiros) é considerado ruim prática. O JSP deve ser usado como modelo no qual você pode controlar o fluxo de página dinamicamente usando taglibs como Jstl e acessar os dados de back -end usando Linguagem de expressão.

Ouvi dizer que há um equivalente a Java em formulários da web asp.net

É chamado Javaserver Faces (JSF). Há no entanto, a concorrência, por exemplo, Apache suportes e MVC da primavera.

- É bom? Talvez os JSPs sejam suficientes aqui?

O JSF (como qualquer outra estrutura de MVC decente) abstrava todas as coisas com as quais você precisa levar em consideração em um aplicativo MVC normal, para que você acabe com apenas um arquivo XHTML (ou JSP) e uma classe Javabean. Dessa forma, você não precisa controlar solicitações (servlets personalizados, etc), parâmetros de solicitação de processo (request.getParameter () e assim por diante), a validação/conversão básica (requisito, string/número/data de entrada de conversões), atualização Valores do modelo (Definir parâmetros processados/convertidos/validados em Javabeans), etc. A estrutura do MVC cuidará de todo esse trabalho chato de forma transparente.

Os JSPs podem ser suficientes se você precisar desenvolver por Saldo apenas algumas páginas. Mas se você deseja desenvolver mais páginas ou aplicativos web, você já gostaria de ter uma estrutura para não precisar reinventar o trabalho usual repetidamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top