Ask Toolbar no Java é um absurdo

[Atualizado em 18 de dezembro de 2014.]

Desde a versão 6 do Java, a Oracle começou a oferecer a instalação do software Ask de buscas patrocinadas na internet (ou seja, um adware), durante a instalação do runtime Java. E essa “oferta” insistente e vergonhosa aparece não só na instalação inicial do Java, mas em toda atualização on-line.

A página de ajuda (FAQ) do Java na Internet apenas define vagamente o seguinte:

“A Ask Toolbar é um add-on de browser gratuito que permite fazer pesquisa na Web usando o mecanismo de pesquisa Ask.com diretamente do browser.”

As ferramentas oferecidas para instalação junto com o Java são a Ask Toolbar, uma barra de ferramentas instalada como extensão nos navegadores internet, e a alteração da configuração dos navegadores instalados para que o mecanismo de busca padrão seja da Ask.com. Obviamente são buscas patrocinadas, ou sejam, que levam a resultados muitíssimo piores que os da busca do Google ou mesmo do Bing, e infestados de resultados patrocinados, onde o que mais interessa é gerar rendimento para a Ask, e não apresentar ao usuário resultados relevantes. Ou seja, o tipo de software — em geral indesejado — que é conhecido como adware.

Será realmente que um dos principais mecanismos de runtime de aplicações ricas na Internet como o Java, e uma hiper-mega-corporação global como a Oracle precisem de dinheiro extra pela revenda de patrocínio através da Ask para sustentar a distribuição e disseminação do Java? Será que realmente vale a pena associar o nome de uma empresa sólida como a Oracle e uma plataforma séria e tradicional (desde 1995!) como o Java, a um questionável adware??? Sinceramente, acredito que não!

Existe até uma petição pública (abaixo-assinado) na Internet para que a Oracle pare de distribuir o Ask na instalação do Java: Oracle Corporation: Stop bundling Ask Toolbar with the Java installer.

É fácil evitar a instalação do Ask, bastando desmarcar a opção na tela própria do assistente de instalação do Java as opções que vem marcadas por padrão:

Oferta para instalar o complemento de navegador da Ask

Mas como a maioria dos usuários não presta atenção e às vezes até não entende bem as opções, e simplesmente vai clicando “Avançar” até a conclusão da instalação, muitos acabam tendo instalada a extensão da Ask. Depois podem se assustar quando tentam fazer uma pesquisa na Internet e veem a página de resultados da Ask, sem nem se lembrarem de como isso foi parar ali!

Mesmo depois de instaladas as extensões da Ask, há opção de desinstalar o software pelo Painel de Controle do Windows, mas mais uma vez muitos usuários mais leigos ou desavisados sequer sabem disso ou procuram essa opção.

Lendo uma atualização de 12/12/2014 no site do abaixo-assinado contra o Ask ToolBar, descobri que a partir do Java 7 Update 65 (7u65) e Java 8 Update 11 (8u11) a Oracle passou a disponibilizar, no Painel de Controle Java, guia Avançado, opção que pode ser marcada para Suprimir ofertas de patrocinadores ao atualizar o Java.

Painel de Controle Java, guia Avançado, opção Suprimir ofertas do patrocinador ao instalar ou atualizar o Java.

O FAQ (Respostas a Perguntas Frequentes) da Oracle sobre “Como eu instalo o Java sem ofertas de terceiro patrocinador” ainda apresenta outra alternativa, mais técnica, para evitar a instalação de software patrocinado na instalação é executar o instalador pela linha de comando (Prompt/Console, cmd, ou Iniciar > Executar) acrescentando o parâmetro SPONSORS=0. Segundo o artigo, esta opção já existia antes do Java 7u65 e 8u11, mas não deixa claro desde quando.

Uma entrada no fórum SuperUser, How can I prevent Ask.com Toolbar from being installed every time Java is updated?, ensina que há um jeito de se adicionar entradas no registro do Windows que desabilitam em definitivo as ofertas de patrocinadores durante a instalação de Java: desativa_patrocinio_java.reg

Também quando se baixa a versão off-line do instalador do Java Runtime (JRE), disponível em Java.com e em Oracle TechNet (encontrado a partir da página inicial Java SE Downloads), a oferta de instalação da ferramenta patrocinada Ask não aparece.

Mas, mais uma vez, a maior parte dos usuários comuns não sabe disso e nunca chegará a estas alterativas, infelizmente!

No artigo Soluto’s data raises questions about how Oracle manages Java do blog da empresa Soluto, de soluções para suporte remoto para PCs e iOS, o instalador do Java é responsável por cerca de 40% das instalações indesejadas da Ask Toolbar em seus clientes. Além disso, pelo menos 60% dos clientes da Soluto que tiveram o Ask instalado providenciaram a desinstalação, mostrando o quanto a ferramenta é indesejada. E a empresa acredita que a maior parte dos que ainda não desinstalaram a Ask Toolbar têm a intenção de fazê-lo.

