기업 통합 패턴(enterprise integration patterns) 강의

64
기업 통합 패턴 Enterprise Integration Patterns 기업 분산 애플리케이션 통합을 위한 메시징 해결책

Upload: barunmo

Post on 01-Jul-2015

1.239 views

Category:

Software


19 download

DESCRIPTION

기업 통합에 비동기 메시징을 이용해야 하는 이유와 기업 통합 패턴의 기본 패턴들을 소개한다.

TRANSCRIPT

Page 1: 기업 통합 패턴(Enterprise Integration Patterns) 강의

기업 통합 패턴

Enterprise

Integration Patterns

기업 분산 애플리케이션 통합을 위한 메시징 해결책

Page 2: 기업 통합 패턴(Enterprise Integration Patterns) 강의

1Barunmo Co.,Ltd. © 2014

모든 길은 로마로 통한다.

Page 3: 기업 통합 패턴(Enterprise Integration Patterns) 강의

2Barunmo Co.,Ltd. © 2014

로마의 도로

폼페이에 있는 로마의 거리.

출처) http://en.wikipedia.org/wiki/Roman_roads,http://ko.wikipedia.org/wiki/로마의_도로

A : 평평하게 다진 땅

B: 굵은 자갈 층

C: 잔자갈 콘크리트 층

D: 시멘트 층

E: 도로 블록 (거북 껍질 모양 바위, 배수 고려)

F: 인도

G: 경계석

Page 4: 기업 통합 패턴(Enterprise Integration Patterns) 강의

3Barunmo Co.,Ltd. © 2014

하드리아누스 시대(재위 기원후 117~138년) 로마 제국의 도로망.

로마의 도로

출처) http://ko.wikipedia.org/wiki/로마의_도로

Page 5: 기업 통합 패턴(Enterprise Integration Patterns) 강의

4Barunmo Co.,Ltd. © 2014

1차 대전 패전 직후 아우토반 고속도로 건설 시작

(세계 최초의 본격적인 고속도로 네트워크)

독일 아우토반

출처) http://ko.wikipedia.org/wiki/아우토반

Page 6: 기업 통합 패턴(Enterprise Integration Patterns) 강의

5Barunmo Co.,Ltd. © 2014

1968년 2월 1일에 기공, 1970년 7월 7일 완공

대한민국 경부 고속도로

출처) http://ko.wikipedia.org/wiki/경부고속도로

Page 7: 기업 통합 패턴(Enterprise Integration Patterns) 강의

6Barunmo Co.,Ltd. © 2014

이들은 모두 훌륭한

도로를 건설함으로 부강해졌다.

Page 8: 기업 통합 패턴(Enterprise Integration Patterns) 강의

7Barunmo Co.,Ltd. © 2014

기업이 성공하려면?

Page 9: 기업 통합 패턴(Enterprise Integration Patterns) 강의

8Barunmo Co.,Ltd. © 2014

기업도 훌륭한

통합(도로)을 건설해야 한다.

Page 10: 기업 통합 패턴(Enterprise Integration Patterns) 강의

9Barunmo Co.,Ltd. © 2014

기업이 통합(도로)을 건설하는

최상의 해결책은?

Page 11: 기업 통합 패턴(Enterprise Integration Patterns) 강의

10Barunmo Co.,Ltd. © 2014

비동기 메시징?

Page 12: 기업 통합 패턴(Enterprise Integration Patterns) 강의

11Barunmo Co.,Ltd. © 2014

동기 호출, 비동기 호출의 의미

동기(synchronous) : 호출자가 실행 흐름 중지

비동기(asynchronous) : 호출자가 실행 흐름 계속

Page 13: 기업 통합 패턴(Enterprise Integration Patterns) 강의

12Barunmo Co.,Ltd. © 2014

비동기 메시징 예 : 사람들의 대화

안녕하세요?

반갑습니다.

사람들의 뇌는 두 채널(입, 귀)로 대화한다.

다채널 비동기 메커니즘 대화(통신)

Page 14: 기업 통합 패턴(Enterprise Integration Patterns) 강의

13Barunmo Co.,Ltd. © 2014

비동기 메시징 예 : 기업 업무

기업에서 부서들은 문서를 이용해

비동기 메시징 체계에 따라 업무(process)를 진행한다.

