3c단계: SQL Server 데이터베이스에 기회 세부 정보 삽입
지금까지 Salesforce에 쿼리를 송신하고 응답을 수신하는 오케스트레이션을 빌드했습니다. 이 섹션에서는 Salesforce의 응답을 온-프레미스 SQL Server 데이터베이스 Orders의 OrderDetails 테이블에 삽입하도록 해당 오케스트레이션을 업데이트합니다. 이를 위해 다음과 같은 광범위한 일련의 단계를 수행하겠습니다.
온-프레미스 SQL Server 데이터베이스의 Orders 데이터베이스에 OrderDetails 테이블을 만듭니다.
BizTalk 어댑터 팩에서 사용할 수 있는 어댑터 서비스 사용 추가 기능을 사용하여 OrderDetails 테이블에서 삽입 작업에 대한 스키마를 생성합니다.
맵을 만들어 Salesforce 응답 메시지를 SQL Server OrderDetails 테이블에 삽입하기 위한 메시지로 변환합니다.
변환을 사용하여 OrderDetails 테이블에 응답 메시지를 삽입하도록 오케스트레이션을 업데이트합니다.
SQL Server 데이터베이스 및 테이블 만들기
데이터베이스 및 테이블을 만들려면
관리자 권한으로 SQL Server Management Studio를 열고 연결합니다.
데이터베이스 노드를 마우스 오른쪽 단추로 클릭하고 새 데이터베이스를 클릭합니다. 데이터베이스 이름을 로
Orders
지정하고 다른 세부 정보를 지정하여 새 데이터베이스를 만듭니다.쿼리 편집기를 열고 다음 쿼리를 실행하여 Orders 데이터베이스에 OrderDetails 테이블을 만듭니 다.
USE [Orders] GO /****** Object: Table [dbo].[OrderDetails] Script Date: 07-12-2012 22:15:47 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[OrderDetails]([ID] [int] IDENTITY(1,1) NOT NULL, [TITLE] [varchar](200) NULL, [ProductName] [varchar](200) NULL, [Quantity] [float] NULL, [Amount] [float] NULL, PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] GO SET ANSI_PADDING OFF GO
OrderDetails 테이블에 대한 삽입 작업을 수행하는 스키마 만들기
BizTalk 어댑터 팩을 설치하면 OrderDetails 테이블에서 삽입 작업에 대한 스키마를 생성하기 위해 BizTalk Server 프로젝트 내에서 사용할 수 있는 사용 어댑터 서비스 추가 기능을 제공합니다. 이 섹션에서는 메시지 스키마를 만들기 위해 수행하는 단계를 제공합니다.
삽입 작업을 수행하는 스키마를 만들려면
BtsSalesforceIntegration 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 생성된 항목 추가를 클릭합니다. 생성된 항목 추가 대화 상자에서 어댑터 서비스 사용을 클릭한 다음 추가를 클릭합니다.
어댑터 서비스 사용 추가 기능의 바인딩 선택 드롭다운에서 sqlBinding을 클릭한 다음 구성을 클릭합니다.
어댑터 구성 대화 상자의 보안 탭에서 클라이언트 자격 증명 유형에 대해 windows를 선택하여 Windows 인증 사용하여 SQL Server 데이터베이스에 연결합니다.
어댑터 구성 대화 상자의 URI 속성 탭에서 초기 카탈로그에 연결할 데이터베이스 이름(주문)을 지정합니다. 서버의 경우 연결하려는 SQL Server 설치된 컴퓨터 이름을 지정합니다. SQL Server 데이터베이스가 BizTalk Server 프로젝트와 동일한 컴퓨터에 있는 경우 마침표(.)만 입력하면 됩니다. 확인을 클릭합니다.
어댑터 서비스 사용 추가 기능에서 연결을 클릭합니다. 연결이 설정되면 계약 유형을 클라이언트(아웃바운드 작업)로 선택합니다. 범주 선택 상자에서테이블을 확장하고 OrderDetails 테이블을 클릭한 다음 오른쪽 창에서 삽입을 클릭한 다음 추가를 클릭합니다.
생성된 스키마에 식별자를 접두사로 추가하려면 파일 이름 접두 사를 지정합니다. 이 자습서에서는 접두사를 InsertOrders 로 지정한 다음 확인을 클릭합니다.
일련의 스키마가 프로젝트에 추가됩니다. OrderDetails 테이블에 메시지를 삽입하는 데 사용할 스키마는 InsertOrdersTableOperation.dbo.OrderDetails.xsd입니다.
Salesforce 응답 및 삽입 스키마 매핑
이제 스키마(Salesforce의 응답 및 OrderDetails에 삽입)가 모두 있으므로 Salesforce의 응답 스키마를 OrderDetails의 삽입 스키마에 매핑하여 Salesforce의 응답 메시지를 SQL Server 데이터베이스 테이블에 삽입할 수 있도록 해야 합니다.
스키마를 매핑하려면
BtsSalesforceIntegration 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 항목을 클릭한 다음 지도를 클릭합니다. 지도 이름을 로
QueryResult_Orders.btm
지정한 다음 추가를 클릭합니다.맵 화면에서 원본 스키마에 대해 QueryResult 를 선택하고 대상 스키마 에 대해 InsertOrdersTableOperation.dbo.OrderDetails.xsd 를 선택한 다음, 삽입 노드를 선택합니다.
다음 스크린 샷에 표시된 것처럼 두 스키마를 매핑합니다.
맵은 레코드와 OrderDetails 링크 간에 Looping 펑토이드를 사용합니다. 이렇게 하면 레코드 에서 하나 이상의 노드가 모두 OrderDetails 아래의 유사한 노드 발생에 매핑됩니다.
맵에 대한 변경 내용을 저장합니다.
SQL Server에 메시지를 삽입하도록 오케스트레이션 업데이트
이 섹션에서는 오케스트레이션의 맵을 사용하여 Salesforce 응답 메시지를 SQL Server 테이블에 주문 세부 정보를 삽입하는 메시지로 변환합니다. 해당 메시지를 SQL Server로 송신하는 포트도 추가합니다.
오케스트레이션을 업데이트하려면
삽입 스키마의 메시지 변수를 만듭니다. 오케스트레이션 보기에서 메시지 노드를 마우스 오른쪽 단추로 클릭한 다음 새 메시지를 클릭합니다. 메시지 이름을 InsertOrders 로 설정하고 메시지 유형을 BtsSalesforceIntegration.InsertOrdersTableOperation_dbo_OrderDetails.Insert로 설정합니다.
ReceiveQueryResult 셰이프 다음에 생성 메시지 셰이프를 추가합니다. 셰이프의 이름을 로
ConstructOrders
설정하고 Messages Constructed 속성을 InsertOrders로 설정합니다.ConstructOrders 셰이프 내에 Transform 도형을 추가합니다. Transform 셰이프를 두 번 클릭하여 변환 구성 대화 상자를 엽니다. 대화 상자에서 기존 맵 옵션을 선택한 다음 드롭다운에서 BtsSalesforceIntegration.QueryResult_Orders 선택합니다. 원본을 QueryResultMsg로, 대상을 InsertOrders로 설정한 다음 확인을 클릭합니다.
ConstructOrders 셰이프 다음에 보내기 셰이프를 추가합니다. 셰이프
SendOrders
이름을 지정하고 메시지 유형을 InsertOrders로 설정합니다.Salesforce에 주문 세부 정보를 삽입할 포트를 추가합니다. 포트 구성 마법사에서 다음 옵션을 선택합니다.
포트 이름을 로 지정합니다
SendToSQL
.새 포트 유형을 만드는 옵션을 선택합니다.
통신 패턴을단방향으로 설정합니다.
항상 이 포트에서 메시지를 보내도록통신의 포트 방향을 설정하고 포트 바인딩을 나중에 지정으로 설정합니다.
송신기 보내기 셰이프에 포트 요청 작업을 연결하여 오케스트레이션을 완료합니다. 다음 스크린 샷은 종단 간 완료된 오케스트레이션을 보여 줍니다.
강력한 이름 키 파일을 프로젝트에 추가하고 변경 내용을 프로젝트에 저장합니다.
이 항목의 단계를 통해 Salesforce에서 기회 알림을 수신하고, 기회에 대한 자세한 내용을 Salesforce에 쿼리하고, 쿼리 응답을 SQL Server 데이터베이스에 삽입하는 오케스트레이션을 완료했습니다. 후속 항목에서는 Salesforce를 인증하고 BizTalk Server 내에서 Salesforce 응답을 처리하는 데 사용되는 솔루션의 다른 주요 구성 요소를 빌드합니다.