• 검색 결과가 없습니다.

11.2 웹 페이지 구조 11.3 동적 페이지

N/A
N/A
Protected

Academic year: 2022

Share "11.2 웹 페이지 구조 11.3 동적 페이지 "

Copied!
45
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

제11장 웹 Database

2009. 08. 21

(2)

목 차

11.1 웹 페이지

11.2 웹 페이지 구조 11.3 동적 페이지

11.4 XML

11.5 연습문제

(3)

Web의 영향

intranet + internet  전자상거래, 경매, 전자정부,,,

URL: 인터넷에서 접근할 수 있는 주소 HTTP:

프로토콜: 통신 메시지 구조를 정의하는 표준들의 집합.

클라이언트/서버 프로토콜: 웹 브라우저와 HTTP 서버 사이

(4)

11.1 WWW

Web

제11장 WWW

(5)

다양한 형태의 자료 집합

[표 11.1) ] 자료 구조의 형태

자료 구조 특 징 실 례

구조화된

자료 구조가 잘 정의된 자료 DBMS에 저장된 금융, 고객 자료 반 구 조 화

된 자료

부분적으로 구조화된 자

다양한 형태의 참고문헌(책, 논 문, 잡지,,)

비 구 조 화

(6)

11.1 WWW

생성 언어 Markup Language: 문서를 기술하는 표기 언어

문서의 각 부분들을 내용과 의미와 표기로 기술하는 언어.

ex. 프린터, 전자출판 HTML:

텍스트, 문서 스타일의 정의, 하이퍼링크를 표현하는 표기 언

어.

문자, 오디오, 비디오 포함.

디스플레이 목적을 위한 문서의 구조 표시.

제11장 WWW

(7)

HTML의 특징

1989 Tim Berners-Lee가 제안, 1992년 HTML을 처음 기술 HTML 문서를 프로그램이 자동으로 읽고 이해하기 곤란.

스키마 부재  구조화된 자료 표현 곤란

일반 응용을 위한 문서 내부의 자료 구조 표현 곤란.

Display는 가능하나 저자의 이름과 성을 구분하기 곤란  복잡한 문서들의 교환에 부적합.

(8)

11.1 WWW

HTML

제11장 XML

<HTML>

<HEAD>Book List on Hand</HEAD>

<BODY>

<br>

Science

<UL>

<LI>Authhor: James Martin</LI>

<LI>Title: Information Retrieval</LI>

<LI>Published 1990</LI>

</UL>

Fiction

<UL>

<LI>Authhor: Margaret Mitchel</LI>

<LI>Title: Gone with the wind</LI>

<LI>Published 1939</LI>

<LI>Paperback</Li>

</UL>

</BODY>

Book List on Hand Science

Authhor: James Martin Title: Information Retrieval Published 1990

Fiction

Authhor: Margaret Mitchel Title: Gone with the wind Published 1939

(9)

SGML Standard Generalized Markup Language

1988. 문서 교환 언어를 정의할 수 있는 메타 언어 복잡한 문서들을 대량 관리하는 조직체용.

너무 복잡해서 불편 XML

문서의 구성과 의미를 기술하는 표기 언어.

HTML + SGML  XML95

(10)

11.1 WWW

XML

제11장 XML 개요

[표 11.2) ] HTML와 XML의 비교

구분 HTML XML

태그 고정식, 제한적 사용자 정의 가능: 의미 부 여 기능

정보 표현 단순 표현 정보의 내부 구조 반영

Database

연계 속성 구분 곤란 속성 별로 저장, 교환과 공 유 가능

검색 효율 비효율적 구조와 내용 분리로 효율

장점 쉽고 간결 문서 작성 편리

(11)

Client/Server 시스템

서비스를 요청하는 client와 제공하는 server로 구성된 분산 시 스템.

응용을 여러 시스템들이 나누어 협동 처리하는 시스템.

웹 서비스 프로그램

3계층 C/S 프로그램 - Intranet

(12)

11.2 웹 페이지 구조

Client/Server 시스템 구성요소

제11장 구조

구성 요

소 기 능 실 례

표현논리 사용자에게 자료의 내용을 보여주는

프로그램 Form, Browser

응용논리 현실 문제를 해결하는 프로그램 급여계산, 상품 주문 자료논리 자료 연산을 수행하는 프로그램 SQL 프로그램

