struts로 검색한 결과 :: 시소커뮤니티[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

회원가입 I 비밀번호 찾기


SSISO Community검색
SSISO Community메뉴
[카페목록보기]
[블로그등록하기]  
[블로그리스트]  
SSISO Community카페
블로그 카테고리
정치 경제
문화 칼럼
비디오게임 스포츠
핫이슈 TV
포토 온라인게임
PC게임 에뮬게임
라이프 사람들
유머 만화애니
방송 1
1 1
1 1
1 1
1 1
1

struts로 검색한 결과
등록일:2008-06-11 10:07:08
작성자:
제목:[FRAMEWORK] 기본개념


1.프레임워크란 :특정형태의 소프트웨어문제를 해결하기 위한 상호 협력하는 클래스들과

  인터페이스들의 집합. (즉 콤포넌트들의 집합)

  1)구성 : 여러클래스와 컴포넌트로 구성됨

  2)구조 : 좀더 높은 수준에서 패턴들을 조직화함

  3)요건 : 다양한 애플리케이션에서 이용 가능한 범용성(generic)을 가짐

 

2.라이브러리 :애플리케이션에서 호출할수 있는 함수와 루틴으로 구성되며, 필요한 클래스를

 개발자가 불러오는방식

 

3.프레임웍 and 라이브러리의 차이점

 :구성의 차이

  1). 라이브러리 : 함수와 루틴들

  2). 프레임웍 : 콤포넌트들

 

 :용법의 차이

  1). 라이브러리 : 내부에서 불러서 사용

  2). 프레임웍 : 내부에서 호출이아니라, 자체가 그대로 동작하거나,상속을 받아 재구성하여

       동작한다.(콤포넌트들은 라이브러리을 불러서 사용할수 있다.)

 

4.서블릿이란 :자바 플랫폼을 사용하는 웹 애플리케이션을 확장하고 강화해주는 핵심기술

  1). 장점

   1. 웹애플리케이션을 컴포넌트 기반으로 제작할수 있게 해준다.

   2. 플랫폼 독립적으로 제작할수 있게 해준다.

   3. 싱글톤패턴으로 작동하여,성능에 한계가 없다.

   4. 경량 멀티쓰레딩방식으로 처리되어, 확장성이 뛰어나며(기능이 추가된다면, 별도의 인스턴스

       가 생성되지않고,경량쓰레드만이 생성된다)

   5. 모든 자바 애플리케이션 프로그래밍 인터페이스(API)를 사용할수 있다.

 

  2). 동작

   1. 웹서버와 TCP/IP통신을 하며,html을 생성하며 웹서버에 송신한다.

   2. 특정밴더에 종속된 서블릿엔진을 사용하지 않아도됨(엔진선택가능,분야별최고를선택:웹로직!)

 

  3). 한계

   1. 서블릿내에 html코드를 하드코딩하므로,HTML을 변경하기 어려우며,역할분담도 어렵다.

   2. 국제화(locale)가 힘들다(보통 각언어별로 새로운 서블릿을 만든다.)

 

5.JSP란 :서블릿기술의 확장

  1). 동작 1.translator를 통해 서블릿코드(.java)로 변환

   1. 컴파일

   2. 서블릿컨테이너에서 실행

 

  2). 장점

   1. 컴파일되므로, 인터프리팅방식보다 성능이 우수

   2. 확장성이우수(모든java api사용,커스텀태그사용)

   3. Write Once, Run Anywhere

   4. 자동컴파일

   5. 뷰와로직의 분리가 용이함

 

6. 태그라이브러리란 :jsp기술의 일부로서 커스텀태그를 정의가능하게 함

  1). 장점

   1. 재사용성이 뛰어남(구현로직은 한곳에 분리,사용은 태그로)

   1. 중복으로 인한 에러발생의 최소화

 

  2). 단점

   1. 스크립틀릿에 비해 제작이 까다로우며,응용범위가 한정된다.

 

  3). 견해 :스크립트릿만 사용하는 프레임웍,또는 태그라이브러리만 사용하는 프레임웍,또는

     둘다 적절히 혼합하는 형태등 다양한 형태로 활용되고 있으며 절대적인 정답은 없다.

    단지 구현시스템에 가장 적합한 형태를 찾아야한다. 이역할은 물론 아키텍트나 개발자의

    몫이다.

 

7.모델1,모델2

  1). 차이점

   1. 모델1:클라이언트 요청을 JSP가 바로 받음

   1. 모델2:클라이언트 요청을 serlvet이 바로 받음

 

  2).장점

   1.모델1:구조가 단순하고,개발속도가 빠르다.

   1.모델2:유지보수가 쉽고,확장성이 뛰어나다. MVC를 구분하기 좋다.소스가독성이 좋다.

 

  3).단점

   1.모델1:유지보수비용이 많이든다.소스가 지저분한다.(가독성이 떨어짐)

   1.모델2:구조가 복잡하고,개발속도가 느리다.

 

