PHP nas Nuvens
-
Upload
marcos-bezerra -
Category
Technology
-
view
3.101 -
download
0
description
Transcript of PHP nas Nuvens
PHP NAS NUVENS:Desenvolvendo para
omercado corporativo
Marcos Bezerra
II Encontro PHP-PB – João Pessoa – Março/09
Marcos Bezerra [[email protected]]Bacharel em Sistemas de Informação – IESPAdministrador de Sistemas ERP Microsiga Protheus – Vertical EngenhariaDesenvolvedor Web há 10 anosEntusiasta do PHP desde o ano 2000Atualmente desenvolvendo com Zend Framework
Quem sou eu?
O que queremos ser?
Desenvolvedores técnicos? Desenvolvedores de negócio?
Nova tecnologia ou puro marketing?
Computação em nuvem
Computação em nuvem
Ponto de vista técnico:“Dentro desse contexto,
o PC será apenas um chip ligado à internet, a "grande nuvem" de computadores. Não há necessidade de instalação de programas, serviços e armazenamento de dados, mas apenas os dispositivos de entrada (teclado, mouse) e saída (monitor) para os usuários.” – Wikipédia.
Computação em nuvem Ponto de vista do marketing:
“Cloud computing é a expressão do momento em tecnologia. Nomes de peso como Amazon, AT&T, Dell, HP, IBM, Intel, Microsoft e Yahoo já anunciaram planos e investimentos na área e o Gartner acaba de liberar um relatório que aponta o cloud computing como uma das três mais importantes tendências emergentes nos próximo três a cinco anos.” – IDG Now!, agosto/08.
Computação em nuvem
O que o mercado enxerga?
“O que realmente significa é que alguém vai assumir a responsabilidade de entregar algumas funções de TI como serviços para alguns clientes e eles não precisam saber como funciona, eles simplesmente usarão.” – Daryl C. Plummer, vice-presidente do Gartner.
Computação em nuvem
O que o mercado enxerga?
Você assumirá esse papel?
“O que realmente significa é que alguém vai assumir a responsabilidade de entregar algumas funções de TI como serviços para alguns clientes e eles não precisam saber como funciona, eles simplesmente usarão.” – Daryl C. Plummer, vice-presidente do Gartner.
Computação em nuvem
O que o mercado enxerga?
Você assumirá esse papel?
Aproveitará esse potencial?
“O que realmente significa é que alguém vai assumir a responsabilidade de entregar algumas funções de TI como serviços para alguns clientes e eles não precisam saber como funciona, eles simplesmente usarão.” – Daryl C. Plummer, vice-presidente do Gartner.
Software como Serviço – quebra de paradigma?
SaaS – Software as a Service
SaaS – Software como Serviço“É uma forma de
software que é usada como serviço, ou seja, é executado diretamente na internet, não sendo necessário instalar seus códigos no computador do usuário, bastando acessá-lo por meio do navegador de internet disponível no sistema operacional.” – Wikipédia.
SaaS – Software como Serviço
“Os mercados que mais contribuirão com softwares como serviço serão os de conteúdo, comunicações e colaboração, com receita excedendo os 2,1 bilhões de dólares em 2008 e chegando a 4,7 bilhões de dólares em 2012.”
“Um dos fatores destacados pelo Gartner para a crescente adoção de software como serviço é a redução de gastos de TI.”
Fonte: IDG Now!, outubro/08.
SaaS – Software como Serviço
“Os mercados que mais contribuirão com softwares como serviço serão os de conteúdo, comunicações e colaboração, com receita excedendo os 2,1 bilhões de dólares em 2008 e chegando a 4,7 bilhões de dólares em 2012.”
“Um dos fatores destacados pelo Gartner para a crescente adoção de software como serviço é a redução de gastos de TI.”
Fonte: IDG Now!, outubro/08.
SaaS – Software como Serviço
“Aplicativos online como o Google Apps, Zoho, Adobe Buzzword e ThinkFree terão 9% de participação na receita total de softwares.”
Gartner Group
SaaS – Qual o melhor modelo?
Livre acesso? Assinatura de serviço?
A engrenagem funciona nas nuvens.
Web Services
Web Service
É uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes.
Torna possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis.
São componentes que permitem às aplicações enviar e receber dados em formato XML.
Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, o formato XML.
Web Service
É uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes.
Torna possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis.
São componentes que permitem às aplicações enviar e receber dados em formato XML.
Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, o formato XML.
Web Service
É uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes.
Torna possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis.
São componentes que permitem às aplicações enviar e receber dados em formato XML.
Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, o formato XML.
Web Service
É uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes.
Torna possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis.
São componentes que permitem às aplicações enviar e receber dados em formato XML.
Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, o formato XML.
SOA – Service-Oriented Architecture Também conhecido como arquitetura
orientada a serviços, é um estilo de arquitetura de software cujo princípio fundamental preconiza que as funcionalidades implementadas pelas aplicações devem ser disponibilizadas na forma de serviços.
A arquitetura SOA é baseada nos princípios da computação distribuída e utiliza o paradigma request/reply para estabelecer a comunicação entre os sistemas clientes e os sistemas que implementam os serviços.
Fonte: Wikipédia
SOA – Service-Oriented Architecture Também conhecido como arquitetura
orientada a serviços, é um estilo de arquitetura de software cujo princípio fundamental preconiza que as funcionalidades implementadas pelas aplicações devem ser disponibilizadas na forma de serviços.
A arquitetura SOA é baseada nos princípios da computação distribuída e utiliza o paradigma request/reply para estabelecer a comunicação entre os sistemas clientes e os sistemas que implementam os serviços.
Fonte: Wikipédia
Web Service – Arquitetura SOA Para a
representação e estruturação dos dados nas mensagens recebidas/enviadas é utilizado o XML (eXtensible Markup Language).
Web Service – Arquitetura SOA As chamadas às
operações, incluindo os parâmetros de entrada/saída, são codificadas no protocolo SOAP (Simple Object Access Protocol, baseado em XML).
Web Service – Arquitetura SOA Os serviços
(operações, mensagens, parâmetros, etc.) são descritos usando a linguagem WSDL (Web Services Description Language).
Web Service – Arquitetura SOA O processo de
publicação/pesquisa/descoberta de Web Services utiliza o protocolo UDDI (Universal Description, Discovery and Integration).
Web Service – API própria
Cada aplicação poderá desenvolver sua própria “linguagem” de comunicação ou adotar uma API existente.
Web Service – API REST
O Twitter é um dos exemplos mais conhecidos de Web Services que utilizam a API REST.
A REST (Representational State Transfer) é usada no sentido mais amplo para descrever qualquer interface web simples que utiliza XML, HTTP ou texto puro, sem as abstrações adicionais dos protocolos baseados em SOA.
Como o PHP está pronto para atender às exigências do mercado para Cloud Computing, SaaS e Webservices.
Componentes PHP para aplicações em nuvem
Extensão SOAP
Classe SoapServer: provê um servidor para os protocolos SOAP 1.1 e 1.2 e pode ser usada com ou sem a descrição de serviços WSDL.
Classe SoapClient: provê um cliente para servidores SOAP 1.1 e 1.2 e pode ser usada nos modos WSDL e não-WSDL.
Outras classes acessórias para o protocolo.
Funções XML-RPC
RPC (Remote Procedure Call) – protocolo que define a comunicação entre dois hosts na rede.
XML-RPC codifica o protocolo RPC dentro de um XML.
Mais sobre XML-RPC: http://www.xmlrpc.com Ao todo são 14 funções nativas do PHP que
podem ser usadas para escrever servidores e clientes XML-RPC.
O Zend Framework possui o componente Zend_XmlRpc para implementar clientes/servidores XML-RPC.
Zend Framework: Zend_Rest Classes Zend_Rest_Client e
Zend_Rest_Server. O componente de Servidor permite
exposição automática de funções e classes que usam um formato de XML expressivo e simples.
Ao ter acesso a estes serviços usando o componente Cliente, é possível obter os dados de retorno facilmente através de uma chamada remota.
Zend Framework: Componentes clientes para serviços diversos Zend_Gdata: interage com todas as APIs de
dados do Google. Zend_Service_Askimet: identifica a ocorrência
de spam; usado no WordPress. Zend_Service_Amazon: obtém informações
disponíveis no site da Amazon.com. Zend_Service_Audioscrobbler: provê acesso a
dados de coleções musicais. Zend_Service_Delicious: permite acesso r/w aos
posts no del.icio.us. Zend_Service_Flickr: gerencia albuns de uma
conta no Flickr. Zend_Service_Nirvanix: permite acesso ao
repositório de arquivos de mídia.
Zend Framework: Componentes clientes para serviços diversos Zend_Service_ReCaptcha: serviço para
digitalização de textos com OCR. Zend_Service_Simpy: gerenciamento de ferramenta
social de favoritos. Zend_Service_SlideShare: interage com a conta no
SlideShare. Zend_Service_StrikeIron: interage com serviços de
dados comerciais. Zend_Service_Technorati: interage com o mais
popular buscador de blogs. Zend_Service_Twitter: interage com a conta e
acessa todas as funcionalidades. Zend_Service_Yahoo: interage com todas as APIs de
dados do Yahoo!
A tendência de datacenters especializados para Cloud Computing.
Infra-estrutura para a nuvem
Infra-estrutura para a nuvem – o que é melhor?
Datacenter próprio? Datacenter alugado?
Infra-estrutura para a nuvem – o que é melhor?
Prós Controle absoluto
Datacenter próprio? Datacenter alugado?
Infra-estrutura para a nuvem – o que é melhor?
Prós Controle absoluto
Contras Alto custo
Datacenter próprio? Datacenter alugado?
Infra-estrutura para a nuvem – o que é melhor?
Prós Controle absoluto
Contras Alto custo Excassez de mão-
de-obra qualificada
Datacenter próprio? Datacenter alugado?
Infra-estrutura para a nuvem – o que é melhor?
Prós Controle absoluto
Contras Alto custo Excassez de mão-
de-obra qualificada
Escalabilidade
Datacenter próprio? Datacenter alugado?
Infra-estrutura para a nuvem – o que é melhor?
Prós Controle absoluto
Contras Alto custo Excassez de mão-
de-obra qualificada
Escalabilidade
Prós Menor custo
Datacenter próprio? Datacenter alugado?
Infra-estrutura para a nuvem – o que é melhor?
Prós Controle absoluto
Contras Alto custo Excassez de mão-
de-obra qualificada
Escalabilidade
Prós Menor custo Menor
necessidade por mão-de-obra qualificada
Datacenter próprio? Datacenter alugado?
Infra-estrutura para a nuvem – o que é melhor?
Prós Controle absoluto
Contras Alto custo Excassez de mão-
de-obra qualificada
Escalabilidade
Prós Menor custo Menor
necessidade por mão-de-obra qualificada
Facilmente escalável
Datacenter próprio? Datacenter alugado?
Infra-estrutura para a nuvem – o que é melhor?
Prós Controle absoluto
Contras Alto custo Excassez de mão-
de-obra qualificada
Escalabilidade
Prós Menor custo Menor necessidade
por mão-de-obra qualificada
Facilmente escalável
Contras Controle parcial
Datacenter próprio? Datacenter alugado?
Conclusões
PHP é uma linguagem pronta para SaaS e Webservices, baseados na nuvem.
Evoluir de uma visão puramente técnica para outra voltada para negócios é questão de sobrevivência para desenvolvedores.
Mercado corporativo precisa reduzir custos mas continuar investindo em TI.
Cloud Computing representa uma oportunidade de mercado para os próximos anos.
Soluções de infra-estrutura terceirizadas, locadas sob demanda, representam a melhor opção para a realidade de um mercado sob forte recessão.
Conclusões
PHP é uma linguagem pronta para SaaS e Webservices, baseados na nuvem.
Evoluir de uma visão puramente técnica para outra voltada para negócios é questão de sobrevivência para desenvolvedores.
Mercado corporativo precisa reduzir custos mas continuar investindo em TI.
Cloud Computing representa uma oportunidade de mercado para os próximos anos.
Soluções de infra-estrutura terceirizadas, locadas sob demanda, representam a melhor opção para a realidade de um mercado sob forte recessão.
Conclusões
PHP é uma linguagem pronta para SaaS e Webservices, baseados na nuvem.
Evoluir de uma visão puramente técnica para outra voltada para negócios é questão de sobrevivência para desenvolvedores.
Mercado corporativo precisa reduzir custos mas continuar investindo em TI.
Cloud Computing representa uma oportunidade de mercado para os próximos anos.
Soluções de infra-estrutura terceirizadas, locadas sob demanda, representam a melhor opção para a realidade de um mercado sob forte recessão.
Conclusões
PHP é uma linguagem pronta para SaaS e Webservices, baseados na nuvem.
Evoluir de uma visão puramente técnica para outra voltada para negócios é questão de sobrevivência para desenvolvedores.
Mercado corporativo precisa reduzir custos mas continuar investindo em TI.
Cloud Computing representa uma oportunidade de mercado para os próximos anos.
Soluções de infra-estrutura terceirizadas, locadas sob demanda, representam a melhor opção para a realidade de um mercado sob forte recessão.
Conclusões
PHP é uma linguagem pronta para SaaS e Webservices, baseados na nuvem.
Evoluir de uma visão puramente técnica para outra voltada para negócios é questão de sobrevivência para desenvolvedores.
Mercado corporativo precisa reduzir custos mas continuar investindo em TI.
Cloud Computing representa uma oportunidade de mercado para os próximos anos.
Soluções de infra-estrutura terceirizadas, locadas sob demanda, representam a melhor opção para a realidade de um mercado sob forte recessão.
Referências http://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_em_nuvem http://idgnow.uol.com.br/computacao_corporativa/2008/08/13/cloud-
computing-entenda-este-novo-modelo-de-computacao/ http://pt.wikipedia.org/wiki/Saas http://idgnow.uol.com.br/computacao_corporativa/2008/10/22/
gartner-receita-mundial-de-software-como-servico-cresce-27-em-2008/
https://www.google.com/adsense/ http://www.salesforce.com/br/ http://pt.wikipedia.org/wiki/Web_service http://pt.wikipedia.org/wiki/Service-oriented_architecture http://www.ics.uci.edu/~fielding/pubs/dissertation/
rest_arch_style.htm http://br.php.net/manual/pt_BR/book.soap.php http://br.php.net/manual/pt_BR/book.xmlrpc.php http://www.xmlrpc.com http://framework.zend.com/manual/en/
Temos 10 minutos para maiores esclarecimentos.
Dúvidas nas nuvens?