sábado, 15 de dezembro de 2012

Cloud Computing

Olá, caros colegas!  Cloud computing, computação nas nuvens ou computação em nuvem, refere-se à ideia de utilizarmos, em qualquer lugar e independente de plataforma, as mais variadas aplicações através da internet com a mesma facilidade de tê-las instaladas em nossos próprios computadores.
Com a cloud computing, muitos aplicativos, assim como arquivos e outros dados relacionados, não precisam mais estar instalados ou armazenados no computador do usuário ou em um servidor próximo. Este conteúdo passa a ficar disponível nas nuvens, isto é, na internet. Ao fornecedor da aplicação cabe todas as tarefas de desenvolvimento, armazenamento, manutenção, atualização, backup, escalonamento, etc. O usuário não precisa se preocupar com nenhum destes aspectos, apenas com acessar e utilizar.

Atualmente, a computação em nuvem é dividida em seis tipos:
  •     IaaS - Infrastructure as a Service ou Infra-estrutura como Serviço (em português): quando se utiliza uma porcentagem de um servidor, geralmente com configuração que se adeque à sua necessidade.
  •     PaaS - Plataform as a Service ou Plataforma como Serviço (em português): utilizando-se apenas uma plataforma como um banco de dados, um web-service, etc. (p.ex.: Windows Azure).
  •     DaaS - Development as a Service ou Desenvolvimento como Serviço (em português): as ferramentas de desenvolvimento tomam forma no cloud computing como ferramentas compartilhadas, ferramentas de desenvolvimento web-based e serviços baseados em mashup.
  •     SaaS - Software as a Service ou Software como Serviço (em português): uso de um software em regime de utilização web (p.ex.: Google Docs , Microsoft SharePoint Online).
  •     CaaS - Communication as a Service ou Comunicação como Serviço (em português): uso de uma solução de Comunicação Unificada hospedada em Data Center do provedor ou fabricante (p.ex.: Microsoft Lync).
  •     EaaS - Everything as a Service ou Tudo como Serviço (em português): quando se utiliza tudo, infraestrurura, plataformas, software, suporte, enfim, o que envolve T.I.C. (Tecnologia da Informação e Comunicação) como um Serviço.

Refletir: "Na oração,é melhor ter um coração sem palavras do que palavras sem um coração." (John Bunyan)

segunda-feira, 15 de outubro de 2012

Virtualização

Olá, caros colegas! Virtualização é o processo de executar vários sistemas operacionais em um único equipamento. Uma máquina virtual é um ambiente operacional completo que se comporta como se fosse um computador independente. Com a virtualização, um servidor pode manter vários sistemas operacionais em uso.

Abaixo, as formas mais comuns de Virtualização:
  •     Virtualização de Servidor. Técnica de execução de um ou mais servidores virtuais sobre um servidor físico. Permite maior densidade de utilização de recursos (hardware, espaço e etc), enquanto permite que isolamento e segurança sejam mantidos.
  •     Virtualização de Aplicação. A Virtualização de Aplicação permite executar aplicações em um ambiente virtualizado no desktop do usuário, isolando a aplicação do Sistema Operacional. Isso é possível através do encapsulamento da aplicação no ambiente virtual. Quando a solução completa de virtualização de aplicações é implantada, é possível distribuir aplicações de um servidor central.
  •     Virtualização de Desktop. Consiste na execução de multiplos Sistemas Operacionais em uma única workstation e permitindo que uma Aplicação de Linha de Negócio seja executada em um Sistema Operacional não compatível.
  •     Virtualização de Apresentação. A Virtualização de Apresentação permite executar e manter o armazenamento das aplicações em servidores centralizados, enquanto provê uma interface familiar para o usuário em sua estação.
  •     Infraestrutura de Desktop Virtual (VIrtual Desktop Infrastructure - VDI): O VDI permite que você hospede Máquinas Virtuais Cliente em uma estrutura de virtualização como Virtualização de Servidores.
  •     Virtualização de Perfil: Com a virtualização de Perfil, os usuários podem ter os documentos e perfil separados de uma máquina específica, o que permite a fácil movimentação do usuário para novas estações em caso de roubo ou quebra de equipamento. A Virtualização de Perfil também permite ter uma experiência de desktop única quando utilizando outras tecnologias de virtualização, como VDI.
Um dos componentes críticos para a implantação de um projeto de virtualização, independente da tecnologia utilizada, são as ferramentas de Gerenciamento. As ferramentas que gerenciam o ambiente Virtual devem gerenciar tanto o ambiente físico como o virtual, assim como Sistema Operacional e Aplicações.

Refletir: Eu tenho um sonho que um dia todo vale será exaltado, e todas as colinas e montanhas virão abaixo, os lugares ásperos serão aplainados e os lugares tortuosos serão endireitados e a glória do Senhor será revelada e toda a carne estará junta. (Martin Luther King)

sexta-feira, 17 de agosto de 2012

UML

Olá, caros colegas! A UML (Unified Modeling Language)é uma linguagem para especificação, documentação, visualização e desenvolvimento de sistemas orientados a objetos. Sintetiza os principais métodos existentes, sendo considerada uma das linguagens mais expressivas para modelagem de sistemas orientados a objetos. Por meio de seus diagramas é possível representar sistemas de softwares sob diversas perspectivas de visualização. Facilita a comunicação de todas as pessoas envolvidas no processo de desenvolvimento de um sistema - gerentes, coordenadores, analistas, desenvolvedores - por apresentar um vocabulário de fácil entendimento.

