Mostrando postagens com marcador mysql. Mostrar todas as postagens
Mostrando postagens com marcador mysql. Mostrar todas as postagens

sábado, abril 25, 2009

Oracle compra a Sun Microsystems




Uma das notícias mais bombásticas da semana, foi com certeza a compra da Sun, fabricante de produtos de grande renome como o banco de Dados MySQL, o sistema operacional Solaris e a linguagem de programação Java além de ter grande sucesso com a produção de hardware para servidores corporativos por US$ 7,4 bilhões pela Oracle, Gigante produtora da área de banco de dados.

Mas, quais os interesses por trás dessa fusao que promete abalar a comunidade de usuários de produtos da Sun?

A Oracle, com seus 85 mil funcionários em todo o mundo e faturamento fiscal em 2008 estimado em US$ 22,4 bilhões veio ao longos dos últimos anos investindo continuamente no desenvolvimento de aplicações corporativas e adquirindo rivais de mercado com ofertas tentadoras como foi o caso com a Peoplesoft, BEA, Hyperion e Siebel. O seu sistema de banco de dados, de mesmo nome, é tão conhecido no mundo empresarial pela robustez e confibilidade que 280 mil dos 320 mil clientes da empresa, devem-se a aquisição de licensas de uso do software para instalação em servidores, muitos deles provenientes da própria Sun.

Uma conclusão possível nesse ponto, seria a possibilidade de venda da tecnologia de hardware da Sun com sistema solaris em conjunto com o BD oracle de forma conjunta oque poderia representar uma economia para a empresa, mas dificultaria as negociações com parceiros como a HP, Dell e IBM. Uma alternativa seria o uso da tecnologia de hardware para criar infraestrutura necessária para a Oracle investir em áreas como SAAS (software as Service) e Cloud Computing.

Para a área de software, mais dúvidas permeiam. Uma delas seria a respeito do futuro do MySQL (adquirido pela Sun a pouco mais de um ano), um dos bancos mais utilizados na internet e de comunidade mais ativa, frente ao atual produto da empresa. Será que testemunharemos a morte de um BD tão querido quanto esse ou a transformação do mesmo em um sistema proprietário para a fúria da comunidade open-source?

Já para o Java e o Solaris, as coisas parecem estar mais calmas. Segundo um comunicado da Oracle, Java foi o software mais importante que a empresa já adquiriu. Uma conclusão lógica, afinal uma infinidade de softwares desenvolvidos usando a linguagem Java podem ser encontrados em praticamente todo o lugar, desde computadores de bordo de automóveis, celulares, PDA até aplicações muito ricas para Desktop e WEB. A Oracle, também demarcou a importância do Solaris em sua estratégia operacional.

Por fim, a gigante da área de bancos de dados declarou que a compra da Sun irá contribuir com mais de US$ 1,5 bilhão para o lucro operacional da organização e muito mais lucrativa que a compra da Peoplesoft, BEA e Siebel combinadas.

Agora, só o tempo dirá quais os impactos dessa negociação para os usuários dos produtos de ambas as empresas.


quinta-feira, setembro 25, 2008

Publicando RSS com PHP e MYSQL

Se você ainda não sabe o que é RSS, dê uma lida no post RSS e asp.net parte I , que você encontrará os conceitos introdutórios sobre o tema. 


1. Introdução


Para que qualquer site possa servir RSS, é necessário que ele forneça ao programa leitor, um arquivo XML, contendo os dados, pois RSS, como já sabemos, é nada mais que um arquivo XML que segue uma padronização da estrutura específica. Podemos fornecer esse XML de duas formas, ou através de um arquivo estático XML propriamente dito salvo em nosso servidor, ou por meio de uma página PHP que pode gerar esse XML dinamicamente para nós. No nosso caso vamos gerar por meio de uma página PHP.



Antes de partirmos para a feitura da página, precisamos antes guardar as informações que publicaremos no RSS em algum lugar. Na informática, lugar de armazenar informações é em banco de dados. No nosso caso usaremos o banco open-source MySQL, disponível para download em http://www.mysql.com.


2. Criando o banco de dados


A estrutura do arquivo RSS é bem definida. Temos as seguintes entidades Channel e Item, que possuem a seguinte estrutura e se relacionam da seguinte forma:



O script para criação dessa estrutura é este:


SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

CREATE SCHEMA IF NOT EXISTS `RSS` ;
USE `RSS`;

