RAD스튜디오, ‘엔터프라이즈’ 에디션을 선택하는 게 좋을까요?

이 글은 스테픈 볼이 작성한 기술백서 ‘RAD Studio, Should I Choose Enterprise?’를 요약 정리한 글입니다. 보다 자세한 내용은 다음 링크를 통해 전체 기술백서를 다운로드 받아서 확인할 수 있습니다.

RAD스튜디오 IDE에서는 델파이 (현대식 오브젝트 파스칼)와 C++빌더 (C++ 표준 기반) 를 모두 사용할 수 있습니다. RAD스튜디오의 강력한 라이브러리와 기능들은 델파이와 C++에서도 일부를 제외하고는 대부분 활용할 수 있습니다. 이번 글에서는 RAD스튜디오로 통칭하여 설명하고자 하니 참고 부탁 드립니다. 특정 언어에서만 사용 가능한 기능이 있는 경우에만 별도로 델파이 또는 C++로 쓰겠습니다. RAD스튜디오, 델파이, C++빌더가 각각 제공하는 기능들에 대한 모든 자세한 내용은 엠바카데로 웹사이트의 제품별 기능 매트릭스에서 확인할 수 있습니다.

RAD스튜디오의 에디션

대표적으로 세 가지 에디션이 있습니다. 프로페셔널, 엔터프라이즈, 아키텍트. 각 에디션의 특징들은 다음과 같습니다.

프로페셔널 에디션은 데이터베이스를 로컬로만 연결하면 되는 데스크탑, 모바일 앱을 개발하고자 하는 분들에게 유용한 에디션입니다. 윈도우 10 API, 로우 코드 애플리케이션 프로토타입, 멋진 네이티브 UI 등을 앱에 적용할 수 있습니다. 국내 기술 지원, 무상 교육 서비스는 제공되지 않습니다.

엔터프라이즈 에디션은 프로페셔널 에디션이 제공하는 모든 기능 + 데이터베이스 원격 연결 + 다양한 라이브러리들 + 모바일 데이터 저장소 보호 등의 기능이 제공되는 에디션입니다. 미들웨어 서버인 RAD서버 싱글 사이트 라이선스가 무상 제공됩니다. 국내 기술 지원, 무상 교육 서비스가 제공됩니다.

아키텍트 에디션은 엔터프라이즈 에디션이 제공하는 모든 기능 + 미들웨어 서버인 RAD서버 멀티 사이트 라이선스가 무상 제공됩니다. 여기에 개발 풀 패키지 제품들 – 래노렉스 (UI 테스트 도구), 아쿠아 데이터 스튜디오 (완벽한 데이터베이스 IDE), 센차 아키텍트 (자바스크립트 웹 개발 프레임워크) – 까지 모두 포함되어 있습니다. 국내 기술 지원, 무상 교육 서비스가 제공됩니다.

각 에디션 별 차이점은 데브기어 제품 홈페이지 > 제품 에디션 탭에서 확인할 수 있습니다. )

데이터, 네트워크로 액세스

파이어닥(FireDAC)은 초고속 데이터베이스 연결을 지원합니다.

RAD스튜디오는 데이터 액세스를 위한 파이어닥(FireDAC)이라는 컴포넌트를 제공하고 있습니다. 개발자들이 많이 사용하는 다양한 데이터베이스들을 폭넓게 지원합니다.

파이어닥은 데이터 액세스를 단순화하여 매우 빠르고, 개발에 필요한 모든 기능을 제공합니다. 실제로 부하가 많은 애플리케이션에 사용하면 좋습니다. 파이어닥은 공통 API를 제공해 특정 데이터베이스 기능에 연동해 있으면서도 성능 저하 없이 다른 데이터베이스 백엔드에 엑세스할 수 있습니다.

엔터프라이즈 에디션의 파이어닥은 네트워크 연결 기능이 추가 제공됩니다. 프로페셔널 에디션이 로컬, 임베디드 데이터베이스 연결만 지원한다면, 엔터프라이즈 에디션에서는 네트워크를 통한 연결까지 폭넓게 지원하는 것이죠. 또한 MongoDB와 같은 NoSQL 연결은 물론 ODBC 연결까지 가능합니다.

파이어닥 연결 구조

