세션 매개 변수
세션은 시각화에서 매쉬업을 볼 때 사용자가 서버를 사용하여 만드는 연결입니다. 세션 매개 변수를 만들어 현재 사용자 세션의 임시 데이터를 저장할 수 있습니다. 예를 들어, 세션 매개 변수를 사용하여 매쉬업에 대한 기본 스타일 테마의 설정을 저장할 수 있습니다. 세션 매개 변수의 값은 서버에 연결된 각 사용자에 대해 고유하며 세션이 종료될 때까지 저장됩니다. 세션 매개 변수 데이터는 사용자가 서로 다른 매쉬업 간을 이동할 때도 유지됩니다.
사용자가 응용 프로그램을 닫거나, 로그아웃 기능을 사용하여 로그아웃하거나, 서버에서 유휴 상태가 되어 제한 시간을 초과하면 세션이 종료됩니다. 플랫폼 세션의 기본 제한 시간은 30분입니다.
SetPlatformSessionTimeout 관리자 서비스를 사용하여 기본 제한 시간을 구성할 수 있습니다. 자세한 내용은
관리자 서비스를 참조하십시오.
모범 사례
• 데이터베이스 또는 사물을 사용하여 둘 이상의 세션에 필요한 데이터를 저장합니다.
• 가능한 경우 매쉬업 매개 변수를 사용하여 매쉬업 간에 데이터를 전달합니다. 세션 매개 변수를 너무 많이 사용하면 성능에 영향을 줄 수 있습니다. 자세한 내용은
매쉬업 매개 변수 구성을 참조하십시오.
세션 매개 변수 값에 변경된 이벤트 사용
UserManagementSubsystem에 세션 매개 변수를 추가한 다음 Mashup Builder의 세션 패널을 사용하여 매쉬업의 위젯, 서비스 또는 함수에 대한 바인딩을 만들 수 있습니다. 패널을 선택하면 사용 가능한 세션 매개 변수가 나열됩니다.
데이터 속성 패널에는 각 매개 변수에 대한 <Parameter_Name>Changed가 표시됩니다. 이러한 이벤트는 세션 매개 변수의 값이 클라이언트 측에서 변경되는 경우에만 트리거됩니다. 서버의 SetGlobalSessionValues 서비스를 사용하여 매개 변수 값을 변경해도 이 이벤트가 트리거되지 않습니다. 서버에서 값이 변경되는 경우 이벤트를 트리거하려면 매개 변수를 업데이트하는 데 사용되는 서비스의 ServiceInvokeComplete 이벤트를 대신 사용합니다.
세션 매개 변수 추가
하나 이상의 속성을 가진 사물 형태 엔티티를 세션 매개 변수로 사용할 수 있습니다. UserManagementSubsystem 엔티티에 데이터 셰이프를 추가하려면 다음을 수행하십시오.
1. Composer에서 찾아보기를 클릭합니다.
2. 시스템에서 하위 시스템을 선택한 다음 UserManagementSubsystem 엔티티를 엽니다.
3. 다음 방법 중 하나를 통해 하위 시스템에 사물 형태를 추가합니다.
◦ 서비스 탭에서 AddSessionShape 서비스를 실행합니다.
a. 서비스를 찾고
실행 열 아래에서
을 클릭합니다.
서비스 실행 대화 상자가 열립니다.
b. 이름 필드에서 세션 매개 변수가 포함된 사물 형태를 선택한 다음 실행을 클릭합니다.
c. 완료를 클릭하여 대화 상자를 닫습니다.
d. 저장을 클릭하여 변경 사항을 하위 시스템에 저장합니다.
◦ 구성 탭의 사용자 세션 셰이프 설정 아래에서 추가를 클릭합니다. 대화 상자가 열립니다.
a. 사물 형태 이름을 입력하고 추가를 클릭합니다.
b. 저장을 클릭하여 변경 사항을 하위 시스템에 저장합니다.
사물 형태가 하위 시스템에 추가됩니다. 세션 패널을 열면 데이터 셰이프의 속성이 바인딩 가능한 세션 매개 변수로 나열됩니다.
| 세션 매개 변수로 여러 행 및 열이 포함된 인포테이블을 사용할 경우 성능이 저하될 수 있습니다. |
자세한 내용은
사용자 관리 하위 시스템을 참조하십시오.
Platform 서버에서 세션 매개 변수에 액세스
세션 매개 변수 값을 검색하려면 다음을 수행하십시오.
1. Composer에서 찾아보기를 클릭합니다.
2. 시스템에서 리소스를 선택한 다음 CurrentSessionInfo 리소스 엔티티를 엽니다.
3. 서비스 탭에서 GetGlobalSessionValues 서비스를 실행합니다.
a. 목록에서 서비스를 찾은 다음
실행 열 아래에서
을 클릭합니다.
서비스 실행 대화 상자가 열립니다.
b. 실행을 클릭합니다. 현재 세션에 대한 매개 변수 값이 출력 창에 표시됩니다.
c. 완료를 클릭하여 대화 상자를 닫습니다.
세션 패널에 사용 가능한 세션 매개 변수가 나열됩니다. 데이터 패널을 사용하여 GetGlobalSessionValues 서비스를 매쉬업에 추가하고 함수, 서비스 또는 위젯에 반환된 값을 바인딩할 수 있습니다.
예: 세션 매개 변수를 사용하여 텍스트 필드 위젯에 대한 입력 저장
위젯 속성이 세션 매개 변수에 직접 바인딩되는 경우 페이지를 새로 고치면 세션 속성 값이 손실됩니다. 페이지를 다시 로드할 때 값을 유지하려면 setter 및 getter 서비스를 사용하여 매개 변수 값을 업데이트하고 읽어들여야 합니다.
1. 세션 매개 변수 추가 섹션에서 다음 단계를 수행하여 세션 매개 변수를 정의합니다.
2. 세션 매개 변수 값을 설정하는 서비스가 포함된 도우미 사물을 만듭니다.
3. 이름이 input_string인 setter 서비스에 입력 매개 변수를 추가하고 다음 JavaScript 코드를 추가합니다.
Resources["CurrentSessionInfo"].SetGlobalSessionStringValue({name: "your_session_var", value: input_string});
4. 매쉬업을 만든 다음 텍스트 상자 위젯, 버튼 위젯 및 유효성 검사기 함수를 추가합니다.
5. 데이터 패널을 사용하여 다음 서비스를 추가합니다.
◦ 2단계에서 생성한 setter 서비스.
◦ CurrentSessionInfo 리소스의 GetGlobalSessionValues 서비스.
6. 텍스트 필드 위젯의 Text 속성을 setter 서비스의 input_string 매개 변수에 바인딩합니다.
7. GetGlobalSessionValues 서비스의 All Data 속성 아래에 있는 세션 변수를 텍스트 필드 위젯의 Text 속성에 바인딩합니다.
8. 버튼 위젯의 Clicked 이벤트를 setter 서비스에 바인딩합니다.
9. setter 서비스의 ServiceInvokeCompleted 이벤트를 유효성 검사기 함수의 Evaluate 서비스에 바인딩합니다. 이 기능을 사용하면 함수가 실행되기 전에 세션 매개 변수의 값이 항상 업데이트됩니다.
10. 함수를 편집하고 식에 다음 코드를 추가합니다.
location.reload()
11. 저장한 다음 매쉬업을 봅니다.
텍스트 상자에 값을 입력한 다음 버튼을 클릭하여 페이지를 다시 로드합니다. 페이지가 다시 로드된 후에도 값이 유지됩니다.