-- -----------------------------------------------------
-- Table `RSS`.`Channel`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `RSS`.`Channel` (
  `idChannel` INT NOT NULL AUTO_INCREMENT ,
  `title` VARCHAR(255) NULL DEFAULT NULL ,
  `link` VARCHAR(255) NULL DEFAULT NULL ,
  `description` TEXT NULL DEFAULT NULL ,
  PRIMARY KEY (`idChannel`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `RSS`.`Item`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `RSS`.`Item` (
  `idItem` INT NOT NULL AUTO_INCREMENT ,
  `title` VARCHAR(255) NULL DEFAULT NULL ,
  `link` VARCHAR(255) NULL DEFAULT NULL ,
  `description` TEXT NULL DEFAULT NULL ,
  `idChannel` INT NULL DEFAULT NULL ,
  PRIMARY KEY (`idItem`) ,
  CONSTRAINT `fk_Item_Channel`
    FOREIGN KEY (`idChannel` )
    REFERENCES `RSS`.`Channel` (`idChannel` )
    ON DELETE RESTRICT
    ON UPDATE CASCADE)
ENGINE = InnoDB;

CREATE INDEX fk_Item_Channel ON `RSS`.`Item` (`idChannel` ASC) ;



SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Você também pode baixá-lo na integra aqui.


Para excecutar o script de criação, podemos abrir o prompt de comando e simplesmente digitarmos:


shell> mysql < arquivo_texto


Também podemos abrir o client mysql e digirtarmos:


mysql> source filename


O client fará tudo de forma automatizada e teremos nosso banco de dados criado.


3. Criando a página PHP para geração do RSS


A página PHP gerará primeiro uma string contendo todo o XML, depois enviará para o leitor de RSS o resultado. Segue abaixo o código fonte da página PHP:
<?php
//criando cabeçalho do arquivo
$xml = '<?xml version="1.0" encoding="iso-8859-1"?>'."\n";
$xml .= '<rss version="2.0">'."\n";

//setando dados da conexao e do banco voce deve substituir pelos seus dados de conexão
$host = "mysql.test.com";
$user = "usuario";
$pass = "senha";
$db = "RSS";

//fazendo a conexão com o banco de dados que contem os dados RSS
mysql_connect($host, $user, $pass);
mysql_select_db($db);

//pegando dados do channel no banco
$sql = "SELECT idChannel, title, description, link FROM Channel ORDER BY idChannel DESC";
$reschan = mysql_query($sql);

//enquanto ainda houver dados do channelm executar codigo dentro do while
while ($rowchan = mysql_fetch_assoc($reschan))
{
    //abrindo tag do Channel
    // obs: \n = nova linha   
    $xml .= '<channel>'."\n";
   
    //formatando os dados nas tags rss do Channel   
    $xml .= '<title>'.htmlspecialchars($rowchan['title']).'</title>'."\n";
    $xml .= '<description>'.htmlspecialchars($rowchan['description']).'</description>'."\n";
    $xml .= '<link>'.htmlspecialchars($rowchan['link']).'</link>'."\n";
   
    //pegando dados dos Itens do Channel no banco de dados
    $sql = "SELECT title, link, description FROM Item WHERE idChannel = ".$rowchan['idChannel']." ORDER BY idItem DESC";
    $result = mysql_query($sql);
   
    //enquanto ainda houver itens no banco, executar codigo dentro do while
    while ($row = mysql_fetch_assoc($result))
    {
        //formatando dados do item nas tags RSS
        $xml .= '<item>'."\n";
        $xml .= '<title>'.htmlspecialchars($row['title']).'</title>'."\n";
        $xml .= '<description>'.htmlspecialchars($row['description']).'</description>'."\n";
        $xml .= '<link>'.htmlspecialchars($row['link']).'</link>'."\n";
        $xml .= '</item>'."\n";
    }
   
    //fechando tag do channel
    $xml .= '</channel>'."\n"; 
}

//fechando a tag rss
$xml .= '</rss>';

//retornando todo o xml pro leitor de rss do usuário
echo $xml;
?>
O código fonte acima pode ser baixado aqui. Salve a página PHP em seu servidor PHP e pronto! Bastará colocar o endereço da página no seu leitor de RSS e você verá que funciona!


4. Testando


Para testar o código da página PHP, fizemos um exemplo que você pode ver aqui. Se tudo der certo ao vizualizar no  Firefox você verá uma página semelhante a essa:




Por Solleon Menezes