1 / 20

Architecture

Architecture. Architecture – Non EJB Architecture. Architecture – Non EJB Architecture. 장점 !!. Servlet Engine 에서 서비스 가능 . - Cheaper License, Easier administration. Application Server, Servlet Engine 에 대해 더 좋은 Portability. Simpler Implemenation - POJO business Object, No JNDI lookup

cadman-bass
Download Presentation

Architecture

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

  2. Architecture – Non EJB Architecture

  3. Architecture – Non EJB Architecture 장점!! • Servlet Engine에서 서비스 가능. - Cheaper License, Easier administration. • Application Server, Servlet Engine에 대해 더 좋은 Portability. • Simpler Implemenation - POJO business Object, No JNDI lookup • 번거로웠던 Deployment descriptors가 필요없음 • Quicker code-deployment cycle. 단지 war파일 하나만 deploy하면 됨

  4. Architecture – Non EJB Architecture 단점!! • Remote 분산환경에 대한 지원이 부족. • 표준화된 환경과 관리 부족. 유지 보수의 어려움. • Business Service Layer에 대한 불명확함. • EJB의 선언적인 Transaction 관리와 같이 미리 제공하는 기능이 없음. 필요한 기능이 있을 때마다 구현 필요. • Application이 점점 커짐에 따라 Application의 일관성 부재 • Testability가 EJB보다 좋을 수 있으나 경우에 따라 다름.

  5. Architecture – Classic EJB Architecture

  6. Architecture – Classic EJB Architecture 장점!! • 정형화된 Service Layer 제공 • 선언적인 Transaction 관리와 같은 EJB 서비스 제공 • Business Object를 여러 서버에 분산이 가능 • 많은 개발자들이 개발에 익숙한 상태

  7. Architecture – Classic EJB Architecture 단점!! • 실행속도와 개발속도등 여러 부분에서 상당한 overhead가 발생함. • OO(Object Oriented)의 제한된 구현만이 가능함. • 테스트하기 어려움. 항상 EJB Container에서만 테스트가 가능함.

  8. Architecture – Local EJB Architecture

  9. Architecture – Local EJB Architecture 장점!! • 분산환경을 제외한 Remote EJB 아키텍처의 모든 강점을 제공 • RemoteException을 처리하지 않아도 됨

  10. Architecture – Local EJB Architecture 단점!! • Remote 분산환경을 제공하지 않음 • 테스트하기 어려움. 항상 EJB Container에서만 테스트가 가능함. • 아키텍처가 여전히 복잡함

  11. Architecture – Lightweight Container Architecture

  12. Architecture – Lightweight Container Architecture 장점!! • A simple but powerful • Horizontal scalability는 높음. • EJB보다 배우기 쉬우며, Configuration 또한 쉽다. • AOP의 지원으로 인해 선언적인 Transaction 관리와 같이 EJB에서 지원하던 기능들의 지원이 가능함.

  13. Architecture – Lightweight Container Architecture 장점!! • Servlet Engine에서 실행이 가능함. • Application Server와 Servlet Engine의 Portability 높음. • IoC(Inversion of control)을 통한 Business Object의 관리가 용이함. • POJO임으로 Testability가 높음. • OOP의 제한이 없음.

  14. Architecture – Lightweight Container Architecture 단점!! • Remote 분산환경을 지원하지 않음. Web service를 통하여 해결 가능. • 현재 Lightwegiht Container에 대한 표준이 없음. • EJB 아키텍트와 개발자들에 친숙하지 않음.

  15. Architecture – Lightweight Container Architecture 단점!! • Remote 분산환경을 지원하지 않음. Web service를 통하여 해결 가능. • 현재 Lightwegiht Container에 대한 표준이 없음. • EJB 아키텍트와 개발자들에 친숙하지 않음.

  16. Spring Introduction Spring은 Lightweight Application Framework

  17. Spring Introduction

  18. Spring Introduction • Spring Core : Spring 프레임워크의 근간이 되는 IoC(또는 DI) 기능을 지원하는 영역을 담당하고 있다. BeanFactory를 기반으로 Bean 클래스들을 제어할 수 있는 기능을 지원한다. • Spring Context : Spring Core 바로 위에 있으면서 Spring Core에서 지원하는 기능외에 추가적인 기능들과 좀 더 쉬운 개발이 가능하도록 지원하고 있다. 또한 JNDI, EJB등을 위한 Adaptor들을 포함하고 있다.

  19. Spring Introduction • Spring DAO : 지금까지 우리들이 일반적으로 많이 사용해왔던 JDBC 기반하의 DAO개발을 좀 더 쉽고, 일관된 방법으로 개발하는 것이 가능하도록 지원하고 있다. Spring DAO를 이용할 경우 지금까지 개발하던 DAO보다 적은 코드와 쉬운 방법으로 DAO를 개발하는 것이 가능하다. • Spring ORM : Object Relation Mapping 프레임워크인 Hibernate, IBatis, JDO와의 결합을 지원하기 위한 기능이다. Spring ORM을 이용할 경우 Hibernate, IBatis, JDO 프레임워크와 쉽게 통합하는 것이 가능하다.

  20. Spring Introduction • Spring AOP : Spring 프레임워크에 Aspect Oriented Programming을 지원하는 기능이다. 이 기능은 AOP Alliance 기반하에서 개발되었다. • Spring Web : Web Application 개발에 필요한 Web Application Context와 Multipart Request등의 기능을 지원한다. 또한 Struts, Webwork와 같은 프레임워크의 통합을 지원하는 부분을 담당한다. • Spring Web MVC : Spring 프레임워크에서 독립적으로 Web UI Layer에 Model-View-Controller를 지원하기 위한 기능이다. 지금까지 Struts, Webwork가 담당했던 기능들을 Spring Web MVC를 이용하여 대체하는 것이 가능하다. 또한 Velocity, Excel, PDF와 같은 다양한 UI 기술들을 사용하기 위한 API를 제공하고 있다.

More Related