1 / 16

iBATIS.NET & Spring.NET

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

konane
Download Presentation

iBATIS.NET & Spring.NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. iBATIS.NET & Spring.NET 권효중 fog_rain@naver.com

  2. Session Objective • iBATIS.NET • Why iBATIS.NET? • 주요 기능 리뷰 • DEMO • Spring.NET • 주요 기능 리뷰 • 활용 전략 • DEMO • Q & A

  3. iBATIS.NET

  4. iBATIS.NET은 또다른 ORM ? • iBATIS.NET은 ORM이 아니다 • 쿼리 결과를 객체에 맵핑해주는 Data Mapper일 뿐이다

  5. ORM vs iBATIS • ORM • 데이타베이스와 객체의 맵핑 • No More Hand Coded Query !! • iBATIS • 쿼리 결과와 객체의 맵핑 • Still Need Hand Coded Query, But No More Object Mapping Code !!

  6. Advantage • Easy To Learn !! • 쿼리 ↔객체간 맵핑 작업 필요 없음 • 데이타베이스 쿼리의 장점을 그대로 사용할 수 있음 • 쿼리문만 따로 관리하므로 유지 보수 용이 • WHERE 조건의 다이나믹한 추가 제거 • iBATIS가 제공하는 강력한 쿼리 캐쉬 메커니즘 사용 • 쿼리문의 재사용

  7. 개발 환경 구성 Providers.config  Database 별 드라이버 정보를 기재  단 하나의 Providers.config 파일만이 존재함  커넥션스트링 기재  분산 트랜잭션이 필요한 경우 여러개의 SqlMap.config 파일이 존재할 수 있음 SqlMap.config  쿼리문이 기재됨  아키텍쳐에 따라서 테이블별로 기재할 수도 있고 메뉴별로 기재할 수도 있음 SqlStatement.XML

  8. DEMO

  9. iBATIS가 ORM보다 적합한 환경? • ORM을 학습할만한 충분한 시간이 없는 경우 • 데이타베이스 쿼리의 장점을 활용하고자 할 경우 • 데이타베이스의 정규화 작업이 미진한 경우 • 개발팀이 데이타베이스에 대한 전권을 가지고 있지 못한 경우 • 복잡한 통계성 프로그램이 많은 경우

  10. SPRING.NET

  11. What is Spring.NET? • 닷넷 환경에서 사용 가능한 Inversion Of Control기반의 어플리케이션 프레임워크 • IoC란…객체의 생성과 소멸 작업이 개발자의 코드에 의해 관리되는 것이 아니라, IoC 컨테이너에 의해 관리됨을 의미한다. • 어플리케이션 프레임워크란…어플리케이션을 개발함에 있어 전레이어에 걸쳐 개발 기반을 제공함. 코딩 룰(규칙)을 제공 또는 강제한다는 점에 있어서 라이브러리와는 다르다

  12. 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

  13. DEMO

  14. ... but it has challenges • Spring.NET Forces Interfaced Programming • Interface 기반 프로그래밍의 장단점을 정확히 파악할것 !! • 디버깅의 어려움, 모든 메소드에 대해 인터페이스 작성 등 • 기업내 업무용 소프트웨어에서 Interface 기반 프로그래밍의 실익을 살릴 수 있는지 고민하자  소프트웨어의 성격에 따라 다를것 !!

  15. Q & A

  16. For More Information • Official Sites • http://ibatis.apache.org • http://www.springframework.net • Blogs • http://funnygangstar.tistory.com

More Related