문제

내가 시도한 모든 MVC 프레임워크(Rails, Merb, Waves, Spring 및 Struts)에서 요청(및 응답) 개념은 요청의 HTTP 개념과 연결되어 있습니다.즉, Request의 상위 클래스인 AbstractRequest가 있더라도 AbstractRequest에는 헤더, 요청 메소드(GET, POST 등) 등이 모두 HTTP에 묶여 있습니다.

나는 SMS, Twitter, 이메일 또는 어댑터를 만들 수 있는 기타 매체를 통해 요청-응답 주기를 지원하고 싶습니다.이 작업을 특히 잘 수행하는 프레임워크가 있나요?

내가 생각한 유일한 다른 옵션은 예를 들어 별도의 스레드에서 실행되고 메시지를 로컬 HTTP 요청으로 변환한 다음 응답을 다시 보내는 Twitter 폴러를 만드는 것입니다.

만약 거기에 ~이었다 다중 요청 미디어를 위한 좋은 프레임워크인 라우팅은 어떤 모습일까요?Rails에서 HTTP 라우팅은 다음과 같습니다.

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

Twitter나 SMS 경로는 어떻게 보일까요?키워드 및 매개변수와 일치하는 정규식은 무엇입니까?

도움이 되었습니까?

해결책

당신은 주로 Java 및/또는 Ruby를 사용하여 작업하는 것으로 보입니다. 따라서 이 답변은 Perl을 기반으로 한 점 양해해 주시기 바랍니다. :-).

저는 Catalyst MVC 프레임워크(http://www.catalystframework.org/).요청의 실제 매핑(일반적으로 일반적인 의미)을 엔진을 통해 코드에 위임합니다.물론 모든 엔진 클래스는 현재 HTTP를 기반으로 하지만 HTTP를 기반으로 하지 않는(또는 Twitter와 같은 것에 연결되어 있지만 HTTP 상호 작용과 분리된) 엔진 클래스를 작성하려는 아이디어를 가지고 놀았습니다. 트위터가 사용하는 것).적어도 아직 시도해 보지는 못했지만 할 수 있다고 확신합니다.

다른 팁

나는 하나도 본 적이 없습니다.문제는 요청도 호스트에 연결되어 있고 응답도 요청에 연결되어 있다는 것입니다.

따라서 이메일을 통해 요청을 받고 컨트롤러가 "aboutus" 뷰를 렌더링하라고 지시하는 경우 다음을 수행하는 방법을 알기 위해 MVC 프레임워크가 필요합니다.

  • 먼저 요청을 받으십시오. MVC 프레임워크는 거의 호스트가 되어야 합니다. (IIS는 새 이메일에 대한 알림을 받지 못하는데 이메일 폴링 코드는 어떻게 실행됩니까?)
  • 유연한 경로 일치 허용 - 경로/URL에 의한 일치는 모든 경우에 작동하지 않으므로 요청별 컨트롤러 라우팅이 필요합니다.
  • Aboutus를 이용하세요 이메일 "aboutus"라는 SMS 또는 HTTP 보기가 아닌 보기
  • 이메일을 통해 올바른 수신자에게 응답을 보냅니다.

웹 MVC 프레임워크로는 충분하지 않습니다. 웹, SMS, 이메일 등을 통해 활성화를 처리할 수 있는 MVC "호스트"가 필요합니다.

Java Servlet 사양은 Servlet이 프로토콜 중립적이고 프로토콜별 방식으로 확장되도록 설계되었습니다. HttpServlet은 프로토콜별 Servlet 확장입니다.나는 항상 Sun이나 다른 제3의 프레임워크 제공자가 FtpServlet이나 MailServlet, 이 경우에는 SmsServlet과 TwitterServlet과 같은 다른 프로토콜별 확장을 내놓을 것이라고 상상했습니다.

대신 사람들은 서블릿 프레임워크를 완전히 우회했거나 HTTP 위에 프로토콜을 구축했습니다.

물론 필요한 프로토콜에 대한 프로토콜별 확장을 구현하려면 요청 개체, 응답 개체, 세션 식별 메커니즘(예: SMS에서 쿠키 대신 MSISDN 사용) 등 전체 스택을 개발해야 합니다. ), 템플릿 및 렌더링 프레임워크(JSP와 동일) - 그런 다음 그 위에 MVC 프레임워크를 구축합니다.

당신은 REST 기반 입력 매개변수에 따라 템플릿을 대체하고 리디렉션하는 웹 사이트의 어댑터입니다.

들어오는 모든 요청 API.yourhost.com은 REST 기반 어댑터에 의해 처리됩니다.

이 어댑터를 사용하면 프로그래밍 방식으로 웹사이트를 호출하고 결과를 구문 분석 가능한 형식으로 얻을 수 있습니다.

실제로 이는 다음을 의미합니다.이는 템플릿을 다음과 같은 일이 발생하는 자체 템플릿 엔진으로 대체합니다.

  • 할당된 템플릿 대신 모든 템플릿 변수를 포함하는 xml을 출력하는 일반 xml/json 템플릿이 호출됩니다.

그런 다음 Twitter Poller, SMS 게이트웨이를 만들거나 Javascript에서 호출할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top