2009-11-24 6 views
2

현재 SOAP :: WSDL로 생성 된 수십 개의 클래스가 포함 된 코드베이스를 다루고 있습니다. 그러나 Moose를 사용하여 작업 한 결과 메타 수준에서 런타임에 이러한 클래스를 생성하면 디스크의 파일이 아니라 객체에 직접 액세스하는 것이 더 나은 아이디어라고 생각할 수 있습니다.메타 프로그래밍을 사용하여 Perl로 SOAP 클라이언트를 구현하고 있습니까?

  1. 이 방법이 바람직합니까? 아이디어는 생성 된 코드의 변경을 피하고 잠시 동안 다시 생성하는 것을 피하는 것입니다.

  2. 그렇다면 WSDL에서 클래스를 생성하는 즉시 사용할 수있는 Perl 모듈이 있습니까?

답변

1

두 번째 질문에 먼저 대답하려면 WSDL을 클래스 집합으로 바꾸는 무스 기반이 없습니다. 그러나 XML :: Toolkit을 기반으로 무언가를 만들 수 있습니다. 전체 공개 XML :: Toolkit은 SAX 스트림을 무스 클래스로 변환하거나 반대로 변환하는 도구가있는 모듈입니다. 비 - 무스 펄 클래스의 경우, SOAP wsdl -> Perl을 컴파일 할 수 있다고 생각하는 XML :: Compile이있다.

첫 번째 질문에 대한 답을 얻기 위해 XML을 사용한 제 경험 :: 툴킷은 런타임에 클래스를 메모리에 유지하는 것이 까다로운 작업이라고 말합니다. 성능 오버 헤드를 무시하면 WSDL에서 부풀어 오르는 머리 속에 많은 것을 유지해야합니다. 흥미로운 실험이지만 얼마나 장기적인 유지 관리가 가능한지 잘 모르겠습니다.

오랫동안 이런 식으로 시도하고 싶었지만 나에게 돈을 지불 한 프로젝트가 없었습니다. 불행하게도이 크기의 프로젝트를 처리 할 여유 시간이 없습니다.

관련 문제