SlideShare une entreprise Scribd logo
1  sur  4
전자정부표준프레임워크
    개선안


   2012. 3. 15
   아람하이텍
1. 테이블 이름 수정

 •   문제점 : 테이블이름에서 약어 사이를 구분자(‘_’)없이 사용
     (예, 일반회원관리테이블 => COMTNGNRLMBER)


 •   행정정보 데이테베이스 표준화지침(안) 제34조 4항
      (문서번호:eGOV-D01.023, 2008 11월 25일 제정)
     ; 둘 이상의 영문약어를 조합하여 사용하는 경우 언더 스코어(‘_’)를 사용


 •   개선안 : 테이블 이름의 영문 약자 사이에 ‘_’를 삽입
     (예, 일반회원관리테이블 => COMTN_GNRL_MBER)
2. VO 클래스 사용개선안
 •    VO(Value Object)클래스용도
     ; 객체간의 정보전달용, 주로 메소드 함수의 매개변수로 사용

 •    웹 프로그램에서의 검색 정보 유지 필요성
     ; 리스트화면의 검색/페이지정보는 상세화면/수정화면 조회 후에도 유지 필요
     ; 스프링의 폼바인딩 모듈 => 검색VO와 폼의 파라메터를 바인딩시켜 검색정보 유지

 •    문제점
     ; 여러 형태의 VO생성 => 함수 인터페이스 기준이 모호해짐
       (도메인VO, 검색VO, 도메인검색VO(도메인VO + 검색VO))
     ; 상세화면 조회 시 iBatis의 resultObject queryForObject(queryId, parameterObject)는
       도메인검색VO를 파라메터로 받아 새 도메인 검색VO를 돌려줌으로 인해 검색정보 소실.
     ; 따라서 도메인검색VO외에 검색VO를 별도 관리함으로써 혼란가중.


 •    개선안
     ; iBatis의 queryForObject(queryId, parameterObject, resultObject)함수 사용
     ; parameterObject와 resultObject를 같은 도메인검색VO를 사용함으로써 검색정보유지
     ; 스프링의 폼바인딩을 이용하면 웹 전체에서 하나의 도메인검색VO로 사용가능
     ; 전체소스가 간단해짐.
3. 보안코드개선
 •    스프링 시큐리티 모듈
     ; 인증 및 권한모듈로 구성
     ; 강력한 권한모듈기능 => 권한 모듈부터 시작(Acegi)
     ; 웹권한모듈, 메소드권한모듈, 도메인권한(ACL)모듈로 구성
     ; 권한모듈은 모두 AOP방식(웹=>스프링filterchain, 메소드=>스프링AOP, 도메인=>?)
     ; 웹 및 메소드 권한은 모두 롤(역할) 기반

 •    문제점
     ; 잘못된 롤 개념(롤 => 추상적 권한대상자이지 자원이 아님)
     ; 이중으로 로그인하면서 중간 스프링 시큐리티 접속 URL이 노출됨
       - 노출된 URL을 직접입력하여 접속하면 모든 권한 정보를 가져올 수 있어 더 치명적인
         결과를 초래할 수 있음.
     ; 권한관리를 웹필터링에만 의존함으로써 서버부담이 가중, 메소드권한으로 이전 필요
     ; 기타…

 •    개선안
     ; 현재 롤 개념수정 => 접근자원으로 정정
      ; 중간로그인을 리다이렉트가 아닌 필터 체인방식으로 변경
      ; 일반유저 및 관리자권한은 웹필터에서 수행하지 않고 메소드 권한에서 처리.
      ; 메소드권한은 메소드 권한 어노테이션으로 관리.

Contenu connexe

Similaire à 전자정부표준프레임워크개선안

Sql 중심 코드 탈피
Sql 중심 코드 탈피Sql 중심 코드 탈피
Sql 중심 코드 탈피ssuser776e2d
 
