둘러보기 생략.
 

기존 3.0.X 버젼에서 3.1.0 버젼으로 업그레이드 시 고려 혹은 수정 사항에 대해서 알려주세요

기존에 쓰던 3.0.X 버젼에서 3.1.0 버젼으로 업그래이드 하려고 합니다. 업그레이드 할 경우

고려해야 될 상황이나 수정을 해야되는 부분이 있다면 알려주시기 바랍니다.

참고로 저희 개발 환경은 FLEX + JEUS 5 + DB2 입니다.

기존 3.0.X 버젼에서 3.1.0 버젼으로 업그레이드 시 고려 혹은 수정 사항

Anyframe 3.0.1 -> 3.1.0으로 변경되면서 기존 버전 어플리케이션의 다음과 같은 항목에 대해 수정이 필요합니다.

  1. Anyframe Portal에 anyframe-service-2.0.xsd, anyframe_core_query_mapping.dtd 파일을 등록함으로써, 브라우저를 통해 XSD 및 DTD 파일 조회 가능하도록 처리. 이로 인해 XSD 및 DTD 파일 선언 부분 변경
  2. * 모든 서비스 속성 정의 XML 파일의 XSD, 모든 쿼리 매핑 XML 파일의 DTD 선언 부분을 다음과 같이 변경해야 합니다.

    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:config="http://www.sds.samsung.com/schema/service"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans  
              http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    	http://www.sds.samsung.com/schema/service 
              http://www.sds.samsung.com/schema/service/anyframe-service-2.0.xsd">
    ->
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:config="http://www.anyframejava.org/schema/service"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans  
              http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    	http://www.anyframejava.org/schema/service 
              http://www.anyframejava.org/schema/service/anyframe-core-service-2.0.xsd">
    
    <!DOCTYPE queryservice PUBLIC "-//TITAN//DTD QUERYSERVICE//EN"
    "http://www.sds.samsung.co.kr/anyframe/anyframe_core_query_mapping.dtd">
    -> &lt!DOCTYPE queryservice PUBLIC "-//ANYFRAME//DTD QUERYSERVICE//EN"
    http://www.anyframejava.org/dtd/anyframe-core-query-mapping-3.1.dtd> 
    
  3. SQL Logging 방법 변경
  4. log4jdbc3 라이브러리 업그레이드에 따라 Anyframe 3.0.1에서 제공하던 AnyFrameDataSourceSpy 클래스가 제거되었습니다. Anyframe 3.1.0에서는 log4jdbc3의 DriverSpy를 통해 SQL에 대한 Logging을 남길 수 있도록 가이드하고 있습니다.
    DriverSpy를 통한 SQL Logging 방법은 Anyframe Core 3.1.0 매뉴얼 > Tech. Service > Logging Service > SQL Logging을 참고하시면 됩니다.

    단, 현재 제공되는 DriverSpy에서 지원하는 JDBC Driver는 다음과 같습니다.

    • oracle.jdbc.driver.OracleDriver
    • com.sybase.jdbc2.jdbc.SybDriver
    • net.sourceforge.jtds.jdbc.Driver
    • com.microsoft.jdbc.sqlserver.SQLServerDriver
    • weblogic.jdbc.sqlserver.SQLServerDriver
    • com.informix.jdbc.IfxDriver
    • org.apache.derby.jdbc.ClientDriver
    • org.apache.derby.jdbc.EmbeddedDriver
    • com.mysql.jdbc.Driver
    • org.postgresql.Driver
    • org.hsqldb.jdbcDriver
    • org.h2.Driver

    정의되지 않은 JDBC Driver인 경우 http://dev.anyframejava.org/jira/browse/CORE-60 를 참고하세요.

    물론, Anyframe 3.1.0 기반에서도 3.0.1과 동일한 방법으로 SQL Logging이 가능합니다. 다만, 기존 AnyFrameDataSourceSpy는 제공되지 않으므로, Anyframe Core 3.0.1 매뉴얼 > Tech. Service > Query > SQL Logging을 참고하여 이와 같은 역할을 수행하는 클래스를 해당 프로젝트에서 직접 개발하셔서 활용하실 수 있습니다.

  5. 해당 어플리케이션이 JDK 1.4 기반에서 실행되는 경우
  6. 기존 라이브러리를 제거하고, Anyframe Core 3.1.0 + Anyframe Web 3.0.1을 설치합니다. Anyframe Core 3.1.0 설치시 [input] Do you need Web Services Libraries (y/n)? : (y, n)와 같은 질문이 나오면, n을 입력하도록 합니다. Web Service 기능은 JDK 1.5 환경에서만 사용할 수 있기 때문입니다.

  7. 해당 어플리케이션이 Axis 라이브러리를 사용하여 웹 서비스를 구현한 경우
  8. Axis 라이브러리를 이용한 웹 서비스 구현 기능을 Anyframe Core 3.1.0에서는 더이상 제공하지 않고 JDK 1.5 이상 환경에서만 Apache CXF를 이용한 웹 서비스 구현 기능을 제공하고 있습니다. 그러므로 Axis 라이브러리를 이용하여 구현한 웹 서비스 기능이 정상적으로 동작하지 않을 것입니다. 구현 방식을 변경하거나 제거해야 합니다.

  9. Hibernate Wrapper인 ICommonService를 사용한 경우
  10. Anyframe Core 3.1.0 부터는 Hibernate를 Wrapping하는 ICommonService가 제거되고 순수하게 Hibernate API를 이용하여 개발할 수 있도록 가이드하고 있습니다. 따라서 ICommonService를 사용한 경우 정상 동작하지 않습니다.

  11. Acegi Security Framework 기반에서 사용자 인증 및 권한 관리 기능을 수행한 경우
  12. Anyframe Core 3.1.0 + Anyframe Web 3.0.1을 설치한 경우 Acegi 관련 라이브러리가 설치되지 않으므로 Acegi Security Framework 기반에서 사용자 인증 및 권한 관리 기능을 수행한 경우 해당 기능이 정상 동작하지 않습니다. 앞으로 Anyframe에서는 Spring Security 기반의 사용자 인증 및 권한 관리 기능에 대해 보다 상세한 가이드를 제공해 나갈 예정입니다.