Como convencer um cliente a utilizar J2EE

ola pessoal…

O cliente quer um software para uma clinica médica, mas ele quer que os dados sejam armazenados no notebook dele. Seu fizer isso vou gastar tempo em um produto que ninguem mais vai comprar a nao ser ele mesmo.

Preciso de fortes argumentos para convence-lo de que um servidor fixo seria melhor haja vista que ele precisa manter comunicação com a recepção da clinica. Sem falar nos outros médicos que poderão utilizar a aplicação e talls…

tem um detalhe : (O Cliente atravessa um rio com um sonrizal na mão sem dissolver se quer um grãozinho!) Ele quer porque quer as informações no notebook dele e ao mesmo tempo a recepção tem que funcionar. hehehe (isso não é viavel pra mim)

replicar os dados para o note dle seria trabalho em vão. Tenho que pensar na clinica toda que tem um punhado de médico e não somente nele. Tenho que evitar o trabalho com manutenção.

alguem poderia me dar algumas idéias?

orbgaido pessoal :stuck_out_tongue:

cara

em um sistema feito em camadas, (ou padrão mvc), vc não teria problemas de acesso e replicação de dados. e se fizer o sistema de maneira generica, pode oferecer pra outros clientes.

agora se vc é quem quer fazer o sistema via web então fala q vai ser mais barato pra ele. e so calcule seus custos pra não sair no prejuízo.

não venda um sistema, venda a solução para o problema dele.

recentemente fiz um sistema desktop em delphi com identificador de chamadas (bina) . fiz em delphi pq não tinha muito tempo pra programar (tinha q terminar o tcc da faculdade) e pq o cara não tinha grana pra comprar maquina boa. mas na hora de desenvolver eu fiz de uma forma que o sistema se tornou um produto de prateleira(EX: crie um cadastro de empresa com nome e logo e aproveite esses dados para gerar seus formulários e relatórios).

o principal é vender soluções, não importando a tecnologia q vc utiliza. e outra dica, aprenda a trabalhar com reuso de software(diferente de copy paste em codigo fonte), faca um minicadastro dos seus componentes que realmente são úteis e reutilize, melhore, crie mais e mais, quando menos esperar se tem um repositório de objetos grande o suficiente talves até pra criar seu próprio framework.

eu curto mto java, mas se amanha me pagarem mto bem pra programar na porcaria de forms e reports da oracle, eu vou… se é desse jeito q eu vo comprar meu arroz com feijão e abastecer minha bmw.

flw …

legal…

vender uma solução não um sistema… (talves eu seja um tanto mercenário… hehe)

obrigado pela contribuiçao… isso ja abriu um pouco mais minha mente…

Cara, desculpe, mas pq raios seu cliente iria se preocupar com isso? ele vai te pagar pra resolver os problemas dele certo? é pra isso que seu sistema irá existir. Obviamente se isso não afetar o preço (que é bem difícil) ele não deveria, em teoria, se preocupar.

Seu cliente, por outro lado, deve estar pensando: “como é que faço pra convencer esse cara a fazer o que eu quero? será que ele faz de graça!!!”

Esse detalhe do sonrizal é importante: pela minha experiência te diria pra não perder tempo com esse cara a não ser que vc não tenha um otro cliente melhor, mas não vou dizer.

huahauhau…

ele é medico e dono da clinica tbm…

ele ja trabalhou em um lugar que tinha o software que servia a aplicação por meio de um servidor e talls…

ele tem medo da informação ser acessada pelos outros… sei la…
ele disse que direto entra ladrão na clinica dle para roubar e talls… o kra é traumatizado e por isso comprou um notebook e anda com ele colado debaixo do braço.

tenho q convence-lo de que tanto um notebook qto um servidor dentro de uma empresa pode estragar ou ser roubado.

valeu kra…

Entendi.

Olha, esse tipo de cliente costuma furar no meio do projeto - se vc demorar ele desiste, se vc for muito rápido ele reclama que o quê vc fez não é o que ele queria.

Se optar por continuar com ele como cliente faça o máximo pra botar no papel o que ele te pedir e não dê mole com os prazos - ele pode desistir e vc ficar na mão.

Tente ver a possibilidade de algum adiantamento: mas não se anime muito, isso tb é uma faca de dois gumes. Já que te pagou algo ele pode vir a se achar no direito de te cobrar …