Fundamentals of Oracle SQL
Fundamentals of Oracle SQLFundamentals of Oracle SQL
Fundamentals of Oracle SQLJAEGEUN YU
 
Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료ssuser776e2d
 
JSP 프로그래밍 2014-2018년 기말시험 기출문제
JSP 프로그래밍 2014-2018년 기말시험 기출문제JSP 프로그래밍 2014-2018년 기말시험 기출문제
JSP 프로그래밍 2014-2018년 기말시험 기출문제Lee Sang-Ho
 
Umc.Core Frameworks
Umc.Core FrameworksUmc.Core Frameworks
Umc.Core Frameworks준일 엄
 
REST API 설계
REST API 설계REST API 설계
REST API 설계Terry Cho
 
시종설_최종.pptx
시종설_최종.pptx시종설_최종.pptx
시종설_최종.pptxssusere04900
 
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)SangIn Choung
 
좌충우돌 ORM 개발기 2012 DAUM DEVON
좌충우돌 ORM 개발기 2012 DAUM DEVON좌충우돌 ORM 개발기 2012 DAUM DEVON
좌충우돌 ORM 개발기 2012 DAUM DEVONYounghan Kim
 
테스트개선지원 사례 - 웹어플리케이션대상
테스트개선지원 사례 - 웹어플리케이션대상테스트개선지원 사례 - 웹어플리케이션대상
테스트개선지원 사례 - 웹어플리케이션대상SangIn Choung
 
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXpressEngine
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨KwangSeob Jeong
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용중선 곽
 
Rails style-guide-2
Rails style-guide-2Rails style-guide-2
Rails style-guide-2Yunho Jo
 
REST Ovewview
REST OvewviewREST Ovewview
REST OvewviewTerry Cho
 
Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Kim Hunmin
 
오픈소스 소프트웨어 성능 최적화 보고서 6장
오픈소스 소프트웨어 성능 최적화 보고서 6장오픈소스 소프트웨어 성능 최적화 보고서 6장
오픈소스 소프트웨어 성능 최적화 보고서 6장JamGun
 

Similaire à 전자정부표준프레임워크개선안 (20)

Sql 중심 코드 탈피
Sql 중심 코드 탈피Sql 중심 코드 탈피
Sql 중심 코드 탈피
 
Fundamentals of Oracle SQL
Fundamentals of Oracle SQLFundamentals of Oracle SQL
Fundamentals of Oracle SQL
 
Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료Sql 중심 코드 탈피 발표자료
Sql 중심 코드 탈피 발표자료
 
JSP 프로그래밍 2014-2018년 기말시험 기출문제
JSP 프로그래밍 2014-2018년 기말시험 기출문제JSP 프로그래밍 2014-2018년 기말시험 기출문제
JSP 프로그래밍 2014-2018년 기말시험 기출문제
 
J2 Ee
J2 EeJ2 Ee
J2 Ee
 
Umc.Core Frameworks
Umc.Core FrameworksUmc.Core Frameworks
Umc.Core Frameworks
 
REST API 설계
REST API 설계REST API 설계
REST API 설계
 
시종설_최종.pptx
시종설_최종.pptx시종설_최종.pptx
시종설_최종.pptx
 
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
 
좌충우돌 ORM 개발기 2012 DAUM DEVON
좌충우돌 ORM 개발기 2012 DAUM DEVON좌충우돌 ORM 개발기 2012 DAUM DEVON
좌충우돌 ORM 개발기 2012 DAUM DEVON
 
테스트개선지원 사례 - 웹어플리케이션대상
테스트개선지원 사례 - 웹어플리케이션대상테스트개선지원 사례 - 웹어플리케이션대상
테스트개선지원 사례 - 웹어플리케이션대상
 
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
 
Rails style-guide-2
Rails style-guide-2Rails style-guide-2
Rails style-guide-2
 
2nd. aop
2nd. aop2nd. aop
2nd. aop
 
REST Ovewview
REST OvewviewREST Ovewview
REST Ovewview
 