Se você é usuário do Java, recomendo evitar a instalação da Ask Toolbar ou desinstalar se você também acha um software indesejado. Se você é um representante da Oracle, por favor leve nosso protesto a quem de direito para retirar esse maldito e vergonhoso patrocínio de uma vez por todas!

Para saber mais:

Oracle 11g homologado no Linux

Em release de impressa de 13 de junho de 2012, a Oracle anunciou que está concluindo o teste de certificação das versões mais recentes de seus softwares servidores de banco de dados e middleware no Oracle Linux 6 e Red Hat Enterprise Linux 6.

Notícias:

  • O Oracle Database 11g Release 2 (R2) e o Oracle Fusion Middleware 11g Release 1 (R1) estarão disponíveis no Oracle Linux 6 com o Unbreakable Enterprise Kernel.
  • O Oracle Database 11g R2 e o Oracle Fusion Middleware 11g R1 estarão disponíveis no Red Hat Enterprise Linux 6 (RHEL6) e no Oracle Linux 6 com Red Hat Compatible Kernel em 90 dias.
  • A Oracle oferece suporte direto aos clientes Linux que executam o RHEL6, o Oracle Linux 6 ou uma combinação de ambos.
  • O Oracle Linux continuará mantendo a compatibilidade com o Red Hat Linux.
  • A Oracle oferece gratuitamente, com disponibilidade imediata, seus binários do Linux compatíveis com o Red Hat, atualizações e correções em http://public-yum.oracle.com. Veja os termos, as condições e as restrições cabíveis.

Fonte: Sala de Imprensa da Oracle Brasil: Oracle anuncia a certificação do Oracle Database no Oracle Linux 6 e Red Hat Enterprise Linux 6, Redwood Shores, Califórnia – 11 de junho de 2012 (Press Release original em inglês).

Sobre o Oracle Linux:

A distribuição Oracle Linux é livre para download, uso e distribuição. Disponível como código aberto, Oracle Linux é totalmente compatível — tanto fonte quanto binário — com Red Hat Enterprise Linux. Um white paper independente do Edison Group, “Oracle Linux: True Enterprise-Quality Linux Support” inclui resultados de teste de laboratório que demonstram esta real compatibilidade. Oracle Linux é certificado para conformidade com o padrão Linux Standard Base (LSB), que reduz as diferenças entre distribuições Linux individuais e reduz significativamente os custos envolvidos em portar aplicações para diferentes distribuições, bem como diminui o custo e esforço envolvidos em suporte pós produção destas aplicações.

O Unbreakable Enterprise Kernel for Oracle Linux é um kernel de Linux otimizado para hardware e software Oracle.

Fonte: Oracle Linux Technical Information.

Para saber mais:

Oracle Java e open source – entrevista com especialista Fernando Galdino

Através de contato com a Assessoria de Imprensa da Oracle Brasil, obtive entrevista exclusiva com Fernando Galdino, especialista em Soluções da Oracle do Brasil, sobre os produtos, estratégias e perspectivas da Oracle relacionados à tecnologia Java e aos principais produtos comerciais e projetos open source de ambiente de desenvolvimento integrado (IDE) e servidores de aplicação Java liderados pela Oracle.

De acordo com a entrevista, a Oracle sinaliza firme intenção em continuar mantendo o investimento e apoio aos projetos de software livre como os IDEs NetBeans e Eclipse e servidor de aplicação Java Glassfish, enquanto avança também com sua linha de produtos e soluções comerciais Java.

Nas estratégias de sinergia entre produtos, a dupla de software livres NetBeans e Glassfish caminha bem alinhada, ambos suportando em primeira mão as mais novas especificações das plataformas Java SE, EE e ME. O Glassfish é, inclusive, a Implementação de Referência (R.I.) da plataforma Java EE.

Já o IDE Oracle JDeveloper está estrategicamente alinhado para suportar e se integrar com produtos e tecnologias comerciais da Oracle e parceiros, em especial a família de produtos Fusion Middleware, o servidor WebLogic, o Oracle Application Development Framework (ADF) e o banco de dados Oracle Database Server.

Mas há estratégias da Oracle para promover alinhamento do suporte de produtos entre as linhas open source e comercial. Assim, a Oracle mantém iniciativas de suporte e integração ao WebLogic no NetBeans e no Eclipse, bem como suporte ao Glassfish no JDeveloper.

