JSONP API: Como processar JSON com Java EE 7

Veja neste artigo que serão apresentadas as principais funcionalidades advindas com a JSON-P e como esse recurso pode ser utilizado para criar, processar e ler documentos JSON.

Fique por dentro
A Java API for JSON Processing (JSON-P) é uma API para processamento de documentos JSON que foi lançada como uma das novidades provenientes da plataforma Java EE 7. Essa API está contida na especificação JSR-353, cujo principal objetivo é criar uma padronização na maneira de processar e manipular documentos no formato JSON, pois até então não havia nenhuma especificação que lidasse de forma direta com esse formato de documento. No decorrer deste artigo serão apresentadas as principais funcionalidades advindas com a JSON-P e como esse recurso pode ser utilizado para criar, processar e ler documentos JSON.

No mês de junho deste ano a Oracle lançou a mais recente versão da plataforma Enterprise do Java, a Java EE 7, trazendo algumas novidades importantes. Dentre elas está a API JSON-P, a qual será o tema deste artigo e tem por objetivo executar o processamento de arquivos JSON.

No entanto, antes de abordar o que esta API traz de novo, é importante ressaltar que as especificações da plataforma Java, de modo geral, não apenas as referentes à Java EE, são definidas e documentadas pelo JCP (Java Community Process). O objetivo do JCP é envolver todas as esferas da comunidade Java, tanto empresas quanto pessoas físicas, para colaborar com a evolução do Java.

Qualquer pessoa pode contribuir com o JCP participando do desenvolvimento de alguma evolução ou nova tecnologia, que para ser incorporada na plataforma Java necessita de uma JSR (Java Specification Request ou Requisição de Especificação Java). Essa JSR, quando aprovada pelo JCP, estará disponível na próxima versão da plataforma.

No caso da especificação Java EE, seu conceito está ligado a um conjunto de especificações com o objetivo de orientar o desenvolvimento de aplicações web e corporativas distribuídas, daí o nome Enterprise, fazendo uso da linguagem de programação Java.

Sendo assim, Java EE pode ser caracterizada como uma especificação guarda-chuva sob a qual se encontram várias outras especificações como, por exemplo, a JSR 338 referente à JPA 2.1, a JSR 340 referente ao Java Servlet 3.1, e no caso específico deste artigo, a especificação JSR 353, que documenta a API JSON-P, que iremos tratar com mais detalhes nas páginas seguintes.

De maneira prática, através da plataforma Java EE, temos acesso a uma série de benefícios como controle de transação, acesso remoto, concorrência, persistência em banco de dados, segurança, serviços de mensageria, entre outros requisitos de infraestrutura. Dessa forma o desenvolvedor pode, na maior parte do tempo, focar no desenvolvimento das regras de negócio que agregam valor para o software, ao invés de cuidar de questões inerentes à infraestrutura da aplicação.

Além disso, podemos desenvolver aplicações que não dependam do sistema operacional e que possam ser executadas em diferentes servidores de aplicação, pois cada um deve ser construído seguindo a especificação Java EE, mantendo assim a compatibilidade entre eles.

Diante dessas informações, neste artigo vamos demonstrar as principais características da API JSON-P, dentre as quais podemos citar a padronização do processamento de documentos JSON e a portabilidade das aplicações construídas com essa API, não sendo necessário adicionar qualquer biblioteca externa para o funcionamento das operações de manipulação de documentos JSON.

O que a Java EE 7 traz de novo?

No primeiro semestre deste ano foi lançada a plataforma Java EE 7, sendo esta a primeira versão da Java EE após a aquisição da Sun pela Oracle. Nesta nova versão as principais novidades vão de importantes atualizações em algumas tecnologias, até o surgimento de quatro novas especificações, como demonstrado na Figura 1.

Entre as novas especificações está a JSR 356, que introduz a API que implementa o protocolo WebSocket. Para mais informações, leia os artigos publicados nas Edições 117 e 120 da Java Magazine. Outra importante tecnologia está especificada pela JSR 352, a qual tem o objetivo de definir um modelo de programação para aplicações batch, ou seja, padroniza a programação para lidar com o processamento em lote de tarefas (jobs).

Estas tarefas se caracterizam por sua longa duração, muitas vezes executadas sob demanda ou através de agendamentos. Como exemplo, podemos citar os sistemas de mineração de dados, backups e alguns módulos de sistemas bancários.

A Java EE 7 traz também a JSR 236. Esta fornece uma API com recursos para controle de concorrência entre componentes de aplicações corporativas. Antes dessa especificação, desenvolver Threads (java.lang.Thread) dentro de EJBs ou dentro de Servlets poderia ocasionar problemas, uma vez que o container não compreendia os recursos de concorrência nativos da Java SE. A partir de agora, com a API de Concurrency Utilities, passa a existir uma compatibilidade entre os recursos de concorrência da plataforma SE e o modelo de concorrência da plataforma EE. Para mais informações, leia o artigo publicado na Java Magazine 121."

[...] continue lendo...

Artigos relacionados