로컬/임베디드, 클라이언트/서버, 엔터프라이즈 연결까지 완벽 지원합니다. 개발자들이 많이 사용하는 대부분의 데이터베이스들을 지원합니다: 인터베이스, SLite, MySQL, SQL 서버, 오라클, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, DataSnap 그리고 ODBC까지.MongoDB 등 NoSQL도 지원합니다.
아직 BDE, ADO를 사용하고 계세요? – 지금이 기회입니다! (파이어닥으로)

많은 RAD스튜디오 개발자들이 수년 전에 개발된 ADO 또는 BDE로 되어 있는 애플리케이션의 연결 이슈나 배포 변경으로 인해 어려움을 겪고 있습니다. BDE는 아키텍처의 제한과 최신 윈도우와의 비호환성으로 인해 2000년 이후 사용이 중단되었습니다.

파이어닥은 처음부터 BDE를 대체하기 위한 제품으로 출시되었습니다. 때문에 BDE를 마이그레이션하기에 가장 간편한 방법입니다.

BDE를 파이어닥으로 마이그레이션하는 방법을 정리한 다음의 자료를 참고해보세요: https://devgear.co.kr/archives/4847

쉽고 빠른 마이그레이션 작업을 위해 엠바카데로와 데브기어는 다양한 무료 자동화 도구들을 제공하고 있습니다.

데이터베이스 관리 & 데이터 시각화

데이터베이스 개발, 관리 등을 해야 하거나 (액세스, 관리, 데이터를 시각적으로 분석) 또는 더 폭 넓은 연결이 필요하다면 (관계형, 클라우드, NoSQL 데이터베이스 플랫폼), 아키텍트 에디션을 선택하는 것이 좋습니다. 왜냐하면 데이터베이스와 시각화된 분석이 가능한 통합 개발 환경(IDE)인 아쿠아 데이터 스튜디오가 제공되기 때문입니다.

결론

프로페셔널 에디션은 여러분의 애플리케이션에 데이터 저장소가 필요하지 않은 경우 선택하면 됩니다.

엔터프라이즈 에디션은 네트워크를 통해 원격 데이터 연동이 필요한 경우 선택하면 됩니다.

아키텍트 에디션은 데이터베이스 범위까지 관리할 수 있는 아쿠아 데이터 스튜디오가 제공되므로, 관련 기능이 필요한 분들에게 적합합니다.

데이터를 원격으로 액세스하세요.

데이터는 폭발적으로 증가하고 있고, 이전과 비교할 수 없을 정도로 많이 생성되고 또 수집 되고 있습니다. 최근 데이터 환경의 핵심은 바로 원격 액세스입니다. 이 방식은 원격 데스크탑, 웹 애플리케이션, 모바일 앱, 마이크로서비스 에코 시스템의 일부를 통해 API에 액세스 함으로써 가능합니다.

원격 데이터를 로컬 데이터와 다르게 처리해야 하는 이유

데이터베이스 포트를 외부로 오픈 하는 것은 보안성 측면에서 결코 완벽한 방법이 아닙니다. 고객과 비즈니스 데이터를 침해할 수 있는 쿼리를 누구나 실행할 수 있기 때문이죠. 그리고 무선 네트워크를 통한 소켓 연결은 안정적이지 못하고, 관리 또한 어렵습니다. 사용자 경험(UX)에도 좋지 못하죠. 그렇다면 해답은 무엇일까요?

미들 티어와 N-티어 아키텍처

미들 티어는 원격으로 연동된 애플리케이션의 데이터 계층에 호출 및 액세스되는 정보들을 보호할 수 있는 기능들을 제공할 수 있는 방법을 제공합니다.

RAD스튜디오는 총 3가지 미들-티어 기술을 제공하고 있습니다.

  • 웹 서비스 – XML 기반 SOAP 호출
  • 데이터스냅(DataSnap) – 세션 지원 원격 데이터 (MIDAS 기반)
  • RAD서버 – JSON 지원이 가능한 뛰어난 확장성을 갖춘 MEAP

웹 서비스는 2001년부터 RAD스튜디오에서 지원하기 시작하였으며, XML 기반의 개방형 표준을 활용합니다 (그래서 어떤 프로그래밍 언어와도 함께 사용할 수 있습니다). 프로페셔널을 포함한 상위 에디션에서는 기본적인 데이터 전달 기능만을 제공합니다. 엔터프라이즈와 아키텍트 에디션에서는 데이터 전달 기능과 함께 더욱 뛰어난 데이터셋 파싱 기능과 XML 변환 기능을 제공합니다.

