• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Knitter

Pedido de opinião sobre implementação de backoffice.

11 mensagens neste tópico

Boas,

Necessitava de ler algumas opiniões sobre um sistema que preciso implementar. Neste momento, não consigo decidir-me sobre nenhum dos argumentos que tenho, seja para que lado for. Passo a explicar:

O primeiro sistema web que criei, dito site, foi feito para ser estático, sem grandes alterações ao longo do tempo, não iria ter mais que conteúdo fixo. Pelo que foi criado nesse sentido. Como foi também o primeiro, várias coisas não foram implementadas como eu gostaria que fossem, mas na altura, dado que era mais importante colocar o sistema a funcionar do que colocar o sistema a funcionar de forma "bonita", coisa com a qual o cliente não se preocupava, na realidade o maior pedido dele foi mesmo estar a funcionar depressa.

Mais tarde o sistema sofreu uma actualização, todo o código revisto, tabelas deram lugar a divs, todas as páginas foram validadas e foram acrescentadas algumas funcionalidades, como uma galeria de imagens e um sistema bastante simples de notícias. Durante todo o tempo, sempre foi pedido do cliente que eu mantivesse a manutenção e gestão de todo o sistema pelo que optei por fazer as actualizações da forma que para mim era mais simples. Isto significa que, embora o sistema esteja já preparado para se tornar mais dinâmico, ainda possui alguns pormenores que obrigam a um conhecimento maior de informática para a sua gestão e correcta utilização. Não possui um backoffice que permita gerir as noticias, as mesmas são simplesmente ficheiros com o texto colocados no local e com um formato previamente determinado, e as imagens precisam ser redimensionadas antes de serem colocadas no servidor, por FTP.

Quero que o sistema passe para as mãos do cliente, por várias razões, considero que essa é a melhor opção, mas o cliente não tem conhecimentos de informática pelo que terei de desenhar um backoffice que permita a correcta gestão do sistema. E neste ponto estou indeciso entre criar o dito backoffice como um componente extra do sistema web ou se crio uma aplicação desktop que permita a gestão do sistema.

A criação de uma versão desktop permite um maior controlo e oferta de mais funcionalidades, bem como de uma maior velocidade de facilidade de desenvolvimento. Tem também a vantagem de poder efectuar o redimensionamento das imagens antes de enviar para o servidor, poder ter maior controlo de erros e poder usar mais recursos. Por outro lado obriga a que o cliente use dois sistemas distintos, consiga fazer bem a relação entre os dois e obriga a um maior esforço de desenvolvimento da minha parte no que toca a sincronização de estados.

A versão web é mais simples para o utilizador, mantém-se tudo no mesmo local e com uma interface bastante comum, mas não permitirá fazer o redimensionamento das imagens pelo cliente, não posso sobrecarregar o servidor com a criação de 300 ou 400 thumbnails ou a redução de 300 a 400 fotos de 6/7 mega pixels para um tamanho aceitável, nem em processamento nem em espaço de disco, dado que o alojamento é partilhado.

A versão web permitiria também o fácil acesso a estatisticas, estado do alojamento, acesso directo à base de dados, etc. Em contrapartida o sistema desktop precisará de um conjunto de serviços para lhes aceder, dado que o alojamento não permite o acesso directo.

Pois bem, que dizem? Que opção escolher? Qualquer uma das duas me é viável e possível de implementar, não tenho problemas com falta de conhecimentos para implementar uma ou a outra, mas sinceramente não sei o que decidir. Verdade que não estou a ser apertado para fazer isto, é algo que decidi fazer, mas por alguma razão não sei que lado escolher.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu fazia para a web.

Ao contrário do que dizes, acho que dá muito mais trabalho fazer para Desktop, se fores pesar todos os pormenores como a ligação à BD e FTP.

O único problema que tens via browser não me parece um problema real. Achas mesmo problemático o processamento que gastas ao converter as imagens enviadas pelo backoffice, que supostamente só uma pessoa vai usar?

O espaço em disco é simples de resolver, depois de redimensionar apagas a imagem.

O processamento será assim tão grande?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O factor determinante é mesmo as thumbs. Como não as podes fazer no servidor, e precisas mesmo dela, eu ia numa de aplicação de desktop com uma componente no servidor para alterar BDs e afins. Se não tivesses esse problema das thumbs, era, sem sombra de dúvidas, uma aplicaçaõ web.

Ao contrário do que dizes, acho que dá muito mais trabalho fazer para Desktop, se fores pesar todos os pormenores como a ligação à BD e FTP.

