Chapter 7 The SUN Intranet Data Warehouse:...

22
All rights reserved 1 SUN Intranet DW Chapter 7 The SUN Intranet Data Warehouse: Architecture and Tools 투이 컨설팅 이춘선

Transcript of Chapter 7 The SUN Intranet Data Warehouse:...

Page 1: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 1

SUN Intranet DW

Chapter 7

The SUN Intranet Data Warehouse:

Architecture and Tools

투이 컨설팅

이 춘 선

Page 2: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 2

SUN Intranet DW개요개요

q Intranet Data Warehouse의 관건 : “Distributed Networking Computing”v분산 데이터베이스

v Peer-to-peer 통신3 Peer-to-peer: 각 컴퓨터가 동등한 능력을가지고 있어, 어떤 컴퓨터에서라도통신 세션을 시작할수있는 통신 모델을지칭. C/S 등에 대비

q분산 네트워크 컴퓨팅 환경의제품v Microsoft3 ActiveX 플랫폼3 DCOM(Distributed Component Object Model)

v Sun3 CORBA(Common Object Request Broker Architecture)3 OMG(Object Management Group)

qCORBA를 지원하는 벤더들v IBM, Digital Equipment, HP, Sun Microsystems

qSun의 Intranet DW 전략v확장가능한 SMP서버 하드웨어 플랫폼( SMP:Symmetric MultiProcessing)RSMP : 운영체계와메모리를 공유하는여러 프로세서가프로그램을 수행

v우수한 네트워크 통신

v고도로 분산된 환경을지원하는 어플리케이션개발 툴

Page 3: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 3

SUN Intranet DWJava:Java:컴포넌트개발도구컴포넌트개발도구(1)(1)

qOOP를 위한 런타임환경의프로그래밍 언어로서분산 네트워크 환경이 요구하는니즈를 충족시킴

qComputing환경의 중요한 이슈를 완성시키는 Javav분산되어 있는 네트워크의점진적인 링크

v메인프레임이나 데스크탑에서 수행되던프로세스를 네트워크로이동(the migration of processing from the mainframe to the desktop to the network)

v개별 사용자들을 상대하는시스템관리자들의 니즈를균형잡는 것

qJava를 이용한 DW의 새로운패러다임: “Client/Universal”warehousev일반사용자(casual users)의 니즈를 충족

v기능의 분류

v특정 applet을 데스크탑에 다운로드해서 사용가능v데스크탑:프로그램을 수행시키고데이터를 디스플레이

서버:프로그램과 데이터를저장è”Client/Universal” warehouse

qJava의 독립성v Instruction setv OS

Page 4: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 4

SUN Intranet DW

Java SourceCode

Java SourceCode

Java Compileror Interpreter

Java Compileror Interpreter

Java UniversalBytecode

Java UniversalBytecode

Java VirtualMachine

Java VirtualMachine

Machine-SpecificInstructions

Machine-SpecificInstructions

♣ Java Virtual Machine

•Java가 특정 OS 및 H/W로부터 독립하는 것을 가능하게 하는 Key

•Java로 된 에플릿이나 어플리케이션을 특정 OS로부터 격리시키는 기능

•자바 가상 기계는 윈도우나 유닉스 등의 운영 체제에 이식되어서 자바 프로그램즉, 자바 클래스 파일들을 각 운영 체제에 맞게 실행하는 실행 환경생성

로드

해석

Java 컴파일과정

Java:Java:컴포넌트개발도구컴포넌트개발도구(2)(2)

Page 5: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 5

SUN Intranet DW

q보안은 Java플랫폼의가장 중요한문제 중 하나

qJava API set은 네 계층의 보안 Layer를 가짐v메모리 연산을 통해메모리의 corruption을 일으킬 수 있는 포인터(C나 C++등에서사용하는)를사용하지 않음

v내장된 bytecode검증자는 자바코드의 정확성을검증하고, 해커에 의해발생될 수있는 코드의corruption을 탐지

v보안관리자가 코드로드시 코드의클래스를 검증하고보안상의 위반이발견될 시에사용자에게 경고를줌

v사용자가 스스로 구현할수 있는암호체계를 제공

R API : Application Program Interface

JavaJava의의 네네 계층계층 보안모델보안모델

Page 6: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 6

SUN Intranet DW보안관리자보안관리자