데이터스냅(DataSnap, COM 기반의 MIDAS에서 진화한 기술)은 HTTP(S) 연결, 상태 및 비상태 세션을 모두 지원합니다. 데이터를 트래버싱(traversing) 및 업데이트 할 수 있는 고급 기능들을 제공하며, 서버에서 클라이언트로 이벤트를 푸시할 수 있는 뛰어난 기능들을 제공합니다 (예. 실시간 채팅 프로그램)

RAD서버는 MEAP (Mobile Enterprise Application Platform)으로 미들-티어 중에서 확장성이 가능 뛰어납니다. 더욱 자세한 내용은 https://devgear.co.kr/archives/products/rad-server를 참고하세요.

최신 웹 표준과 JSON을 기반으로 하는 RAD서버는 모든 현대 언어들과도 함께 사용할 수 있습니다. 웹 개발을 해야 하고 자바스크립트(JavaScript)를 사용하고 싶다면, 센차 아키텍트(아키텍트 에디션에 포함되어 있음)를 사용해서 RAD서버를 로우 코드 방식으로 호출할 수 있습니다.

RAD서버는 싱글 사이트와 멀티 사이트 라이선스가 있는데, 엔터프라이즈 에디션에는 싱글 사이트가 무상 제공되고 아키텍트 에디션은 멀티 사이트를 무상으로 제공합니다.

RAD서버 활용 기술자료는 https://devgear.co.kr/archives/products/rad-server#resources 를 참고하세요.

결론

파이어닥(FireDAC)은 매우 뛰어난 로컬 네트워크 연결을 제공합니다. 원격 데이터 연결 (특히 모바일 네트워크).이 필요하다면 REST를 활용하는 게 좋습니다.

RAD스튜디오 엔터프라이즈는 n-티어 기술을 제공하는데 뛰어난 보안성과 확장 가능한 미들-티어를 통해 신속한 개발이 가능합니다.

RAD스튜디오는 마이크로 서비스 API 퍼블리싱 뿐만 아니라 뛰어난 연결성까지 갖추고 있습니다. 그리고 REST 디버거 도구도 제공하죠. 데이터 노출이 간편하면서도 여러 API를 사용하는 솔루션을 제공해야 하거나 단일 로그온 솔루션이 필요한 경우라면, RAD서버를 적극 검토해 볼 필요가 있습니다.

데브기어는 이와 같은 기술에 대한 개발자들의 이해를 돕기 위한 데이터 활용 강의를 격월로 진행하고 있습니다.

리눅스

서버? 데스크탑? 델파이는 둘 다 지원하죠!

경제적인 솔루션이 필요하다면, 리눅스가 호스팅에 이상적이죠. RAD스튜디오를 사용해서 개발할 때의 강점 중 하나는 컴포넌트 기반이라는 점과 크로스 플랫폼 런 타임 라이브러리 (RTL)라는 점입니다. 이러한 라이브러리들을 활용해 기능을 캡슐화 할 수 있는데, 그러면 고급 개체 지향 프로그래밍(OOP)를 사용해서 다양한 플랫폼들을 동일한 방법으로 지원할 수 있습니다. 즉 윈도우, 맥OS, 리눅스, 안드로이드, iOS를 네이티브로 컴파일 할 수 있을 뿐만 아니라, 단 하나의 코드 베이스만으로 이 모든 플랫폼용 앱을 개발할 수 있다는 의미입니다.

리눅스는 일반적으로 호스팅 비용을 절감하고자 하는 경우 많이 사용합니다. 백엔드 서버 (예: RAD서버 또는 데이터스냅) 구축은 별도로 필요하구요. 델파이의 경우 엔터프라이즈와 아키텍트 에디션에서 리눅스 컴파일러 기능을 지원합니다.

델파이는 파이어몽키로 리눅스용 데스크탑 애플리케이션을 개발할 수 있는 FMXLinux를 제공하고 있습니다 (엔터프라이즈, 아키텍트 에디션 한정).

