웹 2.0 및 Ajax 개요.

Slides:



Advertisements
Similar presentations
개발 플랫폼으로서의 웹의 진화와 향후 전망 류한석 소프트뱅크미디어랩 소장 ZDNET 칼럼리스트 피플웨어 블로그 (peopleware.kr) 스마트플레이스 팀블로그 (smartplace.kr)
Advertisements

웹 2.0 기술과 서비스 임순범 1. Ⓒ sblim, 웹 2.0 의 개념 웹 2.0 탄생 배경  , Web 2.0 Conference ( 미국 오라일리 사 주최 )  2000 년대초 닷컴 (.com) 버블의 붕괴  닷컴 버블 이후 생존.
ⓒ sblim, 2009~ 1 웹 2.0 개요. ⓒ sblim, 2009~ 목차  웹 2.0 의 개념 탄생 배경 기본 개념 대표적 서비스  웹 2.0 기술 Blog 와 RSS Social Tagging & Foxonomy Open API & Mashup Ajax &
9 주차 실습강의 학기, 소프트웨어 설계 및 실험 ( Ⅰ ). Artificial Intelligence Laboratory Open API  API(Application Programming Interface)  응용 프로그램에서 사용할 수 있도록.
Web 2.0 & Car Infotainment CL사업부 차량정보기획팀.
Web 2.0.
HTML5 웹 프로그래밍 입문 (개정판) 1장. 인터넷과 웹환경의 발전.
6장 인터넷 서비스와 활용 6.1 인터넷의 역사와 사용환경 6.2 웹(WWW)과 홈페이지 6.3 인터넷/웹 기반 서비스
Chapter14 위치 정보 & 모바일 HTML5 Programming.
웹 2.0 개요.
JSON(JavaScript Object Notation)
AJAX 기본중의 기본 xmlhttprequest
웹 2.0 및 Ajax 개요.
7. 인터넷 환경과 멀티미디어 멀티미디어의 이해 임순범.
프로젝트2 Web Programming 강의노트: vrlab.suwon.ac.kr/mwlee
웹 2.0 개요.
Open API - Google Maps (Application Programming Interface )
10장. 에러 처리 제10장.
CHAPTER 12. JQUERY, AJAX, JSON.
01. Index StarPlayer API Guide 01. Index 02. 상수값 정의 03. API 정의
Chapter 04. 웹 보안 : 웹, 그 무한한 가능성과 함께 성장한 해킹
HTML CSS 자바스크립트 무작정 따라하기
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
안드로이드 기반에서 MapServer를 이용한 지도 서비스
HTML5 입문 인공지능 연구실.
처음부터 다시 배우는 HTML5&CSS3 실전 웹 표준 사이트 제작까지
AJAX 커머스아이 박준열.
SEO 마케팅 서비스 제안서.
7장 인터넷 환경과 멀티미디어 7.1 인터넷의 개요 7.2 하이퍼미디어와 웹(Web) 7.3 인터넷/웹 기반 서비스
인프라 업무 Portal 사이트 Archon 2.0 목 차 Ⅰ. Concept Ⅱ. SOA Ⅲ. Web
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
인터넷마케팅 성공 전략 블로그마케팅 Internet marketing Blog marketing 강사 : 장종희
진상현 노현철 박주호 김민구 이보라 박종빈 Ajax.
Web Socket.
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
Open API - Naver (Application Programming Interface )
Endless Creation - 안 승례 -
Chapter11 웹 스토리지 & 웹 데이터베이스
JavaScript 기초 Chapter 8 Part II
웹 2.0 개요.
웹 2.0 개요 2008 고급 XML 프로그래밍.
JSP Programming with a Workbook
HTML CSS 자바스크립트 무작정 따라하기
Web RSS 서비스 구축 조이름 : A 도상훈 김진범 정도영 공정호.
Chapter13 파일 접근 & 오프라인 접근 HTML5 Programming.
HTML, PHP, MySQL, Javascript
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
XSS (Cross Site Script)
- RSS Reader 페이지 작성 컴퓨터공학실험( I )
1장. HTML5 소개 To Flash 정보영재세미나 1 김태영교수님 홍창의.
17장 웹 사이트 제작 완성 한빛미디어(주).
웹 2.0 개발자입니까? 2008 고급 XML 프로그래밍.
Introduction 2007 컴퓨터공학실험(Ⅰ)
Introduction 학기, 컴퓨터공학실험(Ⅰ)
[ Beautiful Soup을 이용한 파싱]
LOGIN할 때 아이디, 비번 입력 여부 체크하기
컴퓨터공학실험 (I) 년 1학기 실험계획 -.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
- Open API (3) : Naver Map OpenAPI 컴퓨터공학실험( I )
5주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
홈페이지 제작 HTML5 + CSS3 + Javascript.
주요공지로 정할 글을 올립니다. 제목과 주소를 복사해둡니다
Subscription and Channels
HTML HTML 기본 구조와 태그 다양한 태그 다루기
이번 시간에는... 지난 시간까지 2회차에 걸쳐 WML의 택스트 포맷, 이미지 처리, 페이지 이동, 태스크 수행과 이벤트 처리 및 WML 사용자 Input 처리 태그 등, WML 개발에 대해서 알아보았습니다. 이번 시간에는 2회차에 걸쳐, WML 스크립트 개발에 대해서.
CHAPTER 6 도전! 트위터 웹 앱 개발 Jquery Mobile 5/28/2019.
컴퓨터 소프트웨어 설계 및 실험 2016년 1학기 실험계획.
AJAX Technology for Web2.0
머니투데이 메인 UI수정 Moneytoday.co.kr - 작성자 : 한정환 - 작성일 :
Ajax와 자바스크립트 라이브러리 발표자 : 경준호(파이어준) 이메일 :
Presentation transcript:

