많은 기업의 시스템들이 "클라이언트 서버(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서버를 활용하는 것이 가장 편합니다.

 

 

2. 프론트엔드 (웹 API 활용 클라이언트)

웹 브라우저의 프론트엔드 개발은 CSS, 자바스크립트를 사용하는 HTML5로 구축합니다. 이 경우 스크래치 보다는 자바스크립트의 프레임워크를 이용하는 것이 일반적입니다. 스크래치로 전체를 구현하면 브라우저마다 나타나는 차이를 스스로 대응해야하고, 본래 주력해야 할 애플리케이션 구현보다 다른 부분에 손이 많이 가기 때문에 현실적이라고 보기 어렵습니다. 오픈 소스 계열 프레임워크 중에는 jQuery, Angular, React 와 같은 제품들이 많이 사용됩니다. 하지만 오픈 소스 프레임워크를 이용한 개발 환경은 기능 지원이나 툴 조합 선정 및 검증 문제 등이 있어 테스트 작업에 많은 시간이 소요됩니다. 하지만 델파이/C++빌더와 같이 개발을 매우 쉽고 빠르게 만들어 줄 비주얼 컴포넌트들을 갖춘 센차 ExtJS를 활용하면 이와 같은 문제를 해소할 수 있습니다.

 

 

센차 ExtJS에서의 프론트엔드

앞서 프론트엔드의 과제를 확인해보았습니다. 대부분의 개발이 그렇지만, 특히 웹으로의 확장을 위해서는 백엔드 개발 뿐만 아니라 프론트엔드 개발에 대해서도 진행 방법과 도구 선정에 유의해야 합니다. 

마지막으로 소개한 ExtJS 프레임워크는 비주얼한 개발이 가능한 상용 프레임워크 입니다. 델파이/C++빌더를 사용하고 있다면 백엔드는 무상 제공되는 RAD서버(10.2.2 버전부터 제공됨)로, 프론트엔드는 함께 연동 가능한 ExtJS를 활용하면 작업이 매우 간편해집니다.  

 

ExtJS를 어떻게 활용할 수 있는지 엠바카데로의 자료들을 통해 확인해보세요!

 


 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 17857
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 16214
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 18865
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 24436
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 25823
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 21177
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 41768
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 177076
803 [업데이트][HotFix] VCL BMP Buffer Overflow hotfix(취약점 보안패치) Humphery 2014.08.20 1516
802 [FireDAC Skill Sprints] 4. ArrayDML로 30배 빠르게 데이터 입력하기 Humphery 2015.03.11 1514
801 [XE7] 안드로이드 5.0(롤리팝) 지원 핫픽스 [2] Humphery 2015.01.12 1513
800 바이너리 폼파일(*.dfm)을 텍스트 폼파일로 변경하는 도구 Humphery 2015.09.15 1500
799 [팁] TIniFile과 TMemIniFile 사용 험프리 2019.12.04 1498
798 [발표자료] REST API 웹서비스 연동 관리자 2017.05.29 1491
797 RAD Studio XE7에서 안드로이드 개선된 내용 [1] 관리자 2014.11.22 1481
796 20년된 델파이 앱을 현대식 마이크로서비스 아키텍처로 전환하기 관리자 2019.09.11 1472
795 센차 ExtJS 웹 클라이언트 + RAD서버 10.2.3 관리자 2018.04.24 1464
794 [마이그레이션] 써드파티 컴포넌트 마이그레이션 방안 안내 험프리 2016.07.26 1460
793 [윈도우10] RAD Studio XE8로 윈도우 10 애플리케이션 만들기 file Humphery 2015.05.26 1459
792 [10.3] 안드로이드 권한 모델 적용 방법 험프리 2019.05.17 1449
791 파이어몽키 용 그리드 컴포넌트 안내 - FirePower Humphery 2015.02.23 1446
790 [마이그레이션 사례] 감리교신학대학교 험프리 2016.08.25 1443
789 [세미나 자료] 20141113 RAD Studio XE7 DeepDive file 관리자 2014.11.14 1438
788 웹에서 어플리케이션 구동하기(ActiveX 사용않고) Humphery 2015.04.09 1437
787 VCL의 유용하지만 놓칠수 있는 기능 들 Humphery 2014.12.12 1429
786 C++빌더 VCL 애플리케이션에서 PYTHON4DELPHI 활용하기 관리자 2021.06.09 1429
» 기존 시스템을 웹(Web)으로 확장하기 위해 고려해야 할 두 가지 포인트 관리자 2018.06.11 1428
784 3D 애플리케이션 만들기(파이어몽키 활용): 파이어몽키 코스북 7장 file 관리자 2014.07.21 1426