Participação no CEJUG CCT

Posted May 22, 2008 by vandob
Categories: CEJUG

Tags: , , , ,

Participei do último encontro do CEJUG (Ceará Java Users Group), dia 17 de maio na FLF, chamado Café com Tapioca (CCT), ministrando a palestra “Desmistificando o Java ME” – oportunamente batizada por Rafael Carneiro – com o objetivo de levar o assunto, características, desafios e oportunidades da mobilidade à comunidade Java.

O evento superou em muito minhas expectativas, tanto do ponto de vista da organização, dos participantes, dos demais palestrantes (Rafael e Luthiano), quanto da minha própria apresentação =) aproveitando inclusive para conhecer pessoas que fazem acontecer no Ceará. O site do grupo é o cejug.org e maiores informações do que rolou este mês encontram-se aqui e aqui – que ainda contou com o apoio da Argohost e da TV Software Livre transmitindo ao vivo para todo o mundo. No próximo mês o evento continua com mais conhecimento, tecnologias, interações e aprendizado! Aproveitem!

Os slides de Java ME estão disponíveis em slideshare ai embaixo:

Divulgação – Evento do CEJUG

Posted May 10, 2008 by vandob
Categories: CEJUG

Tags: , ,

Segue divulgação do evento organizado pela forte comunidade cearense de Java para este mês de maio.

Fonte: http://cejug.org/pages/viewpage.action?pageId=24936471

No dia 17 de maio (sábado), acontecerá na FLF (Faculdade Lourenço Filho) o próximo Café com Tapioca.

Desta vez teremos mais três palestras, são elas:

  • Desmistificando o JavaME – Vando Batista
  • Entendendo Domain Driven Design – Rafael Ponte
  • Integração Contínua com CruiseControl: qualidade e agilidade em projetos Java – Luthiano Vasconcelos

Obtenha mais informações na página do evento, faça sua inscrição na página do JugEvents, não esqueça de levar um quilo de alimento não perecível e compareça na confraternização que ocorrerá após o evento.

CEJUG e você, fazendo a comunidade Java cearense crescer!

Grau de mobilidade

Posted May 6, 2008 by vandob
Categories: Uncategorized

Tags: , , , ,

Voltemos à discussão: por mobilidade podemos entender que é a propriedade daquele que é móvel e que obedece às leis do movimento. Mais ainda, é aquele que tem a capacidade de se mover mantendo sua funcionalidade íntegra, individualmente ou coletivamente.

Para analisarmos o termo sob o ponto de vista de software, consultemos o Wikipédia: “Capacidade de acessar ou executar sistemas através de dispositivos portáteis, facilitando trabalhos que antes eram restritos a grandes dispositivos“. É importante ressaltar que além da transparência de acesso e de localização, comumente requeridas em um sistema distribuído, há a necessidade de assegurar a transparência de mobilidade. Uma breve definição por CDK 4e tras o conceito de computação móvel como aquela que tem o objetivo de “ocupar-se da exploração da conexão em equipamentos portáteis“.

Com todos estes conceitos, não é preciso justificar aqui que é intrínseco da mobilidade a independência total ou parcial de uma infra-estrutura fixa, centralizada de rede; pois para ser móvel é necessário um certo grau de desvinculação física entre os “objetos” (aqueles que estão compondo determinado cenário).

Quanto a esta independência, podemos classificar um sistema quanto ao grau de mobilidade que os dispositivos e as redes móveis dão suporte. Segundo Licia Capra em Mobile Middleware, estes tipos são classificados como:

  • Infra-estruturada
  • Nômade
  • Ad-Hoc

É extremamente importante ter esses conceitos em mente, assim como as possíveis soluções para os principais desafios, ao projetar um novo sistema que envolva mobilidade como requisito da aplicação, para que a mesma não influencie negativamente no resultado final e na experiência dos usuários.

What is next?

Posted April 27, 2008 by vandob
Categories: SVN NetBeans

Tags:

Regarding the last post “Facing Software Configuration Management on NetBeans IDE”, later will be published a second part regarding the use of tkSVN and NetBeans IDE for branches and tags management under svn-netbeans category here.

After some posts in english, now we are changing to portuguese just to finish the talk about mobility level and its impacts on distributed computing systems.

Cheers..

Facing Software Configuration Management on NetBeans IDE