Page 15: 기업 통합 패턴(Enterprise Integration Patterns) 강의

14Barunmo Co.,Ltd. © 2014

비동기 메시징 예 : 마라톤

마라톤 평원을 뛰어 승전보(메시지)를 전달한 병사를 기념하는 대회

승전보

전송 보장

Page 16: 기업 통합 패턴(Enterprise Integration Patterns) 강의

15Barunmo Co.,Ltd. © 2014

편지봉투

우편 주소

편지우체통 발송 우편함

발신인 수신인

2~ 3일 뒤

비동기 메시징 예 : 우편 시스템

Page 17: 기업 통합 패턴(Enterprise Integration Patterns) 강의

16Barunmo Co.,Ltd. © 2014

Internet

이메일

이메일 주소

본문

발신인 수신인SMTP SMTP/POP3

수 초 뒤 ~

비동기 메시징 예 : 이메일

Page 18: 기업 통합 패턴(Enterprise Integration Patterns) 강의

17Barunmo Co.,Ltd. © 2014

사람들의 일상은

본질적으로 비동기 메시징 체계이다.

인류는 시작부터 비동기 메시징 체계를 이용해 왔다.

비동기 메시징 체계는 인간의 모든 행동 체계에 녹아 있다.

Page 19: 기업 통합 패턴(Enterprise Integration Patterns) 강의

18Barunmo Co.,Ltd. © 2014

동기 메시징 체계는?

• 빠른 통신 메커니즘을 사용함으로 비동기가 동기처럼 인식되는 것이다.

• 동기 메시징 체계는 본질적으로 비동기 메시징 체계에 기반한다.

(컴퓨터 입력, 출력, 네트워크 통신, 디스크 IO, 멀티 프로세스 통신 등등)

Page 20: 기업 통합 패턴(Enterprise Integration Patterns) 강의

19Barunmo Co.,Ltd. © 2014

그러므로 기업 통합(도로)에

비동기 메시징은 훌륭한 해결책이 될 수 있다.

업무 담당자(애플리케이션)들은 서류(메시지)의 접수, 작성, 기안, 보고(메시징) 등

을 통해 업무(프로세스)를 수행하고 타 부서(애플리케이션)와 협력(메시징)한다.

보존이 필요한 서류는 서류함(데이터베이스)에 보관한다.

Page 21: 기업 통합 패턴(Enterprise Integration Patterns) 강의

20Barunmo Co.,Ltd. © 2014

업무를 워크플로우로 볼 것인가?

업무를 파이프와 필터로 볼 것인가?

기업 업무의 또 다른 관점

Page 22: 기업 통합 패턴(Enterprise Integration Patterns) 강의

21Barunmo Co.,Ltd. © 2014

워크플로우 (총괄 집중식) 파이프 필터 (분업 자치식)

Page 23: 기업 통합 패턴(Enterprise Integration Patterns) 강의

22Barunmo Co.,Ltd. © 2014

기업 통합

Page 24: 기업 통합 패턴(Enterprise Integration Patterns) 강의

23Barunmo Co.,Ltd. © 2014

기업 통합의 역사

출처) 위키피디아 http://en.wikipedia.org/wiki/Enterprise_integration

Enterprise Integration Patterns

출간

Page 25: 기업 통합 패턴(Enterprise Integration Patterns) 강의

24Barunmo Co.,Ltd. © 2014

기업 통합의 방향

1) 분산 환경을 지원해야 한다.

2) 서비스와 데이터를 통합해야 한다.

3) 애플리케이션들 사이 결합도를 줄여야 한다.

4) 애플리케이션들 사이 영향도를 줄여야 한다.

5) 하드웨어, 소프트웨어, 벤더의 의존성을 줄여야 한다.

6) 데이터의 적시성을 보장해야 한다.

7) 신뢰성을 보장해야 한다.

Page 26: 기업 통합 패턴(Enterprise Integration Patterns) 강의

25Barunmo Co.,Ltd. © 2014

기업 통합의 유형

1) 정보 포털 (웹 사이트, …)

2) 데이터 복제 (File Copy, FTP, ETL, …)

3) 공유 비즈니스 기능 (J2EE, .NET, …)

4) 서비스 지향 아키텍처 (SOA, …)

5) 분산 비즈니스 프로세스 (N-티어 애플리케이션, MQ, …)

