본문 바로가기
  • Welcome!
Creo Reference Room/Windchill

Windchill REST 서비스

by ToolBOX01 2024. 5. 4.
반응형

□ Windchill REST 서비스 (WRS)란 무엇일까요?


Windchill REST 서비스 (WRS)는 외부 시스템 및 장치가 Windchill 시스템과 소통하도록 돕는 도구입니다. 쉽게 말하면, HTTP를 지원하는 모든 장치가 Windchill 데이터에 접근하고 활용할 수 있도록 해주는 역할을 합니다.

  • WRS의 주요 기능
  1. 외부 시스템과의 통신: 생산 시스템, 모바일 앱, 웹사이트 등 다양한 외부 시스템과 Windchill 간의 데이터 교환을 지원합니다.
  2. 객체 데이터 접근: Windchill 내 제품, 문서, 프로세스 등 다양한 객체 데이터에 대한 읽기, 쓰기, 수정 권한을 제공합니다.
  3. 기능 도메인별 분류: 사용자 정의 응용 프로그램에서 쉽게 활용할 수 있도록 객체 유형을 기능별로 분류하여 제공합니다.
  4. OData 지원: 표준 OData 프로토콜을 사용하여 데이터 검색, 필터링, 정렬 등 다양한 작업을 수행할 수 있도록 합니다.
  • WRS의 활용 예시
  1. 생산 시스템과의 연동: 생산 라인에서 실시간 데이터를 Windchill에 전송하여 제품 생산 정보를 업데이트합니다.
  2. 모바일 앱에서의 제품 정보 확인: 영업 담당자가 모바일 앱을 통해 고객에게 제품 정보를 보여줍니다.
  3. 웹사이트에서의 문서 다운로드: 고객이 웹사이트에서 최신 제품 문서를 다운로드합니다.
  4. 자동화 시스템과의 통합: 자동화 시스템에서 Windchill 데이터를 활용하여 작업을 수행합니다.
  • WRS의 장점:
  1. 데이터 연동성 향상: Windchill과 외부 시스템 간의 데이터 교환을 간편하게 만들어 정보 공유를 활성화합니다.
  2. 비즈니스 프로세스 개선: 자동화 및 통합을 통해 비즈니스 프로세스 효율성을 높입니다.
  3. 개발 용이성: OData와 같은 표준 프로토콜을 사용하여 개발 시간을 단축하고 유지 관리를 용이하게 합니다.

Windchill에서 필요하거나 Windchill에 입력되는 거의 모든 데이터는 Windchill REST 서비스를 통해 수행할 수 있습니다. 개발자는 통합 요구 사항을 충족하고 사용자 채택을 유도하기 위해 Windchill 서비스를 확장하거나 자체 도메인을 구성할 수도 있습니다.

 

□ Windchill REST 서비스 (WRS) 이해하기: OData 기초

WRS를 이해하려면 먼저 OData의 기본 개념을 살펴보는 것이 중요합니다. OData는 웹 서비스를 위한 표준 프로토콜로, 다양한 시스템 간의 데이터 교환을 용이하게 합니다. WRS는 OData 프로토콜을 기반으로 구축되어 있어 OData를 이해하면 WRS를 더욱 쉽게 이해할 수 있습니다

* 표준 프로토콜 : 데이터를 주고 받는데 이용하는 규칙의 집합

 

  • OData의 주요 구성 요소는 다음과 같습니다.
  1. URI: 도메인 및 리소스를 식별하는 주소입니다. 쉽게 말하면, 어떤 시스템과 어떤 데이터를 요청할지를 나타내는 주소라고 생각하면 됩니다.
  2. 메서드: 데이터에 대한 작업을 나타내는 표준 HTTP 연산자입니다. 쉽게 말하면, 데이터에 대해 어떤 작업을 수행할지를 나타내는 동사라고 생각하면 됩니다. 주로 GET, POST, PUT, DELETE 등이 사용됩니다.
  3. 쿼리 파라미터: URI에 추가 정보를 제공하는 매개 변수입니다. 쉽게 말하면, 요청에 대한 추가 조건이나 필터를 설정하는 데 사용됩니다.
  • WRS에서 URI와 메서드는 다음과 같은 역할을 합니다.
