170 likes | 514 Views
iBATIS.NET & Spring.NET. 권효중 fog_rain@naver.com. Session Objective. iBATIS.NET Why iBATIS.NET? 주요 기능 리뷰 DEMO Spring.NET 주요 기능 리뷰 활용 전략 DEMO Q & A. iBATIS.NET. iBATIS.NET 은 또다른 ORM ?. iBATIS.NET 은 ORM 이 아니다 쿼리 결과를 객체에 맵핑해주는 Data Mapper 일 뿐이다. ORM vs iBATIS . ORM
E N D
iBATIS.NET & Spring.NET 권효중 fog_rain@naver.com
Session Objective • iBATIS.NET • Why iBATIS.NET? • 주요 기능 리뷰 • DEMO • Spring.NET • 주요 기능 리뷰 • 활용 전략 • DEMO • Q & A
iBATIS.NET은 또다른 ORM ? • iBATIS.NET은 ORM이 아니다 • 쿼리 결과를 객체에 맵핑해주는 Data Mapper일 뿐이다
ORM vs iBATIS • ORM • 데이타베이스와 객체의 맵핑 • No More Hand Coded Query !! • iBATIS • 쿼리 결과와 객체의 맵핑 • Still Need Hand Coded Query, But No More Object Mapping Code !!
Advantage • Easy To Learn !! • 쿼리 ↔객체간 맵핑 작업 필요 없음 • 데이타베이스 쿼리의 장점을 그대로 사용할 수 있음 • 쿼리문만 따로 관리하므로 유지 보수 용이 • WHERE 조건의 다이나믹한 추가 제거 • iBATIS가 제공하는 강력한 쿼리 캐쉬 메커니즘 사용 • 쿼리문의 재사용
개발 환경 구성 Providers.config Database 별 드라이버 정보를 기재 단 하나의 Providers.config 파일만이 존재함 커넥션스트링 기재 분산 트랜잭션이 필요한 경우 여러개의 SqlMap.config 파일이 존재할 수 있음 SqlMap.config 쿼리문이 기재됨 아키텍쳐에 따라서 테이블별로 기재할 수도 있고 메뉴별로 기재할 수도 있음 SqlStatement.XML
iBATIS가 ORM보다 적합한 환경? • ORM을 학습할만한 충분한 시간이 없는 경우 • 데이타베이스 쿼리의 장점을 활용하고자 할 경우 • 데이타베이스의 정규화 작업이 미진한 경우 • 개발팀이 데이타베이스에 대한 전권을 가지고 있지 못한 경우 • 복잡한 통계성 프로그램이 많은 경우
What is Spring.NET? • 닷넷 환경에서 사용 가능한 Inversion Of Control기반의 어플리케이션 프레임워크 • IoC란…객체의 생성과 소멸 작업이 개발자의 코드에 의해 관리되는 것이 아니라, IoC 컨테이너에 의해 관리됨을 의미한다. • 어플리케이션 프레임워크란…어플리케이션을 개발함에 있어 전레이어에 걸쳐 개발 기반을 제공함. 코딩 룰(규칙)을 제공 또는 강제한다는 점에 있어서 라이브러리와는 다르다
Spring.NET support ... Messaging, Schedulling,,, ActiveMQ, TIBCO EMS, MSMQ 등 Message 랩퍼제공 Quartz 스케쥴링 랩퍼 제공 AJAX 자바스크립트에서 웹서비스 호출 WEB ASP.NET WebForm에서 DI 기능 제공 SERVICE PONO를웹서비스, COM+, 리모팅으로 포팅 ADO.NET의 랩퍼 클래스, 선언적 트랜잭션 제공 DAO AOP AOP 기능 지원 Spring.Net의 Core 모듈 IoC Container
... but it has challenges • Spring.NET Forces Interfaced Programming • Interface 기반 프로그래밍의 장단점을 정확히 파악할것 !! • 디버깅의 어려움, 모든 메소드에 대해 인터페이스 작성 등 • 기업내 업무용 소프트웨어에서 Interface 기반 프로그래밍의 실익을 살릴 수 있는지 고민하자 소프트웨어의 성격에 따라 다를것 !!
For More Information • Official Sites • http://ibatis.apache.org • http://www.springframework.net • Blogs • http://funnygangstar.tistory.com