2. 아키텍처 상에서 Spring 프레임워크가 차지하는 위치

Slides:



Advertisements
Similar presentations
UX, RIA, 그리고 … Silverlight 공도소프트
Advertisements

1)RACK 2)UPS 3)P D U 장치 4)Server Group 5)KVM Switch 7)UPS 를 위한 HUB 6) RACK Monitor.
2008 년 11 월 20 일 실습.  실험제목 ◦ 데이터베이스 커넥션 풀  목표 ◦ 데이터베이스 커넥션 풀의 사용.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
항공 예약 시스템 1 조 ( 김민철, 김영주, 이혜림, 장유정, 조윤주, 문하늘 ). 목차 차세대 전산시스템 도입의 필요성 현재 항공 시스템 ( 대한항공 ) 항공 시스템의 변화 미래항공 시스템.
컴퓨터와 인터넷.
컴퓨터응용과학부 Java Enterprize(DB) 제 1 주
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
Oozie Web API 기능 테스트 이승엽.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Windows Server 장. Windows Server 2008 개요.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
PHP입문 Izayoi 김조흔.
MS SQL Server - 마이크로소프트 사가 윈도우 운영 체제를 기반으로 개발한 관계 DBMS
웹 애플리케이션 아키텍쳐 웹 클라이언트 서버 요청 응답 전송 애플리케이션 데이터베이스 커넥터 N-계층.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
Struts2 를 이용한 SOCAS Homepage
Chapter 7. RAS(전화접속,VPN) & IAS
클라우드 컴퓨팅 아키텍처.
FTP 프로그램 채계화 박재은 박수민.
Spring Framework JDBC, Transaction
NJM Messenger 박상원 박연호.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
D / K / I / T / E / C / H / N / O / L / O / G / Y
웹 애플리케이션 개발 프레임워크와 스트러츠 웹 애플리케이션 기술 변천사를 이해한다
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
KHS JDBC Programming 4 KHS
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
Wireless Java Programming
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
전자정부 표준프레임워크 호환성 가이드 전자정부 표준프레임워크 사업단 실행환경 개발팀.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
Spring 프레임워크의 이해 2. Spring Introduction.
3. Spring 프레임워크의 IoC 컨테이너 개념
RMI Messenger 지도 : 김정배 교수님 조봉진.
Spring 프레임워크의 이해 1.Architecture.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Spring 프레임워크의 이해 3. Spring IoC 이해 및 활용.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
Smart Workplace 개발자 가이드
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
구분 필요기술 장점 단점 결론 ASP.NET Javascript HTML Web IIS Web +
Ajax 활용 – Ajax 개요 2008 고급 XML 프로그래밍 임순범.
8장 쿠키와 세션 한빛미디어(주).
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
LabVIEW WiznTec 주임 박명대 1.
Spring Framework 플랫폼개발실 김광욱
기말 프로젝트 계획 MVC 패턴 기반 웹 애플리케이션 개발 프로젝트명 : 팀명 : 팀원 :
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
4. Spring 프레임워크의 AOP 개념.
STS 에서 웹 서버 설치 방법.
Level 0 Level 1 Level 2 Level 3 공모전 후기 모음 웹 서비스 1. 웹 페이지 설계 2. 웹 서버 구현
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
Introduction to JSP & Servlet
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
Architecture.
Spring Introduction.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
JSP Programming with a Workbook
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
08. 소프트웨어 아키텍처 설계 전략 명지대학교 융합소프트웨어학부 김정호 교수.
IO-Link 통신 기술 소개 산업 Ethernet 필드버스 게이트웨이 접속 IO-Link 마스터 IO-Link 통신
CHAP 15. 데이터 스토리지.
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

2. 아키텍처 상에서 Spring 프레임워크가 차지하는 위치

아키텍처 – EJB 등장 이후 변화 IT 환경이 계속해서 발전하면서 개발 기간이 점점 더 짧아지고 있다. 클라이언트들이 유지 보수성의 중요성에 대한 인식 증대 개발 Process에서 Test의 중요성이 증가 => Test의 용이성 필요 한 회사내에서는 일관된 개발 Framework의 필요성 요구 AOP, Web Service 기술의 안정화. IOC 패턴을 지원하는 Light Weight Container Framework의 등장 : Spring, PicoContainer, HiveMind O/R Mapping, JDO 안정화 : JDO 2.0 스펙정의, Hibernate, Ibatis등 다양한 Open Source의 등장 : Eclipse, Beehive, Jboss, Spring, Struts 등 WEB에 C/S 개념을 적용 시키기 위한 다양한 기술 등장 – AJAX, Flex와 같은 다양한 RIA(Rich Internet Applications) 등장

