<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F31C2F7BDC32E >

Similar documents
J2EE Concepts

14-Servlet

PowerPoint 프레젠테이션

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

JavaGeneralProgramming.PDF

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

PowerPoint 프레젠테이션

Cache_cny.ppt [읽기 전용]

KYO_SCCD.PDF

Chap7.PDF

No Slide Title

Intro to Servlet, EJB, JSP, WS

04장

chapter1,2.doc

MySQL-Ch05

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

Intra_DW_Ch4.PDF

초보자를 위한 ASP.NET 21일 완성

Portal_9iAS.ppt [읽기 전용]

J2EE & Web Services iSeminar

Interstage5 SOAP서비스 설정 가이드

요약 1


2장 변수와 프로시저 작성하기

Secure Programming Lecture1 : Introduction

게시판 스팸 실시간 차단 시스템

6강.hwp

Week13

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

PowerPoint Presentation

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

2009년 상반기 사업계획

초보자를 위한 ASP.NET 2.0

컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

3장


PowerPoint Template

ibmdw_rest_v1.0.ppt

C H A P T E R 2

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

PCServerMgmt7

<4D F736F F F696E74202D E20C0CEC5CDB3DD20C0C0BFEB20B9D720BCADBAF1BDBA20B1E2BCFA E >

PowerPoint 프레젠테이션

본 강의에 들어가기 전

2파트-07

Corporate PPT Template


Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

PHP & ASP

쉽게 풀어쓴 C 프로그래밊

untitled

DocsPin_Korean.pages

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

1217 WebTrafMon II

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

FileMaker 15 ODBC 및 JDBC 설명서

Microsoft PowerPoint 세션.ppt

Dialog Box 실행파일을 Web에 포함시키는 방법

PowerPoint 프레젠테이션

초보자를 위한 ADO 21일 완성

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

VOL /2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

Orcad Capture 9.x

untitled

PowerPoint Presentation

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

bn2019_2

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

서블릿의라이프사이클 뇌를자극하는 JSP & Servlet

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

PowerPoint 프레젠테이션

초보자를 위한 분산 캐시 활용 전략

最即時的Sybase ASE Server資料庫診斷工具

뇌를 자극하는 JSP & Servlet 슬라이드

신림프로그래머_클린코드.key

INDEX 들어가기 고민하기 HTML(TABLE/FORM) CSS JS

Microsoft PowerPoint - 03-TCP Programming.ppt

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Cloud Friendly System Architecture

슬라이드 1

소프트웨어 융합 개론

FileMaker ODBC 및 JDBC 가이드

Javascript

rmi_박준용_final.PDF

TTA Journal No.157_서체변경.indd

Model Investor MANDO Portal Site People Customer BIS Supplier C R M PLM ERP MES HRIS S C M KMS Web -Based

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

PowerPoint Template

PowerPoint

<param-value> 파라미터의값 </param-value> </init-param> </servlet> <servlet-mapping> <url-pattern>/ 매핑문자열 </url-pattern> </servlet-mapping> - 위의예에서 ServletC

untitled

untitled

DBMS & SQL Server Installation Database Laboratory

Microsoft PowerPoint - 04-UDP Programming.ppt