6) B2B 통합 (EDI, XML, 웹 서비스, …)

Page 27: 기업 통합 패턴(Enterprise Integration Patterns) 강의

26Barunmo Co.,Ltd. © 2014

이상적 기업 통합

1) 단일 시스템

2) 표준 데이터

3) 표준 서비스

4) 표준 저장소

5) 표준 방법론

성공했던 사례도

성공을 위한 기술도 없었다!!!

그러나 현실은…

Page 28: 기업 통합 패턴(Enterprise Integration Patterns) 강의

27Barunmo Co.,Ltd. © 2014

왜 성공하지 못했는가?

Page 29: 기업 통합 패턴(Enterprise Integration Patterns) 강의

28Barunmo Co.,Ltd. © 2014

기업 애플리케이션 환경

Page 30: 기업 통합 패턴(Enterprise Integration Patterns) 강의

29Barunmo Co.,Ltd. © 2014

기업 애플리케이션 환경 문제

1) 애플리케이션들은 서로 다르다.

(복잡한, 비즈니스, OS, 플랫폼, 미들웨어, 언어, 패키지, 서비스, 데이터…)

2) 변경은 피할 수 없다.

(비즈니스 변경, 개발, 유지보수, 제휴/인수/합병…)

3) 네트워크는 신뢰할 수 없다.

(기업 서비스 장애 확률은 서비스 참여 시스템들의 수에 따라 증가)

4) 네트워크 속도는 느리다.

(근접 호출보다 몇 십 배, 몇 백배 느린 원격 호출)

Page 31: 기업 통합 패턴(Enterprise Integration Patterns) 강의

30Barunmo Co.,Ltd. © 2014

기업 통합 추진 문제

1) 통합에 따른 기업 정치의 변화

2) 통합의 규모

3) 한정된 권한과 역할

4) 표준의 부제

5) 패키지 솔루션 통합의 어려움

6) 개발 및 유지보수

통합이 쉽다고 주장하는 사람은 천재이거나 바보이거나 이익이 생기는 사람이다.

기업 통합 패턴(Enterprise Integration Patterns) 에이콘 출판 2014

Page 32: 기업 통합 패턴(Enterprise Integration Patterns) 강의

31Barunmo Co.,Ltd. © 2014

기업 통합 수행 문제

1) 핵심 원리 부재

2) 부정확한 의사소통

3) 반복되는 시행착오

4) 최상의 방법론 부재

5) 중재 실패

Page 33: 기업 통합 패턴(Enterprise Integration Patterns) 강의

32Barunmo Co.,Ltd. © 2014

전통적인 기업 통합 해결책

1) 파일 전송(File Copy, rcopy, FTP, …)

2) 공유 데이터베이스(RDBMS, NoSQL, …)

3) 원격 프로시저 호출(CORBA, J2EE, .NET, Web Service …)

4) 메시징 (Messaging) : Message Queue, 전문 통신, …

5) 솔루션 : EAI, ESB, SOA, …

사안별 기능적 접근

Page 34: 기업 통합 패턴(Enterprise Integration Patterns) 강의

33Barunmo Co.,Ltd. © 2014

전통적인 기업 통합 해결책들의 문제점

1) 파일 전송 적시성

2) 공유 데이터 베이스 결합도, 영향도

3) 원격 프로시저 호출 성능, 신뢰성

4) 메시징 동기화

5) EAI 솔루션 고가, 레거시 애플리케이션 통합

사안별 기능적 접근

Page 35: 기업 통합 패턴(Enterprise Integration Patterns) 강의

34Barunmo Co.,Ltd. © 2014

최상의 해결책은?

해결책을 찾기에 앞서…

Page 36: 기업 통합 패턴(Enterprise Integration Patterns) 강의

35Barunmo Co.,Ltd. © 2014

사람들의 일상은

본질적으로 비동기 메시징 체계이다.

인류는 시작부터 비동기 메시징 체계를 이용해 왔다.

비동기 메시징 체계는 인간의 모든 행동 체계에 녹아 있다.

인식론적 고찰 (앞서 본)

Page 37: 기업 통합 패턴(Enterprise Integration Patterns) 강의

36Barunmo Co.,Ltd. © 2014

기업 애플리케이션들도

인간의 행동 양식을 닮아야 한다.

인식론적 고찰

