Sendo um profissional JBoss 6

Posted by Alê! Sat, 07 Feb 2009 22:51:00 GMT

JBoss

Rolou na SEA dia desses uma discussão sobre o encarreiramento JBoss. Como parceiros RedHat, estamos sempre executando serviços de consultoria em produtos JBoss. Mas, afinal, que tipo de atividades um suposto “Consultor JBoss” exerce e a qual nível de capacitação deve ser submetido? A missão deste post é tentar responder essas questões.


Depois de um exercício não muito intenso de reflexão, concluí que existem 5 tipos de profissionais JBoss no mercado. Dar nomes a esses 5 tipos seria totalmente 1.0 (Arquiteto JBoss, Adminsitrador JBoss, Desenvolvedor JBoss, Desenvolvedor de Portal, Arquiteto SOA - bah!). Por isso, prefiro referenciar-lhes como A, B, C, D e E, sem qualquer relação hierárquica entre as letras.


JBoss Products

Pra início de conversa, é preciso entender a organização comercial que a Red Hat faz de seus produtos. Após a aquisição da JBoss, a RedHat incorporou em seu catálogo de produtos uma série de projetos open source e, para melhor apresentá-los a seus clientes, agregou-os em 4 grupos, ou plataformas, como dizem.

Basicamente, há um tipo de profissional JBoss especialista em cada uma dessas plataformas. Não vou relacioná-los pra não caracterizar um discurso institucional. Liguem os pontos vocês mesmos.

Profissional JBoss A

O primeiro tipo de profissional talvez seja o mais raro do mercado. É o pré-vendas JBoss. Naturalmente, apenas parceiros Red Hat ou a própria Red Hat possuem profissional com tamanha especialização. Devem chamá-lo de ”Arquiteto JBoss”. É a pessoa que conhece bem todas as JBoss Enterprise XXX Platforms e é capaz de combiná-las para a formatação de soluções “corporativas” para seus clientes. Enfim, é o cara que sabe falar bem e que quer que você adquira o maior número possível de subscrições. #prontofalei  Por muitas vezes, sou um desses.


How do JBoss projects work together?

Então, quer trabalhar na RedHat/JBoss? Domine cada uma das plataformas acima e entre em contato com o Edgar. Se tiver feito seu dever de casa, há grandes chances de você entrar lá. Afinal, estão sempre em busca de bons profissionais.

Profissional JBoss B

De longe, este é o perfil mais comum e mais pedido pelo mercado. São os administradores de application servers, ou ASAs, definidos pela especificação Java Enterprise Edition desde suas primeiras versões. É ele o cara que toma conta do servidor, garantindo sua maior disponibilidade possível. Devemos encontrá-los por aí sob o labelAdministrador JBoss”.

Nunca entendi porque os tradicionais system admins do mundo Unix não exercem este papel. Ora, se o caboclo já adminsitra Posfix, Samba, Apache, Bacula, Bind e outros N serviços de infra-estrutura, por que também não tomar conta do servidor de aplicações JEE? Seria a recorrente indisposição à tecnologia Java? Não sei mesmo. O fato é que, geralmente, além da onipresente galera de infra, há também a busca pelo profissional específico para administração do app server. Na verdade, até tenho uma pista da razão deste apartheid.

Há um viés ingrato na vida de todo administrador JBoss (ou de qualquer outro app server) pois não basta ser um bom profissional de infra simpatizante do mundo Java. É preciso conhecer parte deste mundo. Pior ainda (ou melhor), é preciso entender o básico da plataforma Enterprise Edition. E, pelo que conheço de administradores de sistema, envolver-se com tecnologias de programação não está entre suas paixões. Talvez, por isso seja tão difícil encontrar profissionais desta natureza no mercado. Pois, ou o sujeito é do desenvolvimento puro, ou é de infra pura, mas raramente ficam em cima do muro. (* A propósito, galera. Diz-se em cima e não encima, como tenho visto é vários cantos por aí. Nem nas novas regras ortográficas encima existe, apesar de existir o verbo encimar, que quer dizer ‘colocar em cima’.)