Passados mais de dois anos desde que a Oracle comprou a Sun, e com isso incorporou ao seu portfólio de soluções Java os projetos de software livre NetBeans e Glassfish anteriormente liderados pela Sun, as estratégias de continuidade e integração da Oracle vem se tornando mais claras e consistentes e, com isso, diluindo as dúvidas e incertezas da comunidade de desenvolvedores Java.

Veja a íntegra da entrevista concedida por Fernando Galdino a seguir.

1. Quais são as frentes atuais da Oracle sobre integração e aproximação entre o GlassFish e o Oracle WebLogic Server? Permanece a diretriz de ter uma Plataforma de Servidor Comum no GlassFish 4, que compartilhe conceitos e tecnologias com o WebLogic Server? Quais aspectos específicos de integração tem sido foco de atenção da Oracle?

Galdino: O Glassfish tem recebido especial atenção por parte da Oracle e a integração com outros produtos continua cada vez mais forte. Como exemplos, temos o ActiveCache, a integração com Oracle Access Manager, extensão da console de monitoramento e recursos para clusterização e alta disponibilidade.

Em relação aos esforços de integração entre Glassfish e Weblogic encontram-se a uniformização de APIs e de sua implementação; Integração com JRockit (Máquina virtual Java de alto desempenho) e Coherence (grid de dados em memória). Com isso, ambas as ferramentas (Weblogic e Glassfish) tendem a se valer de um mesmo núcleo comum. Com o Glassfish 4 pretende-se compatibilidade com Java EE 7 e melhor suporte a virtualização. Lembrando que o release final da especificação Java EE 7 deve sair em Q3 de 2012, conforme indicado em http://jcp.org/en/jsr/detail?id=342.

2. A IBM encampou o projeto de software livre do servidor de aplicação Apache Geronimo e o oferece como uma espécie de versão gratuita de entrada, Community Edition, para a família de produtos do IBM WebSphere Application Server. Qual a estratégia da Oracle na orientação de seus clientes iniciantes quanto à escolha entre GlassFish ou WebLogic Server?

Galdino: O Glassfish é o melhor servidor de aplicações open source com suporte da Oracle e é também a implementação de referência para Java EE. Possui integração com outros componentes do Oracle Fusion Middleware. Ele pode ser utilizado para aplicações mais leves ou que queiram utilizar as novas versões da especificação, que serão inicialmente disponibilizadas nesta ferramenta antes do Weblogic.

O Weblogic é um produto que oferece uma série de benefícios em termos de gestão, escalabilidade e performance. Ele é também o servidor de aplicações base para o Fusion Middleware e também para os aplicativos Fusion. Além disso, ele também é a base das soluções de hardware e software do Exalogic, que é uma solução da Oracle para atender a infraestrutura de computação em nuvem requerida pelas aplicações atuais.

3. O WebLogic Server 11g (10.3.x) é formalmente compatível com Java EE 5, mas incorpora suporte a algumas APIs da plataforma Java EE 6. Há planos definidos para quando o WebLogic Server deve ser totalmente compatível com Java EE 6, como já é o GlassFish v3?

O suporte a Java EE 6 no Weblogic encontra-se em desenvolvimento.

Em relação ao IDE de Desenvolvimento Java, com a aquisição da Sun, a Oracle também incorporou o projeto de software livre do ambiente integrado de desenvolvimento (IDE) NetBeans, que vem agregar o portfólio de ferramentas de desenvolvimento Java da Oracle, compostas basicamente do Oracle JDeveloper e do Oracle Application Development Framework (ADF).

A Oracle também tem apoiado o projeto de software livre do IDE Eclipse. Enquanto NetBeans e Eclipse têm se popularizado como plataformas abertas e extensíveis de IDE com suporte a Java, C/C++ e outras tecnologias de desenvolvimento de aplicações, o JDeveloper teve origem no motor do JBuilder, fruto de acordo com a antiga Borland e desde então vem sendo desenvolvido pela Oracle, que tem provido suporte e integração a tecnologias e produtos Oracle, como ADF, Oracle Database Server, Oracle WebLogic e Fusion Middleware.

4. Oracle JDeveloper, NetBeans e Eclipse. Quais são as estratégias, visões e planos da Oracle em relação ao suporte a estas três plataformas de desenvolvimento de aplicações?

Galdino: A Oracle continuará investindo no ambiente Eclipse por meio do Oracle Enterprise Pack for Eclipse. Trata-se de uma plataforma de desenvolvimento amplamente utilizada pelos desenvolvedores que, inclusive, teve adicionados recursos como Toplink e ADF. O foco do OEPE está em integrar ferramentas Oracle com o ambiente Eclipse, suportar a plataforma Weblogic e focar em facilidades para o desenvolvimento em ambiente Java Enterprise Edition.