웹 2.0 및 Ajax 개요

1. 웹2.0 탄생 배경 2004.10, Web 2.0 Conference (미국 오라일리 사 주최) Long Tail 법칙 2000년대초 닷컴(.com) 버블의 붕괴 닷컴 버블 이후 생존 회사 및 소멸 회사 비교 10년간 웹의 환경 변화 및 발전 방향을 정리 “Web2.0” : 제2세대 웹의 의미 Long Tail 법칙 파레토 법칙, 20:80 법칙 오프라인 기업에서 20% 상품이 80% 매출 아마존의 경우 하위 80% 상품의 매출이 더 크다 즉, 꼬리에 해당하는 매출이 중요

웹2.0 기본 개념 웹2.0의 특징 : “참여, 공유, 개방” 사용자의 능동적인 참여와 공유 웹2.0은 개방적 사용자 생산 콘텐츠(UCC, UGC) 예) 블로깅, 위키피디아, Flickr, YouTube 소셜북마킹은 태깅(Tagging) 개념으로 발전 웹2.0은 개방적 콘텐츠 유통 : 블로그, RSS 피드 다양한 활용(뉴스, 팟캐스팅 등) 공개 API (OpenAPI) => 매쉬업(Mashup) 또 다른 서비스 개발, 예) 검색엔진 + 구글 맵 등

2. 웹2.0 주요 기술 ▶ Blog와 RSS Blog : Web + log RSS “RDF Site Summary”, “Really Simple Syndication”, … 적용 사례 뉴스/자료 제공, 블로그 연동 팟캐스팅(아이팟, 아이튠즈) (b) RSS 작동 원리

RSS 사례(참고): w3schools <?xml version="1.0" encoding="ISO-8859-1" ?> <rss version="2.0"> <channel> <title>W3Schools Home Page</title> <link>http://www.w3schools.com</link> <description>Free web building tutorials</description> <item> <title>RSS Tutorial</title> <link>http://www.w3schools.com/rss</link> <description>New RSS tutorial on W3Schools</description> </item> <title>XML Tutorial</title> <link>http://www.w3schools.com/xml</link> <description>New XML tutorial on W3Schools</description> </channel> </rss> 채널 정보 아이템 정보 아이템 정보