O trabalho do Profissional JBoss B se inicia com a necessidade de instalação de novas instâncias do servidor de aplicações. Instalar o JBoss é tão simples quanto a descompactação de um arquivo ZIP e não são necessários muitos skills de infra e/ou desenvolvimento para sua realização, salvo uma possível necessidade de disposição das instâncias em clusters, onde o buraco é mais embaixo (sim, embaixo e não em baixo). Instaladas as novas instâncias, é hora de customizá-las à necessidade específica das aplicações que nelas serão executadas. Aqui, o administrador do ambiente precisa conhecer um pouco da arquitetura interna do servidor, baseada no padrão microkernel, seus módulos (mbeans) básicos e seus fluxos de ativação e desativação, para que se deixem habilitados apenas os componentes do servidor fundamentais para sua execução. Vez ou outra, algum trabalho de performance tuning é requerido, geralmente quando se espera alguma sobrecarga de acesso aos aplicativos hospedados no servidor. Farei um post específico sobre este assunto, que é de suma importância.

Idealmente, o cockpit de trabalho deste perfil é o JON. Por ele, o administrador JBoss monitora e controla todas as instâncias do servidor em produção.

Mas o bicho pega mesmo é quando surgem os problemas de execução, geralmente diagnosticados pela indisponibilidade dos servidores. Em situações como essas, a única certeza que se pode ter é a pressão e responsabilidade sobre seus ombros. É nesta hora que importa todo, eu disse todo, conhecimento de rede, sistema operacional, JBoss e JEE. Um sintoma colhido no JBoss pode ter suas causas raízes deste numa má configuração de rede até no mau uso de alguma tecnologia de desenvolvimento. Pra quem não gosta de infra e/ou desenvolvimento, não há trabalho mais ingrato. Já pra quem gosta de ambos, este é seu lugar.

Se tiver despertado seu interesse, estude:
  • JEE
    • Servlet, JSP, EJB, JDBC, JPA, JCA, JNDI…
  • Infra
    • Conceitos de rede (TCP/IP) e administração geral de Unix. (Windows? Só se você quiser ou precisar muito.)
  • JBoss AS
    • Instalação, deploy, arquitetura (microkernel, microcontainer, mbeans, bundles), segurança (configuração de portas, autenticação, autorização e encriptação de serviços), classloading, clustering, customização (slimming) e tuning.
Até existem alguns livros de JBoss por aí, mas acho que nada se compara à documentação do próprio site e do seu wiki. Aliás, minto. Existe em livro, JBoss in Action,  lançado há 1 semana atrás (28/01/2009), que ainda não li mas com o qual me simpatizei. Sugiro-o pois ele é hoje a única referência para a também recém lançada versão 5 do JBoss AS. Quem preferir, pode optar pelo PDF.

JBoss in Action

Profissional JBoss C

Entendo pelo Profissional JBoss C como sendo o profissional especialista (old-school) em desenvolvimento com tecnologias JBoss. A velha guarda deve chamá-lo de ”Desenvolvedor JBoss”.

Marc Fleury - Vote for JBoss

Trata-se nada mais que um desenvolvedor Java Enterprise Edition ordinário, com algumas preferências pela stack JBoss (Hibernate, JBoss Seam, Richfaces, JBoss Cache, JBoss AOP etc).

Profissional JBoss D

O quarto tipo de profissional, nesta minha taxonomia, é o profissional especialista na plataforma de portais da RedHat (JBoss Enterprise Portal Platform). O pivô deste profissional não é o servidor de aplicações em si, mas a ferramenta de portal que nele é disponibilizada, o JBoss Portal.



Este perfil instala, configura e customiza portais de internet ou intranet. Destaque especial para a customização, que envolve relativo talento para a criação de novos temas e o desenvolvimento de novas funcionalidades através de portlets. Um bom conhecimento de CSS e da JSR-168 é fundamental.

