160 likes | 305 Views
“ You don't design your applications to cajo , it simply drops-in!”. CAJO. Projecto Cajo. Objectivos do projecto CAJO Principais Características Características da framework “ FundationSix ” Exemplos Recursos. Objectivos do projecto cajo.
E N D
“You don't design your applications to cajo, it simply drops-in!” CAJO ISEL – DEETC – SD
Projecto Cajo • Objectivos do projecto CAJO • Principais Características • Características da framework • “FundationSix” • Exemplos • Recursos
Objectivos do projecto cajo • Oferecer uma framework gratuita que facilite a utilização de aplicações distribuídas. • Motivar a interoperabilidade entre aplicações e bibliotecas.
Principais Características • Esta framework permite que várias máquinas virtuais JAVA funcionem como uma só. • Fácil implementação de aplicações distribuídas. • Apenas necessita da plataforma JRE 1.2 ou superior.
Características da framework • Prioridades • Tem de funcionar em todos os ambientes JAVA a partir da versão 1.2. • Todas as framework Java podem tirar partido do projecto cajo.
Características da framework • Performance • O projecto cajo é uma framework pequena e eficiente. • Assenta em RMI.
Características da framework • Persistência • O principal mecanismo de armazenamento é o zebmod(ZippedandMarshalledObject). • O zebmob garante o tempo de vida dos objectos independentemente do tempo de vida da máquina virtual.
Características da framework • Expansibilidade • Estática: Migração de objectos em máquina virtuais. • Dinâmica: Os objectos podem migrar e criar novas funcionalidades através de padrões de desenho e.g. Adpater.
Características da framework • Segurança • A segurança é implementada pelo critério do programador. • A framework é compatível com vários mecanismos e/ou protocolos de segurança. E.g. SSL e cifras.
Características da framework • Simplicidade • A framework é pequena e de fácil compreensão. • Apesar de ser pequena é bastante flexível, por permitir a sua integração noutras aplicações sem compromissos da framework. William ofOckham:Pluralitas non estponenda sine necessitate.Facedwithmultiple similar options, thesimplestispreferable. (akaOckham'srazor) Leonardo da Vinci:Simplicityistheultimatesophistication
Características da framework • Flexibilidade • O projecto cajo permite a utilização de objectos remotos sem a partilha das suas interfaces no momento da compilação. • Permite desenhos de aplicações mais dinâmicos. • No caso extremo podemos desconhecer completamente o objecto e poder utiliza-lo.
Características da framework • Limitações • Como é baseado em RMI só funciona em ambientes Java.
“FoundationSix” • Existem 6 classes fundamentais, divididas em 2 packages onde assenta o projecto: • gnu.cajo.invoke • Invoke - É uma interface que ao ser implementada define como é invocado um método de um objecto. • RemoteInvoke - É uma interface sem corpo que é utilizada para verificar se o objecto é remoto ou local. • Remote – Classe com implementação, onde o principal é tornar POJO’s em objectos remotos.
“FoundationSix” • gnu.cajo.utils • ItemServer – Esta classe atribui a um objecto remoto um nome público. • Multicast– Esta classe publica objecto remoto na rede, assim como, recebe anúncios de objecto remotos. • CodebaseServer – Classe auxiliar com 2 funções principais: • Fornece a definição das classes às Máquina Virtual. • Disponibiliza uma aplicação servidor, onde mostra as definições das classes que disponibiliza.
Recursos • https://cajo.dev.java.net/ • http://wiki.java.net/bin/view/Communications/ThecajoProject • https://cajo.dev.java.net/nonav/docs/index.html?gnu/cajo/Cajo.html