O Netbeans é uma ferramenta estratégica para a incorporação e utilização das mais recentes funcionalidades adicionadas para as plataformas Java SE, EE e ME. A ferramenta continuará a ser desenvolvida e aprimorada e será a primeira a introduzir as mais recentes atualizações para a linguagem Java. É uma plataforma focada na comunidade e podemos dizer que é uma implementação de referência para ferramentas Java.

O JDeveloper é um componente fundamental para todo o conjunto de aplicativos (Oracle ou não) baseado no Fusion Middleware. Interessante que foi relembrado que o JDeveloper foi baseado no JBuilder. Desde 2001, porém, não há mais nenhum código da antiga Borland na ferramenta. E, ao longo do tempo, diversas funcionalidades foram sendo acrescentadas à ferramenta para o desenvolvimento Java. Hoje é uma ferramenta essencial para o desenvolvimento, utilizando-se das ferramentas Fusion Middleware. Isso inclui o desenvolvimento de ponta-a-ponta para projetos Webcenter e SOA e BPM com foco em um ambiente declarativo, visual e de alta produtividade.

5. Como está sendo vista e trabalhada a integração, interoperabilidade e sinergia entre Oracle JDeveloper e NetBeans? Há planos para uma plataforma base comum no futuro?

Galdino: Netbeans é um projeto open source e os planos são de que continue sendo uma ferramenta sendo desenvolvida pela comunidade e que receba as novidades da linguagem o mais rápido possível. O JDeveloper é um ambiente de alta produtividade para o ambiente Fusion Middleware como um todo.

Os principais pontos de sinergia e interoperabilidade residem nos servidores de aplicação Weblogic e Glassfish e na utilização do Coherence. Pontos esses que estão sendo tratados. Por exemplo, fazer com que os deployment descriptors do Weblogic sejam reconhecidos pelo Glassfish e vice-versa. Hoje, os planos são de que cada ferramenta continue caminhando independentemente da outra, porém tendo em mente a interoperabilidade entre componentes do Fusion Middleware.

6. Quais são as iniciativas atuais e planos futuros para maior integração e suporte a tecnologias e produtos Oracle no NetBeans?

Galdino: A próxima versão do NetBeans ainda encontra-se em uma fase de planejamento. Logo, ainda é um tanto incerto falar em torno de iniciativas e planos futuros, já que elas ainda não se materializaram em termos de ações ou projetos. Essas iniciativas serão analisadas com cuidado, sempre tendo em mente a ideia de ter o NetBeans como uma ferramenta com as mais recentes atualizações da linguagem Java e uma plataforma focada na comunidade de desenvolvedores.

7. Recentemente a Oracle lançou o JDeveloper 11g Release 2, com suporte a JavaServer Faces 2.0 (JSF 2), tecnologia para aplicações web integrante da plataforma Java EE 6. Como está caminhando o pleno suporte às APIs do Java EE 6 no JDeveloper?

Galdino: Hoje, a Oracle possui o Glassfish como o servidor de aplicações compatível com a plataforma Java EE 6. Temos também o Weblogic, componente essencial de toda a arquitetura de produtos Oracle para middleware e aplicativos. O Weblogic é compatível com a versão Java EE 5. A compatibilidade com a especificação Java EE 6 está planejada para as próximas versões. E o JDeveloper, como principal IDE para o Oracle Fusion Middleware, precisa estar equacionado em relação a como atender esses dois lados do desenvolvimento. O lançamento do JDeveloper 11gR2 já permite trabalharmos com alguns desses recursos.

8. A Oracle já doou vários produtos e participou de iniciativas relacionadas ao projeto de software livre Eclipse e à Eclipse Foundation. Podemos destacar a doação do TopLink Essentials — versão open source do Oracle TopLink — que se tornou EclipseLink e implementação de referência de Java Persistence API (JPA); a doação do projeto de software livre Hudson Continuous Integration para a Eclipse Foundation; e a proposição em conjunto com a SpringSource do projeto Gemini baseado nos padrões OSGi. O projeto Eclipse porém, envolve a participação de empresas que tem pontos de concorrência no mercado com a Oracle, como IBM, RedHat e VMWare/SpringSource. Qual o posicionamento, visão e planos atuais da Oracle em relação ao projeto Eclipse?

Galdino: A Oracle continuará participando ativamente do projeto Eclipse. Consideramos que esse projeto é bastante importante para toda uma comunidade de desenvolvedores que utiliza o Eclipse como ambiente de desenvolvimento no dia-a-dia. Como comentado anteriormente, ao falarmos sobre as três IDEs de desenvolvimento, o Eclipse recebe uma atenção especial por parte da Oracle. No último release do OEPE – Oracle Enterprise Pack for Eclipse a Oracle – inclusive adicionou uma maior integração com a stack de produtos Fusion Middleware. Como exemplos, nós temos os recursos para facilitar a criação de scripts WLST utilizados pelo Weblogic e o suporte ao Coherence, um grid de dados em memória para melhorar a utilização de memória, bem como auxiliar na escalabilidade dos aplicativos.