Profissional JBoss E

Este último profissional é o que o mercado anda chamando por aí de ”Arquiteto SOA”. No mundo JBoss, é o técnico especialista na JBoss Enterprise SOA Platform.  Este perfil está sintonizado não apenas no hype-não-tão-hype-assim SOA como também nos produtos que todos os grandes fabricantes têm lançado para fins de integração e governança de serviços.

Vou dedicar muito em breve um post exlucisvo à plataforma SOA JBoss mas, enquanto isso, apenas entenda que um Profissional JBoss E deve conhecer a fundo, além de toda a plataforma JEE, também o JBoss ESB, JBoss jBPM e o JBoss Rules que são, respectivamente, um barramento para integração de serviços, um framework para composição e execução de processos e um engine declarativa de regras. Termos estranhos à primeira vista, mas que serão esclarecidos muito em breve. Assinem logo o RSS.


(O JBoss ESB não tem logo.
Clique para ampliar.)

Por fim

Ainda existem duas últimas especialidades no mundo JBoss em fase de consolidação, relativas a dois produtos recentemente (não tão recente assim) adquiridos pela Red Hat: MetaMatrix e Mobicents.

Metamatrix

O primeiro é uma ferramenta para federação de dados. Quer dizer, se o seu ambiente de produção utiliza N fontes de dados distintas (MySQL, PostgreSQL, Oracle, M$SQL…), com o Metamatrix é possível fazer com que as aplicações tratem tudo como uma coisa só, sem se preocupar com detalhes específicos de cada base, como URLs, drivers, etc.
Mobicents

Já o Mobicents é um servidor JSLEE e SIP. Aliás, um dos únicos open sources do mercado, se não me engano. Saiba mais no java.net.


Eu diria que ainda é um pouco prematuro investir exclusivamente no MetaMatrix ou no Mobicents. Não é este o filão da Red Hat ainda. Se me perguntarem sobre uma ordem mercadológica de preparação para o mercado, eu diria:
  1. Aprenda bem JEE, seus prós e, principalmente, seus contras. 
  2. Conheça o JBoss e hackeie-o ao máximo. Estude sua arquitetura, componentes internos, principais serviços e customizações. 
  3. Entre no mundo SOA. Estude não só a Plataforma SOA JBoss, mas também seus concorrentes.

Deixe um comentário em caso de dúvidas ou curiosidades.

[]s
Comments

Leave a comment

  1. Avatar
    Alessandro Lazarotti 3 days later:

    Excelente post Ale!

    Tem ainda a casta de caboclo que além de ter que conhecer a tecnologia, também consiga transmitir este conhecimento (treinamento, workshops. eventos, etc). ;-)

  2. Avatar
    Alê! 3 days later:

    Putz, verdade @Larazortti! E esses são os mais bonitos! ;-)

  3. Avatar
    deivsonrayner@gmail.com 4 days later:

    Eh o profissional JBoss GLS … neh Alessandro ;)

  4. Avatar
    Marcelo over 1 year later:

    Muito bom Alê, parabéns…

  5. Avatar
    programy about 2 years later:

    I am not sure where you are getting your information, but great topic

  6. Avatar
    Juliana over 2 years later:

    Empresa MMI há 21 anos no mercado de software contrata:

    Adimistrador/ Especialista em JBoss

    • Superior Completo ou Cursando em TI Experiência Anterior: • Rotinas de administração (configuração de connection pools, datasources, filas JMS, etc), deploy, suporte à produção e tuning (clusterização, otimização de caching, balanceamento de carga, gerenciamento de memória) em servidor de aplicação JBoss • Consultas a dados em bases SQL • desenvolvimento Java Requisitos Desejáveis • Resolução de problemas relacionados à infraestrutura em servidores da família Windows e Linux e com servidores virtualizados • Conhecimento em build de pacotes Java usando Ant e Maven e em processos de integração contínua

    Os interessados deverão encaminhar curriculo com pretensão salarial como PJ para: selecao@mmi.com.br

Comments