Outra dica: faça preço homem hora,orce mais ou menos quanto tempo vc acha que vai demorar pra desenvolver e dê o valor pra essas horas, deixando claro pra ele que se estourar esse número de horas vc pode ter que renegociar. Ele vai fazer o possível pra tentar fazer preço por projeto - eu acho furada, pois ele vai mudar, com certeza, de idéia várias e várias vezes durante o projeto.

Woody

certo certo…

vou analisar de todas as formas… pra nao me arrepender… o kra é meu chegado… e isso torna as coisas piores ainda

mas blz

t+

vários notebooks certo? um por médico …

Vc poderia pensar em algo mais simples: ele só quer replicar a merda da informação.

Acho que uma aplicação desktop (cliente servidor bunda, com a base no micro dele) já daria conta do recado. Vc poderia incluir uma opção pra copiar a base de dados numa pasta da rede. simplificar pode ajudar.

Se houver necessidade de concorrência (usuários simultâneos acessando a base ou uma entidade em especial) aí sim vc pvai precisar de EJB num server (nem que seja o notebook dele).

Precisa amadurecer essas idéias.

Woody

O que interessa é que o cliente especificou o que ele quer, basta vc decidir como fazer.

Se você não tem argumentos é porque o que ele pediu atende as necessidades dele.

Já ouviu falar de replicação e conexão remota? Não vejo porque não funcionaria.

O que eu disse antes vale para este argumento.

Não tente empurrar um caminhão para um vendedor de cachorro-quente. Já vi muitos sistemas super “profissionais” que não agradavam o cliente, pois ele queria mesmo era algo simples.

Não me leve a mal, mas sua visão de satisfação do cliente está distorcida.

Recomendo a leitura do livro Por que os Clientes Não Fazem o que Você Espera?

eu concordo colega…

porem, esse software vai se tornar um produto e vou vende-lo em outras clinicas tbm. esse é o X da questão
imagina só a manutenção que isso nao vai gerar. sem falar q é mto mais facil lidar com uma aplicação J2EE sem complicações…

a complexidade da aplicação vai ser a mesma, porem, eu preciso pensa no meu tempo tbm.

Será que compensa fazer uma aplicação que so vo vender pra um kra que ainda por cima é mais mukirana que tudo nesse mundo?

Só tem uma opção… ou eu convenço ele a fazer um J2EE ou caio fora pra nao perder tempo com um software complexo que so vou ganhar dinheiro uma vez só e olha lá…

mas de qualquer forma. seus questionamentos foram válidos

Lembre-se que você não é obrigado a aceitar o trabalho, porém vai estar jogando fora um cliente e uma adição em seu portfolio, que serviria como referencia a outras clinicas.

Acho interessante entregar o que ele quer e construir sua solução de prateleira por fora, com seu tempo e dinheiro, pois o cliente quer te pagar para tornar realidade algo util para ele e não para você.

bom cara uma forma de vc implementar isso é colocar um servidor remoto… e dar acesso a todos da clinica e pronto… implante a solucao no cliente e pronto…nao entre em detalhes com ele… se falar demais ele enche o saco… ele é daqueles clientes que quer 100% de segurança… e outra nao precisa de replicacao nesse caso nao… nao sei a solução na essencia de j2ee mais to estudando servlet e jsp… e seguindo o que ja li nos 4 capitulos do livro… vc faz um padrao mvc ai… e vc vai ter varios clientes acessando o seu servidor e um container encarregado de atualizar as tarefas…

espero ter ajudado :smiley:

Agora uma duvida… tu ja explicou para ele como vai ter q acessar o sistema remotamente? ele nao está pensado em acessar sem nenhum tipo de conexao ne? achando q so ligar o laptop e ja era…

[quote=Zakim]huahauhau…

ele é medico e dono da clinica tbm…

ele ja trabalhou em um lugar que tinha o software que servia a aplicação por meio de um servidor e talls…

ele tem medo da informação ser acessada pelos outros… sei la…
ele disse que direto entra ladrão na clinica dle para roubar e talls… o kra é traumatizado e por isso comprou um notebook e anda com ele colado debaixo do braço.

tenho q convence-lo de que tanto um notebook qto um servidor dentro de uma empresa pode estragar ou ser roubado.

valeu kra…[/quote]

se ele está preocupado com a segurança, usa argumentos para solucionar esse medo dele, algo do tipo:
podemos usar um servidor linux, onde o acesso a informações (falando em termo de SO) são restrita por usuários assim com o acesso ao banco vai ser restrito a usuário do banco.
t+

bom…

estou começando a acreditar nessa mudança… hehehe…

como seria isso? instalo um servidor em cada maquina e quando ele estiver na rede ele se comunica com o server central…?