현재 공식적으로 지원하는 리눅스는 우분투 LTS 18.04, 16.04, RedHat Enterprise 7입니다. 최신 타겟 플랫폼과 버전은 다음 링크를 통해 자세히 확인할 수 있습니다: http://docwiki.embarcadero.com/RADStudio/en/Supported_Target_Platforms

결론

델파이를 사용하면 윈도우용으로 컴파일한 코드 베이스로 리눅스 서버에서 사용 가능한 프로그램을 만들 수 있습니다. 이러한 단일 소스 코드 접근 방식은 개발 속도와 성능을 최대한을 끌어올려줄 뿐만 아니라 개발을 단순화하는 동시에 개발자는 물론 프로그램 사용자(고객)에게도 최고의 유연성을 제공합니다.

모바일에서의 엔터프라이즈 데이터

인터베이스 ToGo 라이선스가 포함되어 있습니다!

여러 상을 수상한 인터베이스는 멀티 플랫폼을 지원하는 몇 안 되는 데이터베이스 중 하나입니다. 윈도우리눅스 서버는 물론 모바일 (iOS, 안드로이드)과 PC (윈도우, 리눅스, 맥OS) 모드에 대한 임베디드 버전까지 완벽 지원합니다.

인터베이스를 사용하면 사용중인 플랫폼에 관계없이 개발과 생산 간에 하나의 파일 포맷이 공유되어 개발 전 과정(개발, 테스트, 사용)이 훨씬 더 빨라집니다.

애플리케이션 설계에 있어 현재 핵심 고려 사항이 바로 데이터 보안입니다. 인터베이스는 강력한 데이터 암호화 기능이 내장되어 있어 이 문제를 빠르게 해소합니다. 또한 데이터베이스 사용자, 역할에 따른 권한, 다양한 암호화 키 사용 권한 (동일한 데이터 테이블에서도 가능) 등 강력한 기능들이 있어 까다로운 데이터 스토리지 규정을 준수할 수 있습니다. 바로 이 점이 인터베이스가 의학/의료 분야에서 많이 사용되는 이유입니다.

인터베이스 체인지 뷰(InterBase Change Views) 기능은 변경 사항을 추적할 수 있는 것으로, IoT 어워즈에서도 이 기능으로 수상을 한 바 있습니다. 매우 강력한 로그없이 번경 사항을 추적할 수 있는 기술로, 데이터의 변경 사항을 추적하는 작업이 매우 간편해집니다. 개발을 완료한 후에는 로컬 데이터 캐시에 있는 추가 추적 필드가 복잡해지거나 확장되는 것을 방지할 수 있습니다.

이 모든 기능들을 활용할 수 있는 초경량의 뛰어난 유연성까지 갖춘, 별도의 관리가 필요치 않은 데이터베이스입니다. RAD스튜디오의 엔터프라이즈와 아키텍트 에디션에는 이 인터베이스의 모바일용 에디션인 인터베이스 ToGo (안드로이드&iOS 용) 배포 라이선스가 함께 제공됩니다.

결론

모바일 앱에 엔터프라이즈 급 데이터 계층을 추가할 수 있는 기능을 별도의 추가 비용없이 할 수 있는 인터베이스 ToGo는 RAD스튜디오 엔터프라이즈를 한층 더 강력하게 만들어줍니다. 사용자 보안, 암호화, 역할에 따른 권한 제공, 데이터 변경 추적 등의 기능들이 내장되어 있어 매우 빠른 작업이 가능합니다. 적용하고, 배포하고, 여유를 즐기세요!

로우 코드 – 엔터프라이즈 커넥터

다양한 앱 서비스 연동을 데이터베이스 연결만큼 쉽게

오늘날 데이터는 액세스의 어려움은 물론 여러 곳에 분산되어 있죠. 기업들은 평균적으로 20개 이상의 SaaS 애플리케이션을 실행하고 있습니다. 최소한 사내 프로그램이라도 사용하고 있죠. 엠바카데로는 CData 사와의 파트너 협약을 통해 엔터프라이즈 커넥터를 RAD스튜디오 엔터프라이즈 에디션 사용 고객들에게 제공하고 있습니다. 파이어닥(FireDAC)을 통해 180개 이상의 SaaS, NoSQL, 빅 데이터 솔루션들을 표준 SQL을 사용해 활용할 수 있는 솔루션이죠.

