Você pode ganhar um iPad 2 na promoção do Javafree

O Portal javafree.org inicia mais uma promoção para os usuários do fórum. Quem publicar mais posts válidos (perguntas ou respostas) entre 16/4 a 13/7 levará para casa um iPad 2 de 16GB!

Clique aqui e saiba mais.
Forum Main Page > Ferramentas, APIs e Frameworks

arquiteura Framework


Goto page 1


New Topic    Reply Message


  1. serjao
    Offline
    Posts: 2

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    ola, eu sou meio novo no assunto, gostaria de saber se alguem pode colocar uma arquitetura de um framework, quero saber para que serve e como funciona, onde trabalho estamos comecandoa aprogramar com jsp para as aplicacoes aqui....sou o unico estagiario do setor e gostrai de aprender mais sobre o assunto.....


    abracos
    obrigado
    _________________
    JavaFree.org




  1. lap_junior
    Offline
    Posts: 914

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Amigo, se vc está começando é melhor vc estudar mais sobre jsp e servlets. Se vc entender bem sobre estes assuntos fica mais facil de vc pensar em arquitetura de aplicação, pq vc vai saber o que pode e não pode fazer.

    Usar frameworks ajuda muito, e existem vários para diversas finalidades, para qual vc está interessado?

    flw
    _________________
    JavaFree.org
    Blog




  1. serjao
    Offline
    Posts: 2

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    queremos usar um framework para facilitar o desenvolvimento dos sistemas, tipo uma funcao para varios programas, entende?
    _________________
    JavaFree.org




  1. lap_junior
    Offline
    Posts: 914

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Não, pode ser mais claro.
    _________________
    JavaFree.org
    Blog




  1. jgbt
    Offline
    Posts: 1206

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    cara,
    acho que vc ta confundindo o conceito de framework... da uma pesquisada sobre isso.

    []'s

    _________________
    João Bier
    JavaFree.org




  1. daltoncamargo
    Offline
    Posts: 8772

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Leia e tire suas próprias conclusões
    http://www.javafree.com.br/home/modules.php?name=TopTut


    _________________
    Sugestão de Livros

    0 -- 0 -- 0




  1. ronaldtm
    Offline
    Posts: 2299

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Existem frameworks de vários tipos, para várias funções diferentes. Entre os mais famosos, estão:

      [*:3aa89a77ae]Struts: implementação do padrão MVC para web. Auxilia no controle de navegação de aplicações web.
      [*:3aa89a77ae]Hibernate: framework de mapeamento objeto-relacional. Mapeia objetos Java para tabelas no banco, gerando todo o SQL necessário para consulta e atualização.


    A base do conceito de frameworks e sua característica principal é a inversão de controle, também chamado de 'princípio de Hollywood': "don't call us, we call you".

    Um framework é formado por um conjunto de classes abstratas e interfaces, que definem um esqueleto básico, contendo a lógica fundamental (fluxo/loop principal, por exemplo) da aplicação/subsistema. Seu código, específico à aplicação, é 'plugado' ao framework, sendo chamado em eventos pré-determinados (provavelmente configuráveis) do framework.

    Geralmente, um framework é acompanhado de uma biblioteca de classes, que contém implementações padrão das classes abstratas e interfaces, além de outras classes que facilitem o uso do framework 'out-of-the-box'.

    Frameworks visam reúso, tentando minimizar o código escrito pelo programador de aplicação, para que este represente apenas o código específico.

    Se a sua intenção é criar um framework, vá aos poucos, criando componentes reusáveis. Um framework se adapta melhor à realidade se for desenvolvido a partir de sistemas reais, ao invés de 'inventado' do nada.

    Mas se o que você quer é aprender a usá-los, dê uma olhada na seção de tutoriais que o dalton ('aspirante') indicou no post passado. Lá tem bastante coisa interessante

    Tetsuo
    _________________
    In fact, people who study design methods without also practicing design are almost always frustrated designers who have no sap in them, who have lost, or never had, the urge to shape things. Such a person will never be able to say anything sensible about "how" to shape things either. (Christopher Alexander)




  1. rafamvc
    Offline
    Posts: 8

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    ronaldtm:

    A base do conceito de frameworks e sua característica principal é a inversão de controle, também chamado de 'princípio de Hollywood': "don't call us, we call you".



    Isso ai é a base dos frameworks com IoC não? Nem todos os frameworks são assim.

    O Struts e o Hibernate. não são assim.

    Framework é um monte de coisa pronta, que é igual pra muitas aplicações, e vai ser reutiilizado para agilizar a construção do software. Tipo estrutura pré-montada de construção. Facilita e agiliza a construção, porque eles produzem todas as coisas mais "dificeis" de fazer pra vc.

    Pô, mas dá uma explicada nesses dois frameworks ai!

    O Struts serve para facilitar a aplicação do modelo MVC.
    Procurando por MVC? é um ótimo inicio
    http://www.javafree.com.br/forum/viewtopic.php?t=8905

    Hibernate é um framework de mapeamento objeto-relacional.
    Que blablablá é esse?
    É um framework que ajuda a programar totalemente orientado objeto e continuar usando banco de dados relacional.




  1. fabio_patricio
    Offline
    Posts: 1509

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    rafamvc:
    ronaldtm:

    A base do conceito de frameworks e sua característica principal é a inversão de controle, também chamado de 'princípio de Hollywood': "don't call us, we call you".



    Isso ai é a base dos frameworks com IoC não? Nem todos os frameworks são assim.

    O Struts e o Hibernate. não são assim.



    Imagino que o Ronald nao estava se referindo ao pattern IoC. Mas sim quando ele diz "inversao de controle" é que o Framework passa a regrar todo o desenvolvimento da aplicação. É conforme as convenções dele, interfaces e classes abstratas que temos que seguir. Se isso não for feito nao é possivel usa-los. E no momento que acontece isso, a uma "inversão de controle" no desenvolvimento da aplicação.



    rafamvc:
    Framework é um monte de coisa pronta, que é igual pra muitas aplicações, e vai ser reutiilizado para agilizar a construção do software. Tipo estrutura pré-montada de construção. Facilita e agiliza a construção, porque eles produzem todas as coisas mais "dificeis" de fazer pra vc.



    Sim, um framework é um monte de coisa pronta, até porque como já disse o Ronald a maioria vem com uma implementação padrão, mas todos (pelo menos os mais descentes) são baseados em interfaces e classes abstratas que formam o "esqueleto" ou arquitetura das aplicacoes ou componentes que serao desenvolvidos por eles.
    Note, um framework dificilmente atende a todos requisitos de uma aplicacao, normalmente usamos varios em conjunto para formar uma boa arquitetura para o sistema que será desenvolvido.
    Por exemplo, para um sistema web com acesso a banco de dados podemos usar.

    Para controller MVC: Struts, WebWork, VRaptor.
    Para Camada de Visao: Velocity, JSP, Freemaker, JSF.
    Para Mapeamento O/R : Hibernate, OJB, Torque, etc.

    Ainda podem ser usados outros frameworks que implementam outras partes do sistema, como fremeworks para DI, para autenticacao, etc.

    rafamvc:
    Pô, mas dá uma explicada nesses dois frameworks ai!

    O Struts serve para facilitar a aplicação do modelo MVC.
    Procurando por MVC? é um ótimo inicio
    http://www.javafree.com.br/forum/viewtopic.php?t=8905

    Hibernate é um framework de mapeamento objeto-relacional.
    Que blablablá é esse?
    É um framework que ajuda a programar totalemente orientado objeto e continuar usando banco de dados relacional.



    Da uma procurada por eles no forum, já debatemos aqui assuntos dos mais variados sobre eles. Se depois persistirem duvidas posta que a galera esclarece tudo.

    ]['s
    _________________
    JavaFree.org




  1. paulohbmetal
    Offline
    Posts: 290

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    serjao:
    ola, eu sou meio novo no assunto, gostaria de saber se alguem pode colocar uma arquitetura de um framework, quero saber para que serve e como funciona, onde trabalho estamos comecandoa aprogramar com jsp para as aplicacoes aqui....sou o unico estagiario do setor e gostrai de aprender mais sobre o assunto.....


    abracos
    obrigado



    Primeiro olhe aqui, depois especifique melhor a dúvida.

    A Paz!!
    _________________
    Paulo Henrique Borges de Melo
    JavaMetal - GoJava - GUJ - Ubuntu Linux - Rising Cross
    Sun Certified Java Programmer
    Bacharel em Ciência da Computação
    Especialista em Análise e Projetos de Sistemas de Informação
    _____________________________
    "Que a cruz sagrada seja minha luz!!"




  1. ronaldtm
    Offline
    Posts: 2299

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    rafamvc:
    ronaldtm:

    A base do conceito de frameworks e sua característica principal é a inversão de controle, também chamado de 'princípio de Hollywood': "don't call us, we call you".



    Isso ai é a base dos frameworks com IoC não? Nem todos os frameworks são assim.

    O Struts e o Hibernate. não são assim.



    Como o fabio falou, eu não estava falando especificamente de IoC usado como 'marketing' dos containers lightweight (que foi redefinido como Dependency Injection, pelo Martin Fowler), mas sim de um princípio básico de todo framework.

    O que eu quero dizer com isso? Vamos dar um exemplo:

    Usando o Struts, o que você codifica? Actions e FormBeans. Mas como as requisições HTTP, recebidos pelo container Servlet, chegam às suas actions? Através do controller, provida pelo Struts. Isto é, suas Actions são chamadas pelo framework, diferentemente de bibliotecas, onde o seu código chama as funções que você precisa. Esta é a inversão de controle, o fluxo principal (configuração, recepção da requisição e escolha da ação apropriada) foi implementado pelo Struts, você apenas implementou as classes abstratas que ele define para poder 'plugar' a sua funcionalidade ao framework.

    No caso do Hibernate, você pode dizer que nós o chamamos para fazer as queries, por isso ele não usa inversão de controle. Porém, preste atenção: você codifica os beans que vão ser mapeados, e faz os mapeamentos para as tabelas. Depois, você usa o Hibernate para instanciar os beans e carregá-los com os dados do banco, ele lê suas configurações e faz as ligações necessárias entre os beans e as tabelas. Você o chama, mas ele também chama suas classes, e o fluxo principal da lógica de persistência é determinada por ele, obedecendo às configurações feitas.

    A inversão de controle também está presente nos toolkits de interface gráfica, onde eles controlam o loop principal da aplicação, e você apenas pluga os tratamentos dos eventos específicos à sua aplicação. Um outro caso seria a de callbacks. Por exemplo, no Jakarta Commons-DBUtils, para você fazer uma query, você usa o método QueryRunner.query(String, ResultSetHandler). A classe QueryRunner é quem implementa toda a lógica de obtenção da conexão de um datasource, PreparedStatement, ResultSet e fechamento dos três, delegando ao objeto ResultSetHandler, que você implementa e passa como parâmetro, apenas a lógica específica para ler o ResultSet.

    A 'inversão de controle' dos 'containers IoC' é apenas uma utilização do princípio, que seria a de instanciar os objetos e resolver as dependências entre eles. E foi por que o termo 'inversão de controle' engloba muito mais que isso, que o Fowler, junto com os criadores de vários destes containers, definiu o padrão Dependency Injection (DI), para este uso específico.

    rafamvc:
    Framework é um monte de coisa pronta, que é igual pra muitas aplicações, e vai ser reutiilizado para agilizar a construção do software. Tipo estrutura pré-montada de construção. Facilita e agiliza a construção, porque eles produzem todas as coisas mais "dificeis" de fazer pra vc.



    Bem, isso pode até ser um detalhe acadêmico, mas frameworks definem o esqueleto abstrato, as implementações padrão são apenas facilidades para que possamos usar o framework sem ter que implementar tudo. Tanto que geralmente (quando o framework é bem projetado, pelo menos) você pode substituir estes componentes com suas próprias implementações, bastando implementar algumas interfaces ou classes abstratas, isto é, eles não são 'estritamente necessários' ao framework, mas sim implementações convenientes.

    Tetsuo
    _________________
    In fact, people who study design methods without also practicing design are almost always frustrated designers who have no sap in them, who have lost, or never had, the urge to shape things. Such a person will never be able to say anything sensible about "how" to shape things either. (Christopher Alexander)




  1. mbjunior
    Offline
    Posts: 319

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Só pra enriquecer mais esse conceito de Framework:


      Exitem ainda tipos de Frameworks:
      Verticais
      Horizontais


    Bem,
    Frameworks verticais são confeccionados através da experiencia obtida em um determinado contexto específico. Esses são mais comumente chamados de Frameworks especialistas.

    Um exemplo é vc ter trabalhado em vários projetos para gerenciamento de farmácias (que tema hein!!!)...
    Após alguns projetos neste ramo vc certamente notará pontos semelhantes entre estes projetos.

    E são nestes pontos que será construido um Framework vertical(especialista) para gerenciamento de farmácias.

    Onde seus proximos projetos seram confeccionados com maior rapidez e escalabilidade. onde só teram "ganchos" - Conceito abordado pelo ronald - para customizações por parte de seus novos projetos.

    Um Framework Horizontal seria mais abrangente...
    Mas este ainda estaria em determinado contexto.

    Struts é um exemplo de Framework Horizontal, pois ele é determinado a um contexto vasto, projetos WEB.
    Um outro Framework seria a API JDBC que é um para camada de persistencia

    Em qualquer projeto de qualquer natureza se eu precisar de persistencia poderei usar JDBC, Hibernate e por ai vai...

    O mesmo serve para o Struts, WebWork.

    Poderia usar em conjunto Frameworks verticais e Horizontais colaborando entre si.

    Poderia ter um projeto de gerenciamento de farmácias via WEB!!!
    legal hein!



    _________________
    JavaFree.org




  1. rafamvc
    Offline
    Posts: 8

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    mbjunior:

    Poderia ter um projeto de gerenciamento de farmácias via WEB!!!
    legal hein!



    Pois é cara! Tem vários frameworks verticais que seriam hiperlegais de serem criados e não existem em java....
    Se existem eu não sei. Outro dia eu tava procurando um framework de comercio eletronico e não achei nenhum! Você conhece algum?




  1. Felt
    Offline
    Posts: 62

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    acrescentando uma informaçãozinha hehehe

    a minha definição de framework (bem simplista, estilo klaus prevayler ahuehua) é:

    "um framework é uma aplicação incompleta"

    os termos hotspots e frozenspots,, oq sao?

    hotspots sao as partes que o usuario do framework deve implementar (o action do struts por ex)

    frozenspot e o codigo que ja esta pronto (o servlet do struts)

    outras palavras que eu nao li nos textos

    black box
    white box
    glass box

    sao classificações de tipos de frameworks
    um aberto, um fechado e um com um pouco dos 2 (BEM resumidamente hehehe)




  1. mbjunior
    Offline
    Posts: 319

    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Felt:

    black box
    white box
    glass box


    Bem lembrado Felt
    _________________
    JavaFree.org




  1. Relacionados





New Topic    Reply Message     Forum Main Page -> Ferramentas, APIs e Frameworks


Goto page 1