Java JPA
Java JPAJava JPA
Java JPA
 
Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까?
 
오픈소스 소프트웨어 성능 최적화 보고서 6장
오픈소스 소프트웨어 성능 최적화 보고서 6장오픈소스 소프트웨어 성능 최적화 보고서 6장
오픈소스 소프트웨어 성능 최적화 보고서 6장
 

전자정부표준프레임워크개선안

  • 1. 전자정부표준프레임워크 개선안 2012. 3. 15 아람하이텍
  • 2. 1. 테이블 이름 수정 • 문제점 : 테이블이름에서 약어 사이를 구분자(‘_’)없이 사용 (예, 일반회원관리테이블 => COMTNGNRLMBER) • 행정정보 데이테베이스 표준화지침(안) 제34조 4항 (문서번호:eGOV-D01.023, 2008 11월 25일 제정) ; 둘 이상의 영문약어를 조합하여 사용하는 경우 언더 스코어(‘_’)를 사용 • 개선안 : 테이블 이름의 영문 약자 사이에 ‘_’를 삽입 (예, 일반회원관리테이블 => COMTN_GNRL_MBER)
  • 3. 2. VO 클래스 사용개선안 • VO(Value Object)클래스용도 ; 객체간의 정보전달용, 주로 메소드 함수의 매개변수로 사용 • 웹 프로그램에서의 검색 정보 유지 필요성 ; 리스트화면의 검색/페이지정보는 상세화면/수정화면 조회 후에도 유지 필요 ; 스프링의 폼바인딩 모듈 => 검색VO와 폼의 파라메터를 바인딩시켜 검색정보 유지 • 문제점 ; 여러 형태의 VO생성 => 함수 인터페이스 기준이 모호해짐 (도메인VO, 검색VO, 도메인검색VO(도메인VO + 검색VO)) ; 상세화면 조회 시 iBatis의 resultObject queryForObject(queryId, parameterObject)는 도메인검색VO를 파라메터로 받아 새 도메인 검색VO를 돌려줌으로 인해 검색정보 소실. ; 따라서 도메인검색VO외에 검색VO를 별도 관리함으로써 혼란가중. • 개선안 ; iBatis의 queryForObject(queryId, parameterObject, resultObject)함수 사용 ; parameterObject와 resultObject를 같은 도메인검색VO를 사용함으로써 검색정보유지 ; 스프링의 폼바인딩을 이용하면 웹 전체에서 하나의 도메인검색VO로 사용가능 ; 전체소스가 간단해짐.
  • 4. 3. 보안코드개선 • 스프링 시큐리티 모듈 ; 인증 및 권한모듈로 구성 ; 강력한 권한모듈기능 => 권한 모듈부터 시작(Acegi) ; 웹권한모듈, 메소드권한모듈, 도메인권한(ACL)모듈로 구성 ; 권한모듈은 모두 AOP방식(웹=>스프링filterchain, 메소드=>스프링AOP, 도메인=>?) ; 웹 및 메소드 권한은 모두 롤(역할) 기반 • 문제점 ; 잘못된 롤 개념(롤 => 추상적 권한대상자이지 자원이 아님) ; 이중으로 로그인하면서 중간 스프링 시큐리티 접속 URL이 노출됨 - 노출된 URL을 직접입력하여 접속하면 모든 권한 정보를 가져올 수 있어 더 치명적인 결과를 초래할 수 있음. ; 권한관리를 웹필터링에만 의존함으로써 서버부담이 가중, 메소드권한으로 이전 필요 ; 기타… • 개선안 ; 현재 롤 개념수정 => 접근자원으로 정정 ; 중간로그인을 리다이렉트가 아닌 필터 체인방식으로 변경 ; 일반유저 및 관리자권한은 웹필터에서 수행하지 않고 메소드 권한에서 처리. ; 메소드권한은 메소드 권한 어노테이션으로 관리.