BlazeDS Livecycle Data Services는 PyAMF 또는 RubyAMF와 같은 서비스는 수행하지 않는 기능은 무엇입니까?
-
09-06-2019 - |
문제
저는 기술 검토를 하면서 다양한 백엔드(Rails, Python, Grails 등)와의 AMF 통합을 살펴보고 있습니다.
많은 옵션이 있습니다. 질문은 RubyAMF/pyAMF와 같은 제품이 수행하지 않는 Adobe 제품(BlazeDS 등)의 기능은 무엇입니까?
해결책
NIO(RTMP) 채널 외에 LCDS에는 "데이터 관리" 기능도 포함되어 있습니다.
이 기능을 사용하면 기본적으로 ActionScript 클래스에서 LCDS에 의해 정의된 CRUD와 유사한 인터페이스를 구현하고 다음을 얻을 수 있습니다.
- 자동 점진적 목록 로딩(스크롤하는 동안 큰 목록/데이터 그리드가 로드됨)
- 자동 크러드 관리(플래시에서 로컬로 객체를 가져오고, 수정하고, 다시 보내면 DB가 자동으로 업데이트됩니다)
- 충돌 해결 기능(여러 사용자가 동시에 동일한 레코드를 업데이트하려고 하는 경우)
- 제가 잘 기억한다면 LiveCycle ES 워크플로우 엔진과의 통합도 일부 개선되었습니다.
IMO에서는 이런 방식으로 개발하는 것이 매우 빠를 수 있지만 기본 요구 사항과 간단한 아키텍처만 있는 경우에만 가능합니다(SOA는 잊어버리십시오. 그렇지 않으면 Flex와 매우 잘 작동합니다).BlazeDS에는 문제가 없습니다.
다른 팁
여기에 설명된 LCDS의 데이터 관리 기능은 확실히 유효하지만 실제로 솔루션을 더 빠르게 개발할 수는 없다고 생각합니다.개발자는 여전히 모든 데이터 액세스 코드, 쿼리 실행, 데이터 리더에서 데이터 추출을 값 개체로 작성해야 합니다.이 모든 문제는 코드 생성기를 사용하여 수십 번 해결되었습니다.예를 들어, Java용 WebORB(.NET 및 PHP용 WebORB와 유사)의 데이터 관리 접근 방식은 클라이언트 측과 서버 측 모두에 대한 코드를 생성하는 코드 생성을 기반으로 합니다.전체 CRUD를 수행하려면 코드 생성기에서 모든 ActionScript API를 가져옵니다.
또한 WebORB는 비디오 스트리밍 및 실시간 메시징 기능을 제공하며 특히 제품이 무료라는 점을 고려하면 BlazeDS와 LCDS가 결합하여 제공하는 것보다 훨씬 뛰어납니다.그냥 구글링해 보세요.
Adobe에는 두 가지 제품이 있습니다.라이브사이클 데이터 서비스 ES(LCDS) 및 BlazeDS.BlazeDS에는 LCDS 기능의 하위 집합이 포함되어 있으며 오픈 소스로 만들어졌습니다.불행히도 NIO 채널(RTMP NIO/HTTP) 및 DataManagement 기능은 BlazeDS가 아닌 LCDS에서만 구현됩니다.
BlazeDS는 Flex를 Java 백엔드와 통합하는 데에만 사용할 수 있습니다.AMF 직렬화(RubyAMF)를 사용하는 원격 서비스뿐만 아니라 메시징 및 협업 기능도 제공합니다. 이 링크를 살펴보세요(http://livedocs.adobe.com/blazeds/1/blazeds_devguide/help.html?content=lcoverview_3.html).또한 RubyAMF/pyAMF에 비해 지원이 더 좋다고 생각합니다.
백엔드가 JAVA이고 무료 제품만 사용하려는 경우 GraniteDS 또는 WebORB(BlazeDS 경쟁사)를 사용할 수도 있습니다.
좋은 질문.저는 Ruby 사용자는 아니지만(Flex와 함께 Java를 사용합니다), blazeds와 상용 livecycle ds의 차이점은 다음과 같습니다.
- 스트리밍 프로토콜 지원(rtmp) - 혜성 등 경쟁, 영상 전달
- 완전히 이해하지 못하거나 필요하지 않은 최대 절전 모드 분리 개체 및 대규모 결과 집합 캐싱에 대한 일부 고급 기능
- 지원하다?다른 사람일 수도 있지만 제가 머리 속으로 알고 있는 것은 바로 그 사람들입니다.