Arquivos da categoria ‘Microsoft’

O que é o MVC - Model View Controller

Postado por: Tiago Lemos em 10th jul, 2009 | Categoria: ASP.NET, MVC, Microsoft, PHP

Há certo tempo recebi dois e-mails sobre com alguns questionamentos sobre MVC, que hoje em dia tem sido muito falado por todos (principalmente pelo programadores de .NET). O objetivo deste post é tentar esclarecer o que é o Design Patterns (Padrões de Projeto) MVC.

Bom, MVC significa Model, View e Controller. A ideia básica do MVC é de separar a lógica de negócio da apresentação (muito semelhante ao modelo de 3 Camadas. Bom, posso estar enganado e se estiver por favor comentem pois este é o objetivo). Vamos entender o que significa própriamente cada uma da letras.

M (Model)

Esta “camada” representa os dados da aplicação e as regras de negócio do acesso e modificação desses dados. Ela é quem fornece ao controlador a capacidade de acessar as funcionalidades da aplicação(Insert, Update, Delete).

Ultimamente tenho lido alguns forúns (alguns bem antigos por sinal) e percebi uma certa discussão sobre o que deve ficar no Model. Alguns dizem que a regra de negócio deve ficar no Model, mas eu particularmente acho bem mais interessante deixar o Model como sendo a DAL. Uma “camada” onde são tratadas as ações de Insert, Update, Delete e Select.

V (View)

As Views servem apenas para exibir as informações. São elas que renderizam o conteúdo de uma parte particular do modelo e encaminha para o controlador as ações do usuário. A View também acessa os dados do modelo através do controlador (Controller) e determina como esses dados devem ser apresentados.

Bom, comparando ainda com o modelo 3-tier (3 Camadas) essa seria a Interface.

C (Controller)

O controller define o comportamento da aplicação, é ele que interpreta as ações do usuário (View) e as mapeia para chamadas do modelo (Model).

Aqui sim ficaria a regra de negócio do nosso projeto. Grande partes dos post que li, tem colocado o controller como uma “gatilho” que serve apenas para disparar e identificar quais ações devem ser executadas no Model, mas para mim o Controller seria nossa BLL do modelo 3-tier.

Bom, é claro que esse é meu ponto de visto sobre como se pode utilizar este modelo.

Aqui estou apresentando uma imagem baseada em um modelo que realmente não me lembro onde vi. Ela mostra como são realizadas as requisições:

1 - O usuário realiza uma requisição de uma View (página web) ao Controller. Ex: Preenchimento do formulário de cadastro.

2 - O Controller recupera todas as informações da View e solicita uma ação (Insert por exemplo) para o Model. O Model processa a ação (grava em banco de dados) e devolve o resultado deste processamento para o Controller.

3 - O Controller processa o resultado e devolve para View o que ela deve exibir.

4 - A View recebe o que foi processado pelo Controller e exibe o resultado para o usuário. (Enteda a View como a página exibida) Ex: Imaginando um cadastro que foi realizado com sucesso, o retorno pode ser uma Mensagem de Sucesso.

Em resumo o modelo MVC é muito usado em aplicações para  Web, onde a View é a página  HTML, o controller é quem gera os dados dinâmicos para dentro da View (HTML) e o Model é representado pelo manutenção dos dados, ou seja, armazenagem em BD ou outros tipos de arquivos.

Bom, espero que com este post eu possa ter esclarecido um pouco como funciona esse Design Pattern. A idéia é simples mas pode confundir um pouco, mas nada uma boa leitura não ajude.

Em breve tem mais.

Bing vs Google

Postado por: Tiago Lemos em 29th mai, 2009 | Categoria: Microsoft, Tecnologia

Sim, essa é a nova cartada da Microsoft para tentar incomodar o Google. Segunda a própria Microsoft, o Bing não é mais um “buscador de informações” no mercado, ele será um “Mecanismo de decisões”.

A idéia é realizar buscas e a partir dos resultados de buscas você poderá filtrar cada vez mais seus resultados. Imagine a busca por bares e a partir da lista de site com bares você poderá escolher pelos mais baratos, ou os que possuem música ao vivo e assim por diante. Veja abaixo a cara e as funcionalidades do Bing.

Espero que tenham gostado. Em breve tem mais.

Windows 7 RC Download

Postado por: Tiago Lemos em 6th mai, 2009 | Categoria: Microsoft, Tecnologia

A Microsoft liberou a versão RC do Windows 7, que mesmo em versão Beta e com muitos bugs agradou a vários usuários. Nesta nova versão vários bugs foram corrigidos mas ainda assim existem falhas.

A versão RC está disponível nos idiomas inglês, alemão, japonês, francês e espanhol e ela irá funcionar até o dia primeiro de junho de 2010, mas a partir do dia 1º de março de 2010, o seu computador irá começar a desligar a cada 2 horas.

Configurção Mínina do PC

Para rodar o Windows 7 RC você precisará da seguinte configuração no PC:

- Processador de 1GHz de 32 ou 64 bits (lembrando que esta versão existe para 32 e 64 bits)
- 1GB de memória Ram ou mais (quanto mais melhor rsrs)
- 16 GB de espaço disponível em disco
- Suporte a elementos gráficos DirectX 9 com 128 MB de memória (para habilitar o tema Aero)

Clique aqui e baixe o Windows 7 RC e divirta-se.

Veja abaixo o que tem de novo nesta nova versão.

Espero que tenham gostado.

Entendendo um pouco mais do Windows Azure

Postado por: Tiago Lemos em 14th abr, 2009 | Categoria: Diversos, Microsoft, Tecnologia

Há tempos atrás escrevi dois artigos:

- Antes do Azure, entenda o que é Cloud Computing

- PDC 2008: é anunciado o Microsoft Azure

Eles buscavam deixar um pouco mais claro o que é Cloud Computing e sobre o Windows Azure (este foi bem basico). Veja aqui um vídeo explicando um pouco melhor do que é o Windows Azure.

Espero que vocês aproveitem esse vídeo, que eu particularmente gostei. Ah, esse vídeo necessita de Microsoft Silverlight para rodar.


Get Microsoft Silverlight

Espero que tenham gostado. Em brebe tem mais.

Esse vale a pena compartilhar: Patterns e Practices lança versão Beta 1 Release do Application Architecture Guide v2.0

Postado por: Tiago Lemos em 6th nov, 2008 | Categoria: ASP.NET, Microsoft

A Microsoft Patterns e Practices liberou a versão Beta 1 do Application Architecture Guide 2.0 que fornece orientação a nível de design para a arquitetura e design de aplicações desenvolvidas com base no Framework .NET.

Essa versão beta está dividida em 5 partes, sendo que estas partes possuem ao todo 24 capítulos:

Partes

Parte I: Fundamentals of Application Architecture;
Parte II: Design;
Parte III: Layers;
Parte IV: Quality Attributes;
Parte V: Archetypes - Design and Patterns;

Pra quem gosta do assunto e está interessado em fazer o download do livro segue o link. Eu particularmente ainda não tive tempo de ler, mas assim que possível irei ler.

Espero que tenham gostado.

PDC 2008: é anunciado o Microsoft Azure

Postado por: Tiago Lemos em 4th nov, 2008 | Categoria: Microsoft, Tecnologia

No dia 27 de outubro, durante o PDC 2008 foi anunciado o Microsoft Azure. O Azure será a versão de cloud computing (se você não sabe o que é cloud computing clique aqui) do sistema operacional da Microsoft que permitirá os desenvolvedores criarem e hospedarem serviços usando a infra-estrutura da Microsoft.

A idéia do Azure é permitir que aplicações possam rodar parcialmente conectadas, com serviços que estarão disponíveis online, podendo também utilizar tarefas do próprio desktop.

Ele será totalmente compatível com aplicações em .NET e no futuro podendo ser utilizado usando Ruby, Eclipse, PHP e Python.

Para quem está interessado em aprender como desenvolver em Java, Ruby, Python e .NET, já pode pegar o Software Development Toolkits (Azure SDKs) e começar a se divertir. Confesso que ainda não tive tempo para estudar, mas devo entrar nessa nova onda o quanto antes. A nuvem está aí e cabe a nós comerçarmos a navegar nesta nova onda.

Antes do Azure, entenda o que é Cloud Computing

Postado por: Tiago Lemos em 1st nov, 2008 | Categoria: Microsoft, Tecnologia

Estava conversando com meu colega de trabalho Lourenço Rizzotto sobre o Azure, para explicar para ele o que seria o SO Azure da Microsoft e como ele funcionaria, mas antes que eu pudesse tentar explicar o conceito do Azure ele me fez uma pergunta muito simples. O que é Cloud Computing?

Bom, logo percebi que para falar do Azure no blog, primeiro acho interessante explicar o que é Cloud Computing.

Cloud Computing ou Computação em nuvem é um novo conceito de computação e por isso existe tão pouca informação e até divergências se este conceito irá ter sucesso.

A idéia principal de cloud computing é “um modelo de computação onde é construída uma rede massiva de servidores físicos ou virtuais”.

Nossa bonito isso hein, mas falando um pouco mais “leigamente” o conceito de cloud computing é você possuir todos os seus arquivos, seus programas, tudo o que você precisa bem em cima da sua cabeça, ou seja, nas nuvens ou na “grande nuvem” de servidores.

Se tudo acontecer como imaginam os engenheiros do Google e de outras empresas que apostam nesse modelo de computação você irá precisar somente de um monitor, um mouse e teclado e um PC com conectado na internet para acessar o que você quiser.

Uma das vantagens do cloud computing segundo, Eric Schmidt atual presidente e chefe executivo (CEO) da Google, é que cloud computing irá baratear os computadores, consequentemente levando o acesso a internet aos mais pobres.

Esse conceito já é comum no Google e na Yahoo, onde esses possuem parques computacionais com centenas de milhares de computadores, que oferecem diversos serviços online. Estima-se que as 5 maiores empresas de busca na internet possuem cerca de 2 milhões de servidores.

O vídeo abaixo mostra grandes nomes da área colocando diferentes pontos de vista sobre o que é cloud computing.

Espero ter conseguido mostrar um pouco o que é cloud computing e como ela poderá influenciar o mundo dentro de pouco tempo (Cloud Computing é inovador e tem uma proposta muito interessante, eu acredito que esse conceito irá ter um grande sucesso e já está influenciando o mundo).

Sobre o Microsoft Azure irei falar sobre o mesmo em um próximo post, mas para adiantar, a Microsoft está finalizando um datacenter no Texas que tem um custo inicial de 500 milhões de dólares, com isso já podemos perceber que a Microsoft também quer entrar nessa nova onda que está surgindo e acredito que está surgindo para ficar.