본문 바로가기
Etc . . .

[표준프레임워크] 전자정부 프레임워크 eGovFrame이란? 구조와 아키텍처

by jangThang 2024. 6. 15.
반응형

정부 주도하에 2009년부터 정부시스템에서 사용하고 있는 표준프레임워크인 eGovFrame에 대해서 알아봅니다.

 

[ Contents ]

     

     

    1. 프레임워크 [Frame Work]

    프로그램을 구성하는 디자인 패턴

     

     특정 소스코드 혹은 기능 구현에 사용되는 디자인 패턴과 유사합니다. 프레임워크는 프로그램 관점에서 설계 및 구현 틀을 제공하는 것으로, 시스템의 재사용도 및 개발 기간, 자원을 절약할 수 있습니다.

     라이브러리와 달리, 어플리케이션의 틀과 구조가 결정되어 있으며 그 위에 개발자의 코드를 제어하는 방법입니다. 이는 코드의 자유도를 제한하는 단점이 있지만, 유지보수나 코드 관리 측면에서는 유리합니다.

     

    Nexacro 17 스튜디오

      공공분야에서는 대표적으로 넥사크로라는 악명 높은 프레임워크가 있죠. 데이터셋을 리스트로 뿌려주거나, GUI환경을 구성하는 데에 특화된 개발툴입니다. 꽤나 사용법도 쉽고, 컴포넌트를 이용해서 UI를 구성하기도 직관적입니다.

     하지만 실무에서 원하는 고급 기능을 구현하는 데에는 오히려 제약이 많습니다. 전세계에서 쓰는 개발툴이 아니기 때문에, 레퍼런스도 적으며 구현이 불가능한 경우가 많습니다. 그래서 우회해서 해괴망측한 방법으로 억지로 구현해야 하는 편이 종종 있으며, 이는 곧 코드 지옥으로 이어지죠.

     

     

    반응형

     

    2. 표준프레임워크 [eGovFrame]

    정부 주도하에 개발된 정부시스템 표준 프레임워크

     특정 프레임워크로 개발된 시스템은 이후 다른 프레임워크로 변환하기가 굉장히 어렵습니다. 위에서 살펴본 넥사크로 플랫폼도 java script 기반이지만, xfdl이라는 고유의 확장자 파일을 사용합니다. 다른 프레임워크에서는 사용할 수 없는 파일 형식인 경우가 많죠.

     이는 곧 특정 사업자 종속 및 비용 증가, 독점 수의계약으로 이어집니다. 실제로 표준 프레임워크 개발 전 전자정부사업 70% 이상이 SI 대기업의 고유 프레임워크로 구축되었다고 하죠.

     표준 프레임워크가 개발된 이후부터는 중소 SI업체의 사업 수주를 굉장히 장려하고 있습니다. 실제로 수주도 많이 하고요. 그래서 개판으로 짠 중소 개발자 코드에 여러 공공기관이 고통받고 있죠. 개발자 몸값도 많이 뛰기도 했고, 초급 개발자로 이루어진 중소기업 특성상 일정을 맞추기 위해 대충 구현만 하기 때문입니다. 제대로 QA도 안하기 때문에 실무에서 치명적인 오류를 발견하는 경우도 부지기수입니다...

     

     

     

    3. 표준프레임워크 아키텍처

    전통적인 Java - Spring

     표준프레임워크는 전형적인 '자바 스프링' 구조입니다. 한국 IT업계를 자바공화국으로 만드는 데에 크게 일조했죠.

     2009년 구축 당시에는 꽤나 혁신적인 기술이었으나, 지금은 확실히 시대에 뒤떨어진 감이 많습니다. 계속 버전 업데이트를 하며 Spring4나 Spring boot과 같은 최신기술도 도입하고 있지만, 공공계열 특성상 Spring3에서 벗어나지 못하고 있죠. 그래서 사기업의 ERP와는 기능 및 기술적인 격차가 계속 벌어지고 있습니다.

     

     

     판교 테크노벨리와 구로 디지털 단지의 차이라고 해야 할까요? IT기술은 빠르게 변화하고 있지만, 개발인력이 이를 따라가지 못하죠. 최신 기술을 다룰 수 있는 고급 개발자들은 SI업체가 아니라 IT업계로 넘어갈 테니까요.

     한편 개발 문화도 아쉬운 편이 많습니다. 전세계에서 쓰는 기술의 경우에는 최신 기술도 커뮤니티가 활성화되어 있어 참고할 레퍼런스가 많지만, 한국의 갈라파고스인 eGovframe는 구축 15년이 지났음에도 자료가 거의 없습니다. 개발 업체나 해당 공공기관에서만 알음알음 쓰는 노하우가 공유되지 않으며, 설사 공유된다고 한들 개발환경이 달라서 아무런 도움이 안 되는 경우도 부지기수입니다. 표준 프레임워크 도입 취지와는 맞지 않는 편이죠.

     따라서 단순히 지침이나 규정처럼 '표준 프레임워크 환경'만 제시할 게 아니라, 이를 활성화하기 위한 커뮤니티나 소통도 활발히 했으면 어땠을까 하네요.

     

    star가 되고나서 Tistory

    반응형

    댓글