Posted April 17, 2008 by vandob
Categories: NetBeans IDE 6.1 Blogging Contest, SVN NetBeans

Tags: , , , , ,

Actually I am involved with some open source projects development. One of them is from my master in computer science project, called Spontaneousware (hosted at Java.Net http://spontaneousware.dev.java.net). Since this project was created, we are working, as a Software Configuration Management tool, with Subversion version control system (SVN). Primarily the NetBeans SVN client was considered to be used, but due to some its limitations the tkSVN (tkCVS) tool is being also used. This post aiming to clarify the workaround to put a non-source-code NetBeans project into a SVN repository.

Regarding this project, the following software infrastructure is being used:

  • Ubuntu Linux 07.10 (with SVN client installed)
  • NetBeans IDE 6.1 Beta
  • tkSVN (tkCVS)

The NetBeans’s SVN client support is available by default, as for other tools like CVS and Mercurial. The SVN implementation supports file, http, https, svn, and svn+ssh authentication protocols. The most important features are described below. For a detailed information on how to use them, please see the Subversion Support in NetBeans IDE guide.

  • Checking Out a New Project from Subversion,
  • Viewing File Status and Differences,
  • Tracking Changes in the Subversion window,
  • Generating Diffs,
  • Updating and Committing Files,
  • Updating Project Settings, and
  • Putting a Project into Subversion

Regarding the Code Projects

The NetBeans’s SVN support makes it easy to maintain under version control and share the project metadata (project settings) and the source-code. Note: it automatically excludes the build, dist, and nbproject/private folders from check-in.

The user can configure it through the NetBeans IDE, like the figures below:

Checkout a SVN repository Checkout a SVN repository (cont.) A code project from a SVN repository

Regarding the Model Projects

Through the NetBeans 6.1 Beta is not possible to put a UML (model) project into Subversion. It is a IDE’s SVN limitation if we want to maintain and share the model under version control. So, what should we do if we need to manage it? An alternative solution is to use an auxiliary SVN GUI client, tkSVN in our case, aiming to maintain all the UML diagrams files synchronously related to the code project.

The figures below shows the project configuration on tkSVN tool for a NetBeans UML project. The last figure displays the Model Project folder through the Spontaneousware Java.Net website.

A Model Project in the tkSVN tool The main folders listed in the tkSVN tool The Model Project folder showed through the Java.Net project website

Suggestion: Enhancement Opportunity

Due to the limitation clarified above, it is a good opportunity for version control enhancement in NetBeans Model Projects – specially for Subversion support, but it can be also applied for CVS and Mercurial supports. Most of the same important IDE’s SVN features listed above could be available for the UML project. Considering this enhancement will be implement, it will be easy and more efficient to work with SVN on NetBeans. So, just one tool will be needed!

Note: this post is participating on the NetBeans IDE 6.1 Blogging Contest =)

NetBeans Blogging Contest

Vando B – NetBeans Community member: vandob

Share the Call For Papers

Posted April 13, 2008 by vandob
Categories: Uncategorized

Tags: ,

Recently I have find an interesting web tool to maintain and share the call for papers from the most known conferences wide world. It calls WikiCFP (A Place to Organize and Share “Calls For Papers”) and it is available at http://www.wikicfp.com/

You can use it, after your registration, to add to list the CFPs that interest to you or post a new one. Also you can share your list through the link Share with Colleague and send a email message like (this is my message =): “I built a CFP list on WikiCFP. Maybe you will find it useful. The link is http://www.wikicfp.com/cfp/servlet/event.showlist?lownerid=923&ltype=w “.

The most popular categories are: linguistics, NLP, databases, artificial intelligence, and communications.

Quando a computação é móvel

Posted April 11, 2008 by vandob
Categories: Uncategorized

Tags:

Quão móvel é um sistema distribuído? Quando pensamos na distuibuição de um sistema computacional muitos requisitos ou definições prévias vêem logo à mente. Preocupações como: heterogeneidade, middleware, transparência, tolerância, localização, paradigma (mensagem, objeto, transação), (a)sincronismo e muitos outros. Mas quando adicionamos o adjetivo móvel, outras preocupações também estão envolvidas.