▶ Social Tagging & Foxonomy 사용자가 임의의 키워드를 태그로 붙이고 이들을 검색 폭소노미(Folksonomy: Folk + Taxonomy) Taxonomy : 미리 정해진 카테고리를 분류기준으로 Foxonomy : 사용자가 임의의 키워드로 태깅 예) 소셜 북마킹 사이트 : 딜리셔스(del.icio.us) 예) UCC 사이트 : Flickr, YouTube 태그 구름(Tag Cloud)

▶ OpenAPI & Mashup API(Application Programming Interface) 매쉬업(Mashup) 응용 프로그램 개발환경 : 라이브러리나 규약집 형태로 제공 공개 API : 자신의 사이트 기능을 활용하도록 API를 제공 매쉬업(Mashup) 공개된 API로 웹 서비스를 조합하여 새로운 웹 서비스 제공 추가의 개발비용이 매우 적다 최초의 예) HousingMaps = Google Map + 부동산정보 craigslist 요즘 많은 사이트에서 제공 : 구글, 아마존, 야후, 네이버, 다음 + ⇒ 매쉬업 사례 HousingMaps의 실행화면

매쉬업 사이트 구축 사례 네이버 지도 보완 기본 지도에 줌콘트롤, 범례, 마커, 교통상황 등 각종 정보 추가 기본 지도에 줌콘트롤, 범례, 마커, 교통상황 등 각종 정보 추가 API 이용등록 페이지에서 지도 API 키를 발급 http://dev.naver.com/openapi/register 코딩(참고) ①네이버에서 제공하는 스크립트를 헤드에 포함(지도 API키 입력) ②지도를 출력할 컨테이너 설정 ③위치객체와 지도객체를 생성하고 컨테이너에 삽입 여기에 줌 컨트롤 객체, 필요 정보 및 기능을 추가

<html> <head> <script type="text/javascript" src="http://openapi.map.naver.com/openapi/naverMap.naver? ver=2.0&key=f32441ebcd3cc9de474f8081df1e54e3"> </script> // ① 오픈 API 호출 - API 키 </head> <body> <div id="testMap" style="border:1px solid #000; width:700px; height:400px; margin:20px; display:block;"></div> <!-- ② --> <script type="text/javascript"> var oPoint = new nhn.api.map.LatLng(37.5010226, 127.0396037); // ③ 위치 생성 nhn.api.map.setDefaultPoint('LatLng'); oMap = new nhn.api.map.Map('testMap', { // ④ “testMap" 태그에 지도 생성 point : oPoint, // 지도 중심점의 좌표 zoom : 10, // 초기 줌 레벨은 10으로 둔다. enableWheelZoom : true, // 마우스 휠 동작으로 지도를 확대/축소할지 여부 enableDragPan : true, // 마우스로 끌어서 지도를 이동할지 여부 enableDblClickZoom : false, // 더블클릭으로 지도를 확대할지 여부 mapMode : 0, // 지도 모드(0: 일반 지도, 1: 겹침 지도, 2: 위성 지도) minMaxLevel : [ 1, 14 ], // 지도의 최소/최대 축척 레벨 size : new nhn.api.map.Size(500, 400) // 지도의 크기 }); var mapZoom = new nhn.api.map.ZoomControl(); // ⑤ 줌 컨트롤 선언 mapZoom.setPosition({left:80, bottom:40}); // 줌 컨트롤 위치 지정 oMap.addControl(mapZoom); // 줌 컨트롤 추가. </script> </body> </html>

