21 de maio de 2008

Como preencher o JCP.

Para quem tem curiosidade e gostaria de participar do JCP aí vai um tutorial, já agradecendo a ajuda Michael Nascimento (Mister M) e Pablo Madril (o criador do passo a passo).

Como preencher o JCP.
-------------------------------
Neste exemplo, JOAO SILVA e apenas um nome figurativo.
Qualquer semelhanca com a realidade e mera coincidencia.

1) Baixar os arquivos do site e imprimi-los
JSPA with Exibit B: http://jcp.org/aboutJava/communityprocess/JSPA-IND.zip

2) Rubricar todas as paginas (faca isto primeiro pra nao esquecer depois)


3) JSPA pag 1 de 11
campo 1 - seu nome em letra de forma. Ex: JOAO SILVA
campo 2 - a data em formato americano (MM/DD/AAAA): 01/31/2007

4) JSPA pag 3 de 11
campo 1,2 e 3 deixar em branco
campo 4 - Individual representing self only .... No Feee ... :As suas
inicias em maiusculas. Ex: JS

5) JSPA pag 10 de 11

MEMBER:
Signature: __assine aqui__
Name: seu nome. Ex: JOAO SILVA
Title: Mr ou Miss (homem ou mulher)
Date: a data em formato americano (MM/DD/AAAA)

SUN MICROSYSTEMS, INC:
deixar estes campos em branco, eles serao prenchidos pela Sun e
devolvidos via fax pra voce

6) JSPA pag 11 de 11 (eh o Exibit A)

1. Primary contact person
Name: _seu nome_. Ex: JOAO SILVA
Title: Mr ou Miss
Email Address: _seu email_. Ex: joaosilva@hotmail.com
Telephone Number: _seu telefone_ Ex: (5511) 5555-5555 (sem a operadora)
Fax Number: _um numero de fax onde vc possa receber fax_ Ex: (5511)
5555-5555

2. Accounts Payable Contact Person
____Seu nome___. Ex: JOA SILVA

Coporate Name:
___deixe em branco___

Accounts Payable Contact Address:
__Seu endereco___. Exemplo:
Rua XX, 123 Ap 10
Sao Paulo,SP, Brazil
CEP: 123123-000

EMail Address: _seu email_. Ex: joaosilva@hotmail.com
Telephone Number: _seu telefone_ Ex: (5511) 5555-5555 (sem a operadora)
Fax Number: _um numero de fax onde vc possa receber fax_ Ex: (5511)
5555-5555

7) EXIBIT B

Campo 1: Participant _seu nome__....
Campo 2: ...property rigths to _o nome da firma onde vc trabalha_. Ex:
Silva Ltda
Campo 3: ...#_____(Entitled:_____). Deixe em branco.
Campo 4: Signature: ____Aqui assina seu chefe____
Campo 5: Name: ___nome do seu chefe___
Campo 6: Title: ___cargo do seu chefe___
Campo 7: Date: ___data em formato americano___

Envie TODAS as folhas via fax ao numero indicado na pagina 11 de 11 (+1
408 276 7129).
Eh, isso mesmo, TODAS AS 12 FOLHAS, por isso que precisa rubricar TODAS
AS FOLHAS.


Acabou!!!

Vc deve receber um fax de resposta em algums dias. Na verdade, vc recebe
um fax de 12 folhas com a pag. 10 de 11 preenchida pela Sun.

18 de maio de 2008

Falando em Java 2008

Vou ver se consigo falar melhor durante a semana o que aconteceu lá, mas o evento foi demais, quem perdeu, infelizmente deixou de ver grandes apresentações, como sempre a Caelum se superou.

6 de maio de 2008

Eventos Mês 05 e 06 de 2008

Dia 18/05 acontecerá o evento Falando em Java 2008 veja o Link:
Caelum - Falando em Java 2008

Dia 27/06 ocorrerá o Google Developer Day 2008, muito legal este evento também.

Dia 07/06 estarei dando palestra de JSF em Santa Barbara do Oeste no evento É dia de Java 2008.

Os eventos do dia 31, 27 e dia 07 serão gratuitos, o evento Falando em Java é pago, mas vale a pena conferir, estarei em todos eles.

Se tudo der certo tentarei postar as palestras e códigos, também fazer uma cobertura destes eventos.

11 de fevereiro de 2008

Vaga de emprego

Conforme combinado com Katia segue o perfil da vaga de Java:



Analise especificação, acompanhamento e desenvolvimento de aplicativos na plataforma JAVA ( SCJP, Structs, EJB, Hibernate, MVC, Patterns)

Analise especificação e Modelagem de Dados - UML

Banco de Dados - ODBC, SYBASE, SQL SERVER

Experiência em Procedures, Views e Triggers

Plataforma LINUX, WINDOWS 95,98, NT, XP e LINUX

IDE - Tomcat, JBOSS, ECLIPSE

.



Qualquer dúvida estou a disposição.



Um abraço!



Esther Ribeiro Santos

Analista de Recursos Humanos

(11) 4052-4300 (pabx)

(11) 4052-4332 (direto)

esantos@proit.com.br

www.talentproit.com.br

24 de janeiro de 2008

SOA não é WebService!