DBMS 데이터베이스 엔진 Access, Oracle, Sybase

(13)

(1)

2계층 모델

(2)

3계층 모델(2단계)

(14)

11.2 웹 페이지 구조

3계층 모델 3단계

제11장 구조

(15)

(16)

11.2 웹 페이지 구조

Database와 Web 동적 페이지

client의 요청 시 HTML 문서 생성, client로 전송.

정적 사이트? DBMS 연동?

ex. CRM

다양한 서비스: 관련 정보 제공, 사전 요청 정보 & 기능 제 공,,,,

분산 Database 처리:

제11장 XML

(17)

동적 페이지

FORM을 이용한 클라이언트/서버 사이의 자료교환

<form action="order.cgi" method="get" name="LoginForm">

Please input user name

<input type="text" name="userName" id="uname"><p>

<input type="text" name="address" id="address"><p>

<input type="text" name="company" id="company"><p>

...

<input type="submit" value="send">

</form>

(18)

11.2 웹 페이지 구조

웹 서버와 데이터베이스의 연결

제11장 XML

(19)

웹 페이지 접속

Client: URL을 이용하여 서버 호출 서버: 새 프로세스 생성

CGI 규약으로 이 프로세스를 실행 실행 결과를 HTML 문서로 작성

HTML 문서 전송  Client

Client: display

(20)

11.3 동적 페이지

CGI common gateway interface

서버는 새 프로세스를 하나 만들고 CGI 규약으로 교신.

 프로세스 폭주 가능

제11장 구조

(21)

ASP와 다른 기술의 비교

기술 특성 CGI ASP JSP PHP

웹 서버 all MS IIS, PWS all all

이식성 종속적 종속적 독립적 독립적

재사용/모듈성 곤란 곤란 용이 용이

스크립트 언어 C, Perl VB Script,

JScript Java C

병행성 곤란 우수 우수 우수

(22)

11.3 동적 페이지

ASP 동작 절차

제11장 구조

(23)

JSP 동작 절차

(24)

11.3 동적 페이지

ODBC 역할

제11장 구조

[표 11.1) ] ODBC와 JDBC의 비교

기술 특성 ODBC JDBC 비 고

웹 서버 MS IIS, PWS all

DB RDB RDB

인 터 페 이 스

VB Script,

JScript 자바

브릿지 JDBC-

ODBC

Java에서 ODBC 사용 장점 가장 많이 보

급 이식성

(25)

JDBC 실행절차

(26)

11.3 동적 페이지

3계층 JDBC 시스템

제11장 구조

(27)

사용자가 새로운 태그 정의 가능.

어떤 문서도 태그를 이용하여 조직 가능.

HTML 문서와 DB 스키마 사이를 이어주는 연결 고리.

특징:

1) 정확한 내용 전달: 정보교환 및 자료공유 용이, 2) Tag로 자료에 대한 구조 제공: DB화 가능, self-

documenting

(28)

11.4 XML

HTMP과 XML 문서

제11장 구조

<HTML>

<HEAD></HEAD>

<BODY>

<font size=3> 과학

<p> 정보검색 </p>

<p> 도서출판 그린</p>

<p> 2009년 4월</p>

</font>

</BODY>

</HTML>

<?xml version="1.0" encoding="euc-kr" ?>

<과학>

<제목>정보검색</제목>

<출판사>도서출판 그린</출판사>

<출판일자>2009년 4월 9일</출판일자>

</과학>

(29)

XML의 목표:

1) SGML과 호환되어야,,

2) XML 프로세서를 작성하기 쉬워야,, 3) 설계가 형식적이고 정교해야,,

XML의 구조:

1) HTML과 비슷하게 보여야

2) 엘리먼트라 불리는 사용자-정의 태그의 계층구조

(30)

<HTML>

<HEAD></HEAD>

<BODY>

<font size=3> 제품정보 <p> 배 </p>

<p>나주시 </p>

<p> 1 </p>

<p> 56000 </p>

</font>

</BODY>

</HTML>

제11장 XML

<?xml version=“1.0” encoding=“utf-8 ? >

<제품정보>

<과일> 배 </과일>

<생산지역> 나주시 </생산지역>

<수량> 1 </수량>

<가격> 56000 </가격>

</제품정보>

