Pergunta

Em cada framework MVC Eu tentei (Rails, Merb, Waves, Spring e Struts), a idéia de uma Request (e Resposta) está ligada à noção HTTP de um pedido. Ou seja, mesmo se houver um AbstractRequest que é uma superclasse de Solicitação, o AbstractRequest tem coisas como cabeçalhos, método de solicitação (GET, POST, etc.), e todas as outras coisas ligadas a HTTP.

Eu gostaria de apoiar um ciclo de solicitação-resposta por SMS, Twitter, e-mail ou qualquer outro meio para que eu possa fazer um adaptador. Existe um quadro que faz isso particularmente bem?

A única outra opção Pensei está criando, por exemplo, um poller Twitter que é executado em um segmento separado e traduz mensagens em pedidos HTTP locais, em seguida, envia as respostas de volta para fora.

Se houver foram um quadro bom para múltiplas mídias pedido, o que seria parecido com roteamento? No Rails, a aparência de roteamento HTTP algo como:

map.connect 'some/path/with/:parameter_1/:paramter_2', :controller => 'foo', :action => 'bar'

Como é que um olhar Twitter ou rota SMS? expressões regulares para corresponder palavras-chave e parâmetros?

Foi útil?

Solução

Você parece estar trabalhando principalmente com Java e / ou Ruby, então me perdoe que esta resposta é baseada na Perl: -).

Gosto muito do catalisador MVC Framework ( http://www.catalystframework.org/). Delega o mapeamento real de pedidos (no sentido geral, genérico) para código através dos motores. Concedido, todas as classes de motores atualmente são baseados em HTTP, mas eu tenho brincado com a ideia de tentar escrever uma classe de motores que não foi baseada em HTTP (ou talvez foi amarrada a algo como o Twitter, mas foi separado a partir das interações HTTP que usa o Twitter). No mínimo, eu estou convencido de que isso pode ser feito, mesmo que eu não tenha chegado a cerca de tentar ainda.

Outras dicas

Eu não vi um. A questão é que o pedido também está ligado para o anfitrião, ea resposta está ligada à solicitação.

Então, se você tem um pedido por via e-mail, e um controlador diz a prestar vista "aboutus", você precisa do framework MVC para saber como:

  • começar o pedido em primeiro lugar - o framework MVC seria quase precisa ser um host (IIS não ser notificado sobre novos e-mails, assim como faz o seu código de e-mail polling ser demitido?)
  • permitir correspondência rota flexível - combinando pelo caminho / url não iria funcionar para todos, de modo encaminhamento controlador específico do pedido seria necessário
  • usar o aboutus e-mail ver ao invés do SMS ou HTTP ver com o nome "aboutus"
  • enviar a resposta via e-mail, para o destinatário correto

Um framework MVC web não está indo cortá-lo - você vai precisar de um MVC "host" que pode lidar com a activação através da web, sms, e-mail, qualquer coisa.

A especificação Java Servlet foi projetado para Servlets ser protocolo neutro, e deve ser ampliado de uma forma específica de protocolo - HttpServlet sendo uma extensão Servlet específica de protocolo. Eu sempre imaginei que a Sun, ou outros prestadores de enquadramento terceiro poarty, viria com outras extensões específicas do protocolo como FtpServlet ou MailServlet, ou neste caso SmsServlet e TwitterServlet.

Em vez disso o que aconteceu é que as pessoas ou ignorada completamente o quadro Servlet, ou construíram suas protocolos em cima de HTTP.

Claro que, se você deseja implementar uma extensão específica de protocolo para os seus protocolos necessários, você teria que desenvolver toda a pilha - pedido objeto, objeto de resposta, um mecanismo de sessões de identificação (por exemplo, usando o MSISDN em uma SMS em vez de cookies), uma estrutura de modelagem e renderização (equivalente a JSP) -. e, em seguida, construir um framework MVC em cima dela

Você poderia implementar um RESTO baseado em adaptador sobre o seu site, que substitui os modelos e redirecionamentos de acordo com os parâmetros de entrada.

Todos os requestes entrando em api .yourhost.com será tratado pelo adaptador baseado em REST.

Este adaptador permitirá chamar o seu site programaticamente e ter o resultado em um formato analisável.

Praticamente isto significa: Ele substitui os modelos com um motor Template própria, em que essas coisas acontecem:

  • em vez do modelo atribuído, um modelo de xml / json genérico é chamado, o que só gera um XML que contém todos template vars

então você pode fazer o seu Twitter Poller, gateway SMS ou mesmo chamá-lo de Javascript.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top