2013년 10월 23일 수요일

Spring 프로젝트 시작

>> 스프링
- 자바 엔터프라이즈 환경에서 동작하는 애플리케이션 개발

1.스프링이 이용하는 클라이언트와 백엔드 시스템
- client system : webBrowser/HTML, RIA/Flex, X인터넷,NET/Mobile,엔터프라이즈시스템
- backendStstem : DB, 메세징서버, 메일서버, 메인프레임, 자바가 제공하는 접속방식을 지원하는 시스템이면 뭐든 가능

2. application server
- 스프링으로만든 application 서버에 배포할라면, 서버가 JavaEE지원하는 서버이어야함
> 경량급 WAS/서블릿컨테이너
- 톰켓,제티,가벼운서블릿컨테이너등
--> 선언적인 트랜젝션, 선언적 보안, DB연결 풀링,리모팅이나 웹서비스, 라이브러리의 도움을 받으면 분산/글로벌 트랜젝션까지도 가능
> 고성능 WAS
- 자바 엔터프라이즈 버전 표준을 최대환 활용가능함
> tcServer in 스프링소스
- 경량급 applicationServer : 톰캣기반으로 엔터프라이즈 스프링에 최적화되어있음
--> 톰캣에없는 고급서버 관리기능, 배포기능,진단기능이 포함됨
--> 스프링 application 개발과 운영에 꼭 필요한 중요기능이 제공되어 있음

3. 스프링 application 배포단위
> 독립웹모듈
--> war로 패키징된 독립 웹 모듈로 배포함
--> 톰캣같이 서블릿 컨테이너쓴다면 독립 웹 모듈이 유일한 방법이다.
>엔터프라이즈 애플리케이션
--> ear 패키징
--> 스프링 application에서 EJB 모듈을 긴밀하게 사용하거나 반대로 EJB 모듈에서 스프링으로 만든 application을 이용해야 한다면, EJB와 스프링 웹 모듈을 엔터프라이즈 application으로 통합하는 방법
--> 웹모듈+ 웹모듈과연동시킬수있는 스프링컨테스트를  엔터프라이즈 에플리케이션으로 묶는 방법
> rar패키징
- 리소스 커넥터를 만들어서 배포할때 사용하는 방식
- 스프링으로 만든 app이 UI 가질 필요 없고 서버 내에서 백그라운드 서비스 처럼 동작할 필요가 있을때 rar모듈로 만들어서 배포함

4. 라이브러리 관리와 빌드툴
애플리케이션의 아키텍쳐 결정 -> 사용 기술 선정 -> 애플리케이션 프로젝트를 IDE에 구성
IDE에 구성 시 가장 어려운 부분은 필요한 프레임워크 모듈과 라이브러리 파일을 선택해서 프로젝트의 빌드 패스에 넣어주는 일.
  수 많은 모듈과 라이브러리가 매번 다 쓰이는게 아니라 필요한 기능과 사용하기로 결정한 기술에 따라 적절한 선택이 필요하다.
  라이브러리의 종류는 같지만 버전이 맞지 않으면 컴퍼일이 되지 않을수도 있고, 컴파일은 정상적으로 되고 동작은 하지만 웅영 중에 오류가 발생할 수 있다.

라이브러리 선정
  스프링으로 만드는 애플리케이션에서 정확히 어떤 기능이 필요한지를 정리. 각 기능을 지원하는 기술이 여러 가지 종류가 있다면 그 중에서 어떤 것을 사용할지도 결정해야 한다.
  • 스프링 모듈 - 사용할 기능과 기술 목록이 모두 만들어졌으면 스프링 모듈부터 선정. 스프링에는 총 20개의 모듈이 있다. 스프링의 모듈 사이에도 의존관계가 있다. 이 책의 부족 A.2절 ' 스프링 모듈의 의존관계'를 참조
  • 라이브러리 - 스프링의 각 모듈은 또 다른 모듈에 의존하기도 하지만 오픈소스 라이브러리 또는 표준API를 필요로 하기도 하고 경우에 따라서 상용 제퓸의 라이브러리에 의존한다. 이 책의 부록 B에 나온 스프링 모듈과 그에 의존하는 라이브러리의 종류와 트징을 살펴보고 그중에서 적절한 라이브러리를 선택한다.

댓글 없음:

댓글 쓰기