Agile Manifesto - Metodologias Ágeis

domingo, 23 de dezembro de 2007

Nos três úlimos anos, tenho tido a oportunidade de estudar e trabalhar em projetos que seguem metodologias própria ou de mercado, com enfâse em RUP e ulimamente para gestão de projeto tenho conhecido e aplicado algumas das boas práticas de mercado baseados no PMBOK. E tenho visto e sentido na pele que muitas vezes a metodologia e o preenchimento em exceço de templates / documentações tornam o projeto não muito produtivo. O que quero dizer que PMI é muito bom para Gerenciamento do projeto, mas isto não contempla o desenvolvimento do Software em si. Foi quando comecei a me interessar por metodologias ágeis para o desenvolvimento de software.De acordo com site oficial de metodologias ágeis (http://agilemanifesto.org/),
Desenvolvimento ágil segue os seguintes princípios:

  • A maior prioridade é satisfazer o cliente através de uma entrega de software com qualidade de maneira rápida e contínua.
  • Mudanças nos requisitos são bem vindas, mesmo em estágio avançado de desenvolvimento. Processos ágeis harmoniza a mudança para as vantagens competitivas do cliente.
  • Entrega de software funcional frequente, de questão de semana para questão de meses, de preferência em uma menor escala de tempo.
  • Analistas de negócio e desenvolvedores devem trabalhar em conjunto diarimente durante o projeto.
  • Desenvolver projetos com pessoas motivadas. Fornecer a essas pessoas o ambiente e suporte que eles precisam, e confiar nestas pessoas para obter o trabalho feito.
  • O método mais eficiente e efetivo de trocar informação e estar alinhado ao time de desenvolvimento é através da conversa face a face.
  • Software funcional é a medida primária do progresso.
  • Processos ágeis promovem desenvolvimento sustentável.
  • Os sponsors, desenvolvedores e usuários devem ser manter um indefinido progresso constante.
  • Atenção contínua para excelência técnica e agilidade progressiva em design.
  • Simplicidade -- a arte de maximizar o volume de trabalho não realizado é essencial.
  • As melhores arquiteturas, requerimentos, e design partem de equips auto organizáveis.
  • Em intervalos regulares, o time reflete em como se tornar mais efetivo, então entram em sintonia e ajustam os comportamentos de acordo.
Eis alguns exemplos de metodologias ágeis:

  • Extreme Programming (XP)
  • DSDM
  • SCRUM
  • Crystal
  • Desenvolvimento Dirigido a Funcionalidade
  • Programação Pragmática
Aos poucos vou publicar um pouco deste extenso assunto.. mas o que posso dizer é dê uma olhada !!!

Campanha Relâmpago de Vouchers 2007 da Sun

terça-feira, 18 de dezembro de 2007

Galera, vamos aproveitar que até o dia 20/12 para cada voucher que é comprado você ganha outro na butija.. essa é a hora de certificar..

Tim Boudreau e Henry Story no Brasil

quarta-feira, 5 de dezembro de 2007

Segunda Feira (05/12/2007) esteve em São Paulo Tim Boudreau o engenheiro senior da Sun e um dos criadores NetBeans, ele esteve em um Mini curso exclusivo da Globalcode, esteve falando sobre as mais recentes funcionalidades do NetBeans 6.0 tais como: Melhorias no editor; Suporte a Ruby/JRuby/Ruby on Rails; Instalação e atualização mais fáceis; Desenvolvimento de GUI Swing; Profiling; Web e Java EE; Mobilidade; SOA; UML; Melhorias na API da plataforma NetBeans.

Vinicius Senger e Tim Boudreau




Mauricio Leal da Sun fez uma demo das novas funcionalidades do NetBeans 6 para o desenvolvimento de aplicativos JavaME.













Nos próximos dias a Globalcode irá promover outro mini curso sobre Web Semântica com Henry Story, fiquem ligados pois as vagas se esgotam rapidamente...
Para quem não sabe Web Semântica é o rumo atual que a Web tem tomado e em um sentido mais amplo permitirá que homem e máquina trabalhem em cooperação. Hoje o grande desafio é desenvolver tecnologias e linguagens que tornem a informação legível para as máquinas, essa integração hoje em dia é possível graças ao XML (eXtensible Markup Language), ao RDF (Resource Description Framework) e arquiteturas de metadados..
A Web Semântica é associada ao Web 3.0 como um próximo passo na evolução da rede mundial de computadores. Ela tem como objetivo imediato de categorizar as informações aumentando assim a eficiência em mecanismos de ferramentas de busca como Google, Altavista, etc...

Estrutura de uma Rede Semântica

E no fim do mini curso, fui gentilmente convidade pela familia Senger para um jantar com os ilustres visitantes..

Jorge Diz, Henry Story, Vinicius Senger, Yara Senger, Tim Boudreau, Mauricio Leal e Wagner Santos


Para maiores informações sobre Web Semântica acesse http://www.w3.org/2001/sw/ da W3C.

Lançado a versão final do NetBeans 6.0

terça-feira, 4 de dezembro de 2007

Com quase um mês de atraso foi lançado oficialmente no dia 03/12/2007 a versão final do NetBeans 6.0, com várias melhorias, para aqueles que serem falaram mal do editor e da performance um recado.. Seus problemas acabaram !!
As mudanças mais significativas foram no editor de texto do IDE, onde podemos destacar.
* Code Completion Inteligente
* Coloração Semântica
* Refactoração Instantânea
* Preview com antes - depois de alteração
* Geração de código como sobrescrita de construtores, equals e hashCode
* Suporte a várias linguagens como Java, Ruby, C/C++, XML, HTML, RHTML, JavaScript, e JSP.

São muitas as novidades no novo IDE, não teria como destacar todas as novas funcs neste post, proponho a você desenvolvedor efetuar o download no site netbeans.org, que agora vem disponível em várias opções de download (figura abaixo).


e explore os tutoriais disponiveis no próprio site em tutoriais.

Ainda falando de NetBeans 6, a última edição da revista mundo java nº 26, foi publicada um artigo meu sobre as novas funcionalidades do NetBeans 6 com enfânse nas mudanças do editor e no desenvolvimento de aplicações Swing com as JSRs 295 e 296 (Beans Binding e Swing Application Framework) a revista ainda possui diversas máterias interessantes com foco em SOA.. sem dúvida uma ótima pedida..

Android - E o império Google contra ataca !!!

segunda-feira, 19 de novembro de 2007

A Google lançou recentemente um sistema operacional OPEN SOURCE para concorrer com symbian, palm os, etc.. no ramo de dispositivos móveis, ele utiliza como kernel o Linux e como linguagem o Java

Arquitetura


Funcionalidades

  • Application framework enabling reuse and replacement of components
  • Dalvik virtual machine optimized for mobile devices
  • Integrated browser based on the open source WebKit engine
  • Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
  • SQLite for structured data storage
  • Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • GSM Telephony (hardware dependent)
  • Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
  • Camera, GPS, compass, and accelerometer (hardware dependent)
  • Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

Abaixo esta um demo de um engenheiro da Google que desenvolve uma aplicação em cima do Eclipse :-/,



Para quem quiser se aprofundar visite o canal exclusivo para desenvolvedores do Android no Youtube http://www.youtube.com/AndroidDevelopers, com vários tutoriais em video, uma atenção especial ao vídeo de apresentação do so com Sergey Brin dando uma introdução e um de seus engenheiros (Steve) fazendo uma demo de várias funcs...




Posso estar enganado mas estas funcionalidades me fazem lembrar algo ?? Será o iphone ..

Para efetuar o download do SDK clique aqui.

Esta disponível também um plugin para o Eclipse.

Diversão garantida !!!

Montando Wiki com JSPWiki

sábado, 17 de novembro de 2007

Muito se tem falado de wiki, que podemos utilizar em diversos cenários ... mas o que é Wiki ?

O termo wiki (pronunciado "viquie" ou "uikie" no Alfabeto fonético internacional) e WikiWiki são utilizados para identificar um tipo específico de coleção de documentos em hipertexto ou o software colaborativo usado para criá-lo. Wiki significa "super-rápido" no idioma havaiano. Já em maori Wiki significa "fim-de-semana". É também a forma diminutiva de Wikitoria, versão Maori do popular nome cristão Victoria
Podemos dizer que Wiki é uma coleção de muitas páginas interligadas e cada uma delas pode ser visitada e editada por qualquer pessoa. O que torna bastante prático, a reedição e futuras visitas.
Wiki é WEB 2.0
Um exemplo clássico de wiki é site wikipedia que é um dos pioneiros neste segmento.


Wikis são verdadeiras mídias hipertextuais, com estrutura de navegação não-linear. Cada página geralmente contém um grande número de ligações para outras páginas. Páginas com navegação hierárquica são freqüentemente usadas em grandes wikis, mas não devem ser usadas. As ligações são criadas usando-se uma sintaxe específica, o chamado "padrão link".
Existem no mercado diversas implementações de wiki open source (php, java, etc...) , veja tabela abaixo, para as opções disponíveis em java, podemos destacar o JSPWiki, que é o mais consolidado no momento dos open source, inclusive é a base do Wiki que vem junto como o JBoss Seam..

Nome
Site
Tecnologia
Valor
Tiddlywiki
JavaScript
Free
Very Quick Wiki
JAVA
Free
JAMWiki
JAVA
Free
Snipsnap
?
Free
JSPWiki
JAVA
Free
Confluence
JAVA
US$8000
Chiki Wiki
JAVA
Free
Usemodj Wiki
JAVA
Free
yawiki
PHP
Free
XWiki
JAVA
Free
Clearspace
JAVA
U$29950

JSPWiki é uma implementação open source de wiki, é totalmente desenvolvido em Java e possui várias funcionalidades,
É possível integra-lo com Single Sign On, JDBC para validação em banco, LDAP, e o default que é o armazenamento das informações em arquivos XML..

Edição
Na versão atual possui até um editor de texto para os usuários mais leigos com diversas funções para facilitar a edição do texto. Similar a editores de texto como Word.

Criação de Páginas
Para criar uma nova página basta criar um link apontando para uma página que não existe. Clicar no link, que neste momento deve aparecer uma interrogação (?), que ao ser clicado será direcionado para um editor de novas páginas.

Outras funcionalidades interessantes.
  • Possibilidade de extensão da Wiki com a Inclusão de plugins.
  • Possível incluir variáveis. Ex: [{$pagename}]
  • Enriquecer a página utilizando arquivos CSS.
Segurança
Overview
JSPWiki 2.4 contém um conjunto rico e flexível de funcionalidades. O que torna JSPWiki totalmente prático para deployments em partes ou como uma intranet corporativa. Entretanto, o sistema de segurança dos subsistemas do JSPWiki é altamente customizável, geralmente a configuração padrão é o suficiente para iniciar o desenvolvimento. Entre as funcionalidades principais podemos destacar.

Funcionalidade
Descrição
Anonimato e Confiabilidade
Usuário pode ser anônimo, autenticado parcialmente e autenticado.
Gerenciamento de identidade
Usuários podem se cadastrar na Wiki, criando um profile com password. Após logar o usuários podem gerenciar seus profiles. Permite armazenar / validar os seus dados (user, pass) em banco de dados, servidores LDAP, etc...
Grupos
Possibilidade de criar grupos de usuários com um wizard simples.Podendo ser adicionados para ACLs para restringir acesso á páginas particulares.
Roles
Usuários podem possuir roles especiais (ex: “Admin” que são associados aos seus usuários.
Integração Corporativa
Política de segurança seguem o padrão J2SE (file sintax), o local dos arquivos pode ser customizado por administradores. Gerenciado pelo JAAS, Wiki pode utilizar validações condicionais fornecidor pelo web conteiner Java EE, gerenciamento de autenticação pelo conteiner para conexão nos componentes de segurança como LDAP, Single Sign ON, PAM, Kerberos e Activity Directory.

Templates

Outra opção interessante é a criação de novos templates, no site do JSPWiki, existem uma série de templates disponíveis para download e a ferramenta tem total suporte para a criação de novos templates.


Mecanismo de busca

O mecanismo de busca é baseado no Apache Lucene.

Linguagem Própria

Wiki possui uma linguagem própria, quando criamos ou salvamos uma página wiki, na verdade estamos criando uma página .txt que ao acessarmos pelo wiki, a engine da ferramenta converte essa linguagem própria para uma página .html com as devidas tags.

---- = make a horizontal ruler. Extra '-' is ignored.
\\ = force a line break

[link] = create a hyperlink to an internal WikiPage called 'Link'.
[this is also a link] = create a hyperlink to an internal WikiPage called
'ThisIsAlsoALink' but show the link as typed with spaces.
[a sample|link] = create a hyperlink to an internal WikiPage called
'Link', but display the text 'a sample' to the
user instead of 'Link'.
~NoLink = disable link creation for the word in CamelCase.
[1] = make a reference to a footnote numbered 1.
[#1] = mark the footnote number 1.
[link] = create text '[link]'.

!heading = small heading with text 'heading'
!!heading = medium heading with text 'heading'
!!!heading = large heading with text 'heading'

''text'' = print 'text' in italic.
__text__ = print 'text' in bold.
{{text}} = print 'text' in monospaced font.
[text|] = print 'text' underscored (dummy hyperlink)
* text = make a bulleted list item with 'text'
# text = make a numbered list item with 'text'

;term:ex = make a definition for 'term' with the explanation 'ex'

Plugins

Essa é a minha opção preferida, a de adicionar novos plugin, o JSPWiki vem com suporte para a criação de novos plugin e no próprio site esta disponivel diversos plugins para download, basta baixar e instalar..

Existem plugins para visualização de pdf, excel, flash,, opção para rodar applets, cvs, google maps entre outros,...

Quem se interessou eu recomendo visitar o site www.jspwiki.org, baixar o código fonte, ver os tutoriais ... diversão garantida !!!!

Conexão Java 2007

sexta-feira, 2 de novembro de 2007

Nos dias 9 e 10 de Novembro será realizado o evento Conexão Java, com uma programação bem diversificada, um dos destaques é o keynotes com Carlos Villela, o cara trabalha na ThoughtWorks de Londres, a conceituada consultoria que tem como seu chief scientist ninguém mais que Martin Fowler. Villela vem falar um pouco sobre as velhas e as novas arquiteturas, os grandes mitos e metodologias ágeis.

Haverá dois auditórios nos dias do evento, um para as palestras técnicas e outro para os hands-on,
Os preços para quem irá participar apenas das paletras esta R$ 45,00 e o hands on sai por R$ 149,00.

Para maiores informações acesse http://www.temporealeventos.com.br/?area=5

Tutorial de Java - Inglês

terça-feira, 2 de outubro de 2007

Segue abaixo um curso interessante de Java que encontrei no Youtube,, espero que seja util..

Java Video Tutorial 1: Installing the Java Development Kit



Java Video Tutorial 2: Hello World!



Java Video Tutorial 3: Variables and Arithmatic (Part1)



Java Video Tutorial 3: Variables and Arithmatic (Part2)



Java Video Tutorial 4: If Statements



Java Video Tutorial 5: Object Oriented Programming



Java Video Tutorial 6: Loops



Java Video Tutorial 7: Switch Statements



Java Video Tutorial 8: Arrays



Java Video Tutorial 9: Exceptions