quinta-feira, 2 de abril de 2009

As linhas a seguir são parte de nosso TCC, em processo de revisão, esperamos levar o entendimento e incentivar o leitor a pesquisar mais e entender a importância histórica desse manifesto.

O manifesto "Open Cloud"


Com o intituito de garantir o acesso de todos aos recursos de Computação na Nuvens e garantir que esses recursos sejam abertos, foi instituido o Cloud Computing Manifesto[About Open Cloud Manifesto], com o apoio de grandes instituições[Open Cloud Supporters] .
O objetivo do documento não é propor novos padrões e nem uma análise sobre arquitetura, mas sim propor uma discussão, ainda que cedo, sobre os princípios da computação nas nuvens livre.[Open Cloud Manifesto]

Objetivos do Manifesto
Alguns objetivos foram levantados no documento afim de mostrar o que será feito num modelo free de computação nas nuvens.

Escolhas
A escolha de modelo e arquitetura tem que ser livre e simplespara que as empresas possam se adaptar a diferentes demandas e novas parcerias. Os custos aplicados numa migração/adaptação podem ser aplicados em inovações;

Flexibilidade
Independente da arquitetura ou do vendedor do serviço de Computação na Nuvens, a nuvem livre fará com que as operações possam ser realizadas com qualquer provedor de serviço;

Velocidade e agilidade
Os recursos de software e hardware podem ser alocados de acordo com a necessidade do cliente. A computação nas Nuvens Livre deverá prever serviços ageis e rápidos mesmo com uma alocação dinâmica de recursos;

Habilidades
Uma carência que o estouro da bolha da WEB 2.0 pode trazer é a falta de profissionais habilidosos para determinadas tecnologias se estas forem fechadas, proprietárias. Sendo livre, as chances das empresas encontrarem profissionais experts aumentam.[Open Cloud Manifesto]

Objetivos presentes na comunidade de desenvolvedores SAP
Na rede de desenvolvedores SAP houve uma preocupação especial sobre o manifesto, levantada por Vishal Sikka[https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/13720]. Alguns outros objetivos foram levantados:

Portabilidade de dados e de aplicativos: Sem padrões comuns, as formas de comunicação serã limitadas por bases privadas, fazendo com que uma migração se torne cara e lenta.

Governança e gerenciamento: Com o crescimento de sistemas nas nuvens, um desafio que surgirá será relacionado ao gerenciamento e a governancia de assuntos ligados a Computação na Nuvens
.
Medição e monitoramento: Os lideres de negócios utilizarão diversos vendedores de serviços para seus objetivos, consequentemente, serviços de monitoramento de desempenho serão necessários. As empresas de serviço deverão adotar um meio comum para garantir que esses serviços aconteçam.[SAP SDN Cloud Computing WIKI].

Principios do Open Cloud

O manifesto sugere pontos chaves para garantir a sustentabilidade conforme o crescimento do modelo de negócios nas nuvens.
1 - Vendedores de serviços precisam tabalhar juntos paras para garantir que pontos importantes na adoção da computação nas nuvens estejam crescendo da colaboração e do uso dos padrões existentes;
2 - Não usar posição de mercado para "segurar" clientes em suas plataformas e limitar as suas escolhar.
3 - Sempre adotar padrões existentes. Ajuda na padronização geral e elimina custo. Qual seria o motivo de investir em padrões se alguém, ou um grupo de pessoas já investiu muito para construir um padrão aberto?;
4 - Padrões novos tem que ser analisados de forma rigída para garantir que estes realmente sejam inovadores e um passo a frente, não inibidores do avanço.
5 - Todos os esforços da comunidade devem ser direcionados para solucionar problemas do cliente. Verificações sobre os ajustes, modificações deverão ser feitas para garantir que o cliente será beneciado.
6 - Padrões, grupos de advocacia e as comunidades devem trabalhar juntos evitando divergência e conflito..[SAP SDN Cloud Computing WIKI]

Conclusão: Esperamos que muito leiam sobre este manifesto, pesquisem mais e entendam a importância histórica que foi o lançamento do mesmo.

sábado, 28 de fevereiro de 2009

Encapsulamento

Encapsulamento e polimorfismo são dois temas que costumam embrulhar a nossa cabeça no início com java... Ai embaixo uma explicação básica sobre encapsulamento para quem quiser aprender! Bons estudos!