A própria doação do Hudson para a Fundação Eclipse, como colocada na pergunta, já demonstra todo um compromisso que a Oracle possui com esse projeto e que continuará tendo com o lançamento de novos recursos nas próximas versões.


Agradeço à Clezia Gomes, Relações Públicas responsável pelo contato com a Assessoria de Imprensa da Oracle Brasil, que intermediou essa entrevista, e ao Fernando Galdino (@LinkedIn, @SlideShare), especialista da Oracle Brasil que concedeu a entrevista.

Consulta × pesquisa: características, técnicas e ferramentas

Este artigo apresenta e diferencia os dois tipos básicos de busca e recuperação de informação por nome ou descrição, a consulta e a pesquisa, e aborda técnicas e ferramentas típicas para cada caso, tomando como base banco de dados Oracle e plataforma de programação Java.

Quando se disponibiliza buscas para uma quantidade grande e diversificada de usuários, é cada vez mais frequente utilizar um nome como parâmetro de identificação para a busca, ao invés de um código.

Códigos são mais eficientes como critério de busca, porém pressupõem um grupo especializado de usuários que tenha familiaridade com estes códigos. Nome ou descrição textual é mais natural e intuitivo, por isso mais adequado para um público amplo e diversificado.

Contudo, é importante diferenciar os dois tipos de busca possíveis: a consulta e a pesquisa.

Consulta

Na consulta, o pressuposto é que o usuário sabe especificamente o que procura, e deve fornecer uma identificação o mais completa e precisa possível. Nessa situação, o objetivo da busca é ser restritiva de forma a trazer, idealmente, apenas o registro específico desejado.

Quando se trata de uma pessoa, instituição ou outro item que possua nome (ou razão social etc.) que pode ser composto (várias palavras), a identificação precisa textual é o nome completo.

Para busca por um nome completo, as ferramentas de facilidade devem apenas evitar pequenos equívocos e diferenças irrelevantes. Falando especificamente em dados armazenados em tabelas de banco de dados, em geral usa-se uma coluna ou índice de busca em que o nome completo tenha um tratamento de homogenização, como:

  • eliminar acento, cedilha e outros modificadores, convertendo para a letra simples correspondente;
  • converter todas as letras para maiúscula;
  • substituir caracteres especiais (apóstrofo, aspas etc.) por espaço em branco;
  • suprimir espaços em branco no início e no fim e espaços duplicados entre palavras.

Dependendo da situação, outros critérios mais amplos e flexíveis de homogenização podem ser usados, como:

  • eliminação de conectivos ou termos secundários como “de”, “da”, “e”, “Ltda” etc.;
  • conversão de abreviaturas e numerais para extenso como “Cia” para “Companhia”, “Ind” para “Indústria”, “15” para “quinze” etc.

A regra geral, portanto, de uma consulta por nome completo é fazer uma comparação direta do tipo:
normalizar(nome_fornecido) =? tabela de normalizar(nome_armazenado)

Técnicas ou ferramentas típicas:

1) No banco de dados, é recomendável criar uma função (procedimento armazenado / stored procedure) para realizar as operações de normalização do nome, e disponibilizar para uso geral. Uma função SQL Oracle que pode ser usada para remover acentos é TRANSLATE(), como translate(nome, 'âàãáÁÂÀÃéêÉÊíÍóôõÓÔÕüúÜÚÇç', 'AAAAAAAAEEEEIIOOOOOOUUUUCC'). É importante lembrar que nomes estrangeiros podem ter acentuações não existentes na língua portuguesa, como “ñ”, “ä”, “è” e outros. Para maiúsculas usa-se UPPER(nome), e brancos antes e depois podem ser removidos com TRIM(nome) ou LTRIM(RTRIM(nome)), e no meio com repetidos REPLACE(nome, ‘__’, ‘_’) de 2 brancos por 1, ou no Oracle 10g usando REGEXP_REPLACE(nome, ‘[[:space:]][[:space:]]+’, ‘_’).

2) Igualmente, na linguagem de programação é recomendado criar um método para normalização e torná-lo disponível para as aplicações em uma biblioteca. Em Java e outras linguagens, expressões regulares são excelentes para substituição de acentos, caracteres especiais e espaços em branco repetidos. Veja este exemplo sobre Remover acentuação.

