Presentation is loading. Please wait.

Presentation is loading. Please wait.

웹 애플리케이션 개발 프레임워크와 스트러츠 웹 애플리케이션 기술 변천사를 이해한다

Similar presentations


Presentation on theme: "웹 애플리케이션 개발 프레임워크와 스트러츠 웹 애플리케이션 기술 변천사를 이해한다"— Presentation transcript:

1 웹 애플리케이션 개발 프레임워크와 스트러츠 웹 애플리케이션 기술 변천사를 이해한다
MVC 패턴과 스트러츠 프레임워크 관계를 이해한다 오픈소스 프레임워크의 종류 및 기능을 이해한다 한빛미디어(주)

2 웹 애플리케이션 역사와 기술 변천사 Section 01 웹의 시작-1989 단순 HTML만 가능했던 초기의 웹 브라우저 들
www의 탄생 분산된 방대한 양의 연구 결과를 보다 효율적으로 공유하기 위해 CERN의 팀 버너스리 에 의해 고안됨 단순한 텍스트와 이미지로 구성되었으나 의미 있는 텍스트를 다른 정보와 연결하는 하이퍼 텍스트 개념을 통해 획기적인 정보 서비스 제공 HTML Hyper Text Markup Language의 약자로 www 서비스를 구성하기 위한 언어 개발자 관점 인터넷 초기에는 HTML 만 알아도 고급 개발자로 대우 받음 단순 HTML만 가능했던 초기의 웹 브라우저 들

3 웹 애플리케이션 역사와 기술 변천사 Section 01 보다 많아진 데이터-1994년 www 서비스 확산
연구정보 공유 에서 개인적인 관심사에 대한 서비스로 확대됨 웹 프로그래밍 개념 등장 늘어나는 데이터를 처리하기에는 HTML 만으로는 한계가 있음 기존 프로그램을 웹과 연동하기 위한 기술 등장  CGI 개발자 관점 단순 HTML 에서 C언어와 같은 전통적인 프로그래밍 언어 능력이 요구됨 기술 설명 CGI 프로그램의 입력과 출력을 웹과 연동해주는 기술로, 웹 발전에 중요한 역할을 했다. Perl 일종의 스크립트 언어로, 초기 CGI 구현에 널리 사용되었으나 ASP, PHP, JSP 등의 출현으로 사용이 줄어들었다. 지금은 유닉스에서 서버 관리용 스크립트 언어로 주로 사용된다. C 대표적인 프로그래밍 언어로, 초기 웹은 주로 유닉스 계열의 서버에서 운영되었기에 C언어가 가장 많이 사용되었다.

4 웹 애플리케이션 역사와 기술 변천사 Section 01 멀티미디어 웹의 시작-1996년 멀티미디어 의 웹 진출
CGI등을 통해 보다 다양한 서비스 제공이 가능 했으나 사용자 인터페이스 기술 부족 자바 애플릿 기술을 시작으로 플래쉬, 쇼크웨이브 등의 기술이 등장 함 인터액티브 웹 기술 개발자 관점 자바는 새로운 언어였고 미래를 예상하기 힘듬 웹 프로그래머와 컨텐츠 제작자의 경계가 나뉘고 이들간의 협업이 점점 어려워짐 기술 설명 자바 가전제품에 적용하던 OAK 프로젝트가 인터넷의 발전과 함께 자바 언어로 발표되었다. 애플릿이라는 기술을 통해 멀티미디어 웹의 미래를 보여주었다 자바스크립트 브라우저에서 서버 연결 없이 사용자와 동적인 상호작용을 가능하게 하는 스크립트 기술로, 지금까지도 널리 사용되고 있다. Ajax 등장과 함께 새로운 생명을 얻었다. 플래시, 쇼크웨이브 웹 브라우저에서 이용되는 작은 용량의 멀티미디어 데이터로, 화려한 애니메이션과 사용자와의 상호작용을 지원하는 콘텐츠 기술이다. 지금은 없어서는 안 될 웹 구현 기술 중 하나이다.

