2008-09-29 15 views
5

SMS 문자 메시지를 수신/전송하는 웹 응용 프로그램 아키텍처는 무엇입니까? "아키텍처 란 MVC와 같이 특정 아키텍처가 아니라 일반적인 아키텍처를 의미합니다.RoR + SMS : Rails 웹 앱 아키텍처가 SMS를 보내고받을 수 있습니까?

배경 : 휴대 전화로 쿼리를 보내고 답변을 보내는 웹 앱을 만들고 있습니다. 앱 디자인 (및 비즈니스 모델)은 IOW : MVC 웹 페이지 "보기"가 없습니다. 휴대 전화 화면이 효과적으로 "보기"입니다.

답변

2

SMS 메시지를 수신하고 보내는 방법에 따라 다릅니다. . 특정 단문 메시지 프로토콜 (SMPP - http://en.wikipedia.org/wiki/SMPP)가

. 당신이 SMPP 서버가 필요합니다이를 위해 이

,536,

다양한 SMS over HTTP 공급자 중 하나 (예 : Clickatell - http://www.clickatell.com)를 사용하는 경우 RoR과 같은 웹 프레임 워크는 SMS 메시지의 송수신이 실제로 웹 요청이기 때문에 문제가 없습니다. 이 경우 시스템보기는 핸드폰 화면이 아닌 게이트웨이에 대한 HTTP 응답입니다. 사실 꽤 많은 단계가 있습니다 : Cellphone -> Cellular Network -> Gateway -> Your Service 답장 : Cellphone <- Cellular Network <- Gateway <- Your Service

3

나는 이것이 정말로 웹 응용 프로그램인지 여부에 대해 질문 할 것입니다. 뷰 레이어가 SMS 인 경우 인터넷을 전송 수단으로 사용할 필요가 없으며 하드웨어를 사용하여 휴대 전화 네트워크에 연결할 수 있습니다.

상업용 http/sms 게이트웨이를 사용하려는 경우 Rails 응용 프로그램에서 Ruby Clicktell gem을 사용하는 경우 good article이 있습니다. 시도하는 좋은 길처럼 보입니다.

+0

"좋은 기사"에 대한 링크가 깨졌습니다. – thesummersign

+0

예, 보석 지원이 중지됩니다. https://github.com/lukeredpath/clickatell – MattMcKnight

1

레일을 사용하기 전에이 중 하나를 만들었습니다. 내 휴대폰으로 명령을 보낼 수있는 예산 추적자를 만들었습니다. 나는 이것을 사용하여 다가오는 월급을 살 필요가있는 아이템 목록을 만들었습니다. 수표가 왔을 때, 나는 목록에서 각 항목을 표시하는 명령을 보낼 것이다. 목록을 쿼리하는 명령도 포함되었습니다. 명령은 행진 예산 목록에서 네 번째 봉급을 만들기 위해 "lc mar4"와 같은 것으로 보입니다. 목록이 작성되면 목록을 지정하지 않고 명령을 보낼 수 있으며 목록이 지정되지 않은 경우 마지막 목록에 명령을 적용하고 다른 인수를 처리합니다. "la court 50 p"는 mar4 목록에 50이라는 값과 "p"라는 태그가 붙은 "court"라는 항목을 추가합니다. 제가 금요일에 법원을 보살 폈을 때 법원에 "d"라고 쓰여진 것과 동일한 가치를 가진 "lu court 50 d"를 보낼 수있었습니다. 현재 목록을 인쇄 할 "lp"명령이 있습니다. "lp d"는 현재 목록에있는 모든 "d"태그 항목을 인쇄합니다. "lsum p"는 현재 목록에있는 모든 보류중인 항목을 인쇄합니다.

나는 빈 레일 앱을 만들었습니다. 내 데이터베이스 스키마와 모델을 만들었지 만 컨트롤러가 없었습니다. 나는 pop/ssl 라이브러리를 포함하고있는 스크립트 스크립트를 가지고 있는데,이를 위해 setup이있는 gmail 계정에서 이메일을 다운로드 할 곳을 찾았다. 그때부터 그것은 매우 쉬웠습니다. 각 메시지에 대한 새 메시지를 확인하여 그것이 내 휴대폰에서 왔는지 확인하고 메시지를 구문 분석하고 선택적으로 응답을 되돌려 보내십시오. (나는 내 ​​핸드폰에 이메일 주소를 프로그래밍하고 그 이메일 주소로 텍스트 명령을 보냈다.) 나는 cron 작업을 추가하고 매분마다 실행되도록 설정했습니다.

저는 아키텍처가 무엇인지 모르지만 기본적으로 제 3 자에게 쿼리하고 응답에 따라 다른 작업을 수행하는 서비스입니다. 만약 당신이 쇼트 코드를 가진 진정한 SMS를했다면, 나는 실제적인 것을 위해 필요한 상당한 투자가 있다고 생각할 때 당신에게 알려줄 것입니다. sms 게이트웨이를 통한 이메일 텍스트 메시징으로 개발을 시작하는 것이 더 쉬울 수도 있습니다.

나는 이것이 최선의 방법이라고 말하는 것이 아니며 매분마다 점검하는 대신 메시지를 "푸시"하는 것이 더 시원했을 것입니다.하지만 예산을 균형있게 조정하고 싶었습니다. 내 전화로.