qJava어플리케이션은보안정책을 자체적으로 정의하고실행가능함v Java를 사용할 수 있는 웹브라우저에서는 보안관리자애플릿을 다운받아사용가능

v애플릿의 다음과 같은행위를 금지3 클라이언트의 하드디스크에있는파일을 읽고 쓰기3 애플릿을다운받은 서버를제외하고 다른 네트워크연결 설정3 동적으로라이브러리를 로드3 브라우저를 사용하는사용자의이름 등과 같은 고유의시스템 특성을접근3 클라이언트 컴퓨터에서 다른 프로그램을 실행

v Applet Sandbox3 애플릿의실행을 규제하는위와 같은환경을 Sandbox에 비유3 애플릿은정해진 Sandbox의 경계내에서만 실행될수 있으며그 경계를넘어선 모든 행위들은보안관리자에 의해 탐지되고 규제됨3 다른 Embedded-content model과 Java 애플릿이 구별되는 이유임3 완벽한 인터넷보안솔루션을제시하는것은 아님

Page 7: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 7

SUN Intranet DW서버어플리케이션에서의서버어플리케이션에서의 JavaJava

q브라우저를 통해 어플리케이션 컴포넌트를 쉽게 다운받을수 있음

qC나 C++에 비해 에러체크나 복원 기능이우수함v서버프로그램에 결함이 발견될경우는 에러처리오브젝트가 활성화되어에러를 처리

qMultithread 기능을 가지고 있어서 동시다발적인 요청을최소한의지연이 발생하도록처리q요청을 처리함에있어서 매우 효과적임v새로운 Thread를 기동시키는 데 약 40KB의 메모리를 필요로함

v CGI나 Perl을 사용하는 것보다 25배가량 빠름

R CGI[Common Gateway Interface]: 웹서버에 있어 사용자의 요구를 응용프로그램에전달하고 그 결과를사용자에게 되돌려주기 위한 표준적인방법이다. 웹의http프로토콜의 일부

Page 8: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 8

SUN Intranet DWJavaBeansJavaBeans: : 컴포넌트객체모델컴포넌트객체모델

q“Write once, run everywhere”q3-tier 클라이언트/서버 시스템 구조에서 2-tier 중간 미들웨어부분에 위치해 서버측의비즈니스 로직 자체를 컴포넌트화해재사용 가능하게 함v시만텍의 비주얼까페 등자바개발 툴로자바빈즈 생성

v비즈니스 로직을 분리하여재사용 가능한컴포넌트로 구성

qJavaBean 코드는 모든 OS 및 어플리케이션 환경에서수행 가능

qJavaBean으로 작성된 컴포넌트는 Microsoft ActiveX, IBM OpenDoc, Netscape LiveConnect 등과 상호적으로 운용 가능

q Intranet DW에서의두 가지 역할v프리젠테이션 layer를 개발하는 데사용: “Palettes” of JavaBeans objects3 인터넷으로부터방대한 양의 라이브러리를 제공받을 수 있음3 초기의 초보적인컨트롤단계를벗어나 보다 복잡한그래프나차트를나타낼수 있는 도구들이 나올것으로 예상됨3 궁극적으로, 다차원의 데이터셋을 나타낼수 있는 컴포넌트들이 이용될것임

v서버쪽 프로세싱에서 사용3 커다란 데이터셋을 요약정보로 줄이는데 이용3 요갹정보의 포매팅에이용

Page 9: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 9

SUN Intranet DW미들웨어와미들웨어와 APIsAPIs

qDW에서의 미들웨어의 기능v브라우저(클라이언트)와 데이터소스(서버)사이의 접착제역할

v미들웨어3 각기 분리된 두 개의 프로그램사이에서, 매개 역할을 하거나 연합시켜주는프로그램을 지칭3 3 계층 클라이언트/서버 구조에서는 미들웨어가 중간 계층을 형성하는데 이러한미들웨어의부류에는

– TP Monitors– RPC– ORB..

qJava APIv엔터프라이즈 데이터베이스와 레거시시스템으로의 연결을지원

v Java로 된 분산 클라이언트/서버 방식의애플릿과 어플리케이션개발에 사용

v OS나 H/W의 종류에 독립적3 JDBC(Java Database Connectivity)3 Java IDL(Interface Definition Language)3 Java RMI(Remote Method Invocation)3 JNDI(Java Naming Directory Interface)