▶ Ajax & RIA 기존의 웹 응용 : 동기식(Synchronous) 비동기식 (Asynchronous) HTML 에서 웹 서버에 작업 요청 => 웹 서버 실행 웹 서버 실행 결과를 전송 (페이지 단위) => 브라우저에서 표시 항상 페이지 전체를 전송 비동기식 (Asynchronous) 웹 서버에 작업 요청 후 바로 다음 사용자 작업을 처리 RIA(Rich Internet Application) 개발에 활용 Ajax = Asynchronous + Javascript + XML + DOM + CSS + XSLT + XMLHttpRequest 플러그인 필요없음, 속도증진 효과, 임의로 화면 재구성 가능 예) 구글맵 지도 이동시, 지메일 시작화면 구성, 제시어 기능

2. Ajax 개요 Ajax(Asynchronous Javascript And XML) 웹 애플리케이션에서 풍부한 사용자 인터페이스 구현 기술 자바스크립트와 XML 기반 비동기 통신방식 2005.2 제임스 가렛(Jesse James Garrett)이 발표한 에세이 “Ajax: A New Approach to Web Application”, Adaptive Path 다음 7가지 기술의 조합 표준언어 XHTML과 CSS를 이용한 표현 기술 DOM을 이용한 동적인 화면 구성과 상호작용 XML과 XSLT를 이용한 데이터 교환 및 데이터 처리 XHR(XMLHttpRequest)를 이용한 비동기 데이터 통신 손쉬운 Javascript 언어를 이용하여 모든 것을 통합 제어

Ajax 특징(1) Ajax 웹 어플리케이션 모델 전통적인 웹 Ajax : 웹서버에서 데이터를 처리한 후 응답 페이지를 HTML로 작성 Ajax : 처리 결과에서 필요한 데이터만 가벼운 형태의 XML 데이터로 전송 CSV, JSON 클라이언트에서 이를 받아서 결과 페이지를 작성 데이터 처리속도와 인터페이스의 입출력 반응속도가 현저하게 증가 사례) 검색창 제시어

Ajax 특징(2) Ajax 비동기 통신 모델 전통적인 웹 : 클릭 할 때마다 HTML 문서 요청하여 해석 Ajax : 데이터 처리를 위해 서버와 HTTP 객체로 통신 서버에 요청한 처리 결과를 다 받기 전에 다른 작업 병행 가능

Ajax 프로그램 예제(참고) <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Ajax 텍스트 파일 수신 예제 </title> <script language="javascript" type="text/javascript" src="newXHR.js" /> <script language="javascript" type="text/javascript" src="receiveText.js" /> </head> <body> <h1>Ajax 텍스트 파일 수신 예제</h1> <input type="button" name="receive_button" value="파일 수신 확인" onClick="openState()" /> <div id="receive_data" /> </body> </html>

newXHR.js // XMLHttpRequest 생성 함수 function newXHR() { var reqHttp; if (window.ActiveXObject) { // IE browser try { reqHttp = new ActiveXObject(“Msxml2.XMLHTTP”); } catch (e) { reqHttp = null; } } else if (window.XMLHttpRequest) { // IE 이외 reqHttp = new XMLHttpRequest(); if (!reqHttp) alert(“지원하지 않는 브라우저”); return reqHttp;

receiveText.js // 파일 수신 함수 function openstate() { var req = newXHR(); // XMLHttpRequest 객체 생성 req.onreadystatechange = function() { if (req.readyState == 4) { // 0: open 수행전, 1: 로딩중, 2: 로딩완료, // 3: 서버 처리중 4: 처리완료 if (req.status == 200) { // 200: 성공, 403: 접근거부, 404: 파일 없음 mainTask(req); } req.open(“GET”, “server.txt”, true); // 전송방식(GET/POST), URL, 비동기(true)/동기(false) req.send(null); // 서버로 데이터 전송 // 메인 함수 function mainTask(request) { var output = document.getElementById(“receive_data”); output.innerHTML = request.reponseText;