Alvim Webloghome
Alvim Weblog
Quarta-feira, 23 Setembro 2009
Lançamento do jCompany Developer Suite 5.5
Escrito por: Paulo César Alvim Ottoni [23/09/2009 10:32] Topo
Estamos finalmente chegando ao final da nova 'grande' versão do jCompany Developer Suite, 5.5, com um fato curioso e representativo de nossos desafios:
A versão 5.5. estava prevista para julho/2009 e tudo corria como planejado (melhoramos bastante nossas técnicas de estimativa, com anos de processo SCRUM/MPS.BR :-). Porém, em junho/2009, recebemos a confirmação de que o jBPM 4.x (até então em versão Beta) não seria compatível com o jBPM 3.x! Como a introdução de suporte ao BPM utilizando este produto era uma das grandes metas da versão, tivemos que nos adaptar ao cenário: lançar um produto com obsolescência programada é fora de questão para a Powerlogic e não faria sentido lançar a versão sem este grande marco, exceto se algum cliente necessitasse de forma urgente de alguma outra funcionalidade da 5.5...
Tivemos portanto que protelar o lançamento para um momento indefinido, até que conseguíssemos uma versão estável do jBPM 4 para fazer o porte da implementação e lançar a 5.5. Foi aí que o trabalho de P&D da equipe (em especial do Baldini) se mostrou fundamental. Baixamos o códigos fontes do jBPM 4 e trabalhamos no porte da versão 3 para a 4, antes mesmo de versões estáveis da última estarem anunciadas. Em paralelo, a equipe prosseguiu na incorporação dos itens que estavam programados para a versão 5.6, prevista para outubro/2009.
Como resultado, estamos conseguindo finalizar a versão 5.5. 'aparentemente' com 3 meses de atraso, porém:
Com o jBPM 4 homologado em sua novíssima versão com APIs REST e interfaces Web 2.0 - deste modo levando aos clientes um produto com futuro pela frente
Conseguimos incluir todas as funcionalidades prevista na 5.6 já na versão 5.5, sendo a principal delas o suporte a Facelets (em alternativa à JSP e Tiles) e ao jQuery UI Theme Roller como aprimoramento ao suporte CSS proprietário para peles/temas.
Deste modo, chegamos em outubro com nossas previsões totalmente atendidas! E não somente para o jCompany Developer Suite 5.5, mas também para o jCompany QA Suite 5.5 e jCompany Production Suite 5.5. (jSecurity e jMonitor), todos com muitas inovações importantes.
Para não dizer que nada ficou para trás, decidi adiar somente o lançamento de nosso mais novo produto e componente do jCompany Production Suite, o jCompany Batch, que já se encontra em versão RC1, principalmente por limitações de tempo de homologação (minha) e documentação final - mas esperamos fazê-lo até o final do ano.
Agradeço aqui a toda a equipe pelo empenho e comprometimento com este resultado. A lista de melhorias pode ser acompanhada nos links:
jCompany Developer Suite - Road Map
jCompany QA Suite - Road Map
jCompany Production Suite - Road Map
Acessos (18) - Comentários(0)
O Futuro das Plataformas de Desenvolvimento Corporativas em Java
Escrito por: Vanessa Leonel Carvalho [13/01/2009 12:04] Topo
Texto de Paulo Alvim, publicado na 32ª edição da revista Mundo Java.
Futurologia em TI é algo tão difícil quanto em qualquer outra área, com uma diferença: o nosso futuro chega mais cedo. Mais especificamente, ele acelera duas vezes mais que o futuro "convencional", a cada 18 meses - como acertadamente previu um dos poucos visionários "que deram certo": Gordon Moore da Intel, em sua famosa "Lei de Moore" de 1965. Com a exceção desta lei e das predições legendárias de Frederick Brooks ("The Mythical Man-Month"), de 1975, tentativas de previsões do futuro em TI no longo prazo têm se mostrado um verdadeiro "suicídio coletivo", gerando grandes oportunidades para risadas. Quem não conhece a famosa do Bill Gates?...
Mas por outro lado, vivemos em tempos "Agile", onde as adaptações do processo e ferramental de desenvolvimento corporativo se dão em iterações cada vez mais curtas. Neste cenário, felizmente, mesmo as previsões no curto prazo (digamos, próximos 2 anos) se tornam úteis! Vamos então, prudentemente, começar por elas. A vantagem deste primeiro tipo de previsão é que ela pode ser feita simplesmente projetando-se sinais atuais, incipientes mas já perceptíveis.
• IDEs para ALM: Hoje já há uma busca manifesta, no mundo corporativo, por Ambientes de Desenvolvimento Integrado com um "I" mais abrangente, ou seja, com suporte ao gerenciamento do ciclo de vida completo de aplicações de software ou ALM (Application Lifecycle Management). Este IDE deve sair da órbita de integrar atividades básicas de construção em si – edição, compilação, montagem, liberação e depuração - para integrar todas as interações do desenvolvedor com o Processo de Desenvolvimento de Software (PDS) organizacional.
Com este nível de abrangência,o IDE deve trazer requisitos e atividades alocadas para o desenvolvedor e permitir que este as rastreie com seu código, confeccione modelos UML sincronizados, aproprie trabalhos executados para o gerente de projeto, abra e acompanhe ocorrências de suporte, interaja via utilitários de groupware com todos os stakeholders do projeto - eventualmente compartilhando seu ambiente de forma remota; realize busca federada englobando planos, documentação do processo, repositórios de componentes para reuso, etc.; paralelize atividades, por exemplo, codificando testes unitários, funcionais e casos de uso simultaneamente; dentre dezenas de outras possibilidades...
Tudo isso sem sair do Eclipse, ops J, do ambiente de desenvolvimento! De fato, este "ato falho" revela que a filosofia extensível de plugins do Eclipse já proveu, há alguns anos, o alicerce para este aumento de amplitude. Ao possibilitar a convivência integrada de uma variedade de fornecedores em um mesmo ambiente, o Ecilpse praticamente redefiniu o poder de alcance de IDEs. Tanto que concorrentes como o Netbeans seguiram o seu rastro e a arquitetura OSGi, utilizada no Eclipse para suportar tais extensões dinâmicas, tem por si um futuro promissor – o uso em nossos próprios aplicativos, possibilitando torná-los mais dinâmicos e complexos, "no bom sentido".
"Mas isso não é futuro, em minha empresa eu já uso muito disso?" Como dissemos, uma parcela das funcionalidades supracitadas pode ser obtida, já! Na Powerlogic, por exemplo, usamos o plugin MyLyn e o Enterprise Architect/MDG para rastreamentos de requisitos, códigos e modelos – e procuramos avançar no ALM... Mas o fato é que a maior parte dos departamentos de TI corporativos estão em fase de maturação de seus processos, muitos em processos de certificação CMMI, MPS.Br ou incorporando métodos ágeis. Portanto, não correria nenhum risco em dizer que nem 0,1% das grandes organizações usam atualmente recursos de ALM em suas IDEs, o que certamente evoluirá bastante nos próximos anos.
• IDEs Java++ (além do Java): Quando falamos em IDEs para "Java EE", já está implícito que o suporte à linguagem Java em si é apenas uma menor parte do trabalho. Neste caso, editores de HTML, JSP, Facelets/JSF, Javascript/Ajax, XML especializados para cada esquema (Maven, JSF, JBoss Seam/Spring, Tiles,...), suporte a Web-Services JAX-WS, são alguns dos novos acessórios de série esperados.
Nos próximos 2 anos, o espectro de linguagens/esquemas no portfólio corporativo deve continuar a aumentar em vários ângulos, para suporte a SOA (SCA, SDO, Composite App), Web (Ruby on Rails, Ajax, Flash), Mobile, etc.. Não seria bom para a gestão que todos os desenvolvedores, a despeito destas linguagens, compartilhassem o mesmo "IDE ALM"?
• IDEs Open-Source: Apesar de já existirem implementações concretas seguindo as duas tendências anteriores, a maioria delas estão em produtos ou extensões proprietárias de IDEs. Como o gargalo para a absorção destes benefícios tem sido principalmente o fator cultural, a maior parte das empresas não se disporá a pagar os preços deste estágio embrionário. Por isso, mantenho a previsão de que a adoção massiva destas funcionalidades se dará na medida em que surgirem mais opções de código aberto (mesmo que em licenças comerciais, de Open-Source gerenciado) com custo de entrada reduzido ou nulo. E isso vai continuar acontecendo até 2010.
No médio prazo (2011-2012), mesmo que com sinais menos evidentes (tipo "já lemos em artigos e anúncios, mas não vimos ninguém usar ainda") algumas possibilidades podem ser vislumbradas:
• IDEs auto-configuráveis: O problema de configuração se agrava com o reuso. Manter as centenas de plugins e componentes reutilizados em um "IDE para ALM", além dos aplicativos subjacentes (SVN, Maven, App Server, SGBD, etc.) atualizados e harmônicos ao longo do tempo será um grande desafio, especialmente em um cotidiano repleto de inovações.
Como todos irão reusar mais, em menor escala e de forma mais dinâmica, um "Gerenciador de Atualizações" com as características atuais não será suficiente. Por isso, nesta área, já começamos a ouvir falar da "configuração inteligente". Neste cenário, o IDE aprenderia sobre as necessidades do desenvolvedor analisando o seu comportamento - e proporia configurações de forma ativa: "Você está usando comentário em idioma português. Deseja alterar a configuração padrão para este idioma?", "Você tentou enviar um SQL para um SGBD X cujo driver não foi encontrado. Deseja baixá-lo e configurá-lo agora?", etc. Se você odeia aquele "clips" do Office, irá duvidar disso. Mas digamos que na próxima geração a configuração inteligente será "mais inteligente".
• IDEs "nas nuvens": "Cloud computing", englobando "SaaS", "Web 2.0", é um outro meio de amenizar o problema da configuração – não deverá eliminá-lo mas certamente trará grandes benefícios nesta área. Na prática, a "configuração inteligente" seria um requisito bastante desejável de IDEs "remotas", potencializando os seus benefícios. O trabalho de auto-configuração seria ultra-simplificado com instalações homologadas em servidores, o que se somará com as vantagens de gestão e armazenamento centralizados e/ou terceirizados.
Para o longo prazo (2013 e adiante), após o que escrevi na introdução deste artigo, obviamente não arriscarei nenhum palpite específico... Uma coisa é certa, porém: rupturas irão ocorrer! Ocorrerão no domínio das aplicações e, por conseqüência, também nos IDEs.
Teremos "papéis inteligentes" que processam a entrada de dados como computadores? Ou conversaremos com os aplicativos para operá-los (e também com os IDEs, para construí-los)? Faremos aplicações de realidade virtual rotineiramente? Será que todas as aplicações se integrarão através de um tipo de "second life" onde um mero encontro e "diálogo entre avatares corporativos" definirá os protocolos? Isso se dará com intervenção humana ou os avatares serão "agentes inteligentes", com autonomia para negociar?
Para alguns poucos, estas são as questões mais instigantes sobre o futuro, especialmente quando se encontram em condições de protagonizar esta revolução, atuando em instituições de pesquisa avançada - aquelas que hoje criam os "neurônios" da TI do futuro. Mas enquanto o Brasil não se emparelha neste tipo de "série A" do segmento, a maior parte dos profissionais de TI pode se ocupar de uma tarefa não menos interessante: a de conceber e desenvolver as "sinapses" de que as empresas tanto precisam, para transformar estas inovações pontuais em soluções sistêmicas para as empresas.
Afinal, como sabemos, no cérebro corporativo de hoje o que não falta são "neurônios a solta" - tecnologia de ponta sem valor, mal contextualizada ou conectada nos sistemas de negócio. Olhando por este ângulo, muito do futuro já chegou. Basta olhar com atenção para o seu lado que o encontrará, esperando por sinapses para ativá-lo.
Acessos (3) - Comentários(0)
Sábado, 08 Março 2008
Gerência de Configuração, OO e Open-Source
Escrito por: Paulo César Alvim Ottoni [08/03/2008 07:30] Topo
Estava revisando o texto de nosso site sobre Gerência de Configuração no jCompany Developer Suite (módulo jCompany Configuration Management), quando me dei por conta de como é verdadeira a alegação:
"Muitas empresas vislubram o potencial que o reuso de insumos Open-Source pode lhes oferecer, mas subestimam as exigências de Gerência de Configuração (principalmente de Controle de Versões) que surgem ao longo do tempo, com a base instalada. Em um ambiente OO que utilizada e integra mais de 50 projetos de origem distinta, melhores em seus segmentos, manter linhas de bases distintas para 2 ou 3 versões simultâneas ao longo do tempo - e garantir a atualização síncrona de toda esta arquitetura em novas versões é um trabalho altamente complexo, no qual a Powerlogic possui pioneirismo de 5 anos, com claro diferencial no mercado"
Quando refletimos, na equipe do jCompany, sobre a quantidade de trabalho despendida ao longo do tempo na prospecção de um novo projeto Open-Source: estudo inicial, desenvolvimento de especialização para integração na Arquitetura de Software provida pelo jCompany e sua subsequente configuração automatizada (Maven, XML, Properties, Projetos de Template) - ficamos impressionados com o percentual de esforço necessário para levar toda esta complexidade de forma íntegra, ao longo do tempo (por exemplo: ramos distintos de versão 5.1, 5.0.x e 3.3.x).
Este é um esforço que muitos não percebem com o valor merecido, neste tipo novo de solução de reuso OO "agressivo" como provida pelo jCompany. Algumas empresas medem o esforço de "domar" o Ecilpse e seus plugins (ou Netbeans), baixar e integrar cinco ou dez framework de base, Maven (ou Ant), App Servers, Drivers JDBC, utilitários diversos (logging, profiling, teste de unidade), etc.., parecendo se esquecer de que, após conseguirem este feito - o principal desafio inicia: após a primeira implantação, instaura-se a era da "base instalada", e após este evento desconheço casos de soluções caseiras que conseguem seguir adiante, incorporando inovações (como JSF 1.2, JPA, EJB 3.0, Ajax, JBoss Seam, etc.) à esta arquitetura, de forma simultânea a correçoes, adaptações, refatorações e evoluções menores em ramos "em produção". E não é por questão de qualidade, pois em geral existem excelentes profissionais no mercado, com capacidade de sobra - o ponto é que são raras as empresas cujo foco não é 'desenvolver software', onde este esforço compensa... então nunca há verba ou tempo hábil!
Este tem sido um cenário típico onde costumamos ser considerados - por trazermos uma Arquitetura de Software com uma única linha de base pronta para reuso - extensível e terceirizável. Ao contrário do que muitos receiam no início, ao puxarmos para nós a responsabilidade por camadas da arquitetura de base, viabilizamos aos Arquitetos de Software de clientes se preocuparem com camadas de arquitetura mais 'criativas' e específicas de seu contexto de negócio, e almejarem evoluções! No cenário anterior, esta é a realidade que testemunhamos, com o sucesso (a 'base instalada') vem junto a tendência à estagnação e depreciação tecnológica - pois o trabalho triplica e é bem menos 'divertido' ;-)
Um pouco mais de informação a este respeito estão no estudo de ROI (ZIP 2MB) e na seção sobre o jCompany Configuration Management
Acessos (4) - Comentários(0)
Sexta-feira, 15 Fevereiro 2008
jCompany Demo, Professional, GPLv3, Livro, Powerlogic jALM
Escrito por: Paulo César Alvim Ottoni [15/02/2008 15:38] Topo
Acessos (22) - Comentários(0)
Sábado, 11 Novembro 2006
Software Livre 2.0
Escrito por: Paulo César Alvim Ottoni [11/11/2006 09:32] Topo
Em 2007, Software Livre 2.0!
Em todo o mundo, o movimento Open Source está saindo rapidamente dos grotões departamentais das áreas de tecnologia e ingressando no radar dos CIOs, se tornando a principal opção corporativa para atender ao "core-business" das grandes corporações.
Esta é uma excepcional notícia, pois vem substituindo a cultura "one-stop shop" tradicionalmente amarrada aos grandes players arqui-bilionários do Vale do Silício. Este modelo proprietário já apresentou as suas travas e, como constatamos no dia a dia, nem os grandes fornecedores tem conseguido competir com a inovação pragmática que surge das comunidades Open-Source - aquela inovação prática, prontamente útil, sem aquele "marketing duvido de criação de necessidades", vendendo às empresas os seus "moinhos de ventos".
Alguns fatos recentes, incontestáveis:
O Gartner Group realizou, em setembro deste ano, o segundo Gartner Open-Source Summit, e na home-page do evento http://www.gartner.com/2_events/conferences/os2.jsp já podemos ler colocações claras, tais como:
"Por volta de 2010, a maioria das organizações de TI terão estratégias de aquisição e gerenciamento formal para o Open Source (...) Você estará preparado?"
"O Open Source está - e continuará assim - na ponta da mudança de maré do mundo da Tecnologia da Informação"
Em agosto passado, o portal SearchCIO www.searchcio.com, especializado em informação para executivos de TI, publicou artigos com sua visão do movimento:
"Open Source ganha momento como opção corporativa"
"Não importa em que espectro de decisão você se encontra na sua empresa, uma coisa é clara: O Open Source está ganhando momento como opção corporativa. (...) você deveria aprender mais sobre as possibilidades"
"O Open Source está mudando a forma das empresas comprarem software, uma tendência que afetará cada fornecedor de TI existente no planeta"
"O surgimento da terceira onda do Open Source é o maior advento da área de TI (...) A terceira onda está caracterizada por players novos e especializados"
Desde 2004, o caso de sucesso do Weather Channel americano (o canal do tempo e também o site www.weather.com), divulgado na InfoWorld com nome de "Previsão Ensolarada para o Open-Source" http://www.computerworld.com/developmenttopics/websitemgmt/story/0,10801,92583,00.html, fez cair de vez qualquer mito de barreira tecnológica que pudesse colocar em dúvida a robustez e escalabilidade de soluções Open Source:
O Weather Channel trocou dezenas de servidores em cluster IBM WebSphere por Apache Tomcat e obteve ganho de 20% de performance, preservando as exigências corporativas de escalabilidade, fechando ainda com redução dramática de custo em licenciamentos, serviços e hardware (180 servidores no total), da ordem de mais de uma centena de milhões de dólares.
O acesso simultâneo de centenas de milhares de usuários em momentos de pico, minuto a minuto, para acompanhar tragédias como o percurso do furação Katrina, exigem das aplicações do Weather Channel mais do que a maior demanda das grandes empresas brasileiras! Uma prova cabal de que, assim como as IDEs de desenvolvimento, o Open-Source já tornou os Application Servers em commodities, já há muitos anos (por falta de informação, muitos ainda desperdiçam horrores em versões fechadas destes produtos, e se descobrem em nichos estreitos, com a produtividade de quem nada em "pasta de amendoim", por assim dizer)
Mas como anda o movimento no Brasil?
O discurso do "Software Livre" brasileiro, principalmente focado na "gratuidade" (ênfase no "free-cash" e não no "freedoom") e em desenvolvimento "colaborativo" (feito por comunidades espontâneas, com gestão leve e prazos indefinidos), simplesmente não escala para a solução de problemas de missão crítica (core-business) das empresas: "Como gerenciar prazos de entrega? Como garantir evolução dos produtos e comprometimento do fornecedor? Como obter qualidade final equivalente a dos grandes fornecedores? Como evitar a internalização de P&D de TI fora da vertical de negócios? A quem recorrer em caso de problemas? Etc."
No Brasil, a adoção corporativa também está intensa e tem nos impressionado, mas ainda restam executivos de TI que enxergam o movimento Open-Source ainda em sua primeira etapa: algo que talvez reduza custo, internaliza equipes de P&D fora da vertical de negócio, atrasa o Time-to-Market e não oferece qualidade competitiva com as opções comerciais... Ledo engano!
O que estes ainda não tiveram a oportunidade de descobrir é que já existe um forte movimento de empresas comercializando software com base Open-Source, deste modo viabilizando uma opção de produto acabado com qualidade comercial, a uma fração dos preços do Vale do Silício.
O que "não tem preço", neste modelo, é a disponibilidade de todos os códigos fontes dos produtos com qualidade para compreensão, o que hoje é compreendido mais com uma estratégia de Projeto), e não de redução do custo inicial! Afinal - quem faz sabe - é esta disponibilidade que verdadeiramente viabiliza o reuso, tão procurado e imensamente difícil de se obter, na prática, com as caixas pretas e APIs dos produtos proprietários!
Caracterizando esta evolução, o Delphi Group publicou um interessante estudo, em 2004, sobre o amadurecimento do Open-Source Software (OSS) nos EUA - disponível gratuitamente em http://www.freesoftwaremagazine.com/files/nodes/1163/1163.pdf - identificando três fases:
Open-Source 1.0 (Fase Romântica): Foco na gratuidade. Este modelo, pelo custo zero de entrada, tem seu valor em pesquisas sem comprometimento de prazo, e soluções departamentais exploratórias, mas internaliza desenvolvimento de "commodities" e diminui o "Time-to-Market" de negócios, sendo raramente uma opção sensata para o core-business.
Open-Source 1.5 (Fase "Cavalo de Tróia"): Foco na gratuidade, com fornecimento profissional de serviços de suporte. Aqui o cliente "ganha" um software de presente ao adquirir o serviço (parece um bom negócio, não?), mas como não há almoço grátis na economia, termina por receber produtos semi-acabados, sem garantias de evolução ou quanto a problemas, um grande risco quando se fala em missão crítica.
Open-Source 2.0 (Fase "Profissional"): Foco na qualidade em nível comercial, com liberdade de acesso ao código fonte. A redução de custos existe como ROI (e não como custo de entrada), e não é pequena. Mas as principais vantagens estão na possibilidade de extensões e depurações refinadas (estratégia de projeto), independência de fornecedor (uso do "best of breed" - o que cada um tem de melhor), qualidade de acabamento em nível comercial (DVD, manuais, controle de versões, políticas de atualização), etc..
O Open-Source 2.0 é o modelo de adoção que traz a melhor relação de custo/benefício, e por isso cabe como uma luva no atendimento dos grandes negócios.
Por isso, em 2007, vamos fazer algo por um Brasil melhor e mais competente: vamos evoluir para o Software Livre 2.0!