segunda-feira, 31 de outubro de 2016

(Continua) Oracle entra com pedido de apelação contra o Google em caso de Java

A Oracle entrou com um pedido oficial de apelação para recorrer da decisão da justiça dos Estados Unidos no caso do uso do Java. Em maio, a empresa perdeu o caso contra o Google em que se discutia se o uso do Java no desenvolvimento do Android configurava como uso justo ou infração de direitos autorais.

O apelo da Oracle não é usa surpresa, mas é considerado um tiro no escuro pois a questão do uso justo é subjetiva e coloca o Google em vantagem.

Entenda o caso
Durante o desenvolvimento do Android, a equipe de programadores usou 37 APIs do Java, que na época era propriedade da Sun Mycrosystems. Quando o Google adquiriu o Android e lançou em 2008 o HTC Dream, firmou um acordo para uso da plataforma de desenvolvimento.

Porém, em 2010, a Oracle comprou a Syn Microsystems e processou o Google por infração de direitos autorais. Em resposta, o Google apelou para o uso justo, alegando que o uso das APIs Java era necessário para desenvolvimento da plataforma e não eram passíveis de serem patenteadas.


Fonte: OlharDigital

quarta-feira, 19 de outubro de 2016

ORACLE DISPONIBILIZA O JAVA RE V8 UPDATE 111



A Oracle disponibilizou para download nesta terça-feira o Java RE v8 Update 111 para Windows* e outras plataformas.

O Java Runtime Environment (ou Java RE) permite que os usuários executem jogos e aplicativos programados em Java, façam o upload de fotos em certos sites, conversem online, façam tours virtuais e usem serviços como treinamento online, transações bancárias online e mapas interativos.

Muitos serviços de internet banking no Brasil requerem a instalação do Java Runtime Environment no computador, por isso é extremamente importante mantê-lo sempre atualizado. Ele está disponível para download gratuitamente e em versões 32 e 64 bits para Windows.

De acordo com a Oracle, o Update 111 traz correções de bugs e correções para múltiplas falhas de segurança. Algumas das falhas corrigidas são de alto risco.

A lista com os bugs corrigidos pode ser vista aqui e a lista com as vulnerabilidades pode ser vista aqui.



Fim do plugin Java para navegadores


No final de janeiro deste ano a Oracle anunciou em seu blog oficial o fim do plugin Java para navegadores. Assim como o Flash Player da Adobe, o plugin da Oracle sempre sofreu com falhas de segurança.

Com a instrução de padrões como o HTML5, a necessidade do uso de plugins pelos navegadores vem diminuindo cada vez mais.

Alguns navegadores, como as versões mais recentes do Google Chrome e o Microsoft Edge, já nem suportam mais plugins baseados em NPAPI ou ActiveX. O Firefox, da Mozilla, dele eliminar o suporte para plugins baseado sem NPAPI até o final deste ano.

A Oracle confirmou o fim do plugin Java para navegadores a partir da versão 9 do JDK (Java SE Development Kit) e em futuras versões do JRE (Java Runtime Environment).

A empresa recomenda que desenvolvedores de aplicações que precisam do plugin Java para navegadores considerem alternativas como a migração dos applets Java para a tecnologia Java Web Start, que não requer o uso de plug-ins.

Fonte: Baboo

Encontro do SouJava sobre MicroProfile

O próximo encontro do SouJava, será online, e será sobre MicroProfile

O termo microsserviço, se tornou muito popular. Assim, diversas ferramentas  e diversos artigos relacionados ao assunto vem surgindo. Eventualmente pode-se desenvolver microsserviços com Java EE, porém os profiles atuais não são a melhor alternativa.  Neste contexto foi lançada uma nova iniciativa no mundo Java o MicroProfile, que na sua versão 1.0 utiliza algumas APIs do Java EE. O Microprofile foi um dos tópicos mais comentados no JavaOne 2016 e como esta em sua fase inicial todos nós podemos participar das discussões e sua evolução.



O evento acontecerá no dia 27 de Outubro, quinta-feira, a partir das 19:30.

Data:27 de outubro
Horário:19:30
Entrada: Gratuíta


Participantes:



Nome: Otávio Gonçalves de Santana

Mini-bio: Um desenvolvedor apaixonado pelo que faz: JUG Leader, Java Champion, Expert Group em diversas especificações Java, membro executivo do JCP, JCP Outstanding Award, Duke’s Choice Award, committer da Apache, palestrante em diversos eventos ao redor do mundo além de escrever artigos e livros no tempo restante.



Nome: Fábio Velloso

Mini-bio: Desenvolvedor inquieto desde a infância, Bacharel em Ciência da Computação, professor de Arquitetura Orientada a Serviços (SOA) na UFSCar e membro do Executive Committee do JCP. Arquiteto responsável por diversos projetos de Internet Banking, SOA, integração e segurança em instituições financeiras, empresas do setor de telecomunicações e de varejo. Fundador e diretor do SouJava e Consultor da Summa Technologies, atualmente desenvolve projetos de Integração Continua, Cloud Computing e Sistemas Web e é palestrante em diversos eventos de tecnologia e inovação.