3) Criar uma coluna adicional na tabela, como o nome completo homogenizado, e indexar e utilizar essa coluna no momento da busca, gerando a coluna dinamicamente (via gatilho) na inserção ou atualização do nome.

4) Criar um índice por função (disponível no Oracle 9i em diante) aplicando no índice a função de normalização do nome. Isso dispensa a criação de uma coluna adicional como em (3), delegando isso para o índice.

Pesquisa

Diferente da consulta, o objetivo da pesquisa é maximizar a capacidade de busca. A busca não precisa ser exata (ou quase exata), mas sim permite imprecisões, erros ou falhas.

A pesquisa tipicamente traz uma lista ou conjunto de resultados possíveis, de acordo com os critérios de busca.

O usuário não necessariamente deve conhecer previamente o que especificamente procura, muitas vezes se quer descobrir informação (e não apenas recuperar informação, como no caso da consulta).

No caso de pesquisa por nome, o caso típico é o usuário não ser obrigado a conhecer o nome completo, podendo em geral omitir ou errar partes:

  • omitir uma ou mais palavras (de um nome composto);
  • errar a grafia correta/exata;
  • permitir também expressões com o uso de símbolos “curinga” ou de lacuna/substituição, que demarcam um ou mais caracteres indefinidos ou não conhecidos (? e * em expressões regulares, ou _ e % no Oracle).

Em alguns casos, pode-se ser ainda mais tolerante na combinação de palavras fornecidas, permitindo que a ordem exata de palavras seja alternada ou até retornar resultado em que parte das palavras ou expressões procuradas exista, mas outra parte não.

Técnicas e ferramentas típicas:

1) Combinar o uso das técnicas de homogenização usadas em consulta com o uso de máscaras como _ e % e pesquisa SQL com LIKE. Esta técnica, porém, é bastante ineficiente e limitada, por isso tipicamente inadequada para o uso mais geral.

2) Usar o recurso Oracle Text do banco de dados Oracle (9i em diante), que cria índices complexos e flexíveis de pesquisa ampla em texto (full text search), do tipo árvore de pesquisa, aceita operadores e expressões complexos de
pesquisa no estilo “Google”, e tem mais uma infinidade de recursos (veja referências a seguir).

3) Usar mecanismos de busca fonética e múltiplas combinações de palavras. Nesse sentido, um artigo muito interessante da revista Mundo Java de junho/2010 (edição 41) apresenta esse tipo de técnica e o demonstra utilizando uma biblioteca Java brasileira disponível como software livre (licença GPL), desenvolvida pelo INCOR (Instituto do Coração, SP) utilizando um algoritmo fornecido pela PROCEMPA (Companhia de Processamento de Dados do Município de Porto Alegre, RS) e aperfeiçoada pela empresa P2D.

Os fontes da reportagem estão disponíveis no site da revista em http://www.mundojava.com.br/NovoSite/codigos.shtml: BuscaFonetica.rar.
E a biblioteca GPL aperfeiçoada está disponível na P2D e a original no InCor.

Oracle compra empresa de segurança para bancos de dados

Fonte: IT Web
Por Charles Babcock, InformationWeek EUA, 21/05/2010.

Secerno oferece firewalls para proteção externa para banco de dados.

A Oracle irá adquirir a Secerno, fornecedora de firewalls que trabalha para proteger sistemas de bancos de dados. O valor pago pela companhia de capita fechado sediada em Oxford (Inglaterra) não foi revela. A expectativa é de conclusão do negócio no final de junho.

A companhia já oferece uma série de soluções para proteção interna de seus sistemas. A Secerno acrescenta uma camada externa de proteção à solução, comentou Andrew Mendelsohn, vice-presidente-sênior de tecnologias para servidores de banco de dados.

O appliance de firewall Secerno DataWall inspeciona comandos e consultas nos bancos de dados para se certificar que não contêm comandos falsos ou representem alguma espécie de demanda inadequada.

Informação postada no site da empresa adquirida diz que a solução pode ser configurada para bloquear atividades com base no perfil de usuários, nome de domínio, aplicação ou origem de programa de comando.

Um relatório de dezembro de 2009 da Forrester Research diz que “o acesso inapropriado por funcionários sem privilégios continua a ser uma questão de segurança a ser considerada”.

A Oracle enxerga a compra como uma forma de reduzir riscos e incrementar níveis de segurança, pontos apontados como desafiadores no cenário atual. A tecnologia da companhia adquirida é tida como uma primeira linha de defesa.

Quadrantes Mágicos BI atualizados

Ontem falei da atualização de mercado do relatório de Quadrante Mágico do Gartner para ECM/WCM.

Hoje atualizo os quadrantes mágicos para as plataformas de inteligência de negócios (business intelligence – BI), desde meu artigo com a visão geral das ferramentas e do mercado de BI em 2008.