Page 10: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 10

SUN Intranet DWJava Database Connectivity(JDBC)(1)Java Database Connectivity(JDBC)(1)qJava 프로그램의 다양한 RDBMS로의 일정한 인터페이스 제공

qJDBC-ODBC bridgev ODBC드라이버를 JDBC드라이버처럼 사용할 수 있게 돕는연결고리v JDBC-ODBC bridge사용의 예

// Connect to the databaseClass.forName(“jdbc.odbc.JdbcOdbcDriver”);String myURL = “jdbc:odbc:myDatabase”;Connection myConn = DriverManager.getConnection(myURL, “myName”, “myPassword”);// Send SQL to the serverjava.sql.Statement myStmt = myConn.createStatement();String mySQL = “SELECT name,address,phone from Person”;ResultSet myResult = myStmt.executeQuery(mySQL);//Get the resultswhile (myResult.next())

{ //print the values of each rowString name = myResult.getString(“name”);String address = myResult.getString(“address”);String phone = myResult.getString(“phone”);System.out.printLn(name + ““+address+”“+phone);}

Page 11: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 11

SUN Intranet DWJava Database Connectivity(JDBC)(2)Java Database Connectivity(JDBC)(2)

q사용자의 브라우저에서생성된 SQL은 JDBC를 통하여DB에 접근

q가공전 데이터(raw data)의 양이 많아지고, 분석프로세스가 복잡해짐에 따라 필요로 하는 PC의리소스가 커지고네트웍에부하가 걸리는 문제점을야기

--> 모든 OLAP 프로세스의 공통점

q해결방법은 로직 컴포넌트를 프리젠테이션컴포넌트로부터 분리시켜서버로이동

Database

JDBC

Code브라우저

SQLResult

set

Page 12: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 12

SUN Intranet DWJava Remote Method Invocation(RMI)(1)Java Remote Method Invocation(RMI)(1)

qJava기반의분산 컴퓨팅환경

q클라이언트와 서버에 있는 컴포넌트가 모두 Java로 구현되어 있을 경우, 컴포넌트간의통신을 위한 표준으로서 JavaIDL을 통한 ORB의 불필요한 오버헤드를 줄일 수 있음

q특정 컴퓨터에 Java객체를 구현해놓고 원격지에서 해당 객체를 호출해 사용 가능q네트웍 통신 등에 관련된 복잡한부분은 자바의 RMI 규약이 대신 처리

q엔터프라이즈 환경에서어플리케이션을분산시키는 데 필요한필수 기능

qRMI는 3개의 Layer로 구성v Stub/Skeleton Layer3 Object Serialization:Java의 기본데이터형과 객체를가상기계내에서 뿐 아니라 가상기계밖에서도안전하게저장하거나 다른곳으로 이동시킬수 있으며, 이것을다른 가상기계내에서 받으면 원래의데이터형과 객체형이복원되게하는 것3 JavaIDL과 유사한기능을 제공

v Remote Reference Layer3 원격 객체를 호출할수 있게 하는 원격 참조 프로토콜을 수행

v Transport Layer3 원격 객체간의호출을 위한 연결의설정,해제 및 관리

Page 13: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 13

SUN Intranet DWJava Remote Method Invocation(RMI)(2)Java Remote Method Invocation(RMI)(2)

qRMI를 이용한 분산 어플리케이션 개발은 JavaIDL을이용한 개발과정과 유사

qRMI의 구조 및통신흐름

Client Server

Stubs Skeletons

RemoteReference

Transport

실제통신

가상통신

RemoteReference

v원격객체에 대한 참조를얻을 때반환되는객체는 객체에 대한 Stub개체(인터페이스)임3 클라이언트와 서버객체가 독립적으로 개발가능3 하나의 서버 객체를여러 개의클라이언트에서사용 가능

Page 14: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 14

SUN Intranet DW

qRMI와 CORBAv모두 원격 객체와의통신을 가능하게하는 프로토콜이라는점이 동일

v RMI를 통해 넘겨진객체들은 Java객체이므로 자유롭게 처리할수 있기때문에 순수한Java객체들 간의 통신에는RMI를 사용하는 것이훨씬 유리함

v CORBA는 Java가 아닌 다른 언어로 만들어진객체와의 통신이가능하며, 전송프로토콜인IIOP(인터넷 ORB간 프로토콜)가개방형 표준이므로표준에 기반한객체 통신을위해서는CORBA를 선택해야 함

Java Remote Method Invocation(RMI)(3)Java Remote Method Invocation(RMI)(3)

Page 15: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 15

SUN Intranet DWJava Interface Definition Language(Java Interface Definition Language(JavaIDLJavaIDL))

qOMG표준IDL을 사용하는 네트워크 서버는 객체를정의(데이터 및 오퍼레이션)하기위해 별도의 인터페이스 정의 언어(IDL)를 사용

qCORBA를 이용하여 이기종 분산 컴퓨팅 환경을구성할 수 있음

q IDL은 언어에 종속된 것이 아니고 독립적이고 중성적인 언어로서 Java를 비롯한 각종프로그래밍 언어로 객체를이용하려면 IDL로 정의된 코드를 각 프로그래밍 언어 소스코드로 변환해야함v Orbix for C++ : IDL --> C++v OrbixWeb : IDL --> Javav IDL과 Java와의 매핑

IDL Java

module package

constant Public static final

boolean boolean

character char

octet byte

String,wstring string

Short,unsigned short short

Long,unsigned long int

IDL Java

Long long long

float float

double double

enum,struct,union class

Sequence,array array

operation method

Page 16: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 16

SUN Intranet DWJava Naming Directory Interface(JNDI)Java Naming Directory Interface(JNDI)

q기업의 디렉토리서비스에액세스 할 수 있는 애플리케이션 작성을 용이하게해주는APIv디렉토리서비스:네트워크 상에있는 서버의리소스나 사용자정보 등을관리하기위한구성.기업전체의 자원, 사용자, 액세스제어,서버구성 정보등에 대한서비스를 제공

Page 17: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 17

SUN Intranet DWJava Server API(1)Java Server API(1)

q서버관리, 접근조절,서버자원의 동적인핸들링 등 서버 측에서 실행되는 애플릿

(cf:자바 애플릿)qJava로 작성되기때문에플랫폼에독립적으로 실행 가능

q서블릿의 장점v플랫폼 독립적인 컴파일언어사용

v서블릿 사이의 통신채널제공3 CGI끼리는통신이 불가능

v SSI(Server Side Include제공)3 http내에서 서블릿을호출한결과가 html의 해당위치에 삽입

q서블릿의 종류v http 서블릿(CGI스크립트의대체용)v JDBC/ODBC를 사용한 데이터베이스 연결을 제공하는보다 복잡한서블릿

q참고.CGI(Common Gateway Interface)v외부 프로그램과 웹서버(http서버)간의연결 역할을하는 규약

v html만으로 처리할 수 없는 작업을외부 프로그램에서수행시킨 후웹서버로 리턴시

v이 때 사용되는프로그램이 CGI프로그램(스크립트)

Page 18: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 18

SUN Intranet DW

CGI을 이용한 데이터의 흐름(방명록작성)

___________________________

Database

클라이언트웹브라우저

Http서버CGI스크립트

TCP/IP를통해이름,주소,인사말서버로 전달

입력데이터를전달

갱신

화면출력값전달

적절한태그를 붙여클라이언트로전달

Java Server API(2)Java Server API(2)

Page 19: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 19

SUN Intranet DWWhat is CORBA?What is CORBA?

qCORBA = the Common Object Request Broker Architectureq이기종 분산 컴퓨팅환경에 적합한 객체지향의 공통 프레임워크q클라이언트는 서버객체의 위치를상관하지않고 투명한호출이 가능

qORB의 기능v Life cycle service : 컴포넌트를 어떻게 만들고, 복사하고, 이동하고, 지우는가등에 관한서비스

v Persistence service : 자료를 객체지향형데이터베이스, 관계형 데이터베이스그리고 보통의텍스트 파일에 저장하는능력을 제공

v Naming service : 컴포넌트가 다른 컴포넌트를이름으로 찾고기존 명명규칙(naming systems)이나 DCE, X.500, Sun의 NIS 같은 디렉토리 지원을 가능케함

v Event service : 컴포넌트가 통보 받을특정 이벤트를지정하도록 함

v Concurrency control service : ORB로 하여금 트랜잭션이나 스레드의처리가 끝날때까지데이터를 잠그는 것(lock)을관리하도록 함

v Transaction service : 트랜잭션이 완료되었을때데이터베이스 갱신을확정하거나, 그렇지 못한경우 트랜잭션이 발생하기전 상태로복귀되는 것을보증

v Relationship service : 이전에 "만난" 적이 없는컴포넌트간의 동적관계를 설정하고이 관계를지속

v Query service : 컴포넌트가 데이터베이스를 조회할수 있도록함

qORB에서 발생한 요청과응답은 IIOP (Internet Inter-ORB Protocol)나 다른 전송 계층프로토콜을 통해 전달(CORBA 2.0에서 지원)

Page 20: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 20

SUN Intranet DWCGI, RMI, CGI, RMI, 그리고그리고 IIOPIIOP

qHTML이 클라이언트 레벨의 프로그래밍 언어로 가장 많이 쓰이고있으나 데이터 처리및 디스플페이 등의 측면에 한계를 보임

qJava애플릿을이용하면 HTML페이지가 갖지 인터페이스를 구사할 수 있음v flat --> graphical

qCGIv HTML과 외부프로그램을 링크시키는 가장간단한 방법

v서버 측에 존재하는 OLAP함수 등

qRMIv작은 규모의 어플리케이션구조v소스와 타겟의 위치가각 프로그램에 ‘hard-coded’되어 있는 경우

v컴포넌트들이 Java로 구현되어 있어야 함

q IIOPv엔터프라이즈 레벨의 어플리케이션구조

v컴포넌트가 다른 언어로구현되어 있어도무방v분산된 이기종간의 네트워크아키텍쳐에 적용

Page 21: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 21

SUN Intranet DWSunSun과과 Data WarehouseData Warehouse

qJava플랫폼의독립성v Microsoft의 ActiveX환경과의 근본적인 차이점3 ActiveX은 기본적으로 Win32 플랫폼을 지원하며, 다른 플랫폼에서의사용을원하면 플랫폼 당 다른

ActiveX컨트롤을필요로함3 ActiveX환경하에서는 어플리케이션이 특정한 하나의플랫폼에서 실행되나(예를 들어 Intel

CPU에서의 MS Window) Java는 어플리케이션이 복수 개의 플랫폼에서 실행 가능

v JavaBeans는 ActiveX, OpenDoc, LiveConnect 등 다른 컴포넌트 아키텍쳐와함께 사용가능함

q Intranet DW의 요구사항v기존 C/S 환경에서의 DW와는 달리 Intranet 환경에서는 사용자가필요로 하는어플리케이션만을다운받아 사용자의 요구에맞게 적용시킬수 있음

v여러 벤더들에 의해공급된 컴포넌트들의혼합 사용

v객체지향의 컴포넌트로 구성된모델을 사용함으로써서버 어플리케이션의변경 후클라이언트브라우저로의 변경이 용이

Page 22: Chapter 7 The SUN Intranet Data Warehouse: …•자바가상기계는윈도우나유닉스등의운영체제에이식되어서자바프로그램 생성 즉, 자바클래스파일들을각운영체제에맞게실행하는실행환경

All rights reserved 22

SUN Intranet DWDWDW아키텍쳐의아키텍쳐의 사례사례

q프리젠테이션 Layer는 Internet Explorer, Netscape Navigator, HotJava등 사용

q데이터베이스 Layer는 일반 질의와 OLAP을 위한 고급 형식을지원하는상용화RDBMS를 사용

q Infospace Intranet Data Warehousev Infospace : Intranet Data Warehouse를 위한 Java어플리케이션 개발의 선두 주자

v모든 데이터베이스,데이터마트,데이터웨어하우스로부터 데이터추출을 가능하게함

v클라이언트3 사용자에의해 클라이언트모듈이 기동되면, 데스크탑으로필요한어플리케이션이자동으로다운로드3 PC, Macintosh, Unix데스크탑 모두 지원3 최근의 버전을자동으로다운받아소프트웨어 변경관리가 필요하지않음

v서버3 클라이언트에 있는 Java 애플릿이 Infospace Java서버와 직접적으로통신3 Multi-thread 지원3 CGI와는 달리 트랜잭션의 일관성을 보증3 클라이언트의 요구대로 Query가 수행되고그 결과가서버로 리턴되면, 적절한 포매팅을 거쳐클라이언트 브라우저로 보내짐