본문 바로가기

안녕하세요!

프로그래밍 언어/UI5

[ SAPUI5 ] OData Model

SAP에서 UI를 구현하기 위해서 가장 중요한 것 중 하나는 바로 OData Model이다. 이미 공식 홈페이지의 도큐멘테이션이나 타 사이트의 예제를 보며 스터디해본 바가 있지만, 수박 겉핥기식으로 했기 때문에 이번 기회에 제대로 알고 가면 좋을 것 같다.

 

OData Model


 

"OData Model은 Data API를 생성 및 사용하기 위한 산업 표준 프로토콜이다."

또한 "HTTP와 같은 주요 프로토콜 및 XML, JSON과 같은 개방형 표준을 기반으로 하고 있으며,
REST 원칙에 따른 Data 서비스 제공을 가능하게 해준다."

뿐만 아니라, "특정 규칙에 따라 구성된 URL을 사용하여 데이터를 처리하며, Collection, Entry, Property와 같은 Resource를 표현하는 데이터 형식을 정의한다."

 

    - OData URL 구조

http://services.odata.org/Northwind.svc/Customers?$top11

 


 

    - Data Access URI

OData URI 결과
서비스 문서 <service_root_url> Entity Set Collection
ex) 서비스에서 사용 가능한 Table List
EDMX /$metadata Entity 유형, Property 유형, 연관, 탐색 등 Shcema 정의
Entity Set /<entityset> Entity Set의 모든 Entity
ex) Table의 모든 행
Entity /<entityset>(<key>=<value>, <key>=<value>) Key Field에 기반한 Entity Set의 Entity
Property /<entityset>(<key>=<value>, <key>=<value>)/<property> Entity의 Property
ex) 행의 Field

 

"OData Model은 Control Property와 Aggregation을 원격 서버의 Data에 Binding 할 수 있다."

"전체 Data Set가 서버에 저장되고 요청된 Field만 Client로 전송된다."

"SAPUI5는 다양한 OData Model을 지원하지만 Fiori 가이드라인에 따라 OData V2를 사용해야 한다."

 

<SAP OData Engine>/iwfnd/USERSERVICE /UserCollection ?<query parameters>
Service Root URI Resource Route Query Option

 

"OData는 Client가 임의 Filtering, Sorter 및 Paging을 Request 할 수 있는 간단하며 강력한 Query 언어를 지정한다."

"Client는 Query 문자열 매개변수를 통해 OData 서비스가 URI로 식별된 Resource에 대해 Return하는 Data의 양과 순서를 표현할 수 있다."

"OData로 정의된 모든 쿼리 문자열 매개변수의 이름에는 앞에 "$" 문자가 접두부로 붙는다."

 

[ neo-app.json ]


 

"HTML5 어플리케이션에서 하나 또는 여러 개의 REST Service에 연결이 가능하다."

"REST Service의 URL은 Destination에 구성된다."

"어플리케이션 URL과 대상 간의 Mapping은 [ neo-app.json ]이라는 Application Explorer에 정의된다."

"Application Explorer는 저장소의 Root 폴더에 있어야 한다."

"Destination은 SAP HANA Cloud Cockpit를 사용해 구성된다."

 

"routes": [
	{
    	"path": "/destination/northwind",
        	  "target": {
                    	"type": "destination",
                        "name": "northwind_service",
                        "entryPath": "/destination/northwind"
        },
        "description": "Northwind"
    }
]

 


Next Stage: 

 

728x90
반응형

loading