php nas nuvens

51
PHP NAS NUVENS: Desenvolvendo para o mercado corporativo Marcos Bezerra II Encontro PHP-PB – João Pessoa – Março/09

Upload: marcos-bezerra

Post on 17-Dec-2014

3.101 views

Category:

Technology


0 download

DESCRIPTION

Palestra apresentada no II Encontro de Usuários PHP da Paraíba. Auditório do Sebrae, João Pessoa, 7 de março de 2009.

TRANSCRIPT

Page 1: PHP nas Nuvens

PHP NAS NUVENS:Desenvolvendo para

omercado corporativo

Marcos Bezerra

II Encontro PHP-PB – João Pessoa – Março/09

Page 2: PHP nas Nuvens

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?

Page 3: PHP nas Nuvens

O que queremos ser?

Desenvolvedores técnicos? Desenvolvedores de negócio?

Page 4: PHP nas Nuvens

Nova tecnologia ou puro marketing?

Computação em nuvem

Page 5: PHP nas Nuvens

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.

Page 6: PHP nas Nuvens

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.

Page 7: PHP nas Nuvens

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.

Page 8: PHP nas Nuvens

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.

Page 9: PHP nas Nuvens

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.

Page 10: PHP nas Nuvens

Software como Serviço – quebra de paradigma?

SaaS – Software as a Service

Page 11: PHP nas Nuvens

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.

Page 12: PHP nas Nuvens

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.

Page 13: PHP nas Nuvens

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.

Page 14: PHP nas Nuvens

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

Page 15: PHP nas Nuvens

SaaS – Qual o melhor modelo?

Livre acesso? Assinatura de serviço?

Page 16: PHP nas Nuvens

A engrenagem funciona nas nuvens.

Web Services

Page 17: PHP nas Nuvens

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.

Page 18: PHP nas Nuvens

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.

Page 19: PHP nas Nuvens

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.

Page 20: PHP nas Nuvens

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.

Page 21: PHP nas Nuvens

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

Page 22: PHP nas Nuvens

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

Page 23: PHP nas Nuvens

Web Service – Arquitetura SOA Para a

representação e estruturação dos dados nas mensagens recebidas/enviadas é utilizado o XML (eXtensible Markup Language).

Page 24: PHP nas Nuvens

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).

Page 25: PHP nas Nuvens

Web Service – Arquitetura SOA Os serviços

(operações, mensagens, parâmetros, etc.) são descritos usando a linguagem WSDL (Web Services Description Language).

Page 26: PHP nas Nuvens

Web Service – Arquitetura SOA O processo de

publicação/pesquisa/descoberta de Web Services utiliza o protocolo UDDI (Universal Description, Discovery and Integration).

Page 27: PHP nas Nuvens

Web Service – API própria

Cada aplicação poderá desenvolver sua própria “linguagem” de comunicação ou adotar uma API existente.

Page 28: PHP nas Nuvens

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.

Page 29: PHP nas Nuvens

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

Page 30: PHP nas Nuvens

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.

Page 31: PHP nas Nuvens

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.

Page 32: PHP nas Nuvens

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.

Page 33: PHP nas Nuvens

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.

Page 34: PHP nas Nuvens

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!

Page 35: PHP nas Nuvens

A tendência de datacenters especializados para Cloud Computing.

Infra-estrutura para a nuvem

Page 36: PHP nas Nuvens

Infra-estrutura para a nuvem – o que é melhor?

Datacenter próprio? Datacenter alugado?

Page 37: PHP nas Nuvens

Infra-estrutura para a nuvem – o que é melhor?

Prós Controle absoluto

Datacenter próprio? Datacenter alugado?

Page 38: PHP nas Nuvens

Infra-estrutura para a nuvem – o que é melhor?

Prós Controle absoluto

Contras Alto custo

Datacenter próprio? Datacenter alugado?

Page 39: PHP nas Nuvens

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?

Page 40: PHP nas Nuvens

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?

Page 41: PHP nas Nuvens

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?

Page 42: PHP nas Nuvens

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?

Page 43: PHP nas Nuvens

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?

Page 44: PHP nas Nuvens

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?

Page 45: PHP nas Nuvens

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.

Page 46: PHP nas Nuvens

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.

Page 47: PHP nas Nuvens

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.

Page 48: PHP nas Nuvens

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.

Page 49: PHP nas Nuvens

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.

Page 50: PHP nas Nuvens

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/

Page 51: PHP nas Nuvens

Temos 10 minutos para maiores esclarecimentos.

Dúvidas nas nuvens?