11.4 XML 실례

(31)

XML 문서 = Prolog + Body

Prolog: XML 문서에 대한 정보를 기술

PI, DTD, XML 스키마 등으로 구성

Body: 문서 기술 부분. 여러 요소element들로 구성

XML 문서의 구성요소

- PI Processing Instruction - comment

(32)

11.4 XML 구조

- Element: 일명 Tag. 기본 구성 단위. <ELM> .. </ELM>

<BOOK genere=“Fiction”>

<AUTHOR>

<FIRSTNAME>Gildong </FIRSTNAME>

<LASTNAME>Hong </LASTNAME>

</AUTHOR>

</BOOK>

- Attribute: 추가 정보 저장용 <ELM att=“value”>

- entity reference

제11장 XML

(33)

<?xml verion=”1.0" encoding=”euc-kr” ?>

<!-- BODY (This is Comment) -- >

<제품정보>

<과일 종류=”배”>

<생산지역> 나주시 </생산지역>

<수량> 1 </수량>

<가격> 56000 </가격>

</과일>

</제품정보>

Prolog: PI

element

attribute comment Root element

(34)

11.4 XML DTD

DTD: XML 자료를 위한 스키마

XML 문서의 선택적 부분.

사용자 자신의 원소, 속성, 개체들의 집합을 표시할 수 있도록

허용하는 규칙의 집합.

구분: 내부 DTD, 외부 DTD

DTD 구성요소: 요소 선언, 속성 선언, 개체 선언, 노테이션 선

언, 주석, 조건부 세션, PI

<!ELEMENT 요소명 요소유형>

요소 유형: EMPTY, #PCDATA, 자식 요소명, MIXED, ANY

제11장 XML

(35)

