비디오: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024
Oracle 12c는 m ulti-tier 응용 프로그램 이 현재의 업계 표준이며 다중 웹, 응용 프로그램 및 데이터베이스를 구성한다는 것을 인식합니다. 웹 브라우저를 통한 프리젠 테이션을 통해 씬 클라이언트에 컨텐츠를 제공하는 서버. 온라인 구매 나 뱅킹을 위해 웹 애플리케이션에 로그인 할 때 배후에 궁금한 점이 있습니까?
클라이언트 계층은 웹 서버에 액세스하는 웹 브라우저 일뿐입니다. 이 아키텍처에서 클라이언트의 주요 목적은 사용자에게 콘텐츠를 표시하는 것입니다. 실제 처리는 브라우저 내의이 계층에서 일어나지 않습니다. 프레젠테이션은 HTML (HyperText Markup Language)을 통해 가장 일반적으로 발생하지만 Java 애플릿 또는 ActiveX 구성 요소 내에있을 수도 있으며보다 동적 인 형식 및 내용을 위해 JavaScript를 사용할 수도 있습니다.
어플리케이션 서버 레벨에서, 사용자 요청은 관련 어플리케이션 로직을 사용하여 처리됩니다. 매우 일반적인 방법 중 하나는 Tomcat, Orion 또는 Glassfish와 같은 Java 응용 프로그램 서버를 사용하는 것입니다. 이 경우, 프로그램 로직은 JVM (Java Virtual Machine) 내에서 실행되며, 이는 프로그램 코드의 런타임 환경으로 작동합니다.
또 다른 인기있는 도구는 Oracle Fusion Middleware (OFM)입니다. OFM 내에서 프로그램은 Oracle Containers for J2EE (OC4J)를 통해 Oracle Forms, Reports, Discoverer 또는 Java로 실행될 수 있습니다. 제품과 관계없이 응용 프로그램 서버 구성 요소 내에서 응용 프로그램 논리가 실행됩니다.
응용 프로그램 서버에서 처리하는 동안 데이터 조회, 작성, 갱신 또는 삭제에 데이터베이스 액세스가 필요합니다. 응용 프로그램 서버는 JDBC 또는 Oracle Net과 같은 프로토콜을 통해 데이터베이스 서버와 통신하여 데이터에 액세스합니다. 이 시간 동안 응용 프로그램 서버는 응용 프로그램 요청을하는 사용자를 대신하여 데이터베이스에 액세스합니다.
JSMITH와 같은 별개의 사용자로 연결하는 대신 응용 프로그램 서버는 일반 웹 계정 (예: WEB_USER)을 사용하여 연결합니다. 응용 프로그램 서버에서 데이터베이스로의 여러 동시 연결은 데이터베이스 연결이 요청에 대한 데이터에 액세스 할 수있게하는
연결 풀 을 형성합니다. 연결 풀링은 많은 사용자를 대신하여 수천 개의 요청을 처리 할 수있는 데이터베이스 연결이 적기 때문에 성능 이점입니다. 데이터베이스 인스턴스에 로그인 할 때 일반 웹 사용자는 실제 사용자 요청을 처리하는 응용 프로그램 서버를 대신하여 DML을 쿼리하거나 실행합니다. 연결 풀링 된 웹 사용자는 스키마 소유권이 데이터베이스에 없습니다. 응용 프로그램 서버를 대신하여 데이터에 액세스하거나 업데이트하는 데 필요한 권한 만 있습니다.
이 기간 동안 일반 데이터베이스 역할, 사용 권한 및 허가가 사용됩니다. 또한 프로 시저, 함수 및 패키지를 통해 PL / SQL로 구현 된 데이터베이스 프로그램 로직이 종종 실행됩니다.
데이터베이스 결과 집합이 데이터베이스 계층에서 생성 된 후에는 더 많은 처리를 위해 응용 프로그램 서버로 다시 전달됩니다. 그런 다음 결과는 웹 서버를 통해 네트워크를 통해 다시 전달되어 웹 브라우저를 통해 사용자에게 표시됩니다.
모든 구성 요소가 복잡해 집니까? 처음에는 그렇게 생각할 수도 있지만 시스템을 웹, 응용 프로그램 및 데이터베이스 구성 요소로 분리해야하는 좋은 이유가 있습니다.
"최상의 제품"구성으로 여러 공급 업체의 구성 요소를 사용할 수 있습니다. 예를 들어 저렴한 응용 프로그램 서버 구성 요소를 위해 Tomcat 또는 Glassfish와 결합 된 무료 Apache 웹 서버 인스턴스를 사용할 수 있습니다. 그런 다음 오라클 데이터베이스의 힘으로 연결하면 저렴한 비용으로 견고한 시스템을 구축 할 수 있습니다!
-
더 많은 사용자가 온라인 상태가되면 더 많은 웹, 응용 프로그램 또는 데이터베이스 서버 인스턴스를 추가하여 처리 능력을 높일 수 있습니다. 더 큰 서버를 구입하는 대신 작은 서버를 구입하십시오.
-
여러 대의 서버를 사용하면 내결함성이 확보됩니다. 이를 클러스터링이라고합니다. 웹 서버가 충돌하거나 응용 프로그램 서버가 유지 보수가 필요하면 문제가 없습니다. 이중화 서버가 작업 부하를 집어 올립니다.
-
이러한 이점을 통해 멀티 티어 시스템 아키텍처가 업계 표준이며 클라이언트 - 서버 시스템을 능가하는 이유를 알 수 있기를 바랍니다.