엔터프라이즈 커넥터는 별도의 클라우드 중개자 없이, 실시간 데이터에 직접 액세스할 수 있습니다. 데이터 쿼리 및 업데이트는 SQL 표준을 사용하기 때문에 여러 데이터 소스/API 관리를 위한 지속적인 유지보수 비용을 줄이고, 개발은 더 빠르게 할 수 있습니다.

RAD스튜디오 엔터프라이즈 에디션에는 CData의 EC 프로페셔널 라이선스가 포함되어 있어, 90개 이상의 데이터 소스들을 사용할 수 있습니다: 지메일(GMail), 드랍박스(DropBox), 페이스북(Facebook), 트위트(Twitter), 슬랙(Slack), 페이팔(Paypal), 이베이(Ebay), Trello, 워드프레스(WordPress), Couchbase, 구글 디렉토리(Google Directory), 지라(Jira) 등등

결론

너무나 다양한 엔터프라이즈 솔루션들을 더 빠르게 연동하고 싶다면, 엔터프라이즈 커넥터가 좋은 해답이 될 수 있습니다. 이미 익숙한 파이어닥(FireDAC)을 확장해 활용할 수 있기 때문에 개발 속도는 더욱 빨라질 수 있습니다.

엔터프라이즈 커넥터 자세히 보기: https://devgear.co.kr/archives/products/enterprise-connectors

결론

RAD스튜디오 엔터프라이즈 에디션은 로컬 PC 말고도 외부의 데이터를 가져와서 강력한 네이티브 애플리케이션을 완성할 수 있는 강력한 기능들을 제공합니다.

단 한 번의 코드 작성만으로 모든 곳에서 컴파일할 수 있으며, 강력한 개체 지향 프로그래밍(OOP) 기반의 크로스 플랫폼 라이브러리들을 활용할 수 있습니다.

엔터프라이즈 에디션에서 제공되는 파이어닥(FireDAC)을 활용하면 NoSQL, ODBC를 포함한 다양한 데이터 소스들을 네트워크로 연결할 수 있습니다.

RAD서버와 데이터스냅(DataSnap)은 n-티어 개발에 매우 유용합니다. 세션 기반의 완벽한 기능까지 갖춘 REST 서버를 제공합니다. 표준 기반 접근 방식을 통해 확장성이 매우 뛰어나고 모든 최신식 개발 환경에도 액세스 할 수 있어 현대의 이기종 시스템 아키텍처에 매우 이상적입니다.

리눅스는 속도나 성능을 저하시키지 않으면서 서버와 데스크탭 애플리케이션 모두에 대한 배포를 더욱 유연하게 제공합니다.

인터베이스 ToGo 배포 라이선스가 있다면, 여러분의 모바일 앱에 매우 간편하게 보안 데이터 스토리지를 추가할 수 있습니다.

마지막으로, CData 엔터프라이즈 커넥터는 파이어닥(FireDAC)을 확장해 90개 이상의 시스템에 로우 코드로 연동할 수 있습니다. 이 모든 것은 TDataSet을 완벽하게 지원하고 SQL 사용이 간편하기 때문에 가능한 것입니다.

엔터프라이즈 에디션을 선택해야 할까요? (아니면 아키텍트 에디션이 필요할까요?)

이 글에서 다루었던 내용들로 충분하기를 바라지만, 여전히 어떤 에디션이 귀사에 적합할 지에 대한 고민이 있다면, 데브기어 기술/영업팀이 열려있으니 언제든지 편하게 문의하세요!
데브기어: ask@embarcadero.kr, 02-595-4288

RAD스튜디오는 변화하는 IT 트렌드를 빠르게 접목하고 있습니다. 이와 관련된 자세한 내용들을 정리한 기술백서 ‘RAD스튜디오, 관리자들을 위한 안내서’를 읽어보시면 많은 도움이 될 것입니다: https://devgear.co.kr/archives/4588

AI api C++ c++빌더 code database Delphi fmx IDE ideas interbase ios migration modernization news python RAD스튜디오 tips UI UIUX vcl 개발 개발사례 개발팁 교육 기술레터 기술백서 데이터 데이터베이스 델파이 마이그레이션 모바일 안드로이드 윈도우 윈도우10 인공지능 인터베이스 출시 코드 파이썬 파이어몽키 프로그래밍 프로젝트 현대화