요즘 웹개발자들은 과거 대비 struts, spring, hibernate, 전자정부표준프레임워크 같은 Server framework 뿐만 아니라 AngularJS, jQuery, NodeJs 같은 다양한 javascript UI framework 에 대한 학습과 개발 경험을 필요로 하고 있다. 성능과 기능 등 여러가지 이슈로 그동안 전환하지 못한 기간계 업무시스템에 대한 웹 전환은 이젠 자연스러운 일이 되어 가고 있으며, 갈수록 높아가는 사용자 눈높이를 충족시키기 위하여 최신 UI기술 적용을 검토해야만 해야만 하기 때문이기도 하다.
java 또는 업무(SQL)를 잘 모르는 초급 개발자이거나 AngularJS 같은 UI 개발 경험이 없는 고참 개발자 일지라도 소정의 개발환경 적응 시간을 거치고 나면 단기간에도 평균적인 품질 수준의 개발성과물을 개발프레임워크를 통해서 기대하고 있는 것이다. 특히, 기업용 개발프레임워크는 개발과 운영 과정에 투입되는 개발자의 개발 업무 경력이나 관련 개발기술 경험 많고 적음으로 인한 생산성과 개발결과물 품질 수준의 편차를 최소화하기 위하여 더욱 더 많이 검토되고 그 적용이 확산되어 가고 있다.
초급개발자
- 기업에겐 인력(개발자) 비용 절감 기회
- 개발자는 업무 프로젝트 참여 및 성장 기회
고급개발자
- 기업에겐 업무 및 IT 노하우 활용으로 시행착오 비용 절감 기회
- 개발자는 새로운 기술환경 이해 및 기술 전환 기회
기업용 개발프레임워크는 기업의 규모, 업무 특성 , 향후 사업 전략 등과 함께 전사 IT 전략과 IT구성원이 보유한 기술기반 등을 고려하여 효율성과 유연성을 전제로 하는 표준화 그리고 내재화가 될 수 있는 기술환경으로 구축하고 지속적으로 관리를 하게 된다. 다만, 간혹 개발프레임워크 구축과 함께 진행되는 개발표준작업 결과가 “표준”이라는 미명하에 개발 자체에 대한 규제와 통제의 수단으로 잘못 사용되는 오히려 생산성을 떨어뜨리고 새로운 인터페이스나 기술 접목에 대한 방안 마련을 방해하는 경우도 있어서 아쉽긴 하다.
개발프레임워크는 세가지 측면으로 나눌 수 있으며 기업의 업무 특성을 고려하여 선별하고 조합하여 적용하고 있다.
1) 기능적(개발언어) 측면에서는
서버프레임워크(Java 프레임워크)와 UI 프레임워크(javascript 프레임워크) 구분 가능하지만
실제 기업용 웹업무 프로그램을 개발을 하기 위해서는 서버 프레임워크와 UI 프레임워크 두 가지 모두가 필요하다
2) 관리 주체 측면에서
기업 구성원 스스로 지속적으로 업그레이드를 해야 하는 오픈소스 vs. 도입 및 업그레이드 비용 부담이 필요한 상용 솔루션
3) 개발도구 측면에서
텍스트 및 템플릿 기반의 에디터 방식 vs. 그래픽 기반의 개발툴(도구) 방식으로 구분 할 수 있다
기업에서 특정 개발프레임워크를 선택하거나 여러 개발프레임워크를 조합하기 앞서서 다양한 정부기관의 기간계 업무 시스템 구축에 활용해온 전자정부표준프레임워크의 적용 사례 분석 결과을 통한 도출된 시사점과 고려사항 등을 참조해 보면 적어도 중견 이상 기업의 기간계 업무시스템 환경을 고려한 웹개발프레임워크인 경우에는 아래와 같은 내용을 고려하여 개발프레임워크를 선정할 필요가 있어 보인다
- UI프레임워크와 서버프레임워크간의 화면과 데이타처리를 위한 방안 고려
- 기간계 업무 특성과 사용자(민원) 요구 수용을 위하여 상용UI 프레임워크 사용 경우 많음
- DB 이외의 내외부 인터페이스 및 통합 처리에 대한 프레임워크 연계 기능 고려 필요
- 모바일에 대한 별도의 전자정부 프레임워크 제공중
AS-IS
- 주로 DB서비스(DAO) 개발 생산성에 촛점이 맞추어진 Server-side 개발프레임워크(Spring)
- UI 라이브러리와 템플릿을 기반으로 하는 Client-side 개발프레임워크(AngulaJS)
- 상호 분리된 텍스트에디터 기반의 개발 및 테스트 환경
TO-BE
- DB서비스 뿐만 아니라 SAP, EAI, WebService 등 다양한 내외부 인터페이스 서비스 개발도구
- Web, Mobile, Hybrid Mobile 등 UI 통합개발도구
- 상호 연결된 그래픽 기반 개발 및 테스트 환경
UI(front-end Side)와 Server (back-end side) 각각을 담당하는 개발프레임워크를 조합하여 구성해야만 하는 현재의 개발프레임워크 대신, End (front-end) to End (back-end) 전반을 통합하여 개발할 수 있는 ‘E2E통합개발환경(IDE)’을 SI개발자와 기업 프로젝트 현장에 제공될 수 있다면 기존 개발프레임워크 대비 개발 생산성과 품질 향상 그리고 IT인력양성 등 다양한 도입 효과를 기대해 볼 수 있다