잊지 않겠습니다.

Service End Point

Host application(Service)은 클라이언트가 요청을 보낼 수 있는 End-Point를 제공함으로서 클라이언트 어플리케이션이 사용할 수 있는 서비스를 만든다.

Service Address

선택된 전송기법에 맞게 주소를 명시해야지 된다.

Service Binding

Service Binding에서는 서비스와 연결하는 방식과 서비스가 제공하는 데이터 포멧을 나타낸다.

  • 전송 프로토콜 : IIS의 지원시에는 전송프로토콜로 Http, Https를 설정, TCP 등의 전송 스킴에 대한 주소의 명세화
  • 메세지 엔트포인트 포멧 : 일반적으로 XML형태로 데이터 전송, 특별한 image등의 데이터를 보낼때는 다른 방식으로 encoding
  • 서비스 보안 요구사항 : 전송 레벨과 메세지 레벨에서의 보안의 구현
  • 서비스 트랜젝션 요구사항 : 트랜잭션 서비스의 구현
  • 서비스 커뮤니케이션의 신뢰성 : 데이터 교환의 무결성 확인
Service가 구현하는 계약

[ServiceContract] 속성의 인터페이스 구현

[OperationContract]의 동작에 대한 구현 : 반드시 직렬화가 가능한 형태로 만들어질 수 있어야지 된다.

  

Client process

WCF Runtime에서 보안, 신뢰성, 트랜젝션을 만족하는지에 대한 확인에 대한 채널 객체의 컬랙션 제공

WCF Runtime에서는 Channel과 Service Instance간의 연결 방법을 명시할 수 있다. 이는 서비스 계약을 구현한 Class에 [ServiceBehavior] 속성을 추가하는 것으로 WCF Runtime이 서비스를 초기화하는 방식을 수정할 수 있다. 

  • InstanceContextMode.PerCall : Method를 호출할 때마다 서비스의 새로운 Instance가 호출된다.
  • InstanceContextMode.PerSession : Session을 구현하면, Client의 Session별로 Instance가 생성된다. Session이 만료되면 Instance는 제거가 되며, Session이 유지되고 있는 도중에는 Instance는 계속 유지가 된다.
  • InstanceContextMode.Single : Service의 Instance는 하나만이 생성되며, 모든 client와 Session은 하나의 Instance에 의해서 공유가 되게 된다.
  [ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]
  public class ProductServiceImpl : IProduct

  

WCF Service Hosting

  • IIS를 이용 WebService를 이용한 WCF Service Hosting
  • Window Service를 이용한 WCF Service hosting
  • IIS 7.0을 이용한 Windows Activate Service(WAS) 이용
Posted by Y2K
,