Para saber mais visite a página da Wikipédia sobre UML.

Refletir: "Há mais indícios seguros de autenticidade na Bíblia do que em qualquer história profana." (Isaac Newton)

terça-feira, 17 de julho de 2012

RFID

Olá, caros colegas! RFID é uma sigla de "Radio-Frequency IDentification", que em português significa Identificação por Rádio Frequência. Trata-se de um método de identificação automática através de sinais de rádio, recuperando e armazenando dados remotamente através de dispositivos denominados etiquetas RFID.
Uma etiqueta ou tag RFID é um transpondedor, pequeno objeto que pode ser colocado em uma pessoa, animal, equipamento, embalagem ou produto, dentre outros. Contém chips de silício e antenas que lhe permite responder aos sinais de rádio enviados por uma base transmissora. Além das etiquetas passivas, que respondem ao sinal enviado pela base transmissora, existem ainda as etiquetas semi-passivas e as ativas, dotadas de bateria, que lhes permite enviar o próprio sinal. São bem mais caras que do que as etiquetas passivas.
Para saber mais, leia esta matéria do site HowStuffWorks!

Refletir: "O estudo da Bíblia constitui o mais elevado Curso de pós-graduação na mais preciosa Biblioteca da experiência humana." (Herbert Hoquer)

domingo, 17 de junho de 2012

Scrum

Olá, caros colegas! Scrum é uma metodologia ágil para gestão e planejamento de projetos de software.
No Scrum, os projetos são dividos em ciclos (tipicamente mensais) chamados de Sprints. O Sprint representa um Time Box dentro do qual um conjunto de atividades deve ser executado. Metodologias ágeis de desenvolvimento de software são iterativas, ou seja, o trabalho é dividido em iterações, que são chamadas de Sprints no caso do Scrum.

As funcionalidades a serem implementadas em um projeto são mantidas em uma lista que é conhecida como Product Backlog. No início de cada Sprint, faz-se um Sprint Planning Meeting, ou seja, uma reunião de planejamento na qual o Product Owner prioriza os itens do Product Backlog e a equipe seleciona as atividades que ela será capaz de implementar durante o Sprint que se inicia. As tarefas alocadas em um Sprint são transferidas do Product Backlog para o Sprint Backlog.

A cada dia de uma Sprint, a equipe faz uma breve reunião (normalmente de manhã), chamada Daily Scrum. O objetivo é disseminar conhecimento sobre o que foi feito no dia anterior, identificar impedimentos e priorizar o trabalho do dia que se inicia.

Ao final de um Sprint, a equipe apresenta as funcionalidades implementadas em uma Sprint Review Meeting. Finalmente, faz-se uma Sprint Retrospective e a equipe parte para o planejamento do próximo Sprint. Assim reinicia-se o ciclo.

Pra saber mais sobre o SCRUM, clique aqui para ver o que diz a Wikipédia.

Reflita: ""A Bíblia não nos foi dada para aumentar nosso conhecimento, mas para mudar nossa vida."  (D. L. Moody)

terça-feira, 17 de abril de 2012

Análise de Pontos de Função

Olá, caros colegas! A análise de pontos de função é atualmente um instrumento utilizado por profissionais da área de sistemas e em empresas de todos os portes e segmentos para poder fazer estimativas e mensurar o desenvolvimento de software.
A ideia é estabelecer uma medida de tamanho, em Pontos de Função (PF), considerando a funcionalidade implementada, sob o ponto de vista do usuário. A medida é independente da linguagem de programação ou da tecnologia que será usada para implementação.
Os objetivos da Análise de Pontos de Função(APF) são:

    * medir a funcionalidade solicitada pelo usuário, antes do projeto de software, de forma a estimar seu tamanho e seu custo;

    * medir projetos de desenvolvimento e manutenção de software, independentemente da tecnologia utilizada na implementação, de forma a acompanhar sua evolução;

    * medir a funcionalidade recebida pelo usuário, após o projeto de software, de forma a verificar seu tamanho e custo, comparando-os com o que foi originalmente estimado;

As organizações podem aplicar a Análise de Pontos por Função como:

    * uma ferramenta para determinar o tamanho de pacotes de software adquiridos, através da contagem de todos os Pontos por Função incluídos no pacote;

    * uma ferramenta para apoiar a análise da qualidade e da produtividade;

    * um mecanismo para estimar custos e recursos envolvidos em projetos de desenvolvimento e manutenção de software;

    * um fator de normalização para comparação de software.

Reflita: "A Bíblia não é somente um grande livro de referências históricas, mas é também um Guia para a vida diária, e por esta razão eu a respeito e amo." (Hailé Selassié)

sábado, 17 de março de 2012

XP: Extreme Programming

Olá, caros colegas! XP é uma metodologia para desenvolvimento de software ágil, com qualidade e que atenda as necessidades do cliente. Ela é uma metodologia voltada para projetos cujos requisitos mudem com freqüência, utilizem desenvolvimento orientado a objetos, equipes enxutas e desenvolvimento incremental.

Para saber mais, veja o que a Wikipédia nos diz sobre Extreme Programming, clicando aqui.

Reflita: "A bíblia é uma janela neste mundo-prisão, através da qual nos é possível divisar a eternidade." (Timoty Dwight)