Atributos com o modificador de acesso private só podem ser lidas pela classe que contém eles. Olhe no exemplo abaixo:

  1. class Pessoa{
  2. private String nome; //Somente a própria pessoa irá poder ler esse nome
  3. }


Isso quer dizer que se você instanciar a pessoa e tentar ler o nome diretamente, irá ser gerada uma exceção:
  1. Pessoa maria = new Pessoa();
  2. maria.nome= "Maria"; //Erro!!!


Existem modificadores de acesso para permitir o acesso direto a variável livremente ou com alguma restrição, como public, protected...

Pra que uso o private então?
Com atributos privates temos que acessar as variáveis através de métodos públicos, que permitem que o "pessoal" de fora possa acessar a variável, seja para leitura ou escrita.

E daí?
Com acesso usando métodos podemos dar mais flexibilidade ao código, mais segurança no acesso. Exemplo simples e didático:
Quero me certificar que a idade será sempre maior que 18 anos:

  1. class MaiorIdade{
  2. private int idade;

  3. public void setIdade(int pIdade){
  4. if(idade < 18){ //nesse ponto poderíamos lançar um execessão também
  5. System.out.println("Idade menor do que o permitido...");
  6. }else{
  7. this.idade = pIdade;
  8. }
  9. }
  10. }

O método GET deve ser definido para retornar o atributo na nossa classe:
  1. class Pessoa{
  2. private int idade;
  3. public int getIdade(){
  4. return this.idade;
  5. }
  6. }

SET: Do inglês configurar, atribuir, permiti você modificar um atributo de uma classe. COmo é um método, você deve receber o argumento para atribuir o valor
  1. maria = new Pessoa();
  2. maria.setNome("Maria"); //Observe que o valor foi entre os parênteses

Para definir o método você deve prever o recebimento do argumento:
  1. class Pessoa{
  2. private String nome;

  3. public void setNome(String pNome){
  4. this.nome = pNome;
  5. }
  6. }


_________________________________________

Bem de forma resumida: Você usa métodos para acessar atributos não visiveis por outras classes. Esses métodos são chamados de GET e SET. GET para ler e SET para modificar o atributo.

No eclipse é possível gerar os GET's e SET's automaticamente!! Crie a sua classe com os atributos privados e aperte sequencialmente ALT depois S e depois R e assim você ira escolher quais métodos gerar e para quais atributos!

segunda-feira, 22 de setembro de 2008

Medindo o tempo de execução de um dado algoritmo, em C

Algo muito interesante em qualquer LP é medir o tempo de execução de um dado algoritmo. Isso foi um problema que encontramos quando tivemos que medir o tempo de diversos algoritmos de ordenção(em breve uma matéria sobre isso). Como nossa matéria de estrutura de dados se baseia na linguagem C, fizemos em C...

Para medir o tempo em C você precisará de duas variáveis do tipo clock_t. Veja o código:

inicio = clock();
//Coloque qualquer coisa para medir o tempo.
fim = clock();

Para conseguir o tempo você deverá diminuir o fim do início. No entanto, esse valor estará num formato diferente de segundos, para converter você deve dividir a diferença pela variável do pacote time.h. Então o código inteiro ficaria assim:

#include
#include

int main(){
//Variáveis do tipo clock_t.
clock_t inicio, fim;
inicio = clock();
//Coloque qualquer coisa para medir o tempo.
fim = clock();
printf(“Tempo %f”, (fim - inicio) / (float)CLOCKS_PER_SEC ) ;
system(“PAUSE”);
}
Para ver o código identado use este link: http://pastebin.com/f55be30dc

Se quiser o tempo em escalas menor do que segundo, poderá fazê-lo multiplicando CLOCK_PER_SEC por 1000( milisegundos ), etc...
Espero ter ajudado.

sexta-feira, 29 de agosto de 2008

Faculdade Pública, isenção na inscrição


Pessoal,
Uma grande decepção que se encontra ao procurar uma faculdade pública é a taxa de inscrição dos vestibulares. É claro que o objetivo não é liberar a taxa de inscrição para que qualquer um possa prestar "por aventura", mas sim dar oportunidades para aqueles que sem recursos mas que se esforçaram possam entrar.
O período para pedido da isenção é de 27/08 até 10/09/2008(14:00). Um dos requisitos são ter estudado integralmente em escola pública ou bolsa em particular. Mais detalhes
aqui.
Espero ter ajudado e que muitos isentos consigam entrar(como eu)!

sexta-feira, 15 de agosto de 2008