Não obrigatoriamente. Ele pode ter webservices que tratam de requests à BD e upload de ficheiros, a única coisa que acontece é que gasta mais trafego, mas tem a vantagem de não sobre-carregar o servidor.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ao contrário do que dizes, acho que dá muito mais trabalho fazer para Desktop, se fores pesar todos os pormenores como a ligação à BD e FTP.

(...)

O espaço em disco é simples de resolver, depois de redimensionar apagas a imagem.

O processamento será assim tão grande?

No caso da velocidade, é uma questão de experiência. Embora não tenha dificuldades de maior em usar PHP, é mais simples e linear para mim fazer a aplicação em Java ou C#, para os quais existem várias bibliotecas de acesso FTP, então para Java tenho várias que implementam mais do que preciso. Acesso a BD não passará por muito mais que um conjunto de serviços que possibilitem a delegação dos dados para a BD.

Quanto ao espaço, se alinharmos uma foto de 7MP, que deverá ocupar cerca de 1MB, e acho que estou a fazer por baixo, e tendo em conta que a média de fotos por galeria é de 70, facilmente vemos como o espaço ocupado durante o processamento é demasiado para o espaço disponível que ronda os 500MB. Torna-se complicado ter tanto os originais como as reduções no servidor, mesmo que apenas durante o processamento, ao fim de 10 galerias iria começar a existir problemas de espaço.

E sim, o processamento de imagens é algo que ocupa algum CPU, num servidor partilhado, o processamento de 70 imagens é suficiente para incomodar os recursos disponíveis, mesmo que momentaneamente. Claro que posso sempre escolher horas mais mortas, mas mesmo assim, imagino que a empresa de alojamento me venha fazer algumas perguntas passado uns tempos.

Tráfego não é um grande problema, existe em quantidade suficiente para os usos do sistema, e alguns abusos também.

Mas continuo na mesma, as diferenças são importantes mas não sei que decidir, queria evitar o processamento no servidor a todo o custo mas não quero perder tempo a desenvolver um sistema de sincronização e também não queria que o sistema desktop não mantivesse um estado do site, senão obrigava a um download, nem que de texto informativo, a cada utilização.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque não fazeres tudo web e fazes uma mini aplicação especifica para o redimensionamento das imagens? Só tens de dizer ao cliente para passar as imagens no tal programa antes de as enviar para o servidor e no servidor, para que o cliente não cometa erros, podes por validações de tamanho de ficheiro ou resolução, conforme o que necessitares...

No fundo é misturar os dois, aproveitando o melhor de cada mundo. Não sei se será muito viável ou não mas assim à primeira vista, parece-me uma solução a considerar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque não fazeres tudo web e fazes uma mini aplicação especifica para o redimensionamento das imagens? Só tens de dizer ao cliente para passar as imagens no tal programa antes de as enviar para o servidor e no servidor, para que o cliente não cometa erros, podes por validações de tamanho de ficheiro ou resolução, conforme o que necessitares...

Ou melhor ainda, criar uma Java Applet que faça o redimensionamento no cliente antes de fazer upload da thumb e da full-size pic.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

As applets têm acesso muito limitado ao disco do utilizador, não teria possibilidade de gravar informação e teria de manter tudo em memória.

Bem, estou cada vez mais inclinado para aplicação desktop, só me chateia ter de encontrar uma forma de sincronizar os diferentes estados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que sugeriste vai de encontro a um dos pontos que indiquei como algo que não queria, duas interfaces diferentes para gerir o sistema. Ao mesmo tempo, seria mais rápido ensinar a pessoa a usar uma aplicação de edição de imagem e um cliente de ftp.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não concordo... Não seriam dois interfaces diferentes para gerir o sistema, apenas um, o web. O outro só tratava das imagens porque pelo que disseste, parece ser o grande problema na versão web.

E achas que é mais prático ensinar uma pessoa a usar uma aplicação de edição de imagem do que tu fazeres algo simples onde necessite o mínimo de intervenção do utilizador? Uma simples aplicação chega para o efeito, executas, pedes uma pasta, redimensiona todos os ficheiros lá dentro, pronto, já tens os teus thumbs. Acho isto muito mais simples, fácil, rápido e prático para o cliente do que este estar a trabalhar com uma aplicação de edição de imagem.

Eu sou da opinião que fazeres uma app para desktop vai ser muito mais trabalhoso e facilmente evitável, mas tu é que sabes ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Depois de ler o tópico apesar de detestar aplicações web continuo a pensar que seria a melhor opção, faz o upload de uma imagem de cada vez e redimensiona apaga o original e faz o upload da próxima imagem e o problema de espaço fica resolvido(talvez penalize o tempo de upload visto ter de efectuar primeiro o redimensionamento), em relação ao gasto de recursos e que não vejo nada que se possa fazer, mas acho que esse "preço" a pagar numa aplicação web é justo... :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora