Análise: Oracle e Sun-O que esperar? - Atualizado em 11/11

Nota: Desde que publiquei este post a primeira vez em 15/06/2010 vários desdobramentos ocorreram. Eu estou linkando outras fontes e destacando as atualizações.

Desde que a Sun Microsystems comprou o MySQL que comento com meus amigos e alunos que isso parecia uma manobra comercial (http://www.mysql.com/news-and-events/sun-to-acquire-mysql.html). O motivo é que a Sun já amargava prejuízo a um bom tempo e esta compra não parecia lhe trazer benefícios. Passado um ano começamos a ver a movimentação da IBM e da Microsoft para comprar a Sun, que acabou sendo vendida para a Oracle em abril/2009 (http://info.abril.com.br/noticias/negocios/oracle-compra-sun-por-us-7-4-bilhoes-20042009-5.shl).

A Oracle não é uma empresa que tem o costume de manter produtos que compra e sim agregar os colaboradores. Tanto é que produtos como PeopleSoft, BEA e JD Edwards já tiveram seus programadores desviados e os produtos estão ficando desatualizados. Sendo assim, qual impressão tenho desde este evento, e o que está se confirmando?

Oracle declarada inimiga do Open Source (11/11)

Nos ultimos dias se avolumou os problemas com a Oracle o os integrantes de programas Open Source:

Oracle começa a mostrar o que quer com a Sun

A Oracle quer ter seu próprio hardware e software. Isso pode ser notado claramente na noticia de que a Oracle deu indícios de que irá “fechar” o Open Solaris neste sábado, dia 14/8 (http://computerworld.uol.com.br/negocios/2010/08/16/oracle-vai-abandonar-o-pacote-opensolaris/) incluindo referencias a que irá proteger seus direitos autorais com as distribuições sobre o CDDL, e note o tom sugestivo do comunicado "”…não podemos permitir que concorrentes criem recursos ligados a partir de nossas inovações, antes de nossa organização.”

A frase acima é importantíssima por vários motivos. Primeiro, demonstra que a Oracle não tem a mínima intenção de evoluir produtos que são gratuitos, o que inclui o Java e o MySQL. Segundo, a Oracle não tem interesse em compartilhar com as comunidades suas inovações, já que é uma empresa voltada ao lucro.

Outros indícios disso são o fato de que a Oracle na quinta dia 12/8 processou o Google por utilizar uma variação “não autorizada” do Java no Android (http://computerworld.uol.com.br/negocios/2010/08/13/oracle-processa-google-pelo-uso-de-patentes-java-no-android/). A alegação é que o Java e suas VMs são baseadas em distribuição abertas, mas isso não dá direito a que se criem novas engines utilizando o que seria “…diretamente e repetidamente infringiu a propriedade intelectual ligada ao Java…”. Ou seja, usar o Java tudo bem, mas criar novas funções a partir do Java é visto como uma violação.

Mais uma reviravolta foi quando a biblioteca ODF que converte documentos feita em Java pela Sun passou a ser cobrada no começo do ano (http://www.guj.com.br/posts/list/204350.java), preocupando quem utilizava esta importante ferramenta.

E agora, o que podemos esperar?

Java – Seu futuro é incerto como o de Santo Cristo na voz do Legião Urbana. Dois problemas muito sérios existem:

  1. O Java não é GPL puro já que a JCP pode barrar qualquer coisa, com a intenção de impedir que fossem feitas “bagunças” nas classes e ficasse uma baderna. Ou seja, qualquer incremento pode ser visto como um “crime” pela Oracle, como está fazendo com o Google (http://forum.datasus.gov.br/viewtopic.php?f=32&t=163)
  2. A Oracle é um empresa monetizada, e até que ponto ela irá manter o Java gratuito (não é e nunca foi aberto), sendo que no momento da compra da Sun o Java foi indicado como o grande desejo da Oracle?   O próprio Goslin declarou nesta quarta (25/8) que já está pensando em formas de manter o Java vivo e que a conferencia JavaOne agora em setembro é o ponto crucial nesta discussão. Mas ele já coloca que para dar certo o movimento tem que começar com clientes da Oracle que fazem diferença monetariamente (http://computerworld.uol.com.br/negocios/2010/01/22/sob-o-controle-da-oracle-futuro-do-java-e-incerto/ e http://computerworld.uol.com.br/tecnologia/2010/08/25/pai-do-java-pressao-pode-fazer-com-que-oracle-mude-postura/)
  3. Atualização em 30/08: Google resolveu se ausentar do JavaOne, maior evento de Java e um dos maiores e mais respeitados eventos dos apoiadores de open source. O motivo declarado pelo Google é que o “processo contra o Google e o código aberto tornou impossível para nós compartilhar livremente nossos pensamentos sobre o futuro do Java e do open source de forma geral”. Com certeza uma afirmação “dolorosa” e expressiva (http://computerworld.uol.com.br/negocios/2010/08/27/google-cancela-presenca-no-javaone-apos-briga-com-a-oracle/)

Java para celulares – Ai reside um problemão. O MIDP e o J2ME são padrões aceitos pelo JCP, mas outros padrões utilizado em alguns celulares da Motorola, Sony Ericsson e outros são customizados como foi feito no Android. O que a Oracle vai fazer?  Se já foi brigar com o “grandão” Google vai poupar os outros?

OpenOffice – A Oracle não irá manter as atualizações tão constantes e deverá deixar grande parte do trabalho para a Novell e IBM, parceiras do projeto. E não duvido que não passe a cobrar versões mais sofisticadas, como acontece com o BROffice e recentemente com o plug-in ODF.
Atualização em 28/09: A Document Foundation se desligou e iniciou um projeto alternativo exatamente por conta da Oracle, conforme o comunicado oficial a imprensa (http://www.documentfoundation.org/contact/tdf_release.pdf), e um dos seus representantes, o famoso Richard Stallman também atribui isso aos movimento da Oracle, mesmo sem dizer o nome da empresa (http://www.documentfoundation.org/supporters/). Veja que os principais mantenedores do OpenOffice estão neste novo projeto, como FSF, Novell, Google, Red Hat, Ubuntu, Gnome e outros.

MySQL – Duvido que a Oracle irá manter um produto que compete com o que ela é de origem. Não sei o que será feito, mas o Oracle Express Edition não está ai para ser um capacho do MySQL.

OpenSolaris – Já está claro o que vai acontecer com este SO.

VirtualBox – É com dor no coração que acredito no mesmo futuro que o OpenOffice, só que mais cedo. Em pouco tempo a equipe será desmontada e o produto irá começar a definhar, a menos que decidam uma versão paga. Já penso em me preparar para outro virtualizador que faça VMs em 64 bits no Windows 7.

Quem é o maior beneficiário disto tudo?

Se alguém falasse que isso tudo está sendo feito pela Microsoft logo diriam que estariam comprando o produto só para prejudicar e depois vender o .NET, mas não é o caso.

Mesmo assim, o maior beneficiário é a Microsoft, por vários motivos. Primeiro é a incerteza do futuro do Java. Segundo que a Oracle, parceira de longa data da HP e IBM, passa a competir com estes no mercado de hardware e SO para servidores. Terceiro que do mesmo capitalismo que acusam a Microsoft a Oracle é mestre. E por fim, tantos odeiam o Larry Elisson quanto odeiam o Bill Gates.

O .Net se firma como uma plataforma confiável para o futuro, a Microsoft poderá receber incentivos para melhorar seus sistemas para competir com os storages pela Dell e IBM. A HP pode contribuir com máquinas para datacenter mais “parrudas” e embutir o Windows como padrão. O SQL Server ganha espaço com a incerteza do que irá acontecer com o MySQL e os custos bem mais altos de licenciamento do Oracle.

As possibilidades são várias, o que resta é esperar para ver o que vai acontecer e torcer para ninguém sair machucado nesta guerra que está só começando. Mas uma certeza já tenho, a Oracle não brinca em serviço e está mostrando qual é a sua intenção.

Embate entre IT PROs e desenvolvedores, como melhorar o relacionamento?


No Community Zone que ocorreu na semana passada estávamos conversando em uma mesa, não vou citar os nomes porque não lembro todos e seria injusto, e chegamos no assunto acima. De um lado da mesa tinhamos alguns IT PROs e do alguns desenvolvedores. Os desenvolvedores já logo criticam o pessoal de Infra pela dificuldade que eles impõe e sempre jogam a culpa nos sistemas e programadores.

Eu atuo nas duas áreas desde que comecei a trabalhar em 1988. Neste época sistema operacional era CPM, rede era multiplexada serial, linguagem era Dbase II que já era o banco de dados também. Desde então tento manter os dois universos, estudo tanto os produtos de rede quanto as linguagem de programação. Posso dizer que está ficando dificil, os produtos se tornaram muito complexos, mas ainda consigo me organizar por estudar a fundo um por vez focando nas mudanças.

Mas enfim, a idéia do post é falar da experiencia de quem a um bom tempo convive nos dois mundos.

O que os desenvolvedores fazem para serem “odiados”?

O principal problema dos profissionais de redes é conseguir monitorar as aplicações. Os desenvolvedores não se interessam muito em como os IT PROs trabalham e não dão os recursos necessários para eles. Algumas coisas simples como métricas, logs e identificação clara de processos já resolveriam muitas discussões.

O que podemos fazer como desenvolvedores para trazer a paz?

Alguns exemplos de recursos que poderiam ser facilmente utilizados pelos desenvolvedores:

  • Na string de conexão com o banco de dados inclua o parametro Application Name para o DBA poder monitorar a aplicação. É um parametro muito simples e extremamente necessário, porque em aplicações é comum utilizar usuários fixos para aplicações e sem o nome não é possivel saber qual sistema está executando aquele comando que gerou locks ou wait times excessivos. Um exemplo de uma string de conexão “bem feita” seria:
    ”Provider=SQLServerOleDB;Server=ABC;Database=DEF;UID=Joao;PWD=1234;Application Name=SISContabil
  • Inclua nos seus aplicativos contadores de performance utilizando os objetos PerformanceCounter e Installer. Estes objetos geram no Performance Monitor do Windows dados que podem ser transformados em gráficos, traces, alertas e logs. O processo para criar um contador é muito simples:
    1. Insira o objeto PerformanceCounter em sua aplicação
    2. Configure o objeto criando uma categoria (CategoryName) e contador (CounterName)
    3. Clique com o botão direito no objeto e escolha Add Installer para que sua aplicaçoes crie no registry do Windows os registros do contador
    4. No seu código ao acessar um banco de dados, por exemplo, utilize o objeto PerformanceCounter com o método Increment para aumentar o valor do contador
  • Gere erros ou alertas de problemas no log de eventos do Windows. Este recurso permitirá aos operadores vasculhar no Event Viewer do Windows problemas que estão ocasionando paradas. Tão útil é este recurso que os IT PROs poderão utilizar produtos como o System Center Operations Manager, NetIQ ou Tivolli para quando um evento acontecer disparar emails de alerta para os administratores, ou melhor ainda, executar scripts que automaticamente resolvem o problema.
    Para fazer isso basta seguir os passos:
    1. Acrescente ao seu aplicativo o objeto EventLog
    2. Defina o nome do Log (Log) que será criado e o nome da aplicação (Source)
    3. Dentro do seu aplicativo utilize o método WriteEntry para passar os parametros que serão gravados no log do SO

Estes são 3 exemplo que poderão ser utilizados e resolverão muitos dos problemas que hoje existem entre estes grupos. Claro que os exemplos estão baseados em aplicações Windows Forms, mas os mesmos objetos podem ser utilizados programaticamente no ASP.NET.

Para que os desenvolvedores tenham uma idéia do porque é importante os passos acima, pense que o IT PRO trabalha com resolução de problemas baseados em comportamento de sintoma-causa-solução e sem contadores de performance e eventos não tem como achar a causa sobrando apenas culpar o programador que “andou mexendo no servidor”.

Outro recurso muito importante que os passos acima possibilitam é criar o Baseline onde os IT PROs tem uma base de alterações no ambiente. Por exemplo, fazem a medição de contadores ao longo de um periodo e quando o servidor apresenta problemas de performance eles comparam os contadores atuais com os de base para descobrir onde estão as variações. Se o desenvolvedor não dá as medições o IT PRO irá verificar os contadores e como nenhum demonstrará o problema, mais um vez o “programador que mexeu aqui” é o culpado.

Outra forma de monitoração com produtos que já foram citados são os Dashboards do SCOM que mostram em grandes monitores o estado de cada servidor por monitorar os eventos no log e o baseline de performance. Se a aplicação não gera nem log nem contadores, o servidor não irá apresentar o erro, resumindo a dizer que o IIS ou o SQL está com tempo de resposta lento quando o problema já se alastrou para todos os subsistemas (disco, processador e memória).

É isso ai, como programador também me incluo entre os que deixam de prover as ferramentas. Mas vamos mudar isso !!!!!

Se alguem lembra de outros métodos para “pacificar” essa apimentada relação, comente.

Atualizado: Novas regras para Microsoft Certified Gold Partners e Learning Services

A algum tempo que a Microsoft está anunciando mudanças nos processos que envolvem a qualificação de parceiros. E como está ocorrendo esta semana WPC que é o encontro mundial de parceiros ficou mais claro algumas mudanças.

Documento com as regras de competencias (18-10-2010): Value%20of%20Earning%20a%20Micrsosoft%20Competency%20Guide%20June[1].pdf (1,65 mb)

Certified Partner Learning Services (CPLS)

Para se ter uma idéia de como era complicado ser um CPLS, era necessário entregar a Microsoft um Business Plan e estar em uma região onde não fosse causar problemas com os CPLSs já existentes no local. Isso valia até para os CPLSs que já existiam ao querer abrir uma filial em outro local. Ou seja, era um processo complexo e com um certo toque de corporativismo ao proteger os que já existiam.

Porem, este modelo gerava uma concorrência fraca, já que apenas um ou dois na mesma cidade ou região criava mercados fechados. Acordos entre os CPLSs eram comuns criando um custo muitas vezes inacessível ao aluno pessoa física. Tanto é que muitos clientes corporativos buscavam treinamentos em SP pois era mais barato devido a forte concorrência no estado.

Agora qualquer parceiro poderá ser um CPLS se tiver os MCTs (Microsoft Certified Trainer). Também ficou flexível a nível nacional, já que agora um CPLS pode ter filial onde ele quiser, não importando se na cidade ou região já existem outros. Isso irá possibilitar que novos parceiros surjam e que os atuais expandam o modelo de negócio para outros locais.

Certified Partner Gold

Estes estão passando por um momento delicado. Hoje um parceiro precisa ter, por exemplo, 4 MCPs (Microsoft Certified Professional) em uma tecnologia para ser qualificado como Gold. Essa regra não irá mudar.

Porem, muitos são certificados em mais do que uma tecnologia. Por exemplo, um mesmo profissional pode ser certificado em .NET e Sharepoint, ou Windows 2008 e SQL Server. Com isso contando com apenas 4 MCPs um parceiro conseguia ser Gold em duas ou mais competências.

Com a nova regra UM MCP só pode ser qualificado para UMA COMPETENCIA, ou seja, para o exemplo acima se manter o parceiro precisaria ter 8 profissionais, 4 para cada competência desejada. Por que essa mudança?

Conforme a explicação de Redmond os cliente contratavam um parceiro esperando que ele tenha um tipo especializado em determinada competência e na verdade o parceiro tem apenas 3 ou 4 profissionais que são a base de todas as competências ao mesmo tempo. Com a nova regra os parceiros irão possuir 3 ou 4 profissionais EM CADA COMPETENCIA, o que garante uma qualidade e especialização muito maior na solução do problema do cliente.

Fonte: http://borntolearn.mslearn.net/btl/b/weblog/archive/2010/07/14/about-those-new-partner-requirements.aspx