Desenvolvimento de Software Baseado em Componentes

5 respostas
D

Estudando sobre Desenvolvimento de Software Baseado em Componentes, descobri que Java oferece suporte a esta tecnologia através de Javabeans.

Pesquisando, descobri que é necessário a utilização do BDK (JavaBeans Development Kit) para o desenvolvimento de JavaBeans, apesar de que aqui no fórum é falado que para construir um JavaBean, basta seguir alguns padrões, tornar a classe serializável e empacotar em um JAR.

Minhas dúvidas são:

1 - Este negócio de utilizar o BDK, atráves do BeanBox é coisa do passado?
Acessei o site da Sun (http://java.sun.com/products/javabeans/software/index.html) e vi que a versão do BDK é de 1999.
Aqui no fórum não vejo falar muito sobre este BDK.

2 - Existe alguma ferramenta de desenvolvimento que utilize os conceitos de desenvolvimento no estilo clicar e arrastar, onde colocamos os componentes em uma área e fazer a ligação entre os eventos destes componentes, sem escrever uma linha de código, e ao final temos uma aplicação funcionando?

3 - No mesmo link acima é falado sobre um tal de Bean Builder, de 2002. É a evolução do BDK?

Os dois livros que tenho acesso e estou utilizando como referência são:

Java Como Programar, 3a edição, em Português, 2000; e
Java 2 Para Programadores Profissionais - A Solução Definitiva, 1999 de Michael Morgan

[]'s

5 Respostas

Leandro_BSB

Pode-se dizer que JavaBeans é um sub-tópico de JSP. Para utilizar JavaBeans basta incluir a tag <jsp:useBean id = “algumID” class = “classe”> na sua página JSP. Dê uma olhada em JSP para maiores detalhes.

E

Sobre suas duvidas:

[color=“blue”]1 - Este negócio de utilizar o BDK, atráves do BeanBox é coisa do passado?
Acessei o site da Sun (http://java.sun.com/products/javabeans/software/index.html) e vi que a versão do BDK é de 1999.
Aqui no fórum não vejo falar muito sobre este BDK.
[/color]

Existem muitas tecnologias em Java que leva o nome de Java Beans, como os Enterprise Java Beans, que involucra um monte de tecnologias. Contudo os Java Beans normais que eu conheco, podem ser utilizados em diferentes tipos de aplicacoes e sao classes comuns. Elas possuem geralmente atributos e metodos do tipo, getAtributo() e setAtributo(TipoAtributo atributo). De forma geral so tem um construtor vazio.

Como um exemplo vale mais que mil palavras ai vai um:


package com.pintotek.cheques.model;

public class BancoVO {

private Integer id;

private String nome;
public BancoVO(){}

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

}

Essa tecnologia facilita muito o acesso aos atributos atraves de reflexao, tambem da muita seguranca porque como os atributos sao privados so podem ser acessados atraves de seus metodos.
Se estou errado alguem que alguem me corrija por favor.

[color=“blue”]2 - Existe alguma ferramenta de desenvolvimento que utilize os conceitos de desenvolvimento no estilo clicar e arrastar, onde colocamos os componentes em uma área e fazer a ligação entre os eventos destes componentes, sem escrever uma linha de código, e ao final temos uma aplicação funcionando?[/color]

Existem varias, agora se voce quer algo a estilo Visual ou Delph o JBuilder é muito bom, so nao sei se vc vai gostar do preco. Contudo existem outras opcoes. O Eclipse, por exemplo, tem plugins que faz esse tipo de coisas, eu nao sei muito sobre isso porque nao me dedico a esse tipo de programacao.

[color=“blue”]3 - No mesmo link acima é falado sobre um tal de Bean Builder, de 2002. É a evolução do BDK?[/color]
No link que vc passou tem a seguinte informacao:

“JavaBeans architecture provides open-door migration from current ActiveX-based solutions into products meeting the 100% Pure Java certification standards with the JavaBeans architecture Bridge for ActiveX.”

Pelo que eu entendi essa tecnologia é um Bridge para ActiveX. Creio que esta bem claro ai.

Agora sobre componentes, Java é uma linguagem OO e a definicao de componentes é muito abstrata. Nao significa que sao puramente visuais, te aconselho a buscar a definicao de Frameworks, componentes, Padroes, etc. Sao temas bastante ligados.

Aproveito pra dizer ao Leandro que sua resposta ainda que tenha certa logica carece de fundamento porque na verdade o que voce descreve sao certas etiquetas de JSP que facilitam o acesso a esse tipo de objetos (Java Beans), quer dizer nao sao un subtopico dos JSPs, de fato podem existir sem JSPs e podem ser utilizados por otras tecnologias.

A vantagem dos Java Beans como no exemplo que eu mostrei, relacionado ao que Leandro falou, é que facilita o acesso aos atributos dos beans, sem a necesidade de usar scriplets.

Espero ter ajudado.

Daniel_Quirino_Olive

Javabeans não são meros VOs. Além das propriedades (atributos privados acessíveis através de métodos getXXX()/setXXX()), beans também devem suportar eventos, introspecção, persistência, …
Para não deixar esta mensagem muito longa, recomendo a leitura deste texto.

P.S.: A vovó já dizia: lembre-se de sempre sobreescrever os métodos equals e hashCode em seus VOs e Beans :slight_smile:

Luca

Olá

Elion, bela resposta, seja bem vindo ao GUJ. Sua resposta foi tão boa que é uma pena que o código não esteja identado. Para fazer isto dê uma olhada na minha resposta sobre identação de código em http://www.guj.com.br/forum/viewtopic.php?t=15406

[]s
Luca

pcalcado

Java oferece facildiades para desenvolvimento de componentes. Componentes são peças de sofwtare altamente reutílizáveis. Não necessariamente um componente é algo visual, isto é como pensar que OO só serve para construir interfaces.

O melhor livro que conheço sobre componentes é o UML Components, que ensina uma metodologia prática apra seu desenvolvimento, e dá exemplos [um pouco defasados] em COM+ e EJB.

Um outro excelente livro com um capítulo sobre componentes é o Fundamentals of Object-Oriented Design in UML, do guru Meilir Page-Jones. Este livro vale para todo mundo que trabalha com objetos…

[]s

Criado 5 de setembro de 2004
Ultima resposta 6 de set. de 2004
Respostas 5
Participantes 6