Page 38: 기업 통합 패턴(Enterprise Integration Patterns) 강의

37Barunmo Co.,Ltd. © 2014

애플리케이션 통합에 대한 인식 전환

기능

(서비스, 데이터)

중심

소통

(메시지)

중심인식 전환

제대로 된 도로(통합)가 없다면 물자(서비스, 데이터)의 유통은 힘들어 진다.

Page 39: 기업 통합 패턴(Enterprise Integration Patterns) 강의

38Barunmo Co.,Ltd. © 2014

기업 인프라

MOASOA

• SOA : Service Oriented Architecture

• MOA : Message Oriented Architecture

통합에 대한 인식 전환

기능 중심 + 소통 중심

Page 40: 기업 통합 패턴(Enterprise Integration Patterns) 강의

39Barunmo Co.,Ltd. © 2014

기업 통합 패턴

Page 41: 기업 통합 패턴(Enterprise Integration Patterns) 강의

40Barunmo Co.,Ltd. © 2014

기업 통합 패턴(Enterprise Integration Patterns)

기업 통합 패턴은 기업의 분산된 애플리케이션들을

통합하기 위한 해결책을 패턴 언어로 설명한다.

Gregor Hohpe, Bobby Woolf

Addison Wesley (2003).

차정호 옮김

에이콘 출판 (2014).

Page 42: 기업 통합 패턴(Enterprise Integration Patterns) 강의

41Barunmo Co.,Ltd. © 2014

기업 통합 패턴

느슨한 결합 (Loose Coupling) 아키텍처

메시징 시스템 (Messaging System)의 재해석

비동기 메시징 패턴

패턴 언어 (패턴 + 패턴 관계망)

패턴 아이콘 (Pattern Icon) 도입

기업 통합 패턴 다이어그램 (EIP Diagram) 사용

Page 43: 기업 통합 패턴(Enterprise Integration Patterns) 강의

42Barunmo Co.,Ltd. © 2014

느슨한 결합

느슨한 결합이란 두 당사자(컴포넌트, 애플리케이션, 서비스,

프로그램, 사용자)가 정보를 교환할 때

서로에 대한 가정을 최소화하는 원리를 말한다.

Page 44: 기업 통합 패턴(Enterprise Integration Patterns) 강의

43Barunmo Co.,Ltd. © 2014

메시징이란?

메시징은 프로그램 간에 빠르고 신뢰할 수 있는 통신을 비

동기 방식으로 가능하게 하는 전송 기술이다.

메시지와 구별된다.

Page 45: 기업 통합 패턴(Enterprise Integration Patterns) 강의

44Barunmo Co.,Ltd. © 2014

메시징 시스템(Messaging System) 또는 메시지 지향 미들웨어(Message-

Oriented Middleware : MOM)는 데이터베이스 시스템이 데이터를

영속적으로 관리하는 것처럼 메시지 전송을 보장하는 시스템이다.

데이터베이스

스키마

메시지

채널

메시지 서버 데이터베이스 서버전송 보장 저장 보장

메시징 시스템이란?

Page 46: 기업 통합 패턴(Enterprise Integration Patterns) 강의

45Barunmo Co.,Ltd. © 2014

메시징의 장점

1) 원격 통신 메시징 계층에서 직렬화 처리

2) 플랫폼/언어 중립 범용 변환기, 메시지 버스

3) 비동기 통신 수신 여부에 무관한 발신 가능(보내고 잊기)

4) 시간 조절 발신자, 수신자 각각 독립적인 처리 시간 관리

5) 흐름 조절 수신자가 요청 처리 속도 조절

6) 신뢰 통신 메시지 전송 보장

7) 비접속 작업 네트워크 접속 시 동기화

8) 중재 고가용성, 부하 분산, 우회 연결, 이중화 제공

9) 스레드 관리 적은 수의 스레드 자원 사용

Page 47: 기업 통합 패턴(Enterprise Integration Patterns) 강의

46Barunmo Co.,Ltd. © 2014

메시징의 단점

1) 복잡한 프로그래밍 모델 이벤트 기반 프로그램

2) 순서 문제 메시지 순서가 뒤바뀌는 경우 발생

3) 동기 시나리오 동기 서비스(예: 탑승권 예매)를 포함한 시나리오 고려

4) 성능 통신 부하 증가, 큰 데이터 전송 부담