8.웹애플리케이션의 MVC패턴

  1).M(Model)

   1.형태

    1.1:모델1에서는 관계형DB와 객체와의 매핑관계를 프레임워크에서 자동으로 설정한다.

    1.2:모델2에서는 ejb를 사용하는데,그 패턴은 2가지가 있다.

     첫째: entity bean을 사용할수 있는데 이경우 애플리케이션에서 수행하는 수많은 원격 호출에

            따른 부하가 성능에 무시못할 영향을줌

     둘때:일반적인 방법으로서 session bean이 반환하는 자바빈을사용 원격호출이 없어 성능이

            우수하다.

 

  2).V(View)

   1.형태

    1.일반적으로 HTML(또는 wml...)과 JSP, 그리고 java-script로 구성된다.

 

  3).C(Controller)

   1.형태

    1.일반적으로 자바서블릿이한다.(jsp로 구성할수도 있으나,jsp를 view전용 스팩으로 가져가기

      위한 목적으로 servlet으로 가져간다.) 웹으로 클라이언트 요청을 제일앞단에서 받을수 있는

      스펙은 jsp와servlet뿐이다.

   

   2.역할

    1. 클라이언트로부터 최초의 http요청을 받는다.

    2. 요청에따라 특정 비지니스 수행로직으로 맵핑시킨다.

    3. 비지니스 수행로직을 직접호출,또는 복잡한 중간처리과정이 있는경우는 핸들러 클래스에 

        넘겨준다.

    4. 뷰를 선택하여, forward시킨다.

 

9.프레임웍의 도입

 1).프레임웍도입지침

  1.어떤 프레임워크를 사용할 수 있는지 점검해보았고, 사용 가능한 프레임워크를 사용하여

    프로토타입을 제작해보았는가

  2.애플리케이션에 필요하지만 사용가능한 프레임웍에는 없는(빠진)기능은 무엇인가?

  3.추가기능이 있을때 프레임워크의 확장기능이 우수한가?

  4.요구사항을 충족할수 있는 프레임워크를 제작할 충분한 지식이 있는가?

 

 2).부연설명 

  1.제작할 솔루션에 최적화된 프레임웍을 만들능력이 있다면 마땅히 자체적으로 구현해야 함

   (제작의 범위는100%가능하다면 100%순수제작도 좋으나 우리가 갖춘컴포넌트가 기능이

   부족하거나 , 적합하지않을경우는 최적의 컴포넌트를 외부에서 얻어내는것이 현명한 방법이다.

   강점은 최대한 활용. 약점은 최소화. 이것이 가장 현명한 프레임웍도입의 개념이다.

  2.프레임웍은 대부분 일반적인 개발패턴과는 달리,난이도에 따라 상당한 학습기간을 요할수

    있으므로, 충분한 학습기간을 고려해야 시행착오를 막을수 있다.

 

 3).유명한 프레임웍들  

  1.스트러츠(http://jakarta.apache.org/struts/)

  2.바라쿠다(http://barracuda.enhydra.org)

  3.코쿤(http://xml.apache.org/cocoon/)

  4.익스프레소(http://www.jcorporate.com)

  5.프리마커(http://freemarker.sourceforge.net)

  6.벨로시티(http://jakarta.apache.org/velocity)

  7.웹매크로(http://www.webmacro.org)

  8.매버릭(http://mav.sourceforge.net)

  9.사이트메시(http://www.opensymphony.com/sitemesh/)

  10.자카르타터빈(http://jakarta.apache.org/turbine)

  11.웹워크(http://sourceforge.net/projects/webwork/)

  12.자바서버페이스(http://www.jcp.org/jsr/detail/127.jsp)

 

10. EJB란 :Enterprise Java Beans

  1.특징

   1.웹애플리케이션의 구조적계층에 중간계층의 역할을 한다.

   1.RMI/IIOP를 이용하여, 언어와 플랫폼을 초월한 계층간통신이 가능

   1.보안,빈풀링,트랜잭션처리를 미들웨어가 자동으로처리함으로서 개발자는 비지니스로직에

    충실할수 있다.즉 결함허용능력이 향상된다.(개발작 실수할수있는 영역을 미들웨어가 대신처리

    하거나 한번더 확인해줌으로 이중으로 점검하는효과)

 

11. Redirect와 Forward

  1.차이점

   1.Rediret는 request scope에 저장된 객체를 비운후에 요청을 처리

   1.Forward는 request scope에 저장된 객체를 유지하며 처리함

 

   2.Rediret는 net transaction이 많아서 성능에 불리하다.

   2.Forward는 net transaction이 적어서 성능에 유리하다.

   3.Rediret는 url이 변경되므로 상대경로에 혼란이 없다.

   3.Forward는 url이 초기 서블릿url로 그대로 남아, 상대경로에 혼란을 가져온다.