Brevevemente - FATEC-SJC e Televisão Digital

Olá pessoal, vamos falar sobre televisão digital nesse post e como a FATEC está se preparando para a revolução nas telecomunicações!
A primeira coisa que você deve saber sobre televisão digital é que ele permite interação do usuário com os programas e é em alta definição(HDTV). Mas informções sobre televisão procure notícias relacionadas em algum site de busca(nem preciso dizer algum....).
Bem a segunda coisa que você deve ter percebido é que a televisão é composta de programas, softwares, que precisam de programação. Na Europa, Japão e EUA, eles já tem um padrão e utilizam-se de JavaTv, programação para a televisão com Java, os chamados Xlets. E ainda que eles têm o seu próprio padrão. Veja esse documento para mais informações:
Read this document on Scribd: JavaTV


Bem, nosso objetivo é falar sobre o padrão Brasileiro. Ele é baseado no Middleware
Ginga. As linguagens de programação utilizadas são NCL com script LUA (NCLua), java -> Ginga-J, que ainda não foi liberado...
E a Fatec? A fatec tem um grupo de estudos sobre televisão digital que, recentemente, concluiu um aplicativo que permite a inscrição para o vestibular através da Televisão. Isso foi uma novidade, não antes pensada e implementada. O código foi completamente baseado em tecnologia brasileira, utilizando NCLua. Ele precisa de muita refatoração, mas aqui está para os, assim como eu, loucos por programação: http://pastebin.com/m305cd942.
Pretendo, em breve, fazer um tutorial explicando tecnicamente a aplicação. A cara do nosso aplicativo está ilustrado na figura abaixo. Trata-se de um protótipo que ainda passará por muitas mudanças...


Por fim queríamos agradecer ao professor Giulliano Bertioti, que manja muito de televisão digital e vem estudando isso a tempos, nos orientou e ajudou nunca sem vontade, embora fossemos chatos pra caramba!

Alguns links úteis para quem se interessar:
Grupo televisão Digital
Comunidade Ginga
Lua
Fatec iTV

quinta-feira, 19 de junho de 2008

A poderosa Adobe

Quem conhece a Adobe sabe que ela não só mais uma empresinha que faz programinhas. Ela realmente é forte e está sempre um passo na frente em suas tecnologias sempre evoluindo!!! Seus produtos abrangem praticamente todas as áreas de atuação.
Exemplos:
- Flash revolucionou a internet com animações e possibilidade de embutir desenvolvimentos avançados nas páginas.
- O After Effects mudou a visão de muitos sobre o que se pode fazr num filme digital.
- Flex é a grande promessa para WEB, senão já estiver acontecendo uma revolução.
- Criou os documentos PDF, que são padrões até hoje.
- O DreamWeaver é uma ferramenta muito utilizada, é a melhor para desenvolvimento WEB atualmente.
- Flash LITE é uma tecnologia para aparelhos móveis, como celulares PALM’s e muito mais. Está presente em mais de 300 milhões de aparelhos.

Agora recentemente foi lançado o Flash Player 10, que permitirá aplicações em 3D com o maior realismo possível, além de uma qualidade maior nos vídeos e animações.
O Adobe AIR promete ser uma revolução na forma como usamos os computadores e vemos a internet. Isso sem contar as muitas outras tecnologias que eles mantêm em desenvolvimento!

Os programadores em ActionScript e Flex podem para de chorar por causa do preço das ferramentas de desenvolvimento. Agora com o SDK gratuito você pode desenvolver a vontade!!!

Bem, não dá para falar dessa grandiosa empresa numa simples postagem, mas quem quiser aprender mais pode visitar o site do Adobe (www.adobe.com.), e quem quiser aprender mais poder ver a parte só para desenvolvedores(www.adobe.com/devnet). Segue o link de uma site cheio de vídeo aulas explicativas sobre as mais diversas tecnologias do Adobe:

http://www.gotoandlearn.com/

Bem é só isso, é bom enfatizar a importância do Adobe para nós programadores e a todos ligados a área da informática, pois ela é muito abrangente e grande, ao lado de grandes nomes como Google e Microsoft.

terça-feira, 3 de junho de 2008

Apresentação: Modelos de Outsourcing de TI, eSCM SP e eSCM CL

Apresentação sobre estes dois interessantes frameworks para gestão de terceirização que utilizam de uma relação de boas práticas.



Mais sobre o assunto: em breve disponibilizarei o PDF contendo parte deste trabalho.