<!DOCTYPE BOOKLIST[ 키워드 루트 요소명

<!ELEMENT BOOKLIST (BOOK)*>

<!ELEMENT BOOK (AUTHOR,TITLE,PUBLISHED?)>

<!ELEMENT AUTHOR (FIRSTNAME,LASTNAME)>

<!ELEMENT FIRSTNAME (#PCDATA)>

<!ELEMENT LASTNAME (#PCDATA)>

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT PUBLISHED (#PCDATA)>

(36)

11.4 외부 DTD 참조시 //DTD 부분만 기술하여 확장자를 .dtd로 정의

<?xml version=“1.0” encoding=“euc-kr” ?>

<!DOCTYPE BOOKLIST “chapter.dtd”> 키워드 루트 요소명 DTD 파일명

<BOOKLIST>

<BOOK GENERE=“Fiction”>

<AUTHOR>

<FIRSTNAME>균</ FIRSTNAME >

<LASTNAME> 허</LASTNAME>

</AUTHOR>

<TITLE> 홍길동전</TITLE>

<PUBLISHED> 1443</ PUBLISHED >

</BOOK >

제11장 XML

(37)

1) 파일로 저장

2) Database로 저장

XML 자료가 많을 경우에 데이터베이스화 필수 3) XML 자료를 관계형으로 바꾸고, RDB에 저장

비관계형 자료 저장

- 일반 파일로 저장 - XML database 생성

DOM을 C++ 기반의 객체지향 DB에서 구현

(38)

11.4 XML 준구조화 자료

준구조화 자료 semistructured data 부분적으로 구조화된 자료.

ex. 참고문헌 파일: 저자, 제목 외에는 비구조화 자료 필요성

- 자료의 구조가 내재적이고 감추어져 있다.

- 자료의 교환과 변환이 중요

- 스키마 지식이 없으면서도 질의를 던지고 싶을 때

제11장 XML

(39)

Namespace

정보 공유 시 동일한 이름의 태그 충돌 예방 XML Schema

DTD의 한계를 개선한 것.

XSL eXtensible Stylesheet Language

HTML과 같이 익숙한 형태로 표현하게 해주는 스타일링 기 술

(40)

11.4

NameSpace

이름이 동일한 요소에서 발생하는 이름 충돌방지 기술.

Tag를 자유롭게 만드는 것이 오히려 충돌 야기.

제11장 XML 문서 구조

<?xml version=“1.0” encoding=“euc-kr”?>

<Cus:User>

<Cus:ID>pinkgirl</Cus:ID>

<Cus:Name>홍길동</Cus:Name>

<Cus:Good>

<Order:Good>

<Order:ID>19908-098</Order:ID>

<Order:Name>NoteBook</Order:Name>

</Order:Good>

</Cus:Goods>

(41)

NameSpace 선언 by XML 1.0 spec

기본 형식: <prefix:ElementName xmlns:prefix=URL>

실례: <Cus:User xmlns:Cus= “http://www.pop.com/buy/cus”

xmlns:Order=“http://www.techom.net/2002/Order”>

<?xml version=“1.0” encoding=“euc-kr”?>

<Cus:User xmlns:Cus= “http://www.pop.com/buy/cus”

xmlns:Order=“http://www.techom.net/2002/Order”>

<Cus:ID>pinkgirl</Cus:ID>

<Cus:Name>홍길동</Cus:Name>

<Cus:Good>

(42)

11.4

XML Schema

다음과 같은 DTD의 한계점을 개선함.

- DTD는 구현이 어렵다.

- DTD의 자료형은 제한적

- 재사용과 확장성 불가

- string, integer, numeric, date, boolean 내장형 정의

C:\XML\chapter6\test.xsd

<xs: schema xmlns:xs=http://www.w3.org/2001/XMLSchema>

<xs: element name=“제품군” type=“xs:string”/>

제11장 XML 문서 구조

(43)

ERD

고 객 사 원

주 문

구매 지원

영업

사번 고객번호

주문번호 1

1 1

n

n n

이름 사번

사번 고객번호 일자

영업 사원

구매 영업

사번

고객번호 1

1 n

이름

이름 고 객

(44)

11.4

XML

인터넷 서점 데이터베이스의 ERD

제11장 XML 문서 구조

/

cellular

salesType maker telecom

cellular model:cx-00

salesType maker telecom

products

요소 노드 속성노드

루트노드

문서 루트(가상노드)

model:sch-00

<products>

<cellular model="sch-00">

<telecom>019</telecom>

<salesType>change</salestype>

<maker>samsung</maker>

</cellular>

<cellular model="cx-00">

<telecom>011</telecom>

<salesType>newbuy</salestype>

<maker>LG</maker>

</cellular>

</products>

(45)

1. HTML의 문제점과 대책을 설명하시오.

2. 동적 페이지를 구축하는 방법을 설명하시오.

3. 클라이언트/서버 시스템의 구성요소를 나열하고 분산환경에 배치하 는 구조를 설명하시오.

4. 웹 페이지의 2계층 모델과 3계층 모델의 기능을 비교하시오.

5. CGI의 기능과 문제점을 기술하고 대책을 설명하시오.

6. ASP, JSP, PHP의 주요 기능을 제시하고 장단점을 설명하시오.

7. ODBC의 기능을 설명하고 JDBC와의 장단점을 설명하시오.

8. XML이 출현한 목적과 용도를 설명하시오.

참조

관련 문서

유연아(22)는 집에서 주로 토익공부를하는 편인데 혼자서 토익 공부를 하는데 무리가 있어서, 건국대학교 도서관 웹 페이지 에는 다양 한 종류의 강의와

이 연구에서는 과연 앞으로 조림을 계속해야 되는가에 대한 사회적 의문에 대한 응답과 또한 해야 한다면 왜 해야 하며, 어떻 게 해야 하는 것인가에 대한

 도시의 PV시스템 적용 뿐만 아니라 산업용, 공공 건물, 방음벽, 여러 유형의 구조물에 통합하여 적용하는 방법 개발.  도시나 단지 개발차원에서의 종합적인

[r]

내가 되고 싶은 것이 되기 위해서 필요한 것이 내가 잘하는 것과 좋아하는 것에 있는지 알아보고, 만약 부족하다면 어떤 것이 있는지

사전검사 이후부터 지금까지의 과학수업을 생각해볼 때, 과학 관련 직업 희망과 관련된 아래의 각 내용에 대해 어느 정도 동의

생수를 생산하는 기업에게는 플라스틱병 제조비용을 절감할 수 있는 장점이, 버리더라도 자연 분해되기 때문에 환경에도 해가 되지 않는 착한 물병이다..

Quantitation of procollagen synthesis by Hs68 cells treated with fish collagen hydrolysates (FCHs), their &lt;1 kDa fraction, and their &gt;1 kDa fraction for 24 hrs.