BaaS(Backend as a Service)

BaaS는 Backend as a Service 약자로 모바일에서 필요한 Backend 기능을 추상화하여 표준 API(JSON 등)로 제공하는 클라우드 서비스의 한 종류 입니다.
간단히 설명하면, 여러분이 앱을 만드는 경우 앱에서 사용하기 위한 데이터, 사용자 정보등의 Backend 기능을 여러분의 서버에 구성하지 않고, BaaS 사이트(또는 연동)에서 제공하는 기능을 설정(커스터마이징) 후 이용하는 방식입니다. 별도의 여러분의 Backend 서비스 개발 과정이 생략되어 개발 시간을 대폭 단축 할 수 있습니다.


대표적인 BaaS 제공자로는 KinveyPharseBass.io(국내)가 있으며 제공되는 기능은 푸시알림, SNS 연동, 사용자 관리, 데이터 관리, 이미지/사운드 등의 파일 관리 등이 있습니다.


RAD Studio XE6에서도 새롭게 BaaS 관련된 컴포넌트가 추가되었습니다.


현재는 대표적인 BaaS 서비스인 Kinvey와 Pharse를 제공합니다.

BaaS 컴포넌트


BaaS 컴포넌트는 위와 같이 제공자 컴포넌트와 서비스 기능 컴포넌트로 구분됩니다.

서비스 기능 컴포넌트는 BaaS에서 제공되는 대표적인 기능을 사용할 수 있는 컴포넌트이며, 기능별로 추상화(표준화)되어 제공되어 제공자별로 별도로 구성하지 않아도 됩니다. 앱 개발 시 서비스 기능 위주로 개발하고 제공자를 연결하면 제공자의 서비스와 연결되도록 아주 유연한 구조로 설계가 되어있습니다.

즉, 향후 제공자가 추가된다면, 기존에 구현된 기능을 그대로 사용하고 제공자 컴포넌트만 변경해 적용 할 수 있습니다. 


그리고 BaaS 컴포넌트는 멀티플랫폼을 지원하여, VCL과 FMX에서 모두 사용이 가능합니다.

즉, VCL에서 사용자 및 데이터 관리와 푸시메시지 전송등을 기존의 어플리케이션에서 적용할 수도 있습니다.

BaaS 관련 샘플

다음은 엠바카데로에서 제공하는 BaaS 컴포넌트 관련 설명과 샘플소스입니다. 

(개인적으로 GCM 부분을 따라해 봤는데 아주 쉽게 되었습니다.)

▶ Remote Notification(GCM, APN)


Mobile Tutorial: Using Remote Notifications


메시징 서비스 설정 - 구글과 애플에서 클라우드 서비스 사용을 위한 설정


클라우드 서비스에 구글과 애플 계정 연결 설정


어플리케이션 구현 - 컴포넌트를 이용 클라우드 메시지 수신하도록 구현 및 테스트


데이터에 트리거(Trigger)를 걸어 데이터 변경 시 데이터 전송

데스크탑에서 클라우드 메시지 전송


▶ Storage 이용

BaaS 컴포넌트를 이용한 ToDo List


사용자 계정관리(생성)


▶ 파일 업로드/다운로드


Uploading images to the cloud with BaaS in RAD Studio XE6


C++빌더 샘플 다운로드


      ▶ VCL 어플리케이션에서 특정 사용자에게 푸쉬메시지 전송

      Custom Endpoint 설정과 어플리케이션 데모

      원글: http://blog.hjf.pe.kr/187
      번호 제목 글쓴이 날짜 조회 수
      공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 17997
      공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 16332
      공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 18959
      공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 24570
      공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 25938
      공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 21310
      공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 41901
      공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 177184
      1003 [도서/PDF/소스코드] 델파이 Begin...End - 19장. 컴포넌트 작성 관리자 2019.08.20 581
      1002 [도서/PDF/소스코드] 델파이 Begin...End - 18장. 인트라웹을 이용한 웹 프로그래밍 관리자 2019.08.20 550
      1001 [도서/PDF/소스코드] 델파이 Begin...End - 17장. DataSnap REST 관리자 2019.08.20 571
      1000 [도서/PDF/소스코드] 델파이 Begin...End - 16장. DataSnap 웹 관리자 2019.08.20 522
      999 [도서/PDF/소스코드] 델파이 Begin...End - 15장. 웹 브로커를 이용한 웹 프로그래밍 [1] 관리자 2019.08.20 595
      998 [도서/PDF/소스코드] 델파이 Begin...End - 14장. 분산처리(DataSnap) 관리자 2019.08.20 686
      997 [도서/PDF/소스코드] 델파이 Begin...End - 13장. ADO를 사용한 데이터베이스 프로그래밍 관리자 2019.08.20 598
      996 [도서/PDF/소스코드] 델파이 Begin...End - 12장. DBExpress를 사용한 데이터베이스 프로그래밍 [1] 관리자 2019.08.19 632
      995 [도서/PDF/소스코드] 델파이 Begin...End - 11장. DLL 작성과 호출 관리자 2019.08.19 1039
      994 [도서/PDF/소스코드] 델파이 Begin...End - 10장. 보고서 작성하기 관리자 2019.08.19 606
      993 [도서/PDF/소스코드] 델파이 Begin...End - 9장. 예외(Exception) 처리 [1] 관리자 2019.08.19 598
      992 [도서/PDF/소스코드] 델파이 Begin...End - 8장. 필드 에디터 관리자 2019.08.19 530
      991 [도서/PDF/소스코드] 델파이 Begin...End - 6장. 데이터베이스 프로그래밍 개요 관리자 2019.08.19 630
      990 [도서/PDF/소스코드] 델파이 Begin...End - 7장. BDE를 사용한 데이터베이스 프로그래밍 [1] 관리자 2019.08.19 726
      989 [3분 완성] C++로 안드로이드&iOS 용 사진공유앱 완성하기 관리자 2019.08.14 394
      988 RAD스튜디오 로드맵 - 2019년 8월 관리자 2019.08.13 544
      987 [10.3 리오][업데이트 2] IDE 향상된 기능들 [4] 관리자 2019.08.12 529
      986 10.3.2 에서의 겟잇(GetIt) 설치 방법 안내 관리자 2019.08.12 469
      985 [도서/PDF/소스코드] 델파이 Begin...End - 5장. 디버깅 사용하기 관리자 2019.08.09 615
      984 [도서/PDF/소스코드] 델파이 Begin...End - 4장. 컴포넌트 라이브러리와 패키지 관리자 2019.08.09 603