RAD서버 기존 시스템을 웹(Web)으로 확장하기 위해 고려해야 할 두 가지 포인트
2018.06.11 11:23
많은 기업의 시스템들이 "클라이언트 서버(C/S)형"으로 되어있습니다. 이런 시스템들은 대부분 시스템 관리팀에서 각 PC마다 프로그램을 설치해주어야만 사용이 가능합니다. 시스템의 버그나 업데이트 사항이 있다면 또 다시 관리자의 셋업이 필요하죠. 이렇다보니 시스템 구축에 시간을 많이 할애하게 됩니다.
델파이/C++빌더를 사용하는 기업들 또한 VCL로 구축된 C/S형 프로그램들을 많이 사용합니다. 최근에는 윈도우10 대응을 위해 최신 10.2.x 버전을 많이 채택하고 있습니다. 하지만 이제는 PC 뿐만 아니라 스마트폰이나 태블릿 활용도가 높아졌고 특히 Gmail, Google Map, Office 365, 세일즈포스(Salesforce) 등 클라우드 기반의 서비스를 업무 뿐만 아니라 사적인 영역에서도 많이들 사용합니다. 이러한 변화로 인해 업무를 사무실 안에서 뿐만 아니라 외부에서도 처리하는 경우가 늘어나 기존 업무 시스템을 웹 상에서도 활용할 수 있는 방안을 검토하는 기업이 증가하고 있습니다.
기존 시스템(특히 "C/S형")의 웹으로 확장을 고려할 때 꼭 염두에 두어야 할 두 가지 포인트를 정리해보았습니다.
1. 백엔드 (웹 API 오픈)
기존 시스템을 웹에 재구축하기 위해서는 프론트 엔드와 백엔드가 가장 중요합니다. 그 중에서도 백엔드는 웹 API라는 REST 형식의 서버 구축이 필요합니다. 웹 API와 프론트엔드의 통신은 JSON 포맷으로 진행되는 경우가 대부분입니다. 물론 웹 API를 새로 구축할 때에는 다양한 선택사항이 있습니다. 델파이, C++, 자바, PHP, 루비, C# 등등.. 하지만 기존에 델파이/C++로 되어있는 소스코드를 활용할 예정이라면 델파이 또는 C++빌더의 RAD서버를 활용하는 것이 가장 편합니다.
- 샘플 및 코드: http://www.devgear.co.kr/products/rad-server/#sample
- RAD서버 배포 라이선스는 델파이/C++빌더의 엔터프라이즈, 아키텍트 에디션에 포함되어 있습니다.
2. 프론트엔드 (웹 API 활용 클라이언트)
웹 브라우저의 프론트엔드 개발은 CSS, 자바스크립트를 사용하는 HTML5로 구축합니다. 이 경우 스크래치 보다는 자바스크립트의 프레임워크를 이용하는 것이 일반적입니다. 스크래치로 전체를 구현하면 브라우저마다 나타나는 차이를 스스로 대응해야하고, 본래 주력해야 할 애플리케이션 구현보다 다른 부분에 손이 많이 가기 때문에 현실적이라고 보기 어렵습니다. 오픈 소스 계열 프레임워크 중에는 jQuery, Angular, React 와 같은 제품들이 많이 사용됩니다. 하지만 오픈 소스 프레임워크를 이용한 개발 환경은 기능 지원이나 툴 조합 선정 및 검증 문제 등이 있어 테스트 작업에 많은 시간이 소요됩니다. 하지만 델파이/C++빌더와 같이 개발을 매우 쉽고 빠르게 만들어 줄 비주얼 컴포넌트들을 갖춘 센차 ExtJS를 활용하면 이와 같은 문제를 해소할 수 있습니다.
- 델파이/C++빌더 개발자를 위한 웹 개발 with ExtJS: http://tech.devgear.co.kr/441690
센차 ExtJS에서의 프론트엔드
앞서 프론트엔드의 과제를 확인해보았습니다. 대부분의 개발이 그렇지만, 특히 웹으로의 확장을 위해서는 백엔드 개발 뿐만 아니라 프론트엔드 개발에 대해서도 진행 방법과 도구 선정에 유의해야 합니다.
마지막으로 소개한 ExtJS 프레임워크는 비주얼한 개발이 가능한 상용 프레임워크 입니다. 델파이/C++빌더를 사용하고 있다면 백엔드는 무상 제공되는 RAD서버(10.2.2 버전부터 제공됨)로, 프론트엔드는 함께 연동 가능한 ExtJS를 활용하면 작업이 매우 간편해집니다.
ExtJS를 어떻게 활용할 수 있는지 엠바카데로의 자료들을 통해 확인해보세요!
- 델파이/C++빌더 개발자를 위한 웹 개발 with ExtJS!
- ExtJS 활용과 앞으로의 방향
- 센차 ExtJS 웹 클라이언트 + RAD서버 10.2.3
- RAD서버에서 센차 ExtJS 지원 확장