• 제목/요약/키워드: 리플렉션

검색결과 16건 처리시간 0.018초

자바 어플리케이션을 EJB로 래핑 하기 위한 기법 (A Technique for wrapping Java applications in EJBs)

  • 김동관;정효택;양영종
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 봄 학술발표논문집 Vol.30 No.1 (B)
    • /
    • pp.130-132
    • /
    • 2003
  • 1990년대 초반에 등장한 자바 언어는 빠른 속도로 프로그래머들 사이에 보급되었으며 인터넷의 등장과 더불어 이는 더욱 가속화되었다. 또한 무선 플랫폼 등과 같은 새로운 컴퓨팅 환경에 빠르게 대처함으로써 자바 언어의 끝을 예측하기는 쉽지 않은 상태이다. 초기 자바 어플리케이션들은 단일 티어(single-tier)로 개발되었으며 환경의 변화로 인해 이런 어플리케이션들을 네트워크로 연결할 필요성이 대두되고 있다. 자바 언어는 분산 컴퓨팅 환경의 솔루션으로 Enterprise JavaBean(EJB)[1]을 제시하고 있다. 본 논문에서는 기존에 개발된 자바 어플리케이션을 EJB로 래핑하기 위한 기법들을 제공한다. 핵심 비즈니스 로직을 가진 클래스들을 수작업을 통해 EJB로 변환할 수도 있지만 본 논문에서는 반자동화된 방법을 통해 변환 상의 효율을 증대시키고 변환 과정에서 발생할 수 있는 오류를 최소화하고자 한다. EJB 래핑 기법은 세션 빈(session bean)[1]래핑과 엔터티 빈(entity bean)[1]래핑으로 구성된다. 세션 빈 래핑은 자바 어플리케이션을 구성하는 클래스 가운데 질의문(query)을 가지지 않는 자바 클래스들을 래핑한다. 엔터티 빈은 질의문을 포함하는 자바 클래스를 래핑한다. EJB 래핑을 위해 리플렉션(reflection)[2]과 위임 (delegation) 장치를 사용한다.

  • PDF

JUnit과 JTestCase 프레임워크에 기반한 데스트 데이터 및 코드 생성 도구 (Test Data and Code Generation Tool based on JUnit and JTestCase Framework)

  • 이유정;최승훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 가을 학술발표논문집 Vol.29 No.2 (2)
    • /
    • pp.106-108
    • /
    • 2002
  • 신뢰성있는 소프트웨어의 개발을 위해 테스트의 중요성은 매우 크다. 특히, 최근에 점진적이고 반복적인 소프트웨어 개발 방법론이 각광을 받으면서 소프트웨어의 잦은 변경에 따른 회귀 테스트의 중요성이 점점 커지고 있다. 이에 따라 단위 데스트의 자동화에 대한 연구가 활발히 진행되고 있다. JUnit은 자바 클래스의 단위 레벨 테스팅을 도와 주는 테스트 지원 프레임워크이다. 또한, JTestCase는 테스트 데이터와 테스트 코드를 분리함으로써, 데이터 중심 테스팅(data-driven testing)을 지원하기 위해 개발된 JUnit 확장 프레임워크이다. 본 논문에서는, 이 두 개의 테스트 프레임워크와 자바 리플렉션 API를 이용하여, 하나의 클래스 파일을 읽어 들여 XML 형태의 테스트 데이터 파일과 테스트 드라이버 코드를 자동생성하는 도구를 제안한다. 그리고, 구체적인 예를 통해 본 논문에서 제안하는 도구의 유용성을 보여준다. 본 논문의 데스트 도구는 회귀 단위 테스트에 필요한 노력을 줄여주고, 자바 클래스 단위 테스트를 지원하는 도구 개발의 기반 기술을 제공하며, 궁극적으로 소프트웨어 개발의 생산성을 향상시켜 준다.

  • PDF

XML을 이용한 자바 빈즈 컴포넌트 명세의 표현 (Represention of Java Beans component specification using XML)

  • 김영익;이성은;류성열
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (1)
    • /
    • pp.495-497
    • /
    • 1999
  • 오늘날 소프트웨어는 컴포넌트 기반의 소프트웨어라고 할 수 있다. 새로운 소프트웨어를 개발함에 있어서 컴포넌트를 사용하면 개발 기간과 비용 등 여러 면에서 장점이 있다. 그러나 이러한 컴포넌트 기반의 소프트웨어의 단점은 3자가 개발한 컴포넌트를 사용함에 따른 유지보수의 어려움이다. 제 3자가 개발한 컴포넌트의 경우 관련 문서, 설계 명세, 도움말 등이 존재하지 않는 경우 유지보수가 불가능하거나 아주 어렵게 된다. 이러한 경우 컴포넌트로부터 설계 명세 등의 정보를 추출할 수 있다면 기존 컴포넌트 기반의 소프트웨어를 기능을 향상시키거나 새로운 기능을 추가하는 등의 컴포넌트의 유지보수가 가능하다. 본 논문에서는 자바 빈즈 컴포넌트 모델을 기반으로 한 컴포넌트 명세 추출을 보인다. 자바 빈즈 컴포넌트로부터의 명세 추출은 자바의 리플렉션이나 자바 빈즈의 인트로스펙션 기능을 이용하여 소스 파일이 없이 자바 빈즈 컴포넌트의 클래스 파일만을 가지고 가능하다. 추출된 정보로부터 컴포넌트의 추상적인 설계 명세를 얻을 수 있다. XML은 웹 기반의 마크업 언어로써 구조적, 다중 링크, 자기 서술적, 정확성 등의 장점이 있다. 따라서 본 논문에서는 자바 빈즈 컴포넌트의 명세 표현 형태를 XML을 이용하여 자바 빈즈 컴포넌트 명세의 재사용성, 검색, 효율적인 관리가 가능함을 제시한다.

  • PDF

안드로이드 환경에서 자바 리플렉션과 동적 로딩을 이용한 코드 은닉법 (A Code Concealment Method using Java Reflection and Dynamic Loading in Android)

  • 김지윤;고남현;박용수
    • 정보보호학회논문지
    • /
    • 제25권1호
    • /
    • pp.17-30
    • /
    • 2015
  • 본 논문은 기존에 널리 사용되는 바이트코드(bytecode) 중심의 안드로이드 어플리케이션 코드 난독화 방법과 달리 임의의 안드로이드 어플리케이션의 DEX 파일 자체를 추출하여 암호화하고, 암호화한 파일을 임의의 폴더에 저장한 후 코드를 수행하기 위한 로더 앱을 만드는 방법을 제시한다. 이벤트 처리 정보를 은닉하기 위하여, 로더 앱 내부의 암호화된 DEX 파일은 원본 코드와 Manifest 정보 일부를 포함한다. 로더 앱의 Manifest는 원본 앱의 Manifest 정보 중에서 암호화된 클래스에 포함되지 않은 정보만을 기재하였다. 제안기법을 사용시, 첫째로 공격자는 백신을 우회하기 위해 난독화된 코드를 포함한 악성코드 제작이 가능하고, 둘째로 프로그램 제작자의 입장에서는 제안기법을 이용하여 저작권 보호를 위해 핵심 알고리즘을 은폐하는 어플리케이션 제작이 가능하다. 안드로이드 버전 4.4.2(Kitkat)에서 프로토타입을 구현하고 바이러스 토탈을 이용하여 악성코드 난독화 능력을 점검해서 제안 기법의 실효성을 보였다.

무기체계 효과도 분석을 위한 개체 플러그인 방식의 모의 재구성 연구 (Simulation Reconfiguration using Entity Plug-in approach for Weapon System Effectiveness Analysis)

  • 김태영
    • 한국시뮬레이션학회논문지
    • /
    • 제27권2호
    • /
    • pp.49-59
    • /
    • 2018
  • 무기체계 효과도 분석은 시뮬레이션 기반 획득 단계에서 합리적 의사결정을 지원하기 위한 수단 중 하나이다. 무기체계의 효과도는 환경과 교리 등 복합적인 요소에 영향을 받는 지표이며 주요 관심 이슈에 따라 다르게 정의될 수 있다. 이로 인해 무기체계 효과도 분석은 공통적인 조건과 환경 상에서 다양한 대안에 관한 비교 실험을 요구한다. 이에 본 연구는 리플렉션 기법을 활용하여 모의 구조를 효율적으로 재구성할 수 있는 방법을 제안한다. 제안하는 방법은 DEVS(Discrete EVent System specification) 형식론을 기반으로 하며 모의 개체의 동적 플러그인을 통한 구조 및 환경 재구성을 포함하며 이를 통해 다양한 대안 요구를 다룰 수 있는 효과도 분석 환경을 구상하고자 한다.

닷넷 프레임워크에서 클래스 최적화를 위한 추상구조트리 생성 및 크로스커팅 위빙 메커니즘 (AST Creating and Crosscutting Concern Weaving Mechanism for Class Optimization in .NET Framework)

  • 이승형;박제연;송영재
    • 한국콘텐츠학회논문지
    • /
    • 제10권2호
    • /
    • pp.89-98
    • /
    • 2010
  • 엔터프라이즈 시스템은 점점 복잡해지고 대형화되고 있다. 시대적 흐름에 따라 재사용에 초점을 맞춘 객체지향 프로그래밍 방법으로 시스템을 개발하고 있다. 하지만, 객체지향 방법에서는 core class에 중복되는 코드가 삽입되기 때문에, 생산성 저하, 새로운 요구사항을 적용하기 어려운 문제가 발생한다. 이 단점을 해결하기 위하여, 메타데이터와 크로스커팅 개념을 적용하는 위빙 메카니즘을 제안한다. 클래스 최적화와 다른 언어사이의 통합을 위하여 다음의 방법을 사용한다. 리플렉션을 이용한 메타데이타 생성, 추상구조트리로의 변환, 그리고 XML로 명세된 크로스커팅 정보를 통한 매핑을 이용한다. 제안하는 방법을 이용하여, 기능의 분산과 코드의 혼란을 해결함으로서 클래스를 최적화 할 수 있다.