1 / 12

CSP (Caché Server Page)

CSP (Caché Server Page). 2006 년 1 월 5 일 ㈜미르테크 김형식 E-Mail : hskim@mirtech.co.kr. Introduction to CSP. CSP 란 ? CSP Architecture Web Architecture 비교 CSP Configuration CSP Application 개발 방법. CSP 란 ?. CSP 란 ? CSP (Caché Server Page)

Download Presentation

CSP (Caché Server Page)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSP (Caché Server Page) • 2006년 1월 5일 • ㈜미르테크 김형식 • E-Mail : hskim@mirtech.co.kr

  2. Introduction to CSP • CSP 란? • CSP Architecture • Web Architecture 비교 • CSP Configuration • CSP Application 개발 방법

  3. CSP 란? • CSP 란? • CSP (Caché Server Page) • High-performance, Highly scalable Web application을 개발하기위한 Intersystems사의 기술 • CSP의 특징 • 가볍고 빠른 웹 아키택처 • Web Application이 Cache Server에서 동작. • Cache Application Tag (CATs) • 일반 HTML Tag처럼 사용 가능하며 Browser 또는 Server에서 수행 • Hyper-Events • Browser에서 발생하는 Event를 Server에 전달하고 Server의 연산결과를 현재 화면에 즉시 반영하도록 지원하는 작은 애플릿 프로그램. (화면의 Refresh가 불필요) • 단순한 세션 관리 • 캡슐화된 세션관리 오브젝트를 제공하여 웹페이지간 상태정보를 유지 가능.

  4. CSP Architecture • 동작개요 ①WEB 문서 요청 ② 요청된 문서가 *.CSP 또는 *.CLS 일 경우에는 CSP Gateway에게 처리를 넘긴다. ③ C:\CacheSys\csp\bin\csp.ini 내용을 참조하여 Cache Server에게 처리내용을 전달한다. ④요청된 WEB 문서와 대응되는 해당 Class의 OnPage Method를 호출하여 그 결과를 HTTP Response로 CSP Gateway에게 전달한다. ⑤ HTTP Response를 WEB Server로 전달한다. ⑥ HTTP Response를 WEB Browser로 전달한다. HTTP Client Web Browser Internet Explorer 1 Web Server 6 Web Server IIS, Apache 2 CSP Gateway 5 C:\CacheSys\csp\bin\CSPms.dll 3 Caché Server 4 CSP Server %SYS의 %cspServer.obj

  5. Web Architecture 비교 • CSP Architecture의 장점 • Caché 기반 웹 어플리케이션은 데이터와 가까운 Caché 서버 위에서 수행됩니다. 이것은 더욱 빠르게 수행되게 해주는데, 그 이유는 데이터를 가져오거나 변경하는데 필요한 모든 프로세스간 통신을 없애주기 때문입니다. • 대부분의 자원 집중적(resource-intensive)인 작업들을 강력한 Caché 데이터 서버로 넘겨줌으로써 웹 서버가 더 많은 클라이언트를 다룰 수 있도록 자유롭게 해 줌으로써, 확장성이 향상됩니다. • 모든 코드가 한 장소에 있게 되므로, 더욱 쉽고 빠르게 Caché 기반 e-어플리케이션을 전개하고 적용할 수 있게 해 줍니다.

  6. CSP Configuration • Web Server에 Installation Files (IIS 일 경우) (※) Configuration 파일 (CSP.ini)과 event log 파일(CSP.log) 도 이곳에 저장됨. • Configuration • IIS Manager (Web Server에서 설정) • 가상디렉토리 정의 • 권한설정( ‘read’‘execute’) • *.cls, *.csp 문서에 대한 CSPms.dll 파일 연결 • CSP Gateway Manager (Web Server에서 설정) • http://localhost/csp/bin/cspmssys.dll로 연결하여 설정 (결과는 csp.ini 파일로 저장됨) • CSP Server Configuration (Caché Server에서 설정) • Caché 환경설정관리자/CSP 탭 에서 설정 (결과는 cache.cpf 파일로 저장됨)

  7. CSP Application 개발 방법 • The CSP Samples • http://localhost:1972/csp/samples/menu.csp • The CSP Tutorial • Building Web Applications With Caché ( http://127.0.0.1:1972/csp/docbook/DocBook.UI.Page.cls?KEY=TWEB_preface ) • CSP Application 개발 방법 (방법1) Class-Based Development (방법2) HTML File-Based Development Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { Write “<html>” Write “ <head>/head>” Write “ <body>” Write “ <b>Hello !!</b>” Write “ </body> Write “</html>” Quit $$$OK } } <html> <body> <b>Hello!!</b> <script language="CACHE" runat="server"> Write "<ul>",! For i = 1:1:10 { Write "<li> This is item ", i,! } Write "</ul>",! </script> </body> </html> Caché Studio-> Class 생성->편집->저장 Caché Studio->CSP 생성->편집->저장 (이렇게 저장된 csp 파일은 Compile과정을 거처 내부적으로 Class로 변환됨)

  8. %CSP.Page class • CSP 란? • CSP Architecture • Web Architecture 비교 • CSP Configuration • CSP Application 개발 방법

  9. Class parameters • class parameter 목록 • parameter CHARSET • parameter CONTENTTYPE • parameter CSPFILE • parameter CSPURL • parameter DOMAIN • parameter ENCODED [= 0] • parameter ERRORPAGE • parameter EXPIRES • parameter NOCHARSETCONVERT • parameter PAGETIMING [= 1] • parameter PRIVATE [= 0] • parameter TIMINGSLOTS [= 48]

  10. final classmethod • Final classmethod 목록 • final classmethod %ClassName(fullname As %Boolean = 0) returns %String • final classmethod %PackageName() returns %String • final classmethod ConvertParameter(url As %String, ByRef name As %String, ByRef value As %String) returns %Status • final classmethod Decrypt(data As %String) returns %Binary • final classmethod Encrypt(data As %Binary) returns %String • final classmethod EscapeHTML(in) returns %String • final classmethod EscapeURL(in) returns %String • final classmethod HyperEventBody() returns %String • final classmethod HyperEventCall(methodName As %String, args As %String, type As %Integer = 0) returns %String • final classmethod HyperEventFrame() returns %String • final classmethod HyperEventHead(iframeOnly As %Boolean) returns %String • final classmethod Include(url As %String) returns nothing. • final classmethod InsertHiddenField(url As %String, name As %String, value As %String, extra As %String = "") returns %String • final classmethod InsertHiddenFields(url As %String, ByRef query As %String) returns %String • final classmethod Link(link As %String, ByRef query As %String, addQ As %Boolean = 0) returns %String • final classmethod QuoteJS(in) returns %String • final classmethod RewriteURL(url As %String) returns %String • final classmethod UnescapeHTML(in) returns %String • final classmethod UnescapeURL(in) returns %String

  11. final classmethod • classmethod 목록 • classmethod IsPrivate() returns %Boolean • classmethod OnPage() returns %Status • classmethod OnPreHyperEvent() returns %Status • classmethod Page(skipheader As %Boolean = 1) returns %Status • classmethod ShowError(sc As %Status) returns nothing. • classmethod StartTimer(name As %String) returns nothing. • classmethod StopTimer(name As %String) returns nothing.

  12. final classmethod • abstract classmethod 목록 • abstract classmethod OnHTTPHeader(ByRef OutputBody As %Boolean) returns %Status • abstract classmethod OnPostHTTP() returns nothing • abstract classmethod OnPreHTTP() returns %Boolean

More Related