KR20180066915A - 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼 - Google Patents
웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼 Download PDFInfo
- Publication number
- KR20180066915A KR20180066915A KR1020160167355A KR20160167355A KR20180066915A KR 20180066915 A KR20180066915 A KR 20180066915A KR 1020160167355 A KR1020160167355 A KR 1020160167355A KR 20160167355 A KR20160167355 A KR 20160167355A KR 20180066915 A KR20180066915 A KR 20180066915A
- Authority
- KR
- South Korea
- Prior art keywords
- application
- api
- server
- request
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
본 발명의 실시예에 따른 본 발명의 일시예들에 따른 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼은 개발자의 어플리케이션 내의 데이터 생성 내용을 입력 받기 위한 UI 생성부; 개발자가 해당 데이터 리소스를 활용을 위하여 외부 SNS와의 연결 및 서버 리소스에 접근하기 위한 URI 호출을 처리하고, 실시간 데이터 송수신을 지원하기 위한 URI 생성을 지원하는 API 생성부; 서버에 특정 클라이언트로부터의 리퀘스트(request)가 도착하였을 경우, 기설정된 기준에 따른 정상적인 리퀘스트인지 아닌지를 구별하여 해당 상기 특정 클라이언에 대한 API에 접근성을 검증하는 리퀘스트 검증부; 및 개발자에게 서버 연동에 필요한 리소스의 정의 및 API를 통한 상기 정의된 리소스의 활용을 허용하고, 클라이언트로부터 요청 리퀘스트 처리 및 상기 리퀘스트에 대한 데이터 생성을 처리하는 서버 관리부를 포함한다.
Description
본 발명은 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼에 관한 것으로, 더욱 상세하게는 서버와의 데이터 연동이 가능한 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼에 관한 것이다.
1980년대의 어플리케이션들은 대부분 PC 기반으로 개발되어 오다가 WWW(World Wide Web) 의 확산으로 인해 어플리케이션이 '서비스'의 개념으로 변화되기 시작하였다.
더 이상 하나의 어플리케이션은 어플리케이션 자체로서 의미가 있는 것이 아니라 사용자를 대상으로 하는 '서비스'로서의 관점이 의미가 있는 것으로 이해되기 시작하였다.
최근 스마트폰의 등장은 인터넷 환경에서 이러한 '서비스'로서의 어플리케이션이 어떤 의미를 갖는지 명확하게 보여주기 시작하였으며, 지금도 '지식'을 전달하거나 '재미'를 전달하기 위한 다양한 서비스가 스마트폰 어플리케이션을 통해 구현되고 있다.
그러나 어플리케이션 개발 방식은 아직 '서비스'로서의 어플리케이션 개발 방식을 따르지 않고 있으며, 어플리케이션 개발 자체를 위한 '서비스 플랫폼' 역시 아직 시장 초기 단계에 해당한다.
국내의 하이브리드 어플리케이션 개발 현황은 아직까지 대단히 미미한 상황이며, 스마트폰 앱스토어에 론칭하고자 하는 어플리케이션은 대부분 아직 네이티브 코드로 개발되고 있다.
이와 같은 하이브리드 어플리케이션의 개발 비중이 낮은 이유는 다음과 같다.
폰갭 등의 하이브리드 어플리케이션 지원 툴에 대한 낮은 인지도이다.
현재 국내에 소개되어 있는 하이브리드 어플리케이션 개발 툴은 폰갭 뿐 만 아니라 KTH 개발하여 배포한 Appspresso 가 있다.
하지만, 이와 같은 툴이 단순 하드웨어 리소스만 제어하도록 되어 있고, Appspresso 의 경우는 개발 reference 의 부족 및 관련 문서의 부족, 폰갭의 경우는 거의 대부분의 API 문서가 영어로만 제공된다는 것과 개발자들에게 아직 하이브리드 어플리케이션 툴에 대한 기대치가 낮다는 문제가 존재한다.
단말 퍼포먼스 문제이다.
하이브리드 어플리케이션이 iOS, Android 등이 제공하는 기본 웹뷰(웹 브라우징 객체)위에서 실시간 렌더링 되어 실행되므로 아직은 실행 속도와 같은 퍼포먼스 면에서 네이티브 어플리케이션을 앞지르기는 다소 어려움이 있다.
하지만, 최근 출시되는 단말의 경우는 하이브리드 어플리케이션과 네이티브 어플리케이션의 퍼포먼스 차이가 거의 나지 않을 정도로 하드웨어에서 큰 발전이 있었다.
추가 플러그인 및 개발 기능의 한계이다.
하이브리드 어플리케이션내에 원하는 다양한 서비스 기반의 기능을 탑재하기 위해서는 애플이나 구글이 제공하는 API를 웹기반에서 활용하기 위한 추가적인 플러그인의 개발이 필요하고, 이러한 플러그인 개발 자체가 추가적인 많은 공수를 필요로 하다.
스마트폰 어플리케이션을 위한 클라우드 시장의 대부분의 수요는 플랫폼 기반이 아닌 서버 호스팅과 관련한 서버 H/W 시장 규모이며, 아직 서비스 관점에서의 스마트폰 서버 플랫폼 서비스는 자리 잡지 못하였다.
본 발명의 목적은, 스마트폰 어플리케이션 개발자들이 서버 개발 없이도 데이터 제공 서비스를 활용한 어플리케이션을 개발할 수 있는 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼을 제공하는 데 있다.
본 발명의 또 다른 목적은, 실시간 API 지원을 통하여 기존 오픈 API가 제공하는 서비스 이외에 메세징, 리얼타임 대전 게임까지 개발이 가능한 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼을 제공하는 데 있다.
본 발명의 목적을 달성하기 위하여, 개발자의 어플리케이션 내의 데이터 생성 내용을 입력 받기 위한 UI 생성부; 개발자가 해당 데이터 리소스를 활용을 위하여 외부 SNS와의 연결 및 서버 리소스에 접근하기 위한 URI 호출을 처리하고, 실시간 데이터 송수신을 지원하기 위한 URI 생성을 지원하는 API 생성부; 서버에 특정 클라이언트로부터의 리퀘스트(request)가 도착하였을 경우, 기설정된 기준에 따른 정상적인 리퀘스트인지 아닌지를 구별하여 해당 상기 특정 클라이언에 대한 API에 접근성을 검증하는 리퀘스트 검증부; 및 개발자에게 서버 연동에 필요한 리소스의 정의 및 API를 통한 상기 정의된 리소스의 활용을 허용하고, 클라이언트로부터 요청 리퀘스트 처리 및 상기 리퀘스트에 대한 데이터 생성을 처리하는 서버 관리부를 포함하는, 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼이 제공된다.
상기 API 생성부는, 개발자가사용하고자 하는 데이터 구조에 따라 해당 데이터 구조에 따른 DB 를 생성하고, 해당 DB에 접근할 수 있는 API를 자동으로 생성하는 오픈 API 생성부; 및 실시간 데이터 송수신 요구시 비동기 통신 방식을 지원하여 서버내의 부하는 최대한 줄이고, 클라이언트-서버간 실시간 통신을 제공하는 실시간 API 생성부를 포함하는 것이 바람직하다.
상기 오픈 API 생성부는, 하이브리드 어플리케이션의 경우, Web API를 통한 데이터 입출력이 가능한 것이 바람직하다.
상기 실시간 API 생성부는, 어플리케이션 내에서 사용자간의 실시간 메세징, 게임 내에서의 실시간 대전 등의 실시간 데이터 송수신을 어플리케이션에 적용가능하게 하며, 웹 기반 프로토콜을 지원하는 네이티브 어플리케이션에서도 적용할 수 있다.
상기 API 생성부는, 개발자가 자신이 사용하고자 하는 데이터를 정의 하면 해당 데이터 리소스를 저장하기 위한 DB를 생성하고, 생성된 리소스에 접근하여 CRUD 기능을 활용하기 위한 API를 생성하는 것이 바람직하다.
상기 API 생성부는, 상기 생성된 API는 URI 형태로 접근이 가능하며, 개발자가 해당 URI를 통해 어플리케이션 내에서 리소스로 접근하는 것이 바람직하다.
상기 리퀘스트 검증부는, 네이티브 어플리케이션이나 하이브리드 어플리케이션의 경우에도 변조된 어플리케이션이나 악의적인 해킹 툴을 이용하여 서버 내의 리소스를 해킹하려는 것인지를 검증하는 것이 바람직하다.
상기 리퀘스트 검증부는, 최초 어플리케이션의 세션관리 단계부터 사용자의 활동들을 시간 단위로 체크하고 정해진 일정한 틀을 벗어나는 리퀘스트에 대하여서 제한을 두는 서버 기반 보안 방식을 적용하는 것이 바람직하다.
상기 리퀘스트 검증부는, 상기 리퀘스트된 결과가 응답(response)를 통해 전달되는 데이터의 유효성을 확인하고 데이터 질의 조건이 충족되었을 경우, 상기 응답(response) 까지의 시간을 최종 속도로 인정하는 것이 바람직하다.
상기 서버 관리부는, 어플리케이션에 대한 개발자 인증키 및 어플리케이션 인증키의 2가지 인증키를 발급하고, 상기 2가지의 인증키에 따라 API를 통해 서버 리소스에 대한 접근을 허용하는 것이 바람직하다.
본 발명의 실시예들에 따른 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼은 어플리케이션 개발시 서버 개발을 하지 않고 데이터 제공 서비스를 활용한 어플리케이션을 개발 할 수 있다.
또한, 본 발명의 실시예들에 따른 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼은 표준화된 프로세스를 제공하여 타 서비스와의 호환이 가능하다.
또한, 본 발명의 실시예들에 따른 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼은 실시간 API 지원을 통하여 기존 오픈 API가 제공하는 서비스 이외에 메세징, 리얼타임 대전 게임까지 개발이 가능하다.
도 1은 본 발명의 일실시예에 따른 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼의 기능 블록도이다.
도 2는 본 발명이 이루고자 하는 목적을 예시한 하나의 응용 상황에 대한 개념도이다.
도 3은 본 발명의 일실시예에 따른 융합 서버 플랫폼 구조의 개념도이다.
도 4는 본 발명의 일실시예에 따른 융합 서버 플랫폼이 지원 가능한 기기 및 OS의 상호 관계도이다.
도 5는 본 발명의 일실시예에 따른 어플리케이션을 위한 서버 기반 서비스 플랫폼의 개념도이다.
도 6은 본 발명의 일실시예를 구현하기 위한 테이블 자동 생성을 위한 시퀀스 다이어그램이다.
도 7은 본 발명의 일실시예를 구현하기 위한 서버 리소스에 접근하기 위한 URI 호출에 따른 CRUD 처리도이다.
도 8은 본 발명의 일실시예를 구현하기 위한 서버 API 아키텍처이다.
도 2는 본 발명이 이루고자 하는 목적을 예시한 하나의 응용 상황에 대한 개념도이다.
도 3은 본 발명의 일실시예에 따른 융합 서버 플랫폼 구조의 개념도이다.
도 4는 본 발명의 일실시예에 따른 융합 서버 플랫폼이 지원 가능한 기기 및 OS의 상호 관계도이다.
도 5는 본 발명의 일실시예에 따른 어플리케이션을 위한 서버 기반 서비스 플랫폼의 개념도이다.
도 6은 본 발명의 일실시예를 구현하기 위한 테이블 자동 생성을 위한 시퀀스 다이어그램이다.
도 7은 본 발명의 일실시예를 구현하기 위한 서버 리소스에 접근하기 위한 URI 호출에 따른 CRUD 처리도이다.
도 8은 본 발명의 일실시예를 구현하기 위한 서버 API 아키텍처이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하며, 단수로 기재된 용어도 복수의 개념을 포함할 수 있다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
도 1은 본 발명의 일실시예에 따른 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼의 기능 블록도이고, 도 2는 본 발명이 이루고자 하는 목적을 예시한 하나의 응용상황에 대한 개념도이고, 도 3은 본 발명의 일실시예에 따른 융합 서버 플랫폼 구조의 개념도이다.
도 1 내지 3을 참조하면, 본 발명의 일시예들에 따른 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼(100)은 개발자의 어플리케이션 내의 데이터 생성 내용을 입력 받기 위한 UI 생성부(110); 개발자가 해당 데이터 리소스를 활용을 위하여 외부 SNS와의 연결 및 서버 리소스에 접근하기 위한 URI 호출을 처리하고, 실시간 데이터 송수신을 지원하기 위한 URI 생성을 지원하는 API 생성부(120); 서버에 특정 클라이언트로부터의 리퀘스트(request)가 도착하였을 경우, 기설정된 기준에 따른 정상적인 리퀘스트인지 아닌지를 구별하여 해당 상기 특정 클라이언에 대한 API에 접근성을 검증하는 리퀘스트 검증부(130); 및 개발자에게 서버 연동에 필요한 리소스의 정의 및 API를 통한 상기 정의된 리소스의 활용을 허용하고, 클라이언트로부터 요청 리퀘스트 처리 및 상기 리퀘스트에 대한 데이터 생성을 처리하는 를 서버 관리부(140)포함할 수 있다. 여기서, 본 실시예에서는 융합 서버 플랫폼(100)이 서버(20) 내부에 있는 것으로 하였으나 상황에 따라 서부(20) 외부에 두는 것도 가능하며, 융합 서버 플랫폼(100)의 위치로 인하여 본 발명의 사상이 제한되는 것은 아니다.
일실시예에 따른, API 생성부(120)는, 개발자가사용하고자 하는 데이터 구조에 따라 해당 데이터 구조에 따른 DB 를 생성하고, 해당 DB에 접근할 수 있는 API를 자동으로 생성하는 오픈 API 생성부(121); 및 실시간 데이터 송수신 요구시 비동기 통신 방식을 지원하여 서버내의 부하는 최대한 줄이고, 클라이언트-서버간 실시간 통신을 제공하는 실시간 API 생성부(122)를 포함할 수 있다.
일실시예에 따른, 오픈 API 생성부(120)는, 하이브리드 어플리케이션의 경우, Web API를 통한 데이터 입출력이 가능하다.
일실시예에 따른, 실시간 API 생성부(120)는, 어플리케이션 내에서 사용자간의 실시간 메세징, 게임 내에서의 실시간 대전 등의 실시간 데이터 송수신을 어플리케이션에 적용가능하게 하며, 웹 기반 프로토콜을 지원하는 네이티브 어플리케이션에서도 적용할 수 있다.
API 생성부(120)는, 개발자가 자신이 사용하고자 하는 데이터를 정의 하면 해당 데이터 리소스를 저장하기 위한 DB를 생성하고, 생성된 리소스에 접근하여 CRUD 기능을 활용하기 위한 API를 생성할 수 있고, 상기 생성된 API는 URI 형태로 접근이 가능하며, 개발자가 해당 URI를 통해 어플리케이션 내에서 리소스로 접근할 수 있다.
리퀘스트 검증부(130)는, 네이티브 어플리케이션이나 하이브리드 어플리케이션의 경우에도 변조된 어플리케이션이나 악의적인 해킹 툴을 이용하여 서버 내의 리소스를 해킹하려는 것인지를 검증할 수 있다.
리퀘스트 검증부(130)는, 최초 어플리케이션의 세션관리 단계부터 사용자의 활동들을 시간 단위로 체크하고 정해진 일정한 틀을 벗어나는 리퀘스트에 대하여서 제한을 두는 서버 기반 보안 방식을 적용할 수 있다.
리퀘스트 검증부(130)는, 상기 리퀘스트된 결과가 응답(response)를 통해 전달되는 데이터의 유효성을 확인하고 데이터 질의 조건이 충족되었을 경우, 상기 응답(response) 까지의 시간을 최종 속도로 인정할 수 있다.
서버 관리부(140)는, 어플리케이션에 대한 개발자 인증키 및 어플리케이션 인증키의 2가지 인증키를 발급하고, 상기 2가지의 인증키에 따라 API를 통해 서버 리소스에 대한 접근을 허용할 수 있다.
본 발명의 일실시예에 따르면, 개발하고자 하는 개발 제품은 스마트폰 어플리케이션 개발자들이 서버 개발 없이도 데이터 제공 서비스를 활용한 어플리케이션을 개발할 수 있도록 하는 클라우드 기반의 서비스로서 아래와 같은 특장점이 있다.
1) 어플리케이션 개발시 서버 개발 공수가 없다.
2) 개발자들이 클라이언트 개발에만 집중하면 되므로 양질의 콘텐츠 및 어플리케이션 개발이 가능하다.
3) 표준화된 프로세스를 제공하므로, 타 서비스와의 호환이 가능하다.
4) Oauth 2.0, node.js 등의 최신 기술을 활용하여 보안 및 어플리케이션 퍼포먼스가 매우 뛰어나다.
5) real time API 까지 지원하여 기존의 Open API 를 뛰어 넘어, 메세징, 리얼타임 대전 게임까지 개발 지원이 가능하다.
오픈 API 생성부(121)는 Open API를 자동으로 생성하고, 모바일 어플리케이션 서버 데이터도 생성하다. 개발자가 CMS 포털을 통해 사용하고자 하는 Data 구조를 정의하고 설계하면, 융합 서버 플랫폼(100)이 해당 Data 구조에 따른 DB를 생성하고, 해당 DB에 접근할 수 있도록 하는 Open API를 자동으로 생성할 수 있다.
통상 어플리케이션 개발자들은 java나 Objective-C 등의 언어를 활용하여 안드로이드와 아이폰의 네이티브 네이티브 어플리케이션이라 함은 별도의 서브 시스템에 의존하지 않고 직접 운영체제의 API 를 활용하여 개발된 어플리케이션을 의미한다.
그러나 해당 어플리케이션 내에 여러가지 다양한 데이터를 제공하고자 할 경우, 서버 개발에 대한 추가적인 개발이 요구된다.
예를 들어 어떤 헬스 트레이너가 자신의 노하우를 어플리케이션을 통해 제공하고, 사용자들의 반응을 실시간으로 확인하고자 할 경우, 사용자들이 어플리케이션을 통해 헬스 노하우에 대한 코멘트를 입력하면 해당 코멘트는 서버에 저장되어야 하고, 저장된 코멘트가 다시 어플리케이션에서 보여야 한다. .
이와 같은 개발을 위해서는 서버 내에 DB를 설계하여 구성해야 할 뿐만 아니라, DB 입출력을 위한 웹 프로그래밍 기술이 필요하다. 대부분의 클라이언트 어플리케이션 개발자들은 이에 필요한 웹 관련 기술은 보유하고 있지 않기 때문에 개발에 큰 어려움을 겪고 있다.
본 발명에 있어서, 주요한 기능은 개발자가 웹 포털을 통해 어플리케이션에 필요한 데이터들을 정의하면 정의된 데이터들을 위한 DB 테이블이 자동으로 생성되고, 개발자는 생성된 DB에 접근할 수 있는 API URI(Uniform Resource Identifier) 를 부여받는다. 이후 개발자는 해당 URI 를 통해 자신이 정의한 자원에 대하여 CRUD(Create Read Update Delete) 기능을 수행할 수 있다.
상술하면, Open API를 위한 URI 자동 생성과 관련해서는, 개발자가 자신이 사용하고자 하는 데이터를 정의하면 해당 정의대로 DB가 생성되고 생성된 DB 리소스에 Open API를 통해 접근할 수 있도록 하기 위한 URI가 자동 생성된다.
클라이언트 요청 검증 알고리즘과 관련해서는, 어플리케이션에서 요청하는 리퀘스트(request)에 대한 유효성 검증 알고리즘 구현 및 S/W 모듈을 통해서 구현된다.
OpenAPI SET은 어플리케이션에서 클라우드 서비스 리소스에 접근하기 위한 API이고, Real Time API는 메세징, 대전 등 실시간 데이터 교환을 위한 API이며, 개발자 포털은 개발자 등록, 어플리케이션 등록, Open API 생성등의 서비스 이용을 위한 사이트이다.
클라이언트의 데이터 요청에 대한 서버 검증 시스템과 관련해서는, 클라우드 환경에서 가장 문제가 되고 있는 것이 바로 클라이언트의 리소스 요청에 대해 검증하는 것이다. 서버에 특정 클라이언트로부터의 리퀘스트(request)가 도착하였을 경우, 그 리퀘스트가 일반적이고 정상적인 리퀘스트 인지 아닌지를 구별하는 것은 서비스의 신뢰도를 좌우하는 대단히 중요한 문제이다. .
웹 환경하에서 서버간의 데이터 통신은 해당 서비스 서버간의 신뢰(trust) 인증을 통해 리퀘스트의 유효성 여부를 확인할 수 있으나 네이티브 어플리케이션이나 하이브리드 어플리케이션의 경우, 모두 특정 도메인에 종속되어 있는 어플리케이션이 아니므로 변조된 어플리케이션이나 악의적인 해킹 툴을 이용하여 서버내의 리소스를 해킹할 수 있는 우려가 다분히 존재한다.
이와 같은 문제를 해결하기 위해서는 클라이언트가 아닌 서버 내에 요청 검증 시스템을 탑재해야 하며, 어플리케이션 개발자가 자신의 어플리케이션을 개발을 위해 이러한 요청 검증 시스템까지 개발한다는 것은 대단히 어려운 일이다.
본 발명에서 해결하고자 하는 과제는, 개발 서버의 클라이언트 검증 시스템은 클라이언트의 요청이 있을 경우, 해당 요청에 대한 선결조건을 먼저 해결하여야, 해당 요청이 정상적인 요청으로 받아들여질 수 있도록 하는 알고리즘을 적용한다.
개발자 관리를 위한 CMS 포털과 관련해서는, 개발자가 당 플랫폼을 활용하고, 해당 API 를 얻기 위한 CMS 포털로서 아래와 같은 기능을 수행한다.
융합 서버 플랫폼(100)의 기능을 살펴보면, 데이터 정의 기능은 자신에게 필요한 데이터를 정의하고 정의된 데이터 구조가 자동으로 DB 생성되는 것이고, 대부분의 어플리케이션이 일반적으로 사용하는 DB 스키마 및 데이터 구조가 존재하므로, 템플릿화 하여 자동 생성(위자드) 기능을 지원하는 것이다.
API 생성 및 확인 기능은 개발자가 자신이 사용하고자 하는 데이터를 정의 하면 해당 데이터 리소스를 저장하기 위한 DB 가 생성되고 생성된 리소스에 접근하여 CRUD 기능을 활용하기 위한 API가 생성되게 하는 것이다. 자동으로 생성된 API 는 URI 형태로 접근이 가능하며, 개발자는 해당 URI 를 통해 어플리케이션 내에서 리소스로 접근할 수 있다.
SDK 다운로드 기능은 융합 서버 플랫폼(100)의 활용을 위해서 기본적으로 어플리케이션 내에 라이브러리 탑재를 통해 수행되고, 해당 라이브러리를 다운로드 하고 해당 라이브러리의 버전 관리를 진행한다.
개발자 등록/인증 기능은 개발자가 먼저 어플리케이션을 등록하기 전에 자신의 개발자 정보를 먼저 등록해야 하며, 등록된 개발자는 서버 리소스에 접근하기 위한 고유 KEY 값을 발급받도록 하는 것이다.
어플리케이션 등록/인증 기능은 개발자 등록이 완료되면 개발자는 자신이 개발한 어플리케이션을 개발자 포털에 등록해야 데이터를 생성하고 생성된 데이터에 대한 API 접근 권한을 확보할 수 있도록 하는 것이다. 개발자 포털에 등록된 어플리케이션은 각각 인증 키가 발급 되어 2가지의 인증값(개발자 인증키, 어플리케이션 인증키) 를 통해서만 API 를 통해 서버 리소스에 접근할 수 있다.
도 4는 본 발명의 일실시예에 따른 융합 서버 플랫폼이 지원 가능한 기기 및 OS의 상호 관계도이고, 도 5는 본 발명의 일실시예에 따른 어플리케이션을 위한 서버 기반 서비스 플랫폼의 개념도이고, 도 6은 본 발명의 일실시예를 구현하기 위한 테이블 자동 생성을 위한 시퀀스 다이어그램이다.
도 7은 본 발명의 일실시예를 구현하기 위한 서버 리소스에 접근하기 위한 URI 호출에 따른 CRUD 처리도이고, 도 8은 본 발명의 일실시예를 구현하기 위한 서버 API 아키텍처이다.
본 발명의 일실시예에 따른 오픈 소셜 기반의 융합 서버 플랫폼(100)을 구현기 위한 주요 기술은 Open API를 위한 자동 URI 생성, 웹 기반 소셜 서비스 연동, node.js 기반 비동기 서버 처리 기술, 외부 SNS 연동 관련 기술, 클라이언트 request 유효성 검증 기술, 하이브리드 폰갭 플러그인 구현 기술이다.
본 발명의 일실시예에 따른 오픈 소셜 기반의 융합 서버 플랫폼(100)이 적용가능한 범위 또는 서비스는 자동 URI 생성의 경우 어플리케이션 개발자들이 DB를 생성하고 해당 DB에 접근하기 위한 Open API를 구성하는 것은 서버 미들웨어까지 설치해야 하는 어려움이 있다. 자동 URI 생성 기술의 경우 개발자는 별도의 기술 개발을 통해 Open API를 위한 URI를 생성하는 것이 아니라 해당 URI를 자동화하여 생성시키므로, 별도의 개발 없이 리소스 접근 기능을 활용할 수 있다.
외부 SNS 연동 관련 기술의 경우, 현재 개발되는 어플리케이션은 대부분 Facebook 이나 Twitter, 게임의 경우는 카카오톡과 연계되어 다양한 소셜 활동을 지원하는 경우가 많다. 본 발명의 일실시예에 따른 오픈 소셜 기반의 융합 서버 플랫폼(100)에 적용되는 SNS 관련 기능은 외부 SNS와의 연동 부분을 별도 개발없이 쉽게 가능하도록 함으로서 융합 서버 플랫폼(100)을 활용하는 어플리케이션이 소셜 기능을 통해 booming-up 할 수 있는 기반을 제공한다.
클라이언트 리퀘스트(request) 유효성 검증 기술의 경우, 공개된 리소스의 경우 Open API 를 통해 public 하게 제공되어도 크게 무리가 없으나 사용자의 로그인 정보 혹은, 결제 관련 정보등과 같은 내용은 public 하게 오픈 되거나 악의적 사용자에 의해 조작되어서는 안 되는 리소스들이다.
본 발명의 일실시예에 적용 리퀘스트(request) 유효성 검증 기술은 최초 어플리케이션의 세션 관리부터 사용자의 활동(activities)들을 시간 단위로 체크하고 정해진 일정한 틀을 벗어나는 리퀘스트에 대하여서 제한을 두는 서버 기반 보안 방식임. 당 보안 방식을 활용하는 어플리케이션은 Oauth 2.0 이나 https 등의 보안 처리를 활용하는 것보다 더 진보한 보안 처리 방식을 통해 리퀘스트를 관리할 수 있도록 하고 있다.
더욱 상세하게는, 기본 SNS 기능 제공을 위한 Open API의 경우, 융합 서버 플랫폼은 마상소프트가 기개발하여 서비스 준비중인 SNS 플랫폼을 기본적으로 탑재할 수 있도록 기반 기능을 제공한다. 어플리케이션 개발자들은 원할 경우, 자신의 어플리케이션 내에 아래 기능들을 별도의 개발 없이 추가적으로 탑재하여 서비스 할 수 있다.
우선, 클라이언트의 request 유효성 여부 검증을 위한 서버 알고리즘에 관하여 설명한다.
클라이언트의 API 접근시 접근 유효성 체크 알고리즘의 경우, 네이티브 앱이든, 하이브리드 앱이든 해당 클라이언트가 서버에 API 를 통한 request 를 요청할 경우, 해당 request 가 정상적인 어플리케이션에서 수신 된 것인지, 아니면 제 삼의 악의적 사용자에 의해 요청된 것인지에 대한 판별은 최근 해킹 등과 관련한 이슈에서 매우 중요한 문제이다.
다음, 사용자의 데이터 정의에 따른 DB 생성 및 접근 URI 자동 생성 알고리즘에 대하여 설명한다. 개발자의 데이터 정의 UI 소프트웨어(웹 기반)의 경우, 개발자는 개발자 포털에 개발자 등록을 진행한 후 자신의 어플리케이션에 활용될 데이터들을 표준화된 UI를 통해 정의한다. 표준화된 UI 는 개발자들의 데이터 사용 특성을 고려하여 기본적으로 템플릿 화 하여 제공되므로, 별도의 데이터 정의 기술이나 개념이 없이도 위자드 형식의 절차를 따라 쉽게 데이터 정의 및 구성이 가능하다.
개발자로부터 전달된 데이터 정의에 따른 테이블 생성 알고리즘(S/W)의 경우, 개발자가 데이터 정의 UI 를 통해 정의한 내용은 표준화된 프로세스에 따라 별도의 알고리즘을 거쳐 메인 DB 에 생성이 되고, 생성된 테이블 접근을 위한 API 형성을 가능케 한다.
생성된 테이블내에 접근하기 위한 URI 생성 모듈(S/W)의 경우, 개발자가 데이터 정의 UI 를 통해 최종적으로 데이터를 정의하고 해당 테이블까지 생성이 완료 되면 개발자는 CMS 를 통해 해당 리소스에 접근할 수 있는 아래와 같은 URI 주소를 확인 할 수 있다.
그러면 해당 URI 를 통해 JSON JSON(제이슨, JavaScript Object Notation)은, 인터넷에서 자료를 주고받을 때 그 자료를 표현하는 방법이다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는 데 적합. 그 형식은 자바스크립트의 구문 형식을 따르지만, 프로그래밍 언어나 플랫폼에 독립적이므로 C, C++, C#, 자바, 자바스크립트, 펄, 파이썬 등 많은 언어에서 이용할 수 있음. RFC 4627로 규격화된다.
혹은 XML XML은 HTML(hypertext markup Language)과 같은 마크업언어(markup language, 문서 처리를 지원하기 위해 문서에 추가되는 정보). 1996년 월드와이드웹컨소시엄(W3C : World Wide Web Consortium)에서 제안한 뒤, 1998년 2월 W3C에서는 차세대 인터넷 표준언어로 XML 1.0 표준을 발표하고 권장 규격으로 채택한다.
이하, 자동 생성 알고리즘에 따른 Open API 생성 모듈에 대하여 설명한다.
외부 SNS connetion 을 위한 plug-in API SET (S/W)의 경우, 어플리케이션내에서 외부 SNS 연동 기능을 활용하기 위한 기본 plug-in. ekd 플랫폼에서 기본적으로 FaceBook 연동을 지원하며, 추가적인 개발을 통하여 외부 SNS서비스 연동이 가능하다.(트위터, 카카오톡, 라인 등)
서버 리소스에 접근하기 위한 URI 호출에 따른 CRUD 처리(S/W)의 경우, 클라이언트에서 서버로 API를 통해 리소스에 대한 조회, 등록, 수정, 삭제 등의 요청을 할 경우, 서버는 해당 리퀘스트(request)를 확인하고 관련 처리를 진행한다.
본 발명의 일실시예에 따른 오픈 소셜 기반의 융합 서버 플랫폼(100)을 통해서, 서버 연동에 필요한 리소스를 개발자 포털을 통해 개발자가 자유롭게 정의 할 수 있고, 정의된 데이터를 API 를 통해 자유롭게 활용할 수 있어 별도의 서버 개발이 필요 없다. Oauth 2.0 과 HTTPS 뿐만 아니라 클라이언트의 리퀘스트(request)를 검증하는 알고리즘 특허를 적용하여, 보안 문제를 상당 부분 해결하였다. node.js 기반의 비동기 통신 기술을 적용하여 API 호출에 따른 서버 부하를 감소시키고, 해당 기능 역시 API 를 통해 개발자들이 자유롭게 호출 가능하기 때문에 별도의 서버 관리 부담이나 개발 공수가 없고, 표준화된 절차와 설계를 통해 개발되는 프레임워크를 다수의 개발자가 공동으로 활용함에 따라 다양하고 지속적인 개발자 피드백을 받을 수 있고 이에 따른 성능 개선으로 충분한 속도와 퍼포먼스의 서버 서비스를 개발자들이 활용할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다. 또한, 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있다.
110 : UI 생성부
120 : API 생성
130 : 리퀘스트 검증부
140 : 서버 관리부
120 : API 생성
130 : 리퀘스트 검증부
140 : 서버 관리부
Claims (10)
- 개발자의 어플리케이션 내의 데이터 생성 내용을 입력 받기 위한 UI 생성부;
개발자가 해당 데이터 리소스를 활용을 위하여 외부 SNS와의 연결 및 서버 리소스에 접근하기 위한 URI 호출을 처리하고, 실시간 데이터 송수신을 지원하기 위한 URI 생성을 지원하는 API 생성부;
서버에 특정 클라이언트로부터의 리퀘스트(request)가 도착하였을 경우, 기설정된 기준에 따른 정상적인 리퀘스트인지 아닌지를 구별하여 해당 상기 특정 클라이언에 대한 API에 접근성을 검증하는 리퀘스트 검증부; 및
개발자에게 서버 연동에 필요한 리소스의 정의 및 API를 통한 상기 정의된 리소스의 활용을 허용하고, 클라이언트로부터 요청 리퀘스트 처리 및 상기 리퀘스트에 대한 데이터 생성을 처리하는 서버 관리부;를 포함하는 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼. - 제1항에 있어서,
상기 API 생성부는
개발자가사용하고자 하는 데이터 구조에 따라 해당 데이터 구조에 따른 DB 를 생성하고, 해당 DB에 접근할 수 있는 API를 자동으로 생성하는 오픈 API 생성부; 및
실시간 데이터 송수신 요구시 비동기 통신 방식을 지원하여 서버내의 부하는 최대한 줄이고, 클라이언트-서버간 실시간 통신을 제공하는 실시간 API 생성부를 포함하는 것을 특징으로 하는 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼. - 제2항에 있어서,
상기 오픈 API 생성부는, 하이브리드 어플리케이션의 경우, Web API를 통한 데이터 입출력이 가능한 것을 특징으로 하는 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼. - 제2항에 있어서,
상기 실시간 API 생성부는, 어플리케이션 내에서 사용자간의 실시간 메세징, 게임 내에서의 실시간 대전 등의 실시간 데이터 송수신을 어플리케이션에 적용가능하게 하며, 웹 기반 프로토콜을 지원하는 네이티브 어플리케이션에서도 적용하는 것을 특징으로 하는 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼. - 제1항에 있어서,
상기 API 생성부는, 개발자가 자신이 사용하고자 하는 데이터를 정의 하면 해당 데이터 리소스를 저장하기 위한 DB를 생성하고, 생성된 리소스에 접근하여 CRUD 기능을 활용하기 위한 API를 생성하는 것을 특징으로 하는 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼. - 제5항에 있어서,
상기 API 생성부는, 상기 생성된 API는 URI 형태로 접근이 가능하며, 개발자가 해당 URI를 통해 어플리케이션 내에서 리소스로 접근할 수 있는 것을 특징으로 하는 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼. - 제1항에 있어서,
상기 리퀘스트 검증부는, 네이티브 어플리케이션이나 하이브리드 어플리케이션의 경우에도 변조된 어플리케이션이나 악의적인 해킹 툴을 이용하여 서버 내의 리소스를 해킹하려는 것인지를 검증하는 것을 특징으로 하는 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼. - 제7항에 있어서,
상기 리퀘스트 검증부는, 최초 어플리케이션의 세션관리 단계부터 사용자의 활동들을 시간 단위로 체크하고 정해진 일정한 틀을 벗어나는 리퀘스트에 대하여서 제한을 두는 서버 기반 보안 방식을 적용하는 것을 특징으로 하는 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼. - 제7항에 있어서,
상기 리퀘스트 검증부는, 상기 리퀘스트된 결과가 응답(response)를 통해 전달되는 데이터의 유효성을 확인하고 데이터 질의 조건이 충족되었을 경우, 상기 응답(response) 까지의 시간을 최종 속도로 인정하는 것을 특징으로 하는 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼. - 제1항에 있어서,
상기 서버 관리부는, 어플리케이션에 대한 개발자 인증키 및 어플리케이션 인증키의 2가지 인증키를 발급하고, 상기 2가지의 인증키에 따라 API를 통해 서버 리소스에 대한 접근을 허용하는 것을 특징으로 하는 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160167355A KR20180066915A (ko) | 2016-12-09 | 2016-12-09 | 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160167355A KR20180066915A (ko) | 2016-12-09 | 2016-12-09 | 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180066915A true KR20180066915A (ko) | 2018-06-20 |
Family
ID=62769694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160167355A KR20180066915A (ko) | 2016-12-09 | 2016-12-09 | 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20180066915A (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102124499B1 (ko) * | 2018-11-30 | 2020-06-19 | 주식회사 코레토 | 클라우드 서비스 기반의 어플리케이션 서비스 제공 방법, 장치 및 컴퓨터-판독가능 매체 |
WO2022220352A1 (ko) * | 2021-04-16 | 2022-10-20 | 노아에스앤씨 주식회사 | 멀티미디어 재난정보를 제공하는 open api 서비스 시스템 |
KR20230072258A (ko) * | 2021-11-17 | 2023-05-24 | 주식회사 토브데이터 | 데이터베이스에 대한 api 기반의 접근 제어 시스템 및 방법 |
WO2023248179A1 (en) * | 2022-06-22 | 2023-12-28 | Contentful GmbH | App actions in a content management system |
-
2016
- 2016-12-09 KR KR1020160167355A patent/KR20180066915A/ko unknown
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102124499B1 (ko) * | 2018-11-30 | 2020-06-19 | 주식회사 코레토 | 클라우드 서비스 기반의 어플리케이션 서비스 제공 방법, 장치 및 컴퓨터-판독가능 매체 |
WO2022220352A1 (ko) * | 2021-04-16 | 2022-10-20 | 노아에스앤씨 주식회사 | 멀티미디어 재난정보를 제공하는 open api 서비스 시스템 |
KR20220143462A (ko) * | 2021-04-16 | 2022-10-25 | 노아에스앤씨 주식회사 | 멀티미디어 재난정보를 제공하는 Open API 서비스 시스템 |
KR20230072258A (ko) * | 2021-11-17 | 2023-05-24 | 주식회사 토브데이터 | 데이터베이스에 대한 api 기반의 접근 제어 시스템 및 방법 |
WO2023248179A1 (en) * | 2022-06-22 | 2023-12-28 | Contentful GmbH | App actions in a content management system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12047471B2 (en) | Integration framework and user interface for embedding transfer services into applications | |
US20200351268A1 (en) | System and method for proxying federated authentication protocols | |
US11924214B2 (en) | Systems and methods for accessing cloud resources from a local development environment | |
CN109768965B (zh) | 一种服务器的登录方法、设备及存储介质 | |
US9648043B2 (en) | Services within reverse proxy servers | |
US9225711B1 (en) | Transferring an authenticated session between security contexts | |
US10911426B2 (en) | Custom authenticator for enterprise web application | |
US11265304B2 (en) | Seamless authentication for an application development platform | |
CN106209726B (zh) | 一种移动应用单点登录方法及装置 | |
US10375073B2 (en) | Configuration based client for OAuth authorization with arbitrary services and applications | |
KR20180066915A (ko) | 웹기반 어플리케이션 개발을 위한 오픈 소셜 기반의 융합 서버 플랫폼 | |
CN105426448B (zh) | 界面显示方法、装置及系统 | |
EP4152188A1 (en) | Methods, systems, and apparatuses for improved multi-factor authentication in a multi-app communication system | |
Tamboli | Build your own IoT platform | |
Kalali et al. | Developing RESTful services with JAX-RS 2.0, WebSockets, and JSON | |
Putz et al. | Future-proof web authentication: Bring your own FIDO2 extensions | |
Sergiienko | WebRTC Cookbook | |
KR20240151333A (ko) | 오픈 소셜 기반으로 웹 애플리케이션의 개발을 제공하는 웹 애플리케이션 개발 플랫폼 | |
Prusty | Modern JavaScript Applications | |
John | Hands-On Spring Security 5 for Reactive Applications: Learn effective ways to secure your applications with Spring and Spring WebFlux | |
Selvaraj | Building RESTful APIs with Ruby on Rails | |
CN117294445A (zh) | 富媒体文件传输方法、装置和系统 | |
Ghatol et al. | Using phonegap plug-ins | |
Mardan et al. | HackHall | |
Ambler et al. | Kraken |