1 / 17

CMS 의 AXIS 구성도

CMS 의 AXIS 구성도. 2004. 3 XML 강사 신형주 shin7688@empal.com. AXIS 시스템 개요. SMTP 나 FTP 메시지 전송 어플리케이션 고유의 serialization 과 deserialization 추가 서비스 호출 메커니즘 (Corba, RMI, COM). AXIS 시스템 Core Component. AxisEngine – SOAP 처리. MessageContext – SOAP 메시지 저장.

wei
Download Presentation

CMS 의 AXIS 구성도

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CMS의 AXIS구성도 2004. 3 XML강사 신형주 shin7688@empal.com

  2. AXIS 시스템 개요 • SMTP나 FTP메시지 전송 • 어플리케이션 고유의 serialization과 deserialization • 추가 서비스 호출 메커니즘(Corba, RMI, COM)

  3. AXIS 시스템 Core Component AxisEngine – SOAP처리 MessageContext – SOAP메시지 저장 Handler – Handler는 MessageContext를 가져와서 수행 Chain – Chain은 Handler의 순서를 나타내는 Handler로 requestFlow/responseFlow가 있음 Transport – AXIS의 통신으로 HTTP/SMTP/JMS Serializer와 Deserializer – 데이타타입을 XML과 교환 Deployment와 Configuration – WSDD로 AXIS의 인스턴스 작동정의

  4. AXIS 메시지 처리 SOAP Message MessageContext Specfic Chain Transport Request Chain Global Request Chain LocalResponder URLMapper Authenticate ICSAuthenticate AttachmentRequest AttachmentResponse SOAP Request Transport Listener Client Application AxisServer SOAP Response Transport Response Chain Global Response Chain 비즈니스로직

  5. Handler, Chain과 메시지 플로우 Chain MessageContext MessageContext ICSAuthenticate Handler SOAP Message SOAP Message AttachmentRequest Handler Authenticate Handler Axis Engine

  6. CMS Chain과 메시지 플로우 ICSAuthenticate Handler Authenticate Handler AttachmentRequest Handler Chain Axis Engine Invoke (MsgContext) Invoke (MsgContext) Invoke (MsgContext) Invoke (MsgContext)

  7. Axis Engine Chain호출 Transort Request Chain Global Request Chain Service Request Chain Service Specific Chain Global Response Chain Transport Response Chain Axis Engine Invoke Invoke Invoke Invoke Invoke Invoke MessageContext

  8. CMS AXIS Handler 처리 Specfic Chain Request Handler ICSAuthenticate Handler AttachmentRequest Handler ICSAuthenticate Handler Transport Request Chain Global Request Chain Provider AxisServer AttachmentResponse Handler Transport Response Chain Global Response Chain CMS Component Response Handler

  9. CMS AXIS Handler 다른 처리 Specfic Chain Global Request Chain ICSAuthenticate Handler Request Handler Transport Request Chain AttachmentRequest Handler ICSAuthenticate Handler Provider AxisServer Transport Response Chain AttachmentResponse Handler Response Handler CMS Component Global Response Chain

  10. Axis 컴포넌트(Message/MessageContext) • Message • org.apache.axis.Message는 attachment의 SOAP메시지를 포함 • MessageContext • AXIS엔진은 SOAP메시지는 MessageContext로 전달 • Request Message/Respose Message • Service Detail - 타켓 서비스명, transport(http/smtp/ftp),세션정보 • Mapping Registry - MessageContext는 현재 TypeMaping을 위해 serializer/deserializer를 참조 • 속성 - MessageContext는 ID와 패스워드, 요청메시지타입(rpc/msg)등 포함

  11. MessageContext와 Message간의 관계 SOAPPart <<Abstract class>> Part MessageContext Message Attachments AttachmentPart AttachmentsImpl

  12. Axis 컴포넌트(Handler) • Serialization/deserialization • 이진데이타를 XML로 또는 반대로 가능 • 암/복호화 • 클라이언트 어플리케이션은 Handler를 사용해서 SOAP요청을 암호화할수 있으며 서버는 대응되는 Handler로 수신측에서 복호화 할수 있다 • Authentication/authorization • AXIS는 HTTP BASIC인증에 필요한 핸들러 제공 • Logging • 로깅 Handler를 사용한다. 사용자정보나 서비스횟수 유료웹서비스를 제공할 경우 요금 청구에 사용 할수 있음 • XSLT • 메시지를 변환 사용 <SOAP:BODY>의 내용을 HTML, XML, PDF등 다른 포멧으로 제공

  13. Axis 컴포넌트(Handler의 주기) • Init() • Invoke(messageContext) • onFault(messageContext) • cleanup() Clean cleanup() init() 인스턴스 생성 Method준비 Invoke (messageContext) Message CRUD성공 Message Processing Fault onFault(messageContext)

  14. Axis 컴포넌트(SimpleHandler I) • DebugHandler • 로그 파일 내의 모든 디버깅 메시지를 기록 • EchoHandler • 요청메시지와 동일한 메시지를 응답메시지로 보낸다. 상호운영성 Check위해 사용 • ErrorHandler • Fault조건에에서 호출, AXIS Fault 메시지를 기록 • HTTPAuthHandler • user.lst라는 파일에 따라 인증하는 역할 • HTTPActionHandler • HTTPAction헤더의 내용에 기반을 둔 MessageContext의 target service속성을 설정 • JWSHandler • 단순히 파일 확장자가 .jws로 바꾸는 것으로 사용 가능

  15. Axis 컴포넌트(SimpleHandler II) • JWSProcessor • .jws파일을 .java로 복사하고 컴파일함 • LogHandler • 호출시간과 사용시간을 로그파일에 기록하는데 사용 • MD5AttachHandler • SOAP 요청과 함께 전송된 MD5 attachment를 처리하는데 사용 • SimpleAuthenticationHandler • user.lst라는 파일에 따라 사용자명과 패스워드를 체크

  16. Axis 컴포넌트(SimpleHandler III) • SimpleAuthorizationHandler • perms.lst파일에 의해 사용자의 권한 체크 • SimpleSessionHandler • 간단한 세션관리 • URLMapper • 서비스 호출하기 위해 URI를 Beans와 매핑 • URI http://localhost:8080/axis/services/HelloService는 HelloService를 호출

  17. Axis 컴포넌트 • Chain • 순서대로 호출되는 Handler의 집합을 포함 • request, response, fault플로우와 관련 • Transport • HTTP/SMTP/FTP프로토콜 사용 • transport sender와 transport listener로 구분 • Serializer와 Deserializer • Serializer는 XSI(XML Schema instance)가 대응 XML표현을 생성하는데 XSD를 사용 • Deserializer는 XML데이타와 Java타입간에 정의된 타입 매핑을 사용

More Related