EDB 분석보고서 (04.06) ~ Exploit-DB( 에공개된별로분류한정보입니다. Directory Traversal users-x.php 4.0 -support-x.php 4.0 time-

Transcription:

Chapter 8 데이터베이스응용개발

목차 사용자인터페이스와도구들 웹인터페이스와데이터베이스 웹기초 Servlet 과 JSP 대규모웹응용개발 ASP.Net 8 장. 데이터베이스응용개발 (Page 1)

1. 사용자인터페이스와도구들 대부분의데이터베이스사용자들은 SQL을사용하지않음 응용프로그램 : 사용자와데이터베이스를연결 데이터베이스응용의구조 Front-end Middle Layer Backend Front-end: User interface Forms and graphical user interfaces Report generators Data analysis tools Web 기반의사용자인터페이스가널리채택 8 장. 데이터베이스응용개발 (Page 2)

2. 웹인터페이스와데이터베이스 Application architecture의발전과정 Mainframe (1960 년대 ~ 1980 년대초반 ) Personal computer (1980년대 ~ 1990년대중반 ) Web (1990 년대이후 ) 8 장. 데이터베이스응용개발 (Page 3)

웹인터페이스 Web browser는 DB 응용에대한 de-facto standard Universal front end 를지원 임의의장소에위치한임의의컴퓨터에서접속가능 별도의전용코드를설치할필요가없음 DB를이용함으로써동적 Web page 생성가능 Web page = 고정된구조 (HTML) + 컨텐츠를생성하는프로그램 (Javascript, Flash, Java Applet 등 ) HTML과 Hyperlink의장점활용가능 깔끔하고이해하기쉬운사용자인터페이스 HTML 문서에포함된고사양의프로그램활용가능 Javascript, Java Applet 등을이용하여 HTML 보다고급의사용자인터페이스구현가능 Flash나 Shockwave 등을이용한애니메이션기능구현가능 8 장. 데이터베이스응용개발 (Page 4)

3. 웹기초 Uniform Resource Locator (URL) HyperText Markup Language (HTML) Client-Side Scripting and Applets Web Servers and Sessions 8 장. 데이터베이스응용개발 (Page 5)

3.1 Uniform Resource Locator (URL) URL: Web 에서포인터의역할 Example http://www.acm.org/sigmod http 문서를액세스하는프로토콜을표시 www.acm.org Internet에서 machine의고유한이름 URL의나머지부분 : 그 machine에서문서를표시 Local identification Local Identification의내용 Machine 에서문서가위치하고있는경로, 또는 프로그램의이름 + 프로그램실행을위한 arguments 예 : http://www.google.com/search?q com/search?q=chocho 8 장. 데이터베이스응용개발 (Page 6)

3.2 HTML Text formatting, hypertext link, 및이미지출력등을지원 표나 style sheet 등의기능포함 다양한입력기능지원 Pop-up menus, radio buttons, check lists Text boxes 사용자의입력을서버에전송하고, 서버에서전송된실행결과를사용자에게다시출력 Web server 와의통신을위하여 HTTP 사용 get method http://www.google.com/search?q=cho post method http://www.google.com/ / + parameter a 값은 HTTP 프로토콜의부분으로전송 8 장. 데이터베이스응용개발 (Page 7)

Sample HTML Source Text <html> <body> <table border cols = 3> <tr><td>a-101</td><td>downtown</td><td>500</td></tr> <tr><td>a-102</td><td>perryridge</td><td>400</td></tr> <tr><td>a-201</td><td>brighton</td><td>900</td></tr> / / / </table> <center> The <i>account</i> relation </center> <form action= BankQuery method=get> Select account/loan and enter number <br> <select name= type > <option value= account selected> Account </option> <option> value= Loan > Loan </option> </select> <input type=text size=5 name= number > <input type=submit value= submit > </form> </body> </html> 8 장. 데이터베이스응용개발 (Page 8)

3.3 Client-Side Scripting Client의 web browser에서실행되도록고안된언어 Javascript Macromedia Flash and Shockwave for animation VRML for 3D modeling Java Applets Active web page의구성이가능 HTML의제한을넘어선 flexible UI 제공 예 : animation by executing programs at local site 사용자입력에대한빠른응답이가능 입력된값에대한 client side 의정확성검사 대안 : 입력된모든값들을서버에전송하여검사? Client-side processing 을극대화 AJAX 8 장. 데이터베이스응용개발 (Page 9)

3.4 웹서버와세션 Web Server 서버에서실행되는프로그램 Web browser로부터전송된요청을수신 요청을실행하기위한프로그램을동작 실행결과를 HTML 형태로 browser에게다시반환 다양한정보서비스에대한중계자역할 새로운서비스를지원하기위하여해당프로그램을작성한후등록하는과정이필요 대표적인 web server: Apache, IIS 등 Web server와 application program과의연동 Common Gateway Interface (CGI) via Application server ( 예 : JSP/Servlet container) 8 장. 데이터베이스응용개발 (Page 10)

HTTP 와세션 (Session) HTTP는비연결성프로토콜 서버가요청에대해답한후, 클라이언트와의접속을종료 이유 : 서버에대한부하를줄이기위하여 동시에접속가능한클라이언트수에제한 Login 정보나 JDBC/ODBC 연결의경우, 동일한연결에대한정보를지속적으로필요로함 모든요청마다 login을해야할경우, 비효율적 해결방법 : Cookie 8 장. 데이터베이스응용개발 (Page 11)

Session 과 Cookie Cookie: 문자열정보 Server Browser 첫번째접속시생성된세션에관한기록 Browser Server 동일한세션에대한이후 interaction시 HTTP 프로토콜의일부로전송 Server는 cookie에대한정보를저장 Request를처리할때사용 예 : 사용자 ID 정보, 사용자기호도등 8 장. 데이터베이스응용개발 (Page 12)

4. Servlets and JSP 데이터베이스를이용한 Web 프로그래밍기술 Java Servlets Java Server Pages (JSP) Active Server Pages (ASP) Java Servlet HTTP 요청에대한응답을동적으로생성하는서버쪽의응용프로그램 주요내용 HTML form에서입력된인자를액세스 Business logic 을적용하여어떤응답을생성할지결정 Browser에게돌려보낼 HTML output 생성 8 장. 데이터베이스응용개발 (Page 13)

Application Server and Servlets Servlet은 application server 안에서동작 Apache Tomcat, Glassfish, JBoss BEA Weblogic, IBM WebSphere and Oracle Application Servers Application Server 의역할 요청을담당할 servlet 실행및결과를 client에게반환 각 servlet에대한요청시서버내에서새로운 thread 가생성 Servlet의배포및감시 Servlet code 가변경될경우, recompile 후다시 load 8 장. 데이터베이스응용개발 (Page 14)

Example Servlet Code Public class BankQueryServlet extends HttpServlet { public void doget(httpservletrequest( request, HttpServletResponse p result) ) throws ServletException, IOException { String type = request.getparameter( type ); type); String number = request.getparameter( number ); code to find the loan amount/account balance using JDBC to communicate with the database.. we assume the value is stored in the variable balance result.setcontenttype( text/html ); PrintWriter out = result.getwriter( ); out.println( <HEAD><TITLE>Query Result</TITLE></HEAD> ); out.println( <BODY> ); out.println( Balance on + type + number + = + balance); out.println( </BODY> ); out.close ( ); } } 8 장. 데이터베이스응용개발 (Page 15)