아키텍처 - Classic EJB Architecture 장점 정형화된 Service Layer 제공 선언적인 Transaction 관리와 같은 EJB 서비스 제공 Business Object를 여러 서버에 분산이 가능 많은 개발자들이 개발에 익숙한 상태 단점 실행속도와 개발속도등 여러 부분에서 상당한 overhead가 발생함. OO(Object Oriented)의 제한된 구현만이 가능함. 테스트하기 어려움. 항상 EJB Container에서만 테스트가 가능함.

아키텍처 - Local EJB Architecture 장점 분산환경을 제외한 Remote EJB 아키텍처의 모든 강점을 제공 RemoteException을 처리하지 않아도 됨 단점 Remote 분산환경을 제공하지 않음 테스트하기 어려움. 항상 EJB Container에서만 테스트가 가능함. 아키텍처가 여전히 복잡함.

아키텍처- 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하면 됨 단점 Remote 분산환경에 대한 지원이 부족. 표준화된 환경과 관리 부족. 유지 보수의 어려움. Business Service Layer에 대한 불명확함. EJB의 선언적인 Transaction 관리와 같이 미리 제공하는 기능이 없음. 필요한 기능이 있을 때마다 구현 필요. Application이 점점 커짐에 따라 Application의 일관성 부재 Testability가 EJB보다 좋을 수 있으나 경우에 따라 다름.

아키텍처 - Lightweight Container Architecture 장점 A simple but powerful Horizontal scalability는 높음. EJB보다 배우기 쉬우며, Configuration 또한 쉽다. AOP의 지원으로 인해 선언적인 Transaction 관리와 같이 EJB에서 지원하던 기능들의 지원이 가능함. Servlet Engine에서 실행이 가능함. Application Server와 Servlet Engine의 Portability 높음. IOC(Inversion of control)을 통한 Business Object의 관리가 용이함. POJO임으로 Testability가 높음. OOP의 제한이 없음. 단점 Remote 분산환경을 지원하지 않음. Web service를 통하여 해결 가능. 현재 Lightwegiht Container에 대한 표준이 없음. EJB 아키텍트와 개발자들에 친숙하지 않음.

아키텍처 – Lightweight Container Architecture의 예 최근 중, 대규모의 웹 애플리케이션 효율적으로 개발 및 유지보수 하기 위하여 계층화(Layering)하는 것이 일반적 보통 이 Layer는 프리젠테이션, 퍼시스턴스, 비즈니스, 도메인 모델(Domain model) Layer 4개로 나눈다. 각 Layer는 완전히 독립적이어야 하며, 일반적으로 각 Layer사이에서는 인터페이스를 통하여 통신한다.(Domain Model의 경우에는 제외)

아키텍처 – Presentation Layer 사용자를 위한 request와 response의 처리 비즈니스 로직과 다른 상위 프로세스로의 호출을 웹 환경으로부터 분리하기 위한 컨트롤러 제공 상위 Layer에서 발생하는 Exception, Error에 대한 처리 View에 표현해야할 Model을 엮는 기능 View에서 입력한 데이터에 대한 유효성 검증(Validation) 기능 사용가능한 Framework Struts Spring MVC JSF(Java Server Faces) WebWork JSP + Servlet 기타 무수히 많은 Framework 존재

Business Layer에서 제공해야 하는 기능 어플리케이션 비즈니스 로직 처리와 비즈니스에 관련된 빈의 적합성 검증 트랜잭션 처리 다른 계층들과 통신하기 위한 인터페이스 제공 비즈니스 레벨에 있는 객체들간의 관계를 관리 프리젠테이션 계층과 퍼시스턴스 계층 사이의 다리 역할을 해 그 둘이 직접 통신하지 않도록 함으로써 어플리케이션에 유연성을 더함. 사용가능한 Framework Spring Pico Container EJB Session Bean

아키텍처 – Persistence Layer 관계형 정보를 빼내어 객체화 시키는 작업. 데이터베이스의 자료를 저장하고, 수정하고, 삭제하는 작업. Persistence Layer에서 넣지 말아야 하는 기능 비즈니스 로직. Persistence Layer는 단지 데이터 접근과 관련된 기능만 제공해야 함. Presentation 로직과 Persistence 로직을 같이 사용하면 안된다. 사용가능한 Framework Hibernate Ibatis Spring JDBC DAO 패턴

아키텍처 – Domain Model Layer 도메인 모델 데이터베이스의 Entity와 비슷한 개념을 가지는 것으로 실제 비즈니스 객체를 표시 전 Layer에 걸쳐 하나의 도메인 모델을 사용함으로서 DTO(Data Transfer Object)를 만들 필요가 없다. 여러 계층을 통과하면서 계층들간의 통신시 데이터 전송용 객체(DTO)를 사용하였을 때 발생할 수 있는 데이터의 유실 가능성 존재