새소식

반응형
밥벌이/기타 데이터베이스

웹(Web)과 데이터베이스 연동

  • -
반응형
  • 웹과 데이터베이스 연동 기법의 개요
    • 웹과 데이터베이스의 연동 기법
      • 인터넷 상에서 웹 브라우저를 이용하여 원격지의 데이터베이스에 접근하기 위해 필요한 기술
      • 클라이언트로부터 정보를 입력 받은 웹 서버가 데이터베이스와 연계하는 일련의 데이터 연결 과정을 의미
    • 웹과 데이터베이스의 연동 기법의 등장 배경
      • 웹 브라우저를 통해 기존 클라이언트/서버 모델에서 제공하는 서비스에 대한 사용자 요구 증가
      • 이기종 간의 DBMS 지원을 위한 미들웨어 및 연동 API의 등장과 발전
        • CGI의 발전, Java를 이용한 데이터베이스 연동 기업 대두, JDBC, ODBC, DB API 등
      • 웹 사용자가 DBMS를 이용해 원하는 데이터에 접근하는 것이 필요함

           

  • 웹과 데이터베이스 연동 기법의 유형
    • 간접 연결 : 서버 확장 방식
      • 웹 브라우저와 데이터베이스가 웹 서버를 경유하여 연결되는 방법
      • 웹 브라우저와 데이터베이스 간 연결이 지속되지 않고 상태 정보가 유지되지 않음
      • 웹 페이지 이동 시 데이터베이스에 대한 새로운 연결을 설정할 필요가 있음
      • CGI, Java 애플릿(Applet), Java 서블릿(Servlet)를 이용하는 방법과 웹 서버를 확장하는 방법이 있음
    • 직접 연결 : 브라우저 확장 방식
      • 웹 브라우저내의 응용 프로그램과 데이터베이스간에 연결 지속 및 상태 정보 유지
      • 웹 브라우저내의 응용 프로그램을 통해 사용자와 데이터베이스간의 직접 통신 가능
      • 다운로드 가능한 동적 응용 프로그램이 브라우저 내에 필요
      • 관련 기술
        • 데이터베이스 미들웨어 기술 : JDBC, ODBC, OLE-DB
        • Java 애플릿, ActiveX 기술등
        • CORBA, .NET 등
      • Web과 데이터베이스 연동을 위한 인터페이스
        • CGI, ASP, PHP, JSP, Java 등에 연결되어 Web과 데이터베이스를 연동
        • 데이터베이스와 연결될 수 있는 통로 역할
        • 특정 데이터베이스와 직접 연결할 수 없음

             

  • 대표적인 간접 연동 기법
    • CGI를 이용한 데이터베이스 연동 기법
      • CGI 프로그램을 이동하여 간접적으로 데이터베이스와 연동하여 결과를 사용자에게 전달해 주는 방식
      • CGI를 이용한 데이터베이스 연결 개요

      • 장점
        • 데이터베이스와 웹의 가장 단순한 통합 방법
        • 기존의 웹 서버와 브라우저를 변경하지 않고 그대로 사용 가능
        • 기존의 URL, HTML, HTTP를 수정 없이 사용 가능
      • 단점
        • 사용자 질의를 처리할 때마다 새로운 프로세스 생성(새로운 데이터베이스 연결 및 로그인 필요)
        • 유연성이 떨어지고 CGI 자체의 문제점인 자원의 낭비와 처리속도 저하 문제를 내포
        • 호출과 결과 전달이 간접적으로 CGI 게이트웨이를 통해 발생
    • Java 애플릿을 이용한 데이터베이스 연동 기법
      • Java 애플릿을 서버로부터 다운로드 받아 직접 Java 서버 프로그램과 연동하는 방법
      • 애플릿을 이용한 데이터베이스 연결 개요

      • 장점
        • CGI 에서 발생하는 자원 낭비 및 속도 저하 문제를 해결
        • Java에서 다중 Threading 기능을 제공함으로써, 하나의 Java 서버 프로그램이 동시에 여러 작업을 수행
      • 단점
        • 버전 제어가 어렵고, 출력물이 직접 전달되지 않으므로 유연성이 떨어짐
    • Java 서블릿을 이용한 데이터베이스 연동 기법
      • 서블릿 : 웹 서버에서부터 네트워크 컴퓨터까지 모든 것을 실행할 수 있도록 한 Java 서버 API의 부분 집합, 즉 서버 측에서 수행되는 애플릿
      • CGI에서 발생하는 성능상의 문제를 해결하면서 2-tier와 다중-tier 모델을 가능하게 해주는 방법
      • 서블릿을 이용한 데이터베이스 연결 개요

      • 장점
        • Java의 멀티 스레드를 이용하여 질의 처리

          CGI의 프로세스 생성 과정에서 발생하는 문제 해결

        • Java의 장점 수용
          • Java로 작성된 프로그램이므로 플랫폼 독립성 제공
          • Java의 보안 관리자가 제공하는 모든 기능의 이용이 가능하므로 보안 기능이 우수
    • 웹 서버를 확장하는 방법
      • 웹 서버의 내부 소스에 데이터베이스 접근 부분을 삽입
        • Oracle 웹 서버 사용자가 직접 웹에서 데이터베이스 접근 응용 프로그램을 작성할 수 있는 라이브러리를 제공
        • Netscape : NSAPI, 인터넷 정보 서버: ISAPI
      • 기존의 웹 서버에 DBMS 엔진을 직접 접속할 수 있는 데이터베이스 응용 프로그램 추가
      • 기존의 웹 기술 그대로 이용 가능함 : 웹 브라우저, URL, HTTP, HTML 등

           

  • 대표적인 직접 연동 기법
    • ODBC / JDBC를 이용한 데이터베이스 연동 기법
      • 이기종 데이터베이스를 효율적으로 지원이 가능
      • 데이터베이스 변경 시 재구축이 필요

    • 데이터베이스 미들웨어와 JDBC / ODBC를 이용한 연동 기법
      • CLI(Call Level Interface) 지향 기술 : 이 기종 데이터베이스의 효율적 지원 기능
      • 데이터베이스 변경 시 재구축이 필요

    • CORBA를 이용한 직접 데이터베이스 연동 기법
      • 웹 브라우저가 CORBA IIOP(Internet Inter ORB Protocol)을 통해 미들웨어 ORB를 사용하여 원격지 메소드를 호출
      • 원격지 메소드는 DB에 접근하여 클라이언트에게 결과를 전송

           

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.