Nome: Bruno Souza
Mini-bio: Bruno Souza acredita que os desenvolvedores de software tem um grande impacto no mundo e podem efetivamente melhorar o planeta. É por isso que ele é apaixonado por desenvolver comunidades. Bruno tem dedicado a sua vida a auxiliar desenvolvedores ao redor do mundo a alcançarem o seu verdadeiro potencial. Também conhecido como “Javaman”, ele é desenvolvedor Java na Summa Technologies e especialista em cloud na ToolsCloud, onde participa de alguns dos maiores projetos em Java no Brasil. Também é presidente do SouJava e esteve duas vezes na Diretoria do Open Source Initiative.

Fonte: SouJava

segunda-feira, 12 de setembro de 2016

Prepare-se para Java 9

Java 9 introduzirá um sistema modular diferente da plataforma Java SE de hoje.A Compatibilidade com versões anteriores é uma das principais prioridades, a equipe de engenharia da Oracle tem trabalhado em uma transição suave para Java 9. No entanto, há uma série de mudanças-chaves abaixo que você precisa entender. Sabendo que esta informação também ajudará melhor nas sessões do JavaOne e para o lançamento do Java 9.

As condições gerais de compatibilidade indicam que APIs suportadas pode ser removido com aviso prévio.A JEP 277 reforça a depreciação que descreve o processo de notificação, o estado e disposição da APIs, bem como ferramentas para analisar o uso estático de um aplicativo das APIs depreciadas.

A JEP 260 diz respeito sobre o encapsulamento da maior parte das APIs, explica que a maioria das APIs internas serão inacessíveis por padrão, mas deixa algumas críticas APIs internas  amplamente utilizados, acessíveis, até que existam substituições compatíveis para todos ou a para maioria de sua funcionalidade.

Como regra geral, você não deve usar APIs não suportados, que são na sua maioria são dos pacotes sun.* APIs como sun.misc.Unsafe. Essas APIs são destinadas a ser usado pela equipe do JDK da Oracle. Mark Reinhold fez uma palestra inteira no ano passado na JVM Language Summit a respeito da sun.misc.Unsafe.

As APIs internas críticas que foram propostos para permanecer acessível no JDK 9 são:

  • sun.misc.{Signal,SignalHandler}
  • sun.misc.Unsafe (A funcionalidade de muitos dos métodos dessa classe está agora disponível através de variable handles (JEP 193).)
  • sun.reflect.Reflection::getCallerClass(int) (A funcionalidade do método pode ser fornecida numa forma padrão através da JEP 259.)
  • sun.reflect.ReflectionFactory.newConstructorForSerialization
As APIs internas críticas acima serão colocados em, e seus pacotes exportados de um módulo específico do JDK chamado jdk.unsupported. Você irá achar mais informações na página JEP 260.


Como você sabe se o seu programa utiliza ou depende de qualquer API JDK-interno?


Você pode identificar as APIs pelo nome dos pacotes no código fonte, se você tiver acesso ao código-fonte. Às vezes isso é um desafio porque você pode usar uma biblioteca de terceiros que depende de uma dessas APIs. Para identificar essas APIs, você pode usar Jdeps, ferramenta de análise de dependência do Java, que foi introduzido no JDK 8. Você deve usar a versão melhorada do Jdeps, disponível e com acesso antecipado a pagina de lançamentos do JDK 9 . Há também um plug-in para Maven.

O comando jdeps mostra o nível do pacote ou o nível de dependências da classe Java.A classe de entrada pode ser um nome de caminho para um arquivo .class, um diretório, um arquivo JAR, ou pode ser um nome de classe totalmente qualificado para analisar todos os arquivos de classe.

Por padrão é analisado todas as classes especificadas na opção -classpath e no arquivo de entrada do mesmo.Você vai precisar usar '-jdkinternals' para sinalizar as APIs internas. Mais informações estão disponíveis na página principal Jdeps. A ferramenta notifica sobre as APIs internas do JDK para modificar, bem como sugerindo substituições quando disponível. A lista completa de JDK substituições API interna está disponível aqui.

Alan Bateman explica como usar a jdeps e percorre vários exemplos usando um arquivo jar do Glassfish e, a partir Gradle 2.7. Ele também fornece uma solução alternativa se você estiver usando um aplicativo de terceiros que não pode ser atualizado. Assistir a sua apresentação aqui.

Links chaves:

Fonte: Oracle, Tradução: Equipe ALJUG

sexta-feira, 19 de agosto de 2016

Oracle pede novo julgamento em processo contra o Google

A recente vitória do Google nos tribunais, após um processo que já dura mais de seis anos movido pela Oracle, parecia ser o final de uma novela gigante. Ou não. Advogados da empresa desenvolvedora do Java, e que demanda compensações financeiras da gigante da web justamente pelo uso irregular da tecnologia, voltaram a registrar, nesta quarta-feira (17), um novo pedido de julgamento que deve alongar ainda mais a disputa. 

Com custos que já somam US$ 9 bilhões, a ação está relacionada ao que a Oracle julga uma quebra de suas patentes pelo Google, que teria utilizado tecnologias Java na criação do sistema operacional Android. Os juízes não deram razão a ela, mesmo após sucessivos apelos, mas, agora, anúncios feitos pela própria dona do sistema operacional do robô verde podem transformar o cenário, fazendo com que muitos acreditem que a reclamante conseguirá obter algum tipo de compensação financeira. 

A virada foi extremamente técnica, mas se parece com aquelas que veríamos em um filme de tribunal. Além do argumento de que as tecnologias usadas são de código aberto, o Google alegava, também, que o uso do Java no Android não feria o mercado da Oracle, pois o sistema estava disponível apenas em celulares e tablets. Entretanto, no mesmo dia e horário da audiência, a companhia apresentava uma versão da Google Play Store para Chromebooks, levando seus sistemas para computadores e subvertendo a própria defesa. 

Agora, a Oracle afirma que o Google não apenas está, mais ainda, ferindo sua fatia de mercado, como também tentou acelerar o julgamento para obter vitórias antes do anúncio, escondendo o desenvolvimento de uma versão da loja online para o Chrome OS. Em resposta, Mountain View disse ter sim apresentado documentos sobre a função que permite rodar apps do Android nos notebooks, e, inclusive, eles teriam sido analisados por especialistas da Oracle. A Play Store para o Chrome OS, entretanto, não teria sido baseada em tal tecnologia, apesar de ter finalidade semelhante. 

Além disso, relatórios relacionados ao mais recente julgamento indicam que a Oracle também teria razão em processar o Google por sistemas Android disponíveis em carros, relógios inteligentes e dispositivos de Internet das Coisas. Entretanto, foi uma decisão da corte limitar o processo apenas aos produtos considerados principais – ou seja, o sistema operacional móvel –, de forma a facilitar o entendimento dos jurados e também o andamento de um processo gigantesco que não para de crescer.

 Tudo isso pode mudar agora, baseado também na noção que, por mais que os papéis originalmente se relacionem apenas a tecnologias lançadas até 2012, a Oracle pode pedir uma extensão do caso e também de seus ganhos até o recém-anunciado Android Nougat. E se a ideia de que o Chrome OS também entra na dança colar, todo o processo ganhará novos tons, extremamente favoráveis para a dona do Java, que não tem poupado despesas para vencer a peleja. 

A próxima audiência sobre o caso, que vai julgar a admissão ou não de um novo pedido de julgamento, acontece em 22 de setembro. Com as novas alegações, é bastante provável que o processo complete seu aniversário de sete anos, em maio de 2017, e continue existindo por pelo menos mais algum tempo.

Fonte: CanalTech

sexta-feira, 29 de julho de 2016

Sky World com Kotlin - Coding Dojo

Nossa Aventura continua, no mundo genial do Kotlin.

Você que perdeu o 1º, venha aventurar no 2º.

Vamos entrar no Sky World( Só para ludificar o momento kkkkkk).

Vamos passar pelos skate do baby steps, pelo carrinho do TDD, pegar o avião da imaginação, pegar o paraquedas em grupo para compartilhar o conhecimento e cair nas graças do Kotlin!

E aí, gostou?

Então se inscreva https://www.meetup.com/pt-BR/GDG-Maceio/events/232885579/?eventId=232885579 

Vai acontecer no Sábado dia 6 de Agosto de 2016 09:30 às 12:00.

Pode chegar mais cedo. Esperamos você lá!

TOP 10 – Linguagens de programação mais populares

Java já não é a linguagem mais popular! :( 

Descubra qual é.

Atualmente são muitas as linguagens de programação ao dispor dos programadores e curiosos pela “arte” de programar. Devido a essa multiplicidade de linguagens de programação e também aos vários ambientes de de programação (Móvel, Desktop, empresarial, etc), é comum sermos questionados sobre qual a melhor linguagem de programação.

Hoje apresentamos um TOP 10 das linguagens de programação mais populares em 2016, segundo o IEEE.

Fonte: pplware.sapo.pt


De acordo com o site do IEEE, a linguagem C é atualmente a linguagem de programação mais popular. De referir que em 2014 o primeiro lugar era ocupado pela linguagem de programação Java da Sun Microsystems.

Do ranking há ainda a destacar a presença da linguagem Python que ultrapassou a linguagem de programação C++. A linguagem de programação R tem vindo crescendo no TOP 10 e há uma nova entrada, a linguagem Go.

Para a elaboração deste ranking foi usada informação de várias fontes, como por exemplo, Google Search, Google Trends, Twitter, GitHub, Reddit, etc.

Além da informação do ranking, o site apresenta também quais os tipos de plataformas suportados por cada linguagem de programação (ver campo type) sendo que neste momento o C lidera em todas as plataformas (Web, Mobile, Enterprise, Embedded).

Fonte: Pplware