O que é visto comumente são comentários e afirmações do tipo: “estou desenvolvendo uma aplicação móvel”, “aprenda a construir sistemas móveis”, ou “esta aplicação possui transparência de localização”. Cuidado quando falar ou ouvir frases deste tipo! Pode soar forçado. O tipo de computação pode não passar de uma simples aplicação auto-contida (não se comunica com nenhuma outra) e fixa (não envolve nenhuma questão de mobilidade). Neste caso, ele nem seria obrigatoriamente distribuído, nem tão pouco móvel. Simplesmente roda em um dispositivo que por acaso é móvel.

Mais uma vez: não é porque o dispositivo é móvel que a aplicação também será =)

Quando realmente há a presença de requisitos de mobilidade em um sistema, um novo cenário é alvo, onde limitações (de processamento, memória e conectividade), heterogeneidade (dispositivo, linguagem e rede), tratamento de contexto/adaptabilidade, e registro/descoberta de serviços devem ser levantados. Isto tudo pode estar relacionado também com o tipo de rede que os dispositivos irão usar, se do tipo infra-estruturada ou do tipo ad-hoc.

Vamos discutir mais detalhadamente todos estes conceitos, tanto da parte de middleware como de rede. No próximo post, teremos algo sobre o grau de mobilidade dos sistemas.

Como citar um blog?

Posted March 18, 2008 by vandob
Categories: Uncategorized

Tags: ,

Para facilitar a escrita e leitura de textos, recomendo a utilização do seguinte padrão para uma citação de blog segundo [Leite 07]. Por exemplo:

[Batista 08] Batista, V.F., Requisitos para mobilidade, Março/2008, em Technology for Mobility, http://vandob.wordpress.com/, 2008.

Lembrem-se que os textos pertencem ao autor do blog. Se você quer usá-lo, não esqueça de fazer a devida citação.

Os autores agradecem os créditos =)

Referências:

[Leite 07] Leite, J.C.S.P., em Amazing — Comentários sobre Engenharia de Software, http://jcspl.wordpress.com/, 2007.

Divulgação – projeto Spontaneousware

Posted March 14, 2008 by vandob
Categories: Uncategorized

Tags: , ,

Estou desenvolvento um framework e middleware em minha dissertação e gostaria de convidá-los a participar do processo de validação do mesmo. Quem se interessar pode entrar em contato comigo. É uma boa oportunidade para quem quer desenvolver / ter experiência em sistemas distribuídos móveis.

Mais informações:

O Spontaneousware (spontaneousware.dev.java.net) é um framework abstrato de plataforma de middleware direcionado para desenvolver sistemas de computação móvel e redes móveis ad-hoc. Sua arquitetura foi concebida para ser uma plataforma independente e pode ser aplicada a qualquer dispositivo apropriado e de linguagem orientada a objetos – por exemplo, é possível desenvolver uma aplicação interoperável entre Java, Symbian ou Windows Mobile.

O projeto – hospedado no Java.Net – tem o objetivo de construir a primeira implementação do Spontaneousware objetivando um sistema de middleware para plataforma Java e rede Bluetooth, mais precisamente Java ME e JSR-82 API.

Requisitos para mobilidade

Posted March 11, 2008 by vandob
Categories: Uncategorized

Tags: , , , ,

Os conceitos e requisitos de desenvolvimento de aplicações distribuídas e de middleware estão extremamente relacionados com os tipos de rede que compõem tal sistema. As aplicações voltadas para mobilidade basicamente podem ser formadas por redes do tipo nômades ou do tipo ad-hoc (manet). As primeiras são dependendes de alguma infra-estrutura fixa na rede, a segunda são totalmente desprovidas de algum nó centralizador ou fixo, formando uma rede descentralizada e espontânea.

Então…

Quais os requisitos essenciais para o desenvolvimento de um sistema móvel?

Esta é uma das primeiras perguntas que um desenvolvedor deveria se fazer ao implementar ou projetar uma aplicação para um cenário de mobilidade, principalmente quando não existe uma abstração de software – ou a mesma é muito pobre – capaz de prover tais funcionalidades. Antes de começar qualquer trabalho de implementação é interessante levantar tais requisitos para guiar o projeto da aplicação ou mesmo o de uma infra-estrutura básica (middleware) para a distribuição do sistema.

De início iremos levantar e discutir alguns destes requisitos. Alguns exemplos de sistemas de middleware também podem ser citados.