5) 플랫폼 지원 메시징을 지원하지 않는 시스템 연결(REST, FTP 등)

6) 벤더 의존성 복수 통합 솔루션들 사이의 통합 (통합의 통합)

Page 48: 기업 통합 패턴(Enterprise Integration Patterns) 강의

47Barunmo Co.,Ltd. © 2014

기업 통합 패턴 개요

ApplicationA

Endpoint

Message

ChannelRouter Translator

Monitoring

ApplicationB

Message Endpoint

Message Consutruction

Messaging Channels

Message Routing

Message Transformation

System Management⑥

④①

Page 49: 기업 통합 패턴(Enterprise Integration Patterns) 강의

48Barunmo Co.,Ltd. © 2014

기업 통합 패턴 아이콘

Message Endpoint

?

Message Endpoint

Message DispatcherMessage Gateway

Competing Consumer

Selective Consumer

Polling Comsumer Durable Subscriber

Transactional Client

Service ActivatorEvent Driver Consumer

Message Consutruction

Request Reply

Message Sequence

Correlation ID

Return Address

A B

1 2 3

Command Message

Message

C

D

Event Message

Document Message

E Message Transformation

Message EnricherEnvelope WrapperMessage Translator

Claim CheckNornamlizerContent Filter

Messaging Channels

Channel

Messaging BridgeChannel AdapterGuaranteed Delivery

Message BusPublish-Subscribe

Channel

!

Datatype ChannelDead Letter ChannelInvalid Message

Message Routing

Recipient List

Message FilterProcess ManagerComposed Msg.

ProcesserContent Based RouterMessage Router

Rounding SlipSplitterResquencerAggregator

System Management

Wire Tap

Test MessageChannel PurgerControl Bus

DetourMessage Store

Page 50: 기업 통합 패턴(Enterprise Integration Patterns) 강의

49Barunmo Co.,Ltd. © 2014

기업 통합 패턴의 기본 패턴들

Page 51: 기업 통합 패턴(Enterprise Integration Patterns) 강의

50Barunmo Co.,Ltd. © 2014

메시징 시스템

애플리케이션 A

메시지

메시지 채널

메시지 라우터

메시지변환기

애플리케이션 B

메시지엔드포인트

1) 메시지 채널

2) 메시지

3) 파이프 필터

4) 메시지 라우터

5) 메시지 변환기

6) 메시지 엔드포인트

Page 52: 기업 통합 패턴(Enterprise Integration Patterns) 강의

51Barunmo Co.,Ltd. © 2014

애플리케이션들은 메시징을 사용해 어떻게 통신하는가?

메시지 채널(Message Channel)

메시지 채널을 사용해 애플리케이션들을 연결한다. 애플리케이션이 정보를 채널

에 기록하면 다른 애플리케이션은 채널에서 정보를 읽는다.

Page 53: 기업 통합 패턴(Enterprise Integration Patterns) 강의

52Barunmo Co.,Ltd. © 2014

메시지(Message)

정보를 메시지(Message)로 포장한다. 메시지는 메시징 시스템이 메시지 채널을

거쳐 전송하는 데이터 레코드다.

메시지 채널로 연결된 두 애플리케이션은 어떻게 정보를 교환할까?

Page 54: 기업 통합 패턴(Enterprise Integration Patterns) 강의

53Barunmo Co.,Ltd. © 2014

독립성과 유연성을 유지하면서 메시지에 대한 복잡한 처리도 수행할

수 있으려면 어떻게 해야 할까?

파이프 필터(Pipes and Filters)

많은 처리 단계들을 포함하는 프로세스는 파이프 필터(Pipes and Filters) 아키텍

처스타일을 사용한다. 이 아키텍처 스타일은 프로세스를 연속되는 소규모 독립

처리 단계(필터)들로 나누고 각 처리 단계를 채널(파이프)로 연결한다.

Page 55: 기업 통합 패턴(Enterprise Integration Patterns) 강의

54Barunmo Co.,Ltd. © 2014

개별 처리 단계들의 결합을 제거해 메시지를 조건에 따라 서로 다른

필터로 전달할 수 있게 하려면 어떻게 해야 할까?

메시지 라우터(Message Router)

특별한 필터인 메시지 라우터(Message Router)를 추가한다. 메시지 라우터는 메

