2009-10-19 4 views
1

나는 대부분의 애플 리케이션과 마찬가지로, 배가 로직으로 가득 찬 보트를 가지고 있으며, 거의 모든 것들이 서버와 플래시 모두에서 실행되어야한다. 기반 클라이언트 ... 그리고 나는 규칙 엔진을 구현하는 최선의 방법을 이해하려고 노력하고있다. 브라우저와 서버 사이에서 로직 공유하기

문제의 매개 변수입니다 :

  1. 규칙 엔진해야합니다 (Flash Player의 예) 웹 브라우저와 서버에서 모두 실행됩니다. "서버"버전과 "클라이언트"버전을 작성하여 로직을 복제하는 것은 용인 할 수없는 위험이됩니다.
  2. 입출력 데이터는 상당히 복잡하므로 직렬화는 중요한 문제는 아닙니다. 우리는 현재 모든 직렬화 필요성에 AMF를 사용하고 있으며 다른 프로토콜을 사용하면 상당한 복잡성이 추가 될 것입니다 ... 따라서 아마 피해야합니다.
  3. "규칙 설명 언어"를 구현하는 것은 불가능합니다. 실험을 통해 규칙이 충분히 복잡해 지므로 어떤 언어라도 Turing complete 일 필요가 있다는 것을 알게되었습니다 ... 또한 상당한 복잡성이 추가됩니다.
  4. 룰 엔진은 일부는 아니지만 매우 많은 서비스 호출을 수행 할 필요는 없습니다.

은 현재 최고의 경쟁자는 다음과 같습니다

  1. 는 서버에 실행, ActionScript에서 코드 작성. 이론적으로 AVM 인스턴스를 시작하고 게이트웨이를 오래 폴링 한 다음 앞뒤로 데이터를 전달할 수는 있습니다.하지만 이는 이상적이지 않습니다. 이 작업을 수행하는 "좋은"방법이 있습니까?

  2. 코드를 haXe로 작성합니다. 나는 haXe의 AMF 지원에 대해 아무 것도 모른다. 그래서 그것은 거래 - 차단기가 될 수있다.

  3. 타마린과 관련된 것. 실행 가능한 옵션처럼 보이지만, 나는 어느쪽으로 든 말하기에 충분한 연구를하지 않았다.

그래서 어떻게 생각하십니까? 이러한 옵션 중 어떤 옵션이 다른 옵션보다 명확하게 우수합니까? 고려해 볼만한 가치가 있다고 생각되는 부분이 있습니까?

마지막으로, 텍스트 : 얼마나 많은 데이터가있는 얘기

답변

1

의 벽을 읽어 주셔서 감사합니다? 서버에서 실행하고 대기열 등에 액세스하려면 Air를 사용할 수 있습니다.

+0

대용량 * 볼륨 * 데이터는 없지만 상당히 복잡합니다. –

+0

그렇다면 Flex 및 Air 클라이언트와 통신하기 위해 HTTP를 통한 AMF 만 가능합니다. 이렇게하면 동일한 코드 기반을 유지할 수 있습니다. – CookieOfFortune

관련 문제