Arquitetura de TI : O que é uma plataforma de Aplicações ?

Olá pessoal, tudo bem?

Depois de receber muitas perguntas sobre meu ultimo webcast, eu decidi de escrever um post sobre  a Plataforma de Aplicações. O que é uma plataforma de Aplicações e o que ela pode providenciar para os desenvolvedores de soluções?

Quais capacidades estão disponíveis “Out of The Box” na plataforma Microsoft e porque os IT-Pros falham na divulgação das capacidades ?

Olhando na história da plataforma de aplicações, nos podemos começar com os dinossauros, os “Mainframes”. Eles comandarem o mundo com custo exorbitante e oferecerem alguns trabalhos específicos em empresas multinacionais ou no governo. Depois de vários anos de sobrevivência dos mainframes, a invenção do PC abriu a massa ter acesso à nova tecnologia. O foco mudou de do hardware para o software, “The Software is the Magic” , são palavres importantes até hoje. Com esta mudança a descentralização da computação começou ganhar força e o PC em todas as casas virou realidade. A maioria das pessoas começarem a ter acesso ao um PC e a internet. O ciclo de descentralização se fechou. Agora você vai se perguntar por que as novas iniciativas do mercado mostram uma volta para a centralização na nuvem? Como sempre a resposta é relacionada em custos e o tempo de vida de uma invocação = Agilidade!

Na minha visão todas as “Ondas” são cíclicas e não existe uma definição Certa ou Errada? A combinação das ofertas (Software + Services) deixa um espaço imenso de criar novas inovações providenciando o melhor dos dois mundos. 

Definição Genérica da Plataforma de Aplicações

image

Na minha visão nos podemos definir, que o proposto da plataforma de aplicações é genérico entre os provedores do mercado. Embora as capacidades sejam diferentes, a constelação dos “Building Blocks” é igual. Vamos analisar os “Building Blocks” e verificar quais seriam as funcionalidades na plataforma Microsoft.

Camadas:

 
  • Bloco - Fundamento
  • Bloco - Aplicação
  • Bloco - Ferramentas de Desenvolvimento
  • Bloco Serviços de Infraestrutura
  • Bloco Serviços - Aplicações

 

Definição Genérica - Fundamento

Todas as casas precisam um fundamento, assim começa nossa definição do primeiro bloco, do fundamento. O fundamento é separado em dois serviços distintos, o Sistema Operacional e o Suporte local. O Sistema operacional (SO) é uma interface entre hardware e o usuário que é responsável pela gestão e coordenação das atividades e compartilha os recursos do computador que funciona como um host para os aplicativos.

O suporte local é um framework de software que pode ser instalada em computadores com um sistema operacional. Ele inclui uma grande biblioteca de funções e classes para problemas comuns de programação e máquinas virtuais que gerenciam a execução de programas. A definição de um suporte local é que ele seria usado pela maioria dos novos aplicativos criados para o sistema operacional.

Microsoft:  
Sistema Operacional
  • Windows XP, Vista, Windows 7
  • Windows 2003, Windows 2008
  • Windows Azure
  • etc.
Microsoft  
Suporte Local
  • .Net Framework
  • .Net Services
  • etc.

Definição Genérica - Aplicação

A aplicação e um conjunto de serviços, escrito em uma linguagem de programação usando as bibliotecas do fundamento, que tem como o objetivo central, agregar valor no processo de negocio. As aplicações podem ter várias características, usando varias suportes locais ou remotos.

Microsoft:  
Aplicação Web
  • ASP.Net
  • etc

 

Definição Genérica – Ferramentas de Desenvovimento

O próximo bloco são as ferramentas de desenvolvimento. Esta camada fornece as capacidades para criar as aplicações. O termo mais usado em neste contexto é IDE “Integrated Development Environment” ou Ambiente Integrado de Desenvolvimento, é um programa de computador que reúne características e ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar este processo. As características e ferramentas mais comuns encontradas nos IDEs são presente em varios produtos e plataformas

Microsoft:  
Feramentas:
  • Visual Studio 200X
  • Team Foundation Suite
  • Expression Suite
  • etc.

Definição Genérica – Serviços de Infraestrutura

Serviços de Infraestrutura são blocos de serviços que podem ser reusada na construção de aplicações, providenciando aumento de qualidade e agilidade. Na descrição genérica nos podemos definir três serviços básicos, Serviço de Identidade, Armazenamento e Integração. No crescimento e aumento da complexidade de sistemas, cada vez mais serviços de infraestrutura foram criados na visão de atender as necessidades das aplicações com qualidade e agilidade maior.

Microsoft:  
Serviços de Infraestrutura
  • SQL Server
  • SQL Azure
  • BizTalk Server
  • Active Directory
  • IIS , WAS, Dublin
  • etc.

 

 Vamos continuar de fala sobre a plataforma de aplicações, que tem um potençial imenso !

Abraços Markus

  https://twitter.com/MarkusChristen  

Technorati Tags: Architecture in a Box,Plataforma de Aplicações