시지 채널에서 메시지를 소비하고 조건에 따라 메시지를 그 밖의 메시지 채널로

다시 게시한다.

Page 56: 기업 통합 패턴(Enterprise Integration Patterns) 강의

55Barunmo Co.,Ltd. © 2014

메시지 변환기(Message Translator)

필터나 애플리케이션들 사이에 특별한 필터인 메시지 변환기(Message

Translator)를 사용해 데이터 포맷을 변환한다.

서로 다른 데이터 포맷을 사용하는 시스템들이 메시징을 사용해 통신

하려면 어떻게 해야 할까?

Page 57: 기업 통합 패턴(Enterprise Integration Patterns) 강의

56Barunmo Co.,Ltd. © 2014

애플리케이션을 메시징 시스템에 접속시키려면 어떻게 해야 할까?

메시지 엔드포인트(Message Endpoint)

메시지 엔드포인트(Message Endpoint)를 사용해 애플리케이션과 메시징 채널을

연결한다. 메시지 엔드포인트는 애플리케이션이 메시지를 발신하고 수신하는 데

사용하는 메시징 시스템의 클라이언트다.

Page 58: 기업 통합 패턴(Enterprise Integration Patterns) 강의

57Barunmo Co.,Ltd. © 2014

기업 통합 패턴 다이어그램

애플리케이션 A

메시지

메시지 채널

메시지 라우터

메시지변환기

애플리케이션 B

메시지엔드포인트

메시지변환기

애플리케이션 C

전체 메시지 흐름

Page 59: 기업 통합 패턴(Enterprise Integration Patterns) 강의

58Barunmo Co.,Ltd. © 2014

기본 패턴의 확장

ApplicationA

Endpoint

Message

ChannelRouter Translator

Monitoring

ApplicationB

Message Endpoint

Message Consutruction

Messaging Channels

Message Routing

Message Transformation

System Management⑥

④①

Page 60: 기업 통합 패턴(Enterprise Integration Patterns) 강의

59Barunmo Co.,Ltd. © 2014

기업 통합 패턴 다이어그램 실무 예

SYSTEM

WMQSYSTEM

JMS SYSTEM

TCP SYSTEM

SPLUNK

TCP

JMS

WMQ

Container

◈ 시스템 구성도

Page 61: 기업 통합 패턴(Enterprise Integration Patterns) 강의

60Barunmo Co.,Ltd. © 2014

N-티어 솔루션과 통합 패턴 솔루션의 차이

1) N-계층 분산 애플리케이션들은 독립 실행 불가능(단단한 결합)

2) 동기 메시징 체계 (시간에 민감)

N-티어 분산 애플리케이션

통합 분산 애플리케이션

1) 통합 분산 애플리케이션들은 독립 실행 가능 (느슨한 결합)

2) 비동기 메시징 체계(시간에 관대)

Page 62: 기업 통합 패턴(Enterprise Integration Patterns) 강의

61Barunmo Co.,Ltd. © 2014

느슨한결합적용

기업통합패턴과통합프레임워크활용

애플리케이션중립적인메시징인프라도입

레거시애플리케이션과조화

점진적통합 (수용과개선)

기업 애플리케이션 통합 패턴 전략

Page 63: 기업 통합 패턴(Enterprise Integration Patterns) 강의

62Barunmo Co.,Ltd. © 2014

▶ Apache Camel : 통합 프레임워크

▶ Apache ActiveMQ : 메시지 지향 미들웨어

▶ Apache ServiceMix : ESB 플랫폼 + 기업 통합 패턴 지원

▶ Red Hat JBoss Fuse : 오픈 소스 기반 애플리케이션 통합 제품

▶ Spring Integration : 통합 프레임워크

▶ Spring XD : 기업 통합 패턴에 기반한 데이터 통합 프레임워크

▶ Mule ESB : ESB 플랫폼 + 기업 통합 패턴 지원

▶ Talend ESB : ESB 플랫폼 + 기업 통합 패턴 지원

▶ IBM WebSphere : IBM 통합 제품

▶ Azure Service Bus : 마이크로소프트 애저 서비스 버스

기업 통합 패턴의 도구들

Page 64: 기업 통합 패턴(Enterprise Integration Patterns) 강의

63Barunmo Co.,Ltd. © 2014

감사합니다.

문의 : [email protected]