Magic Quadrant for Business Intelligence Platforms, 2009, por James Richardson, Kurt Schlegel, Rita L. Sallam e Bill Hostmann, 2009-01-16, Gartner. Reproduzido por MicroStrategy (PDF, requer registro gratuito); Oracle (Press: Oracle Placed in Leaders Quadrant in Latest Business Intelligence Platforms Magic Quadrant, 2009-01-22; Industry Analyst Reports sobre Oracle BI).

[photopress:bi_gartner_magicq_2009.png,full,centered]

Fonte: Gartner, janeiro 2009.

Líderes:
IBM (Cognos), Oracle, SAS, Microsoft, SAP (Business Objects), Information Builders, Microstrategy.

Magic Quadrant for Corporate Performance Management Suites, 2009, por Neil Chandler, Nigel Rayner, John E. Van Decker e James Holincheck, 2009-04-30, Gartner. Reproduzido por Oracle (Press: Leading Analyst Firm Positions Oracle’s Hyperion in Leaders Quadrant for Corporate Performance Management Suites, 2009-01-07; Industry Analyst Reports sobre Oracle EPM).

[photopress:bi_gartner_magicq_cpm_2009.png,full,centered]

Fonte: Gartner, abril 2009.

Líderes: Oracle (Hyperion), SAP (Business Objects), IBM (Cognos).

Oracle e BEA – estratégias futuras

Passados alguns meses da aquisição da BEA Systems pela Oracle, começam a ser definidas as primeiras estratégias concretas para o futuro das linhas de produtos e tecnologias servidoras baseadas em Java EE, as famílias BEA WebLogic e AquaLogic e a pilha Oracle Fusion Middleware.

O anúncio da aquisição ocorreu em 16 de janeiro deste ano, mas o processo de aquisição só foi efetivamente completado em 29 de abril, quando ocorreu a aprovação pela Comissão Européia.

No post Blogging the Oracle Fusion Middleware Strategy Webcast, em 1º de julho no OTN TechBlog, Justin Kestelyn apresentou um resumo da apresentação do Presidente da Oracle Charles Phillips no Webcast sobre Oracle e BEA.

Para começar, todos os produtos BEA vão continuar sendo suportados sob os mesmos prazos divulgados pela BEA anteriormente à aquisição, e não haverá uma política de migração forçada. Esta abordagem é similar à dos ERPs Apps Unlimited one, que segundo Charles resultou em uma taxa de renovação/permanência de 96% daqueles produtos. O suporte existente para Fusion Middleware será estendido por mais um ano.

Alguns produtos são “Estratégicos” e serão imediatamente incorporados à pilha Fusion Middleware, como o conteiner JEE líder de mercado BEA WebLogic Server (OC4J vai continuar também, por enquanto). Alguns são “Continuar e Convergir”, que terão algum redesenho com gradual integração à pilha; deve ser o caso de TopLink/JPA, Coherence, SCA e outras tecnologias. E outros são produtos identificados pela própria BEA anteriormente à aquisição como “Manutenção” e terão suporte mantido por pelo menos quatro anos.

Mais alguns pontos resumidos por Justin Kestelyn (tradução livre):

O direcionamento técnico é para continuar modularizando o Servidor de Aplicação de acordo com o modelo OSGi (ver OSGi Alliance Specifications).

Ferramentas: JDeveloper vai continuar sendo o IDE estratégico da Oracle, mas o BEA Workshop baseado em Eclipse vai continuar disponível, e agora gratuito como o JDeveloper; eventualmente Workshop deve ser tornar parte do Oracle Eclipse Pack.

SOA: todos os componentes vão continuar hot-pluggable; a plataforma combinada oferece ferramentas, middleware, governança e componentes integrados. Oracle ESB e AquaLogic ESB convergirão para o novo Oracle Service Bus.

Governança SOA: AquaLogic Enterprise Rep se tornará o repositório de governança SOA da Oracle; Oracle Service Registry vai continuar como UDDI registry.

BPM: Oracle deve combinar o BPM em um único runtime baseado no modelo de metadados BPEL/BPMN.

Gerenciamento: Enterprise Management Packs serão estendido aos produtos BEA; BEA Guardian será integrado ao Oracle Enterprise Manager.

Oracle Technology Network em português

Finalmente, a Oracle expandiu a globalização do Oracle Technology Network (OTN), seu portal para usuários, profissionais e desenvolvedores nas tecnologias Oracle, para comunidades e idiomas além da língua inglesa.

Dia 19 foi lançada a OTN América Latina, com conteúdo em Português e em Espanhol.