Esta postagem é apenas uma visão de um estudante de TI, procurando soluções para alguns dos paradigmas encontrados nos conceitos de lógica e desenvolvimento de software.
Em uma série de matérias, artigos, fóruns e discuções. vejo uma grande confusão, a de que SOA somente pode ser concebido com WebServices.

Os WebServices são grandes aliados do SOA, porém não só este tipo de tecnologia que permitem que o conceito de SOA seja reproduzido.

Conceito

Na verdade o SOA é um conceito que define que, para se obter boa aplicabilidade e integração entre sistema deve-se ter, baixo acoplamento e granularidade grossa, criando assim módulos funcionais do sistema, e permitindo a reutilização do código.

Isto sisgnifica que serviços devem ser criados e disponibilizados por completo, por exemplo:

Reservar um quarto de hotel;

O serviço terá que verificar a disponibilidade de quartos, alterar o estado do quarto para reservado e adicionar esta reserva ao banco de dados, isto define uma granularidade grossa, e as classes são de granularidade fina, inserir quarto, inserir reserva. alterar status do quarto, cada uma dessas é um metodo e uma interação diferente com o objeto.

E o baixo acoplamento é reproduzido nas aplicações reduzindo as interdependencias dos módulos do sistemas, que segundo a teoria de "Page-Jones", poderia ser uma classe, mas eu prefiro acreditar que devemos criar uma classe que disponibilize o "serviço" ou que na própria classe seja criada um método que disponibilize o "serviço" com um baixo acoplamente, ou seja o método não irá esperar por tipos complexos como parametros, mas irá cuidar de tudo que se deve existir para resolver o assunto.

Por exmplo, no caso da reserva iriamos tem um método criando um objeto de um quarto que estará disponível e irá alterar seu estado e gravar isto no banco.

C#
class Quarto
{
public void ServicoReservar(int idCliente, DateTime chegada, DateTime saida)
{
List oListQuarto = Quarto.Disponiveis(chegada, saida);
if(oListQuarto.Count > 0)
{
oListQuarto[0].Reservar(new Cliente(idCliente));
}
}
}

Para não se ter um método muito complexo, optei por reservar o primeiro quarto que estiver disponível, mas poderia receber o tipo do quarto que deveria estar disponível para reserva, por exemplo.

Este é o conceito básico, não muito detalhado, mas prometo estudar mais sobre a arquitetura SOA para poder disertar melhor sobre o assunto.

Tecnologias

Existem algumas tecnologias que permitem com que o SOA, possa vir a ser reproduzido.
Algumas delas são:

  • Programas de linha de comando;
Em alguns casos esta pode vir a ser a melhor opção, como integração de sistemas que estão alocados em uma mesma máquina ou rede, permitindo que algumas liguagens e tecnologias diferentes, possam se conversar.
  • Via Protocolo Http (WebServices);
Ótima opção para integrar sistemas via intranet e internet, geralmente, são as mais utilizadas pelos arquitetos, por se tratar de uma tecnologia bem disseminada e difundida, e por grande parte das tecnologias suportarem e serem compatíveis.
  • Via TCP/IP (Sockets);
Esta é uma opção bastante performatica, quando precisamos integrar sistemas em Rede, cada tecnologia tem uma forma para se desenvolver com este tipo de protocolo, mas a integração é bastante performática.
  • Com envio de mensagens;
O envio de mensagens é uma ótima opção para garantir que a integração tenha consistência e garantia, geralmente são feitos com sistemas de terceiros MSMQ (Microsoft), MQSeries (IBM), entre outros.
  • Via arquivos (Text/XML);
Existem vários padrões de gravação de arquivos de integração, alguns como CSV, XML, arquivo posicional, entre outros, e esta seria uma boa opção para casos em que a integração não deve ser imediata, mas este é o serviço mais demorado, pesado e menos performático, porém, pode ser uma solução para algumas empresas.
  • Outros;
Eu não conheço nenhum tipo de integração que seja diferente dessas, mas pode ser que existam, ser alguém conhecer, por favor me avisem, que estudarei melhor.
WCF
O WCF é uma tecnologia que decide qual a melhor forma de se integrar com o sistema legado, ele tem que decidir se a integração deve ser feita com HTTP, TCP/IP, via NamedPipes, Text/XML, entre outros...

Esta tecnologia foi desenvolvida, pensando na arquitetura SOA, e para mostrar que não se deve utilizar apenas uma tecnologia como WebServices, .NET Remoting ou MQSeries para se desenvolver uma arquitetura SOA.

Conclusão do autor

Não devemos dizer que SOA é apenas uma tendência, e também que é uma nova tendência, assim como a OOP os conceitos do SOA, foi desenvolvido a alguns anos atrás, mas hoje existe uma necessidade grande das empresas de integrar seus sistemas, e a melhor forma encontrada para se fazer isto é disponibilizando serviços para esta integração, e ainda isto permite que seja feita uma grande organização dos processos da empresa, na visão comercial, isto é ótimo, mas nem por isso devemos utilizar SOA em qualquer projeto que iremos desenvolver, é isso mesmo, não devemos ser movidos pela empolgação, mas sim pela razão.
SOA não é desenvolvido apenas com WebServices, existem várias opções para se desenvolver SOA.


NOTA: Qualquer erro conceitual tecnologicos, sugestões, criticas, etc... poste um comentário aqui e tentarei entrar em contato.