Prot ótipo de software para gera ção de sistemas distribu...
Transcript of Prot ótipo de software para gera ção de sistemas distribu...
![Page 1: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/1.jpg)
ProtProtóótipo de software tipo de software para gerapara geraçção de ão de
sistemas distribusistemas distribuíídos dos utilizando Designutilizando Design
PatternsPatterns
Aluno: Fabiano Oss
Orientador: Everaldo A Grahl
![Page 2: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/2.jpg)
Agenda
� Introdução;
� Objetivos;
� Sistemas distribuídos;
� Design Patterns;
� XML;
� Desenvolvimento do trabalho;
� Conclusões.
![Page 3: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/3.jpg)
Introdução
• Já tive este caso antes, ou algo parecido?
• Sistemas distribuídos
![Page 4: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/4.jpg)
Objetivos
� Protótipo para geração de sistemas distribuídos;
� adptar alguns padrões para sistemas distribuídos;
� unir as tecnologias XML e CORBA
![Page 5: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/5.jpg)
Sistemas Distribuídos
![Page 6: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/6.jpg)
Introdução
� Evolução do desenvolvimento de sistemas;– monolíticos (anos 50 até 70);
– cliente/servidor (anos 80 e 90);
– sistemas distribuídos (momento atual);
![Page 7: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/7.jpg)
Arquiteturas
� Commom Object Request Broker Architecture (CORBA);
� Java Remote Method Invocation and Specification (Java/RMI);
� Distributed Component Object Model (DCOM).
![Page 8: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/8.jpg)
CORBA
![Page 9: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/9.jpg)
Requisição
![Page 10: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/10.jpg)
IDL - Interface Definition Language
![Page 11: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/11.jpg)
Exemplointerface cliente{
/* atributos */
attribute long codigo;
atribute string nome;
/*operacoes*/
long operacao1(in string nome);
};
/* herença */
interface pessoaFisica:cliente{
void operacao2(in long codigo, inout string nome);};
![Page 12: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/12.jpg)
Visibroker + Delphi 6
� Implementação do CORBA 2.3;
� compilador IDL para Pascal (idl2pas);
� units:Orbpas45.pas e Corba.pas;
� runtime: orbpas40.dll, orb_br.dll e vport.dll;
![Page 13: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/13.jpg)
Design Patterns
![Page 14: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/14.jpg)
Conceito
“Um pattern descreve um problema que ocorre várias vezes em nosso ambiente,
assim como elabora uma solução reutilizável para ele, de modo que não
necessite se preocupar novamente, com a solução do problema nas novas
implementações”
(Gamma, 1995)
![Page 15: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/15.jpg)
Evolução
� Christopher Alexander
� Ward e Kent
� Coad, Copplien, Gama, ...
� Atualmente...
� Conceito
� aplicação para software
� aplicação para software oo.
� Conferências, novos conceitos, etc.
![Page 16: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/16.jpg)
Distributed Callback
� Problema;
� aplicabilidade;
� benefícios;
� conseqüências
![Page 17: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/17.jpg)
Como funciona?
interface foo_app {
string getInfo(in string my_name, inout string
mood, out string joke);
}
![Page 18: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/18.jpg)
Resultadointerface foo_app_cb;
interface foo_app {
oneway void get_info(in string my_name,
in string mood, in foo_app_cb
my_callback);
};
interface foo_app_cb
{
oneway void callback(in string mood, in string
joke,in string return_value,
in boolean successful);
};
![Page 19: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/19.jpg)
Lock
� Problema;
� aplicabilidade;
� resumo;
� benefícios;
� conseqüências
![Page 20: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/20.jpg)
Notificação (Event Service)
� Problema;
� aplicabilidade;
� resumo;
� benefícios;
� conseqüências
![Page 21: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/21.jpg)
Factory
� Problema;
� aplicabilidade;
� resumo;
� benefícios
![Page 22: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/22.jpg)
Persistent Layer
� Problema;
� aplicabilidade;
� resumo;
� benefícios;
![Page 23: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/23.jpg)
IDL Persistent Layertypedef sequence<string> strArray;
exception ERR_CONEXAO {string descricaoErro;long codigoErro;
};
exception ERR_DB {string descricaoErro;long codigoErro;
};
interface conexao {attribute string dataBaseName;boolean login(in string driver, in string login, in string senha) raises
(ERR_CONEXAO);boolean disconecta();Object getConexao();
};interface tableManager{
void setConexao(in conexao con);string select(in string stm);string execStorageProcedure(in string nome, in strArra y parametros) raises
(ERR_DB);long insert(in strArray colName, in strArray colValue , in string tableName)
raises (ERR_DB);long insertDB(in string stm) raises (ERR_DB);long update(in strArray colName, in strArray colValue , in string tableName, in
strArray where) raises (ERR_DB);long updateDB(in string stm) raises (ERR_DB);long delete(in strArray where, in string tableName) ra ises (ERR_DB);long deleteDB(in string stm) raises (ERR_DB);string refresh(in string stm) raises (ERR_DB);
};
![Page 24: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/24.jpg)
Template
� Problema;
� aplicabilidade;
� resumo;
� benefícios;
object #classeForm: T#classeFormOldCreateOrder = FalsePageProducer = AdapterPageProducerLeft = 297Top = 188
Height = 150Width = 215
![Page 25: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/25.jpg)
Extensive Markup Language (XML)
![Page 26: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/26.jpg)
XML
� inteligência;
� adaptação;
� manutenção;
� troca de informações;
� auto-descritivos;
� portabilidade, etc.
![Page 27: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/27.jpg)
Exemplo...
![Page 28: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/28.jpg)
Desenvolvimento
![Page 29: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/29.jpg)
Use Case
![Page 30: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/30.jpg)
Package
![Page 31: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/31.jpg)
Package Dicionário
![Page 32: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/32.jpg)
Package Patterns
![Page 33: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/33.jpg)
Package Geração
![Page 34: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/34.jpg)
Diagrama Seqüência Ler Arquivo UML
![Page 35: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/35.jpg)
Diagrama Seqüência Gerar IDL
![Page 36: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/36.jpg)
Diagrama Seqüência Gerar DDL
![Page 37: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/37.jpg)
Diagrama Seqüência Gerar Business Server
![Page 38: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/38.jpg)
Diagrama Seqüência Gerar Cliente
![Page 39: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/39.jpg)
Protótipo
![Page 40: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/40.jpg)
Gerar IDL
![Page 41: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/41.jpg)
Arquitetura
![Page 42: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/42.jpg)
Gerar Business Server
![Page 43: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/43.jpg)
Gerar Cliente
![Page 44: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/44.jpg)
Aplicação
![Page 45: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/45.jpg)
Conclusão
� Sistemas distribuídos;
� Design Patterns;
� Padrões utilizados;
� Arquitetura;
� Ferramentas utilizadas
![Page 46: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/46.jpg)
Demonstração
![Page 47: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/47.jpg)
Perguntas ???
![Page 48: Prot ótipo de software para gera ção de sistemas distribu ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2001-2fabianoossap.pdf · Prot ótipo de software para gera ção de sistemas](https://reader033.fdocument.pub/reader033/viewer/2022041720/5e4dc292e5440564de2aee87/html5/thumbnails/48.jpg)
Fim!