É claro que a maior parte do conteúdo ainda está concentrada no portal matriz em inglês, otn.oracle.com. Também são em inglês os principais blogs de funcionários e parceiros Oracle — até o java2go.blogspot.com, do brasileiros Eduardo Rodrigues e Fábio Souza, consultores técnicos da Oracle Brasil.

Mas é uma grande iniciativa a criação de conteúdo técnico Oracle em português.

Oracle 11g

Ontem, 11 de julho, em um evento ao vivo na cidade de Nova York, a Oracle revelou o Oracle Database 11g — sua nova geração de sistema de gestão de informações corporativas que, segundo a empresa, ajudará os clientes a inovar mais rapidamente através de uma melhor visão de negócios.

Assim é descrito o anúncio de lançamento (em inglês) da nova versão 11g do sistema gerenciador de bancos de dados relacional (SGBDR/RDBMS) que se mantém número 1 do mercado mundial (47,1% do mercado; Gartner, 2006), desde quando há trinta anos o visionário Larry Ellison apostou no potencial da então recém criada linguagem SQL.

A nomenclatura da versão segue a linha da anterior, onde o “G” de 11g — assim como 10g — vem de grid computing, termo que faz referência à era da computação distribuída em alta escala, baseada em cluster (ou grade — grid) de computadores inter-conectados. A linhagem “G” da Oracle sucedeu a “I” das versões 8i e 9i, que aludia à era da internet.

O release de imprensa do Oracle Database 11g (em inglês) destaca as seguintes caracterísiticas da nova versão:

  • Real Application Testing Helps Reduce Time, Risk and Cost of Change
  • Increase Return On Investment for Disaster Recovery Solutions
  • Enhanced Information Lifecycle Management and Storage Management
  • Total Recall of Data Changes
  • Maximum Availability of Information
  • Oracle Fast Files
  • Faster XML
  • Transparent Encryption
  • Embedded OLAP Cubes
  • Connection Pooling and Query Result Caches
  • Enhanced Application Development
  • Enhanced Self-Management and Automation

Os outros produtos da Oracle Corporation devem acompanhar brevemente a nova geração 11g na numeração de suas versões. A ferramenta de desenvolvimento Java, Oracle JDeveloper, já tem disponível a versão 11g em Technology Preview (beta).

Para saber mais:

Oracle SQL – máximo e mínimo

Na Oracle Technology Network (OTN) você pode acessar (requer registro gratuito) toda a documentação dos produtos Oracle, assim como baixar qualquer produto, seja gratuito ou como avaliação/teste para o desenvolvedor de um produto comercial. OTN inclui ainda uma infinidade de artigos, tutoriais, exemplos e fóruns.

Em matéria de documentação de produto, a Oracle não economiza. Vejamos o caso do servidor de banco de dados Oracle 10g. A documentação mais recente Oracle Database Online Documentation 10g Release 2 (10.2) é composta de nada menos que 344 livros!

Na aba Books está a lista completa de todos os livros que compõem a documentação. Todos podem ser visualizados em formato HTML (melhor para visualização on-line) ou PDF (melhor para visualização off-line, consulta e impressão). Para dar um pequeno exemplo apenas sobre a linguagem SQL no Oracle, temos os livros:

  • SQL Developer Installation Guide: guia de instalação do Oracle SQL Developer, ferramenta gráfica multi-plataforma (Java) gratuita da Oracle para manipulação de SQL;
  • SQL Developer User’s Guide: guia do usuário da ferramenta Oracle SQL Developer;
  • SQL Quick Reference: referência rápida dos comandos, funções, expressões, condições, cláusulas, tipos e outras construções do Oracle SQL (142 páginas);
  • SQL Reference: referência completa do Oracle SQL (1428 páginas!).

Se você decidisse ler uma página por dia só do livro de referência completa SQL, demoraria quatro anos para concluir. 🙂

É certo que mesmo o mais experiente desenvolvedor ou DBA Oracle encontrará algumas coisas que nem imaginava existir. Com tanta informação, o mais prático deve ser consultar ou pesquisar o que se precisa sob demanda.

Passeando pela documentação, lembrei de uma dica:

Obter o valor máximo e o mínimo dentre as linhas de resultado de uma consulta SQL é um trabalho para as funções de grupo do SQL: MAX(expressão) e MIN(expressão). Usadas nos itens de retorno ou em condições de grupo HAVING, este tipo de função pode ser relativa a todas as linhas retornadas, ou a agrupamentos de linhas caso exista a condição GROUP BY.

Se você, contudo, precisa saber o máximo ou mínimo entre colunas ou expressões (numéricas, datas/tempo) em cada uma das linhas, aí deve utilizar as funções GREATEST(expr1, expr2…) ou LEAST(expr1, expr2…) respectivamente.

Para saber mais: