Última chamada para chamada de trabalhos para o JUDCon Brasil 2014

judcon2014brazil_banner_1180px_en_cfp

A Red Hat, fornecedora líder mundial de soluções de código aberto, anuncia a abertura das chamadas de trabalho para a segunda edição da JBoss Users&Developers Conference (JUDCon Brasil 2014), que acontece no dia 26 de setembro, em São Paulo.

A JBoss Users&Developers Conference é um evento de porte internacional feito “Por Desenvolvedores, Para Desenvolvedores” e que reunirá a comunidade entusiasta da tecnologia JBoss open source do mundo com os principais líderes da Jboss.org. O encontro é a oportunidade para aprender, ensinar, trocar experiências e discutir tendências, apresentar projetos e colaborar com a comunidade.

Interessados em apresentar projetos devem preencher um formulário no site do evento (http://www.jboss.org/pt_BR/events/JUDCon/2014/brazil/cfp) até o dia 29 de agosto. As submissões devem ser feitas em inglês.

O JUDCon Brasil 2014 é também a oportunidade que os desenvolvedores locais têm de se aproximar dos criadores e principais engenheiros mundiais da Red Hat, que trabalham nos produtos de portfolio de Middleware, tirar dúvidas, trocar experiências e procurar soluções inovadoras por meio das tecnologias de JBoss.

Agenda

Chamadas de trabalho: Até 22 de agosto 27 de agosto

Divulgação dos selecionados: 1 de setembro

Evento: JUDCon Brasil 2014 

Data: 26 de setembro 

Local: Rua das Olimpiadas, 205, São Paulo- SP 

Site do evento: http://www.jboss.org/pt_BR/events/JUDCon/2014/brazil.html 

 


Livro: Play Framework: Java para web sem Servlets e com diversão

É com grande satisfação que venho ajudar a divulgar o último livro dum grande ex-colega de trabalho, Fernando Boaglio. Neste novo trabalho ele ensina de forma simples e didática a utilização do Framework Play desde tarefas básicas às mais complexas, de forma extremamente produtiva.

Play-ebooks_large

Desenvolver sistemas web em Java nunca foi tão divertido! Se você está cansado de escrever longas Servlets, ficar brigando com seu framework o tempo inteiro para realizar tarefas simples e escrevendo mais código que o necessário para desenvolver qualquer funcionalidade, o Play Framework é o que você precisa.

Nesse livro, Fernando Boaglio ensina como criar uma aplicação do começo ao fim utilizando o Play Framework na versão Java, passando por situações comuns do dia a dia, indo desde o tradicional cadastro, até funcionalidades mais avançadas como habilitação de HTTPS, login integrado com redes sociais e integração com serviços REST. Você vai aprender como o Play Framework pode te tornar extremamente produtivo.

Boa leitura!


Dispositivos móveis: a interface com o mundo

Republicação de Boris Kuszka:

Todos vocês já devem ter se deparado com as estatísticas mais recentes de queda de venda de PCs (desktops) com a vinda de telefones inteligentes (smartphones), tablets, híbridos de tablet e smartphone, Ultrabooks, e-readers com acesso à internet, etc. Isso é na verdade o que a indústria está definindo no meio corporativo de BYOD (Bring Your Own Device, ou traga o seu próprio dispositivo), ou seja, você escolhe a forma como quer acessar os seus aplicativos: usar seu banco, comprar ingressos, fazer compras em geral e até mesmo acessar os sistemas da empresa em que trabalha com o seu dispositivo móvel.
O acesso via dispositivos móveis pode ser analisado por meio de duas visões: a corporativa e a privada. Apesar do dispositivo ser o mesmo que você usa para acessar sua empresa e seus dados pessoais, as formas como isso se desenvolveu em cada um dos casos foram bem distintas.

39794.56852-no-celular
A visão corporativa

Como chegamos no BYOD? Vale voltarmos alguns anos para revermos como isso evoluiu e como isso impacta em termos de inovação.

Nos anos 60 até 80, na era dos mainframes, o acesso era feito por meio dos terminas síncronos, de tamanho e peso gigantescos, normalmente de fósforo verde, sem gráficos. Todo processamento era centralizado no data center, o que permitia um controle total para quem administra os sistemas, mas com pouquíssima flexibilidade. Se por qualquer razão você precisasse acessar qualquer sistema, tinha que correr para o escritório/fábrica e chegar ao terminal para acessar os aplicativos da empresa.

No final dos anos 80, surgiram os equipamentos baseados em processador RISC e sistema operacional UNIX, e foi aí que começou a era do downsizing, que foi a migração do mainframe para equipamentos baseados em padrões abertos, os chamados “Open Systems”, principalmente por razões de custos e possibilidade de ficar um pouco menos dependente do fabricante; afinal de contas, o UNIX prometia uma plataforma aberta e intercambiável, coisa que nunca aconteceu em sua plenitude. E esforços de migração entre UNIX continuam ocorrendo até hoje. Nessa época, o acesso era feito por terminais assíncronos, o que pelo menos nos dava a opção de acesso via MODEM (acesso pela linha telefônica) e assim, de forma ainda mais interessante, começou uma nova arquitetura computacional chamada de cliente-servidor, na qual o acesso era feito por um PC – uma parte da aplicação rodava nesse PC e outra no servidor.

Isso durou até o final dos anos 90, quando veio a internet, a plataforma Java (rode seu aplicativo de qualquer dispositivo, de qualquer lugar, com segurança” dizia o slogan do Java, coisa que em larga escala efetivamente começamos a ver hoje em dia). O famoso slogan da falecida Sun Microsystems finalmente começou a fazer sentido: “a rede é o computador”. Arquiteturas novas que permitiam acessar os servidores do data center via navegadores (na época tínhamos principalmente o Netscape e o Internet Explorer) e, para os sistemas legados, havia o acesso via VDI (desktop virtual) em que você mostrava a tela do aplicativo via outros dispositivos, como PCs, “thin clients” e, com algumas restrições, celulares.

Boris Kuszka é o Diretor dos Arquitetos de Solução da Red Hat. Possui 22 anos de experiência em tecnologia da informação, sempre atuou na área de Open Systems passando por empresas como IBM, Sun Microsystems, Nokia, Oracle, HP e NetApp. É formado em Engenharia Eletrônica pela Politécnica/USP e especializado em diversos cursos e treinamentos na área de TI.

Matéria completahttp://corporate.canaltech.com.br/coluna/mobile/Dispositivos-moveis-a-interface-com-o-mundo/ 


IT Forum Expo / Black Hat

it_forum

Nos dias 26 e 27 de novembro de 2013, o Transamerica Expo Center receberá o IT Forum Expo / Black Hat, uma feira focada para a área de TI e Segurança da Informação da América Latina. Fruto da parceria entre a IT Midia e a UBM Brazil, o IT Forum Expo / Black Hat promoverá, em dois dias de evento, um ambiente para geração de grandes negócios, networking e conteúdo de qualidade.

A feira irá atrair um público estimado de 3.000 visitantes altamente qualificados – CIOs, CMO’s, CFO’s, gerentes de TI e CSOs pertencentes às empresas de grande e médio porte dos setores que mais investem em tecnologia da informação, e que fazem parte do processo decisório na aquisição de produtos e serviços de TI.

A Red Hat esteve lá para receber os visitantes interessados em saber mais informações sobre os produtos e soluções.

IMG-20131127-WA0001

Novas tendências, tecnologias e materiais.

O IT Forum Expo / Black Hat contará com uma área de exposição onde os principais fornecedores de produtos, serviços e tecnologias apresentarão na prática as novas soluções e tendências do setor.

IMG-20131127-WA0008

Parcerias e Oportunidades.

Com um público altamente qualificado de visitantes e expositores focado no fortalecimento do setor, é a melhor oportunidade para se relacionar e realizar negócios com quem decide e influencia os rumos do mercado e conhecer as melhores práticas e processos na TI e Segurança da Informação

IMG-20131127-WA0005

Informação e Conteúdo de qualidade.

Simultaneamente a exposição, o IT Forum Expo / Black Hat apresentará dois programas paralelos de conteúdo: o IT Forum Expo Conference e o Black Hat Regional Summit São Paulo:

- IT Forum Expo Conference – programa de conteúdo completo, com renomados Keynote Speakers, conferências para apresentação de casos práticos, novas soluções e discussão sobre os principais desafios do setor.

- Black Hat Regional Summit São Paulo – a maior feira de segurança da informação do mundo – apresentará, em sua primeira edição no Brasil, programas de conferências, palestras e treinamentos práticos de altíssima qualidade técnica, realizados pelos especialistas mais respeitados do Brasil e do mundo, que também participam do Black Hat dos outros países, promovendo o compartilhamento de ideias práticas, conhecimentos e novas tendências do mundo de segurança digital.


Computação em Nuvem: como adotá-la sem ressalvas?

Republicação de Boris Kuszka:

25487.52550-cloud-computing

A computação em nuvem não é mais apenas um termo da moda. É como a TI resolve problemas de negócios. É a tecnologia que, se utilizada de forma correta, proporciona análises profundas da utilização dos seus recursos, com um gerenciamento abrangente, baixando os custos de TI e aumentando assim a produtividade.

Pela definição do National Institute of Standards and Technology (NIST), órgão sempre citado em definições de tecnologias, a computação em nuvem precisa ter autoatendimento, acesso pela rede banda larga para um conjunto de recursos que tenham elasticidade (capacidade de aumentar e diminuir o poder de processamento) e ser mensurável. A ideia principal é abstrair a infraestrutura computacional onde se possa consumi-la, pagando-se conforme o uso. A analogia mais utilizada com computação em nuvem é o fornecimento de energia elétrica: muito simples de utilizar e paga-se exatamente o que se consome.

Essa definição, em minha opinião, está incompleta. Mas, o que está inibindo a utilização maciça da computação em nuvem? Na verdade não somente um, mas vários fatores: segurança, compatibilidade com normas (compliance), interoperabilidade e medo de ficar preso a um determinado fornecedor.

Matéria completahttp://corporate.canaltech.com.br/coluna/cloud-computing/Computacao-em-Nuvem-como-adota-la-sem-ressalvas/#ixzz2lHntmWPM 


Broker A-MQ embedded (Resource Adapter) no JBoss EAP

Network Connector VM

O conector de transporte do tipo vm:// é usado por aplicativos Java para executar um broker embedded e se conectar a ele. Nenhuma conexão de redes é utilizada neste caso, então a comunicação entre cliente e broker acontece através de invocações de método diretamente, aumentando a performance significamente. O broker é iniciado quando a primeira conexão usando o protocolo VM é criada e as próximas conexões vindas da mesma JVM irão se conectar ao mesmo broker. Quando todas as conexões VM ao broker forem fechadas, o broker embedded será desligado automaticamente.

webconsole

Configuração do JBoss EAP 6.1

1) Baixe o JBoss EAP 6.1 diretamente do site.

2) Descompacte-o num local de sua preferência. No meu caso utilizei o /opt.

3) Edite o arquivo /opt/jboss-eap-6.1/standalone/configuration/standalone-full.xml adicionando o seguinte trecho no perfil <subsystem xmlns=”urn:jboss:domain:resource-adapters:1.1″> :

<subsystem xmlns=”urn:jboss:domain:resource-adapters:1.1″>
<resource-adapters>
<resource-adapter id=”activemq-rar-5.8.0.rar”>
<archive>
activemq-rar-5.8.0.rar
</archive>
<transaction-support>XATransaction</transaction-support>
<config-property name=”UseInboundSession”>
false
</config-property>
<config-property name=”Password”>
defaultPassword
</config-property>
<config-property name=”UserName”>
defaultUser
</config-property>
<config-property name=”ServerUrl”>
vm://localhost
</config-property>
<connection-definitions>
<connection-definition class-name=”org.apache.activemq.ra.ActiveMQManagedConnectionFactory” jndi-name=”java:jboss/ConnectionFactory” enabled=”true” pool-name=”ConnectionFactory”>
<xa-pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>20</max-pool-size>
</xa-pool>
</connection-definition>
</connection-definitions>
<admin-objects>
<admin-object class-name=”org.apache.activemq.command.ActiveMQQueue” jndi-name=”java:jboss/queue/MyActiveMQQueue” use-java-context=”true” pool-name=”MyActiveMQQueue”>
<config-property name=”PhysicalName”>
QueuePhysicalName
</config-property>
</admin-object>
</admin-objects>
</resource-adapter>
</resource-adapters>
</subsystem>

Configuração do ActiveMQ Resource Adapter

1) Baixe o JBoss A-MQ diretamente do site.

O resource adapter está escondido em: extras/apache-activemq-5.8.0.redhat-60024-bin.zip/lib/optional/activemq-rar-5.8.0.redhat-60024.rar

Obs: altere a extensão de activemq-rar-5.8.0.redhat-60024.rar para activemq-rar-5.8.0.redhat-60024.zip e descompacte-o.

2) Depois de extrair o resource adapter substitua o corpo do arquivo broker-config.xml com o seguinte conteúdo:

<?xml version=”1.0″ encoding=”UTF-8″?>

<beans
xmlns=”http://www.springframework.org/schema/beans&#8221;
xmlns:amq=”http://activemq.apache.org/schema/core&#8221;
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance&#8221;
xsi:schemaLocation=”http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd”&gt;

<!– Embedded – load configuration file from classpath –>
<bean class=”org.springframework.beans.factory.config.PropertyPlaceholderConfigurer”/>

<!– shutdown hook is disabled as RAR classloader may be gone at shutdown –>
<!– Embedded – Name the broker –>
<broker xmlns=”http://activemq.apache.org/schema/core&#8221; useJmx=”true” brokerName=”JBoss.Embedded” useShutdownHook=”false”>

<managementContext>
<!– use appserver provided context instead of creating one,  for jboss use: -Djboss.platform.mbeanserver –>
<managementContext createConnector=”false”/>
</managementContext>

<persistenceAdapter>
<!– Embedded – Use the server data directory for the broker database –>
<kahaDB directory=”${jboss.server.data.dir}/kahadb”/>
</persistenceAdapter>

<transportConnectors>
<!– Embedded – The embeded broker uses the in-JVM transport, and a NIO transport is also provided.
The “nio” below may be changed – use TCP, bind to just one interface, etc..
–>
<transportConnector name=”JBoss.Embedded” uri=”vm://localhost”/>
<transportConnector name=”nio” uri=”nio://0.0.0.0:61616″/>
</transportConnectors>

</broker>
</beans>

3) No arquivo META-INF/ra.xml procure a linha e descomente:

<config-property-value>tcp://localhost:61616</config-property-value>

Em seguida, descomente a linha:

<!–config-property-value>vm://localhost</config-property-value–>

Resultado:

<!– config-property-value>tcp://localhost:61616</config-property-value –>
<config-property-value>vm://localhost</config-property-value>

4) Remova as seguintes libs do resource adapter para não haver conflito com as já existentes no EAP:

  • slf4j-api-1.6.6.jar
  • slf4j-log4j12-1.6.6.jar

5) Depois de tudo alterado, compacte o arquivo .zip e renomeie-o para activemq-rar-5.8.0.rar e o mova para /opt/jboss-eap-6.1/standalone/deployments/

Inicialização do JBoss EAP 6.1   

Neste ponto temos o JBoss EAP 6.1 com o resource adapter configurado e copiado para a pasta deployments. Para inicializá-lo com o perfil customizado execute o seguinte comando na pasta a /opt/jboss-eap-6.1/bin: 

./standalone.sh -c standalone-full.xml

Console 

19:07:35,582 INFO [org.jboss.as.messaging] (ServerService Thread Pool — 58) JBAS011601: Bound messaging object to jndi name java:/ConnectionFactory
19:07:35,583 INFO [org.jboss.as.messaging] (ServerService Thread Pool — 59) JBAS011601: Bound messaging object to jndi name java:jboss/exported/jms/RemoteConnectionFactory
19:07:35,632 INFO [org.jboss.as.connector.deployment] (MSC service thread 1-7) JBAS010406: Registered connection factory java:/JmsXA
19:07:35,666 INFO [org.hornetq.ra] (MSC service thread 1-7) HornetQ resource adaptor started
19:07:35,667 INFO [org.jboss.as.connector.services.resourceadapters.ResourceAdapterActivatorService$ResourceAdapterActivator] (MSC service thread 1-7) IJ020002: Deployed: file://RaActivatorhornetq-ra
19:07:35,670 INFO [org.jboss.as.connector.deployment] (MSC service thread 1-2) JBAS010401: Bound JCA ConnectionFactory [java:/JmsXA]
19:07:35,830 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
19:07:35,831 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
19:07:35,831 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss EAP 6.1.0.GA (AS 7.2.0.Final-redhat-8) started in 3487ms – Started 154 of 216 services (61 services are passive or on-demand)
19:08:25,127 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015876: Starting deployment of “activemq-rar-5.8.0.rar” (runtime-name: “activemq-rar-5.8.0.rar”)
19:08:25,892 INFO [org.jboss.as.connector.deployers.RADeployer] (MSC service thread 1-2) IJ020001: Required license terms for file:/opt/jboss-eap-6.1/standalone/tmp/vfs/temp188ec44f68d80f15/activemq-rar-5.8.0.rar-12de4b0407eb87cc/contents/
19:08:25,923 INFO [org.jboss.as.connector.deployers.RaXmlDeployer] (MSC service thread 1-5) IJ020001: Required license terms for file:/opt/jboss-eap-6.1/standalone/tmp/vfs/temp188ec44f68d80f15/activemq-rar-5.8.0.rar-12de4b0407eb87cc/contents/
19:08:25,931 INFO [org.jboss.as.connector.deployment] (MSC service thread 1-5) JBAS010406: Registered connection factory java:jboss/ConnectionFactory
19:08:25,937 WARN [org.jboss.as.connector.deployers.RaXmlDeployer] (MSC service thread 1-5) IJ020016: Missing <recovery> element. XA recovery disabled for: java:jboss/ConnectionFactory
19:08:25,940 INFO [org.jboss.as.connector.deployment] (MSC service thread 1-5) JBAS010405: Registered admin object at java:jboss/queue/MyActiveMQQueue
19:08:25,945 INFO [org.jboss.as.connector.deployers.RaXmlDeployer] (MSC service thread 1-5) IJ020002: Deployed: file:/opt/jboss-eap-6.1/standalone/tmp/vfs/temp188ec44f68d80f15/activemq-rar-5.8.0.rar-12de4b0407eb87cc/contents/
19:08:25,950 INFO [org.jboss.as.connector.deployment] (MSC service thread 1-1) JBAS010401: Bound JCA ConnectionFactory [java:jboss/ConnectionFactory]
19:08:25,951 INFO [org.jboss.as.connector.deployment] (MSC service thread 1-6) JBAS010401: Bound JCA AdminObject [java:jboss/queue/MyActiveMQQueue]
19:08:26,118 INFO [org.jboss.as.server] (DeploymentScanner-threads – 2) JBAS018559: Deployed “activemq-rar-5.8.0.rar” (runtime-name : “activemq-rar-5.8.0.rar”)

Producer exemplo

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.naming.InitialContext;
import javax.naming.NamingException;

/**
*
* @author sfantin
*
*/
public class Producer {

public void produce() throws JMSException, NamingException {
try {
// Obtain a JNDI connection
InitialContext jndi = new InitialContext();

// Look up a JMS connection factory
ConnectionFactory conFactory = (ConnectionFactory) jndi.lookup(“java:jboss/ConnectionFactory”);

// Getting JMS connection from the server and starting it
Connection connection = conFactory.createConnection();
connection.start();

// JMS messages are sent and received using a Session. We will
// create here a non-transactional session object. If you want
// to use transactions you should set the first parameter to ‘true’
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

Destination destination = (Destination) jndi.lookup(“java:jboss/queue/MyActiveMQQueue”);

// MessageProducer is used for sending messages (as opposed
// to MessageConsumer which is used for receiving them)
MessageProducer producer = session.createProducer(destination);

for (int i = 0; i < 1000; i++) {
producer.send(session.createTextMessage(i + ” message”));
System.out.println(“Sent message ” + i);
}
producer.close(); session.close(); connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

Obs: Assim que o primeiro produtor enviar uma mensagem para a fila MyActiveMQQueue, o message store jboss-eap-6.1/bin/activemq-data/localhost/KahaDB será criado.

MDB exemplo

import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;

import org.apache.log4j.Logger;
import org.jboss.ejb3.annotation.ResourceAdapter;

/**
*
* @author sfantin
*
*/
@MessageDriven( activationConfig = {
@ActivationConfigProperty(propertyName=”destinationType”, propertyValue=”javax.jms.Queue”),
@ActivationConfigProperty(propertyName=”destination”, propertyValue=”MyActiveMQQueue”),
@ActivationConfigProperty(propertyName=”acknowledgeMode”, propertyValue=”Auto-acknowledge”)
})
@ResourceAdapter(value=”activemq-rar-5.8.0.rar”)
public class SampleMDB implements MessageListener {

private static final Logger LOG = Logger
.getLogger(SampleMDB.class);

/*
* (non-Javadoc)
* @see javax.jms.MessageListener#onMessage(javax.jms.Message)
*/
@Override
public void onMessage(final Message msg) {
LOG.log(null, msg);

System.out.println(“received message: %s” + msg);

}

}

Download do JBoss EAP 6.1 configurado

Disponibilizei o JBoss EAP com todas as configurações comentadas neste tutorial.

JBossEAP6.1.zip

Obs: o activemq-rar-5.8.0.rar pode ser encontrado dentro do diretório /jboss-eap-6.1/standalone/deployments/

Até o próximo post!


Livro : ActiveMQ in Action

ActiveMQ in Action

Em busca de reforçar os principais conceitos e estratégias que garantem Alta Disponibilidade (HA) em arquitetura de mensageria distribuída, lí o livro ActiveMQ in Action que cobre as principais características e opções de configuração que o ActiveMQ oferece. Apesar de não estar atualizado, o livro pode ser utilizado como ponto de partida para aqueles que prentendem utilizar todo o potencial que o ActiveMQ tem a oferecer, pois ele cobre desde conceitos básicos até configurações mais avançadas para ambientes corporativos em produção.
Conversei com Bruce Snyder (um dos escritores do livro) que comentou que ainda não há previsão de uma nova versão do livro cobrindo as versões mais novas do ActiveMQ. É uma pena, pois houve mudanças significativas no projeto como a depreciação da estratégia de cluster Master/Slave puro (sem message store compartilhado), entre outras.

Boa leitura!


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 26 outros seguidores