URI 메서드
1.도메인:
Windchill 시스템의 URL을 나타냅니다.

2.리소스:
Windchill 내 엔티티 컬렉션(예: 제품, 문서, 프로세스)을 나타냅니다.

3.엔티티 ID:
특정 엔티티를 식별하는 고유한 값입니다. (선택 사항)
1. GET:
엔티티 컬렉션 또는 특정 엔티티를 조회합니다.

2.POST:
새로운 엔티티를 생성합니다.

3.PUT:
기존 엔티티를 업데이트합니다.

4.DELETE:
엔티티를 삭제합니다.

 

  • WRS 예시

요청: 모든 제품 목록을 조회합니다.

URI: https://windchill.example.com/api/v1/products

도메인: https://windchill.example.com
리소스: products (제품 컬렉션)

메서드: GET

 

요청: ID 12345인 제품 정보를 조회합니다.

URI: https://windchill.example.com/api/v1/products/12345

도메인: https://windchill.example.com
리소스: products (제품 컬렉션)
엔티티 ID: 12345 (제품 ID)

메서드: GET

 

요청: 새로운 제품을 생성합니다.

URI: https://windchill.example.com/api/v1/products

도메인: https://windchill.example.com
리소스: products (제품 컬렉션)

메서드: POST

 

요청: ID 12345인 제품 정보를 업데이트합니다.

URI: https://windchill.example.com/api/v1/products/12345

도메인: https://windchill.example.com
리소스: products (제품 컬렉션)
엔티티 ID: 12345 (제품 ID)

메서드: PUT

요청: ID 12345인 제품을 삭제합니다.

URI: https://windchill.example.com/api/v1/products/12345

도메인: https://windchill.example.com
리소스: products (제품 컬렉션)
엔티티 ID: 12345 (제품 ID)

메서드: DELETE

 

□ Windchill REST API와 다양한 표현 

REST API는 리소스를 다양한 형식으로 표현할 수 있습니다. 쉽게 말하면, 같은 데이터를 여러 가지 방식으로 보여줄 수 있다는 것입니다. 일반적으로 사용되는 표현 형식으로는 다음과 같은 것들이 있습니다.

텍스트: 가장 간단한 형식으로, 사람이 읽기 쉽게 작성됩니다. 하지만, 기계 처리에는 적합하지 않습니다.

XML: 구조화된 데이터를 표현하는 데 사용되는 표준 형식입니다. 
     기계 처리가 용이하고, 다양한 프로그래밍 언어에서 지원됩니다.
     
JSON: 자바스크립트 객체 표기법을 기반으로 하는 데이터 표현 형식입니다. 
      가볍고 읽기 쉽고, 웹 개발에서 많이 사용됩니다.

 

REST 클라이언트는 HTTP 프로토콜의 콘텐츠 협상 기능을 사용하여 원하는 표현 형식을 요청할 수 있습니다. 콘텐츠 협상은 클라이언트와 서버가 서로 지원하는 표현 형식을 알아보고, 가장 적합한 형식을 선택하는 과정입니다.

클라이언트가 특정 제품 정보를 요청할 때, JSON 형식을 선호한다고 명시하면 서버는 JSON 형식으로 
제품 정보를 제공합니다.
클라이언트가 XML 형식을 지원하지 않으면 서버는 텍스트 형식으로 제품 정보를 제공합니다.

 

REST API에서 다양한 표현 형식을 사용하는 것은 다음과 같은 장점이 있습니다.

1.사용자 맞춤 설정: 
사용자는 자신의 선호에 따라 원하는 표현 형식을 선택할 수 있습니다.

2.개발 용이성: 
개발자는 다양한 프로그래밍 언어와 도구를 사용하여 REST API를 활용할 수 있습니다.

3.데이터 호환성: 
서로 다른 시스템 간의 데이터 교환을 용이하게 합니다.

일반적으로 JSON 형식은 가볍고 읽기 쉽고 웹 개발에 적합하기 때문에 많이 사용됩니다. 하지만, XML 형식은 구조화된 데이터를 표현하는 데 더 강력하고 표준화되어 있어 특정 상황에서 유용할 수 있습니다.