Server-Side Scripting Server에서 browser에게보낼 web page를동적으로생성 Web page: HTML + Embedded executable code 해당페이지가요청될때, web server는 embedded code를실행하여실제 HTML 문서를생성 Server-side scripting languages JSP, PHP General purpose scripting languages: VBScript, Perl, Python ASP.net: Visual Basic or C# 8 장. 데이터베이스응용개발 (Page 16)

Java Server Pages (JSP) A JSP page with embedded Java code <html> <head> <title> Hello </title> </head> <body> <% if (request.getparameter( name ) == null) { out.println( Hello World ); } else { out.println( Hello, + request.getparameter( name )); } %> </body> </html> JSP is compiled into Servlets Tag library 의개념지원 JSP 페이지간흐름제어 (include, forward) 다른 Java 객체사용 (usebean, setproperty, getproperty) 8 장. 데이터베이스응용개발 (Page 17)

5. 대규모웹응용개발 Web application의경우, DB 관련작업보다 UI 구성에많은노력이필요 UI에필요한프로그래밍작업을줄이기위한방법들 다양한 web page 에사용되는공통된기능들을자동으로생성하는함수제공 예 : 광역지자체이름을선택하는메뉴 날짜입력이나입력데이터검증에사용되는 Javascript를자동으로생성하는함수제공 SQL query 를입력으로받은후, 결과를표형태로출력하는일반적인함수작성 결과를페이지화 (pagination) 하는기능작성 8 장. 데이터베이스응용개발 (Page 18)

웹서버의성능향상 인기있는 web site의경우, 성능이주요고려대상 어떻게사용자요청을빨리처리할수있을까? Caching 서버사이트에서수행가능한작업들 Servlet 요청들사이에 JDBC 연결을캐싱 connection pooling 데이터베이스질의의결과를캐싱 Base relation의내용이변경될경우, cached result 도수정 ( 폐기, 재계산, incremental update) SQL Cache Dependency at ASP.net 생성된 HTML 을캐싱 클라이언트네트워크에서수행가능한작업 Web proxy에서검색페이지들을캐싱 8 장. 데이터베이스응용개발 (Page 19)