isso é um pouco confuso pra mim…

lembrem-se que o medico deve manter contato com a recepcionista que atende e marca as consultas…

alguem poderia me detalhar como faria isso funcionar ? quais as possibilidades?

obrigado

[quote=Zakim]bom…

estou começando a acreditar nessa mudança… hehehe…

como seria isso? instalo um servidor em cada maquina e quando ele estiver na rede ele se comunica com o server central…?

isso é um pouco confuso pra mim…

lembrem-se que o medico deve manter contato com a recepcionista que atende e marca as consultas…

alguem poderia me detalhar como faria isso funcionar ? quais as possibilidades?

obrigado[/quote]

Qual o problema de um servidor remoto? para todos os clientes? lá vc so carrega o modulo necessario para cada cliente… e o sistema nao fica pesado…

oque vcs aconselham?

um server J2EE na maquina do kra… ou um J2SE em modulos… um modulo médico e outro módulo recepção?

de que forma interligalos remotamente? tem como ser mais claro? O servidor serviria a aplicação mais não serviria os dados. é isso?

orbigado

Na realidade o seu cliente, como todos os clientes, é um desinformado que acha que porque os dados vão estão no laptop dele , ele terá posse e controle dos dados. Diga-lhe que se ele perder - ou deus nos livre, o laptop seja roubado, ele vai perder todos os dados.
Se o problema dele é a segurança um data center é a resposta (aliás de a clinica é de médio para grande porte não ha nem duvidas de que essa é a solução). Mas eu desconfio que ele quer os dados por outros motivos menos licitos. Se isso for verdade, é melhor vc abandonar o projeto.
A única arma que vc tem contra ele é o custo. De ele quer mesmo fazer dessa forma exdruxula diga-lhe que tudo bem ,mas demorará mais tempo e o programa terá menor qualidade - da qual vc não se responsabiliza.
Vc tem que o fazer entender que o acesso aos dados pela aplicação é fundamental para a qualidade do serviço do sistema. Por outro lado, tente entender porquê ele quer os dados no laptop. É que o cliente sempre tem a mania que sabe muito de tecnologia e 101% da vezes sabe é nada.
O plano é portanto:
1)entender porque ele quer ter os dados no laptop.
Se for segurança de perda e extravio informe-o que o laptop é muito vulnerável e que ninguem faz isso. Informe-o dos riscos. Risco = dinheiro , isso ele vai entender (espera-se). E ai a melhor solução é um data center.
Se for por motivos (i)legais é bom que vc pese na sua consciencia se quer trabalhar para alguem assim.
Entender o motivo é o primeiro passo para resolver.
2) Se não houver forma de o convencer a usar uma arquitetura moderna e padrão informe-o que isso implica em mais tempo de desenvolvimento porque vc tai ter que inventar uma forma. Que isso tem riscos ( mais uma vez == dinheiro) e portanto vc vai cobrar mais.
Se ele pagar , deve tar tudo bem por si. Faça um contrato para por os pontos nos iis
3) Faça um contrato

Independentemente de como vai fazer, faça um contrato. É bom para salvar a sua pele e bom para que a pessoa entenda melhor o que está pedindo.
Muitos clientes têm pedidos irrealistas porque eles tentam substituir o desenvolvedor. É preciso chegar ao amago do que eles querem dizer.

aew…

essa foi a melhor de todas… valeu!

esse meu cliente quer ter o controle dos dados da casa dele para alguma eventualidade. Como por exemplo um cliente que liga em dia de domingo solicitando o nome do rémedio que ele tinha lhe receitado na semana passada.

Ele quer ter os dados o tempo todo… tanto por questão de segurança quanto para acessa-los se precisar

pensei em duas soluções que não tornaria o produto comercializavel em outras clinicas

o primeiro é implementar o J2EE em um datacenter e servir a aplicação normalmente. No fim da tarde o médico poderá replicar os dados alterados no dia atraves da replicação (atualizando seu bd local) e com uma aplicação j2SE ele poderia apenas acessar as inforações e nada mais.

Dessa forma ele poderia atender a seus clientes e facilitar o desenvolvimento para o nosso lado!

que tal?

sintam-se livre para criticar ou dar sugestões… obrigado!

E por que a aplicação “j2se” não teria acesso a alterações na base principal?

Lembre-se que a especificação JEE não te força a criar uma aplicação web necessariamente.

Recomendo antes de qualquer ação você fazer um documento de requerimentos, assim você pode trabalhar melhor as idéias e até abandonar o projeto se for o caso.