5 웹 애플리케이션 역사와 기술 변천사 Section 01 닷컴의 전성시대-1999년 닷컴 열풍 새로운 웹 프로그래밍 기술의 등장
전 세계적으로 인터넷 벤처를 일컷는 닷컴기업에 대한 투자 열풍 인력수요도 많아 개발자들도 대접을 받던 시절 새로운 웹 프로그래밍 기술의 등장 자바 기반의 웹 프로그래밍 기술인 서블릿 등장 ASP, PHP 등 서버 스크립트 기술 등장 기존의 CGI 방식 프로그래밍을 급속도로 대체하게 됨 개발자 관점 웹 프로그래머는 이때까지만 해도 매우 주목받는 직업 이었음 새로운 기술이 많이 등장한 관계로 개발자들이 알아야 할 기술이 들었다 데이터베이스, 소프트웨어 아키텍처 등 고급 기술을 가진 전문인력 수요가 늘어남 기술 설명 서블릿 자바 기반의 웹 개발 기술이다. Fast CGI라는 형식을 취하며 빠른 속도와 서버 성능 향상이 가능한 구조를 가진 새로운 웹 개발 언어로 주목을 받았다. 그러나 프로그램에서 콘텐츠(HTML)를 구성해야 하는 한계를 갖고 있었다. ASP/PHP 서버 스크립트로 불리는 기술이다. HTML 페이지 내에서 프로그램 코드를 함께 기술하는 방식이다. 비교적 쉽게 접근할 수 있는 구조여서 많은 웹 프로그래머 양산에 이바지했다. JSP 자바 기반의 서버 스크립트 언어이다. 강력한 성능과 확장성을 무기로 해서 빠른 속도로 ASP/PHP를 대체해나갔다. 현재 가장 대표적인 웹 개발 언어로 자리 잡았다.

6 웹 애플리케이션 역사와 기술 변천사 Section 01 닷컴의 몰락과 웹 개발 기술의 홍수-2004년 닷컴 의 몰락
벤처 투자의 붐이 가라앉고 인터넷 벤처들도 하나씩 정리가 됨 인터넷과 웹은 더 이상 새로운 기술이 아님 기술의 보편화로 홈페이지 제작은 초등학생도 가능한 시대가 됨 기술의 홍수 J2EE/EJB,닷넷, SOA(Service Oriented Architecture), 웹2.0, Ajax, 스프링, 하이버네이트, 스트러츠,웹워크, 아이바티스, 루비 온 레일즈, 이클립스, 플렉스, RCP 등 셀수 없이 많은 기술이 등장 모든 기술이 반드시 필요한 것은 아니지만 그만큼 개발자가 해야할 일이 많아짐 개발자 관점 개발자에게 있어 어려운 시대가 된 것은 사실임 새로운 기술을 통해 생산성과 유지보수 효율성을 얻을 수 있음 가능한 많이 알고 필요한 것을 취사 선택할 수 있는 능력이 요구됨

7 MVC패턴과 스트러츠 Section 02 MVC패턴 개요 패턴(Pattern) MVC 패턴
소프트웨어 디자인 패턴 에서 유래한 용어 특정 목적에 대해 검증된 소프트웨어 설계 모델을 말함 동일 목적을 가지는 모든 곳에 동일하게 적용 될 수 있음 MVC 패턴 MVC(Model-View-Controller) 패턴은 스몰토크 라는 객체지향 언어에서 UI 개발을 위해 사용 되었던 방법으로 오랜 동안 그 효율성이 입증되었고 웹 에서도 적합한 것으로 인정 받음 사용자에게 보여질 페이지(View), 데이터처리(Model), 이들 상호간의 흐름제어(Controller) 모듈을 분리해 구현하는 방식

8 MVC패턴과 스트러츠 Section 02 MVC패턴 구현 방안 MVC패턴 구성요소 MVC패턴 구현 방법
그러나 호환성과 안정성등을 위해 스트러츠와 같은 공인된 프레임워크 사용을 권장 스트러츠 이외에도 많은 MVC패턴 프레임워크가 있으나 스트러츠가 제일 널리 사용됨 영역 구현 방식 모델(Model) 데이터 영역으로 DAO(Data Access Object), DO(Data Object) 등으로 구분해 구현하기도 한다. 하이버네이트, 아이바티스와 같은 퍼시스턴스 프레임워크를 사용하기도 한다. EJB와 연동할 수도 있으며 EJB3.0의 POJO 기반의 Persistence API도 있다. 뷰(View) JSP를 기본으로 표현 언어, JSTL, 커스텀 태그라이브러리 등을 함께 사용하며, 모듈화된 사용자 인터페이스 모델인 JSF(Java Server Faces)도 이용할 수 있다. 컨트롤러(Controller) MVC 패턴의 중심이 되는 부분으로, 직접 구현하거나 구현된 솔루션을 이용할 수 있다. 대표적으로 스트러츠 프레임워크가 있다.

9 MVC패턴과 스트러츠 Section 02 스트러츠 프레임워크 스트러츠1
이클립스, JBuilder, 넷빈즈 등 대표적인 자바 개발도구 들이 스트러츠를 지원함 다양한 서드 파티 플러그인도 개발되어 있고 개발사례도 많아 문제 발생시 해결이 용이함 스트러츠1 기본구조 web.xml 의 ActionServlet 매핑을 통해 특정 URL(예를들어 *.do) 와 같은 요청에 대해 ActionServlet 이 실행되도록 함 ActionServlet은 컨트롤러의 역할을 수행하며 struts-config.xml 파일을 참조해 사용자 요청을 컨트롤함. HTML 폼과 테이블 매핑을 위한 ActionForm 빈, HTML 폼 내용검증을 위한 Validation Framework, 다국어 처리 등 다양한 부가기능 제공

10 MVC패턴과 스트러츠 Section 02 스트러츠 프레임워크 스트러츠1 스트러츠의 장점 스트러츠의 단점
단일 진입 서블릿을 사용하여 관리가 용이하다. 확장성을 위주로 만들어졌다. JSTL, JSF 등 표준을 포함하여 버전업되고 있다. 여러 통합 개발환경과 서드 파티에서 스트러츠 개발을 지원하고 있다 스트러츠의 단점 스트러츠 프레임워크를 이해하는 데 시간이 많이 걸린다. 프레임워크를 이용해도 프로그램 코드가 줄어드는 것은 아니다. 스트러츠 태그 라이브러리가 표준은 아니다. 프레임워크의 변경이 잦다. 규모가 커질수록 struts-config.xml이 방대해지고, 무수히 많은 액션 클래스가 생긴다.

11 MVC패턴과 스트러츠 Section 02 스트러츠 프레임워크 스트러츠2 스트러츠1 VS 스트러츠2
기존 스트러츠1의 여러 문제점을 해결하고, 보다 쉽고 강력한 프레임워크로 개발 기존 스트러츠의 버전 업이 아니라 새롭게 개발된 형식(웹 워크와 통합) 예전에 비해 간결한 구조를 취하고 있으나 많은 부분이 다르므로 호환성에는 다소 문제가 있음(기존 스트러츠1 애플리케이션은 플러그인 형식으로 지원됨) 스트러츠1 VS 스트러츠2 새로운 스트러츠2에 대해서는 아직 제대로 된 서적도 출시되지 않은 상태 새로운 것이 항상 최선의 것은 될 수 없다 현 상황 에서는 스트러츠1이 상당기간 주도적으로 사용될 것으로 보임 스트러츠2 와 함께 영역을 확장하고 있는 스프링 프레임워크 도 주목 됨 스트러츠1을 기본으로 새로운 기술등을 병행 학습하는 것이 바람직함

12 MVC패턴과 스트러츠 Section 02 스트러츠 프레임워크 스트러츠2 스트러츠1 VS 스트러츠2
기존 스트러츠1의 여러 문제점을 해결하고, 보다 쉽고 강력한 프레임워크로 개발 기존 스트러츠의 버전 업이 아니라 새롭게 개발된 형식(웹 워크와 통합) 예전에 비해 간결한 구조를 취하고 있으나 많은 부분이 다르므로 호환성에는 다소 문제가 있음(기존 스트러츠1 애플리케이션은 플러그인 형식으로 지원됨) 스트러츠1 VS 스트러츠2 새로운 스트러츠2에 대해서는 아직 제대로 된 서적도 출시되지 않은 상태 새로운 것이 항상 최선의 것은 될 수 없다 현 상황 에서는 스트러츠1이 상당기간 주도적으로 사용될 것으로 보임 스트러츠2 와 함께 영역을 확장하고 있는 스프링 프레임워크 도 주목 됨 스트러츠1을 기본으로 새로운 기술등을 병행 학습하는 것이 바람직함

13 오픈소스 프레임워크 교재 : 568 ~ 575 페이지 자율학습 개요
스트러츠와 함께 개발에 도움이 되는 오픈소스 프레임워크에 대해 알아봄 스프링프레임워크,템플릿 관련 프레임워크, Java Server Faces, 사이트메시 에 대한 기본적인 구조와 적용 분야에 대해 간단하게 알아봄


Download ppt "웹 애플리케이션 개발 프레임워크와 스트러츠 웹 애플리케이션 기술 변천사를 이해한다"

Similar presentations


Ads by Google