HOME > 제품정보 > Curl이란?
Products What is Curl?

Curl 은 차세대 웹 플랫폼을 표방하고 있으며, 그 성장 내력은, 미국 매사추세스 공과대학교 (MIT) 의 연구소로부터 입니다. 1995년 미국의 국방성 (DARPA) 는, 종래의 인터넷 회사에서 표준으로 사용되는 리치 클라이언트 언어의 연구에 MIT 로의
보조금을 출연했습니다. 그 후, 1998년도에 MIT의 연구원 12명이 미국에서 Curl사를 설립했고, 현재 SCSK 회사의 전신이 되었습니다.

제품으로서의 Curl 은 크게 나누어서 "Curl 언어", "통합개발환경", "실행엔진" 및 "개발 라이브러리" 등, 4개의 카테고리로
구성되어 있습니다.


Rich User Interface

통상적인 데스크탑 어플리케이션, 클라이언트-서버 시스템 이상의 가능성과 복잡한 조작성을 실현할 수 있습니다.

The details

엔터프라이즈 시스템을 더 진화시키기 위해서는, 종래의 레가시 시스템 및 클라이언트 서버 시스템과 동등 또는 그 이상의 「사용자 조작성 및 생산성」이 필요하게 됩니다. Curl 이라면 기존 시스템의 조작성을 유지하면서 더욱 높은 생산성을 실현하는 유져 인터페이스를 추구하는 것이 가능합니다.

Rich User Interface

Curl 은 고도의 GUI 시스템을 구비하고 있어서, 오디오나 2D 3D의 그래픽을 서포트하고 보다 풍부한 그래픽과 한층 매력적인 컨텐츠를 제공하는 것이 가능합니다. 또한, 모든 키(펑션키나 탭키 등)의 설정이나 포털 레이아웃의 작성에도 유연하게 대응합니다. 단순한 인터페이스 디자인의 향상에 머무르지 않고, 클라이언트 서버와 같은 복잡한 유져빌리티를 유지하고, 사용자의 업무효율을 향상시키는 것이 가능합니다.

또한, 서비스로서 제공되고 있는 「V2C」를 사용하면 화면 레이아웃의 마이그레이션이 거의 100% 가능함으로 개발자는 비지니스 로직을 코딩하는 데만 집증할 수 있습니다.


Connect with Client Resources

Curl 은 기존의 클라이언트 어플리케이션과 하드웨어 디바이스와의 연계 운영이 가능합니다.

The details

엔터프라이즈 시스템에서는 다양한 디바이스와 어플리케이션을 연결할 필요가 있습니다. 예를 들면, 지문인식 장치와의
연결에 의해 시큐리티의 확보 및 RFID나 바코드 리더와의 연결 등이 있습니다. 그러나, 일반적인 웹 어플리케이션 환경에서는 이러한 것이 불가능합니다. Curl 이라면 클라이언트 자원과의 연결에 있어서 오직 Curl 언어만으로 실현이 가능합니다.

Connect with Client Resources

Curl 은, Shared Library나 Windows API를 호출할 수 있는 표준 API를 제공하고 있습니다. 이것에 의해 많은 곳에서 사용
하는 MS Excel 및 Word 등의 어플리케이션 데이터와도 연결이 가능하게 되어, 좀 더 세밀한 제어가 팔요한 프린터나 각종 디바이스와 연결 가능하게 되어 있습니다.


Large Dataset Handling

데스크탑 시스템, 레가시 시스템, 클라이언트-서버 시스템 등의 어플리케이션과 방대한 데이터를 조작할 수 있습니다.

The details

엔터프라이즈 시스템의 대부분이 「데이터 운용 어플리케이션」입니다. 엔터프라이즈 시스템에서는 매우 방대한 데이터를 효율적으로 처리, 표시 및 편집할 필요가 있습니다. Curl 은 대용량 데이터를 취급하기 위해, 실행 엔진 및 JIT 컴파일러를 최적화하여 구축되어 있습니다.

CURL은 PC의 CPU, 메모리를 최대한 살려서 대용량 데이터를 데이터 센터 영역으로 격납시키는 것에 의해 마치 「로컬
데이터베이스」와 같이 대용량 데이터를 취급하는 것이 가능합니다. 이러한 것은 일반적인 데이터베이스에 있는 "insert", "update"로부터 "rollback"등에 이르는 여러 기능이 부가되어 있어, 예를 들면, 마스터 데이터를 사용할 때도 매번 서버로의 서비스 요청이 필요없게 됩니다.

또한, 프리젠테이션에 있어서도, 대용량 데이터를 표시, 편집할 수 있는 「레코드 그리드」류의 스프레드시트, 차트기능도 구비되어 있습니다. Excel 기능에 있어서는 최대 표시 셀의 수가 65000행에 256컬럼인데 반해, Curl의 경우에서는 이러한 제한이 없습니다. 예를 들면, 10만 레코드의 데이터를 표시, 편집하는 어플리케이션을 구축하는 것도 가능합니다.


Rich Reporting

클라이언트 사이드에서 복잡한 장표 레이아웃의 생성에서부터 인쇄까지 리치 레포팅을 개발하는 것이 가능합니다.

The details

기업 비지니스의 중요한 요구사항으로 장표의 출력이 있습니다. 장표의 종류는 여러가지가 있습니다만, 장표의 설계. 구축에 있어서 문제점으로는 레포팅 서버의 부하나 장표 개발기술에 있서서의 통일성 결여입니다. Curl 은 Curl 언어만으로 온라인 장표의 레이아웃 보기 기능을 통해 출력하는 것이 가능합니다.

Curl 로 표현되는 장표 레이아웃은, 모두 Curl 언어로 개발하는 것이 가능합니다. 또한, 인쇄에 대해서도 표준 API를 통하여 프린터의 제어를 포함해서 구현하는 것이 가능하도록 되어 있습니다. 이것은 온라인 상황에서도 유효합니다. 오프라인에 있어서도 클라이언트 측에서 장표의 생성.인쇄가 가능하기 때문에 네트워크 장애시에도 사용할 수 있는 장표시스템 구축이 가능합니다.

또한, 장표 시스템은 일반적으로 매우 서버 코스트가 높은 단점이 있으나, Curl 장표 시스템을 구축하면, 서버 코스트를 크게 절감할 수 있습니다.


High Performance

최소의 소스 코드 양으로 최대의 퍼포먼스를 모든 플랫폼에서 실현할 수 있습니다.

The details

기업의 IT 환경은 매우 복잡하고 다양합니다. 예를 들면, 통신환경이 불안정하다거나, 회선속도가 늦다거나, 또는 PC의 스펙이나 OS의 버젼도 여러가지가 혼재합니다. 또한, 어플리케이션 사용자의 증가와 함께 어플리케이션 서버의 증설이 요구되는 경우도 비일비재합니다.

High Performance

Curl 은 이러한 다양한 IT 환경에 대응하는 최적의 플랫폼입니다. Curl 의 실행 구조는 소스코드를 웹 서버에 배치하고 다운로드하여, 클라이언트 사이드에서 JIT(Just in tume)로 컴파일하는 형태로 실행됩니다. 이것은, Curl 이외의 다른 기술이 컴파일 종료 후, 바이너리 형식이나 HTML 등의 수 MB의 파일을 다운로드해서 실행하는 것에 비해, Cur l의 경우는 수 바이트의 다운로드 사이즈밖에 되지 않아서 매우 저속의 인프라 환경에서도 사용자를 기다리게 하는 일은 없습니다.

또한, Curl의 어플리케이션은 컴파일 후에 클리이언트의 CPU, Memory를 최대한 살려서 동작함에 따라 데스크탑 어플리케이션 이상의 퍼포먼스를 제공할 수 있습니다. 이러한 것은 통상의 웹 어플리케이션이 어플리케이션 서버에서 집중 처리를 하기 때문에 사용자가 증가하면 퍼포먼스가 저하되는 것에 반하여, 처리를 클라이언트로 분산시킬 수 있다는 것은 큰 메리트입니다.


SOA / Mashup Platform

기존의 이기종 시스템들과 웹서버 간의 통합 및 협업이 가능합니다.

The details

기업의 시스템 환경은, 다양한 플랫폼으로 만들어진 시스템이나 거래처 시스템과 연결이 필요한 경우가 많습니다. 그러나 일반적인 서버 주도의 SOA와 같이 거액의 투자를 들인 서버측의 메세지 인프라를 정비하는 아키텍쳐는 초기투자의 규모에 대한 ROI(투자대효과)가 불투명하여 좀처럼 확산되지 않고 있습니다.

Curl 은 엔터프라이즈 시스템의 중요한 요소인 사용자인터페이스를 구축할 수 있는 툴임과 동시에 부분별로 분석되는 시스템 및 서비스 어플리케이션을 통합하는 클라이언트 SOA를 실현합니다.

SOA / Mashup Platform

Curl 은 클라이언트 측에서 서비스의 통합 및 오케스트레이션을 실현하는 Lightware적인 SOA를 실현합니다. 이것에 의해 사용자 인터페이스의 향상뿐만 아니라, 서버 주도의 SOA보다도 TCO를 크게 절감하는 것이 가능합니다.

Curl 은 여러가지의 서비스, 업무 시스템을 WebAPI, RSS, XML, SOAP, REST 등의 업계표준의 인터페이스로 엔터프라이즈 메쉬업이 가능합니다.
더우기, 오픈 소스의 개발환경으로 제공되고 있는 WebServiceSDK의 웹 서비스 인터페이스의 자동 생성기능을 사용해서 엔터프라이즈 시스템의 서비스에 대해 간단하게 클라인언트 결합하는 것이 가능합니다. 이것을 사용하면 서비스를 결합하기 위한 인터페이스의 개발은 불필요하게 되어, 업무 프로세스의 통폐합 등에 신속히 대응하는 것이 가능하게 됩니다.


Information Security

정보의 누출방지 및 시큐리티 확보와 함께 높은 조작성을 유지합니다.

The details

CIO가 현재 가장 중시하고 있는 시큐리티.정보누출 대책에 있어서도, Curl의 경우에 있어서는 견고한 시큐리티를 실현하는 것이 가능합니다. 예를 들어, 통신 데이터의 암호화나 메세지 다이제스트, 압축은 물론, 그 이상으로 문제가 되고 있는 어플리케이션 상의 표시 데이터 등을 하드디스크에 저장, 또는 인쇄 가능 모드로 방치되는 등의 문제점을 용이하게 대응할 수 있습니다.

Information Security

종래의 데스크탑 어플리케이션이나 브라우져 베이스의 어플리케이션에서는, 컨텐츠의 저장이나 하드카피, 인쇄를 제어하는 것이 가능하지 않았습니다만, Curl의 경우에는 제어하는 것이 가능합니다. 물론 복사 및 붙여넣기 등에 의해 발생하는 로컬 디스크로의 정보 출력도 제어가능합니다. 단, 이 시큐리티 기능에 의해 조작성이 떨어져 생산성의 저하가 나타날 수는 있습니다. 이 경우는 Curl 어플리케이션 내에서는 「복사하기.붙여넣기」를 가능하게 하고, CURL 외부에서는 모두 제한하는 방법으로 해결할 수 있습니다.

또한, 암호화 알고리즘에는 RC2, RC4, 3DES 를, 메세지 다이제스트에서는 MD5, SHA-1 등을 표준 API 로 준비하고 있습니다.


Application Maintainability

장애에 의한 업무 완전 정지나 불안정한 네트워크 환경 하에서도 어플리케이션을 지속시키는 것이 가능합니다.

The details

웹 시스템의 경우, 네트워크의 장애나 서버 접속의 집중화로 의한 세션 타임아웃 등으로 어플리케이션을 재 가동하여 재차 로그인, 재 입력 등의 케이스가 웹 어플리케이션에서는 일어나고 있습니다. 이것은 엔터프라이즈 시스템의 경우, 막대한 손실의 발생으로 이어지고, 많은 웹시스템 개발자는 골머리를 앓고 있습니다. 또한, OS의 변경이나 브라우져의 업데이트, 실행 엔진의 업데이트 등에 의해 시스템이 가동되지 않는 위험성도 있습니다. CURL을 사용하면 이러한 상황을 해결할 수 있습니다.

Application Maintainability

Curl 의 경우, 거래처나 출장지에서 영업정보를 입력하고 싶다거나, 또는 일시적으로 저장해 두고 싶다거나 하는 경우, 오프라인 기능 (수시 접속 컴퓨팅:OCC) 과 퍼시스턴트 스토리지 (persistent storage) 라고 하는 템포러리 로칼 데이터 영역을 사용하는 것으로 이러한 요구를 실현할 수 있습니다. 데스트탑 어플리케이션과 다른 점은 어플리케이션은 서버에서 일괄로 관리로 되고, 데이터도 서비스를 경우해서 데이터베이스에 있다는 점입니다. Curl 의 오프라인 기능은 자동적으로 온라인/오프라인을 판별하여 로컬 캐쉬로부터 기동합니다.


Safe Runtime Environment

Curl 은 사용자환경에의 안전성과 함께 유연성을 겸비하고 있습니다.

The details

RIA 및 Web 테크놀로지 베이스의 데스크탑 어플리케이션에 의해 다양한 어플리케이션이 이용 가능하게 되었습니다. 그러나, 세션 하이젝킹, 크로스 사이드 스크립팅 및 로컬 억세스 등 사용자 정보를 취득하는 등의 공격에 대책을 강구하는 것에 상당한 비용이 들어가고 있습니다. 그러나, Curl RTE 플랫폼 상에서 조작하는 RIA 어플리케이션은 사용자에게 높은 신뢰성과 시큐리티를 제공하는 것이 가능합니다.

Curl RTE에는 시큐리티에 관한 제한이 있어, 이것에 의해 Curl 애플릿이 사용자의 시스템에 해를 주거나 개인정보에 침투하는 것을 저지할 수 있습니다. 이러한 제한은, Curl 애플릿에 의한 쟁애 발생을 지속적으로 방지하여 최대한의 유연성을 개발자에게 주는 등 매우 신중하게 설계되어 있습니다.

예를 들면, 파일의 읽기/쓰기 등, 일반적으로 필요하나 안전하지 않을 가능성이 있는 조작에 대해서는, 그것을 실행하기 전에 Curl RTE에 의해 사용자에 허가(팝업 메세지)를 요구하게 합니다. 이것은 언제든 허가했다가, 역으로 금지시켰다가 하는 것보다도 좋은 방법입니다. 단, 기업 내 시스템과 같이 신뢰해도 문제없는 Curl 어플리케이션에 있어서는 매번 같은 작업(예를 들면 파일 읽기 등)에서 사용자의 허가가 요구된다면 업무효율 측면에서 볼 때 비효율적일 수 잇습니다. 그 경우는 이 Curl 애플릿에 대해 시큐리티 해제, 또는 레벨을 낮추는 「특권」이라는 사용자권한을 주는 것이 가능합니다.

Safe Runtime Environment

「특권」이란 글자 그대로 「특별한 권한을 부여하는」이라는 의미로, 대상이 되는 Curl 애플릿에 대하여 이 「특권」을 부여하면, Curl 애플릿은 로컬 파일로의 억세스나 ActiveX의 제어 등도 가능하게 됩니다. 이것에 의해 데스크탑 어플리케이션과 동일한 행위가 가능해집니다. Curl은 이렇게 높은 시큐리티를 보장하여 최대한의 유연성과 조작성을 실현하는 것이 가능하도록 설계되어 있습니다.


Reduced Carrying Costs

Curl 의 실행 엔진은 버젼업으로 인하여 어플리케이션이 동작되지 않는 경우는 없습니다.

The details

일반적으로, 어플리케이션을 동작시키는 엔진이나 플랫폼의 버젼업은 많은 문제를 일으키고 있습니다. 예를 들면, 브라우져의 버젼이나 시큐리티 패치로 인하여 기존 어플리케이션이 정상 동작이 안되는 경우도 있고, 플러그인 등의 버젼업(덮어쓰기.갱신)에 의해서도 어플리케이션의 동작에 영향을 주는 케이스가 적지 않습니다.

Reduced Carrying Costs

Curl 의 실행 엔진 Curl RTE는, 멀티 OS(Windows, Mac, Linux)를 서포트하는 것뿐만 아니라, 새로운 버젼을 추가(차분 추가)하는 구조로 되어있습니다. 이것에 의해 Curl은, 클라이언트 환경에 여러 버전의 Curl RTE를 혼재시키는 것도 가능해서, 이것은 장기적인 운용을 고려할 때, 매우 유효합니다.

초기에 개발된 버젼과 신규로 작성하는 어플리케이션에서 이용하는 버젼이 다른 경우에도 문제없이 동작하게 되어있습니다. 이것은 패키지 벤더 업체나 ASP 제공 업체에 있어서도 고객 환경에 설치되어있는 Curl의 환경을 신경쓰지 않고 최신의 버젼을 이용하는 것이 가능하다는 것을 의미합니다.


Development Productivity

수천 종류의 표준 API와 강력한 오브젝트 지형 언어인 Curl 만으로 높은 개발 생산성을 실현할 수 있습니다.

The details

현재의 웹 어플리케이션은 여러가지 Web 언어를 조합하여 구축하고 있어서, 이것을 통합하는 일에 많은 수고와 비용이 발생합니다. Curl은 HTML과 JavaScript, C++, Flash, 장표작성 툴 등과 같은 각각의 언어가 갖는 기능을 Curl 언어 하나 만으로 실현할 수 있습니다.

Development Productivity

Curl 언어가 갖는 기능은 텍스트 기술과 스크립트 언어로서의 특성, 또한 2D/3D, 아니메이션까지도 실현하는 차세대 Web 개발 언어입니다. 또한 Curl 언어는 Java와 같은 오브젝트 지향 언어로 되어 있어서 높은 생산성.재사용성을 자랑하고 있습니다.

Development Productivity

또한, 개발환경인 Curl Pro/IDE와 유저 인터페이스 개발툴인 Visual Layout Editor를 사용하면, 더욱 효율적인 개발을 진행할 수 있습니다. 특히, Visual Layout Editor를 사용하는 경우에는 ㄴ드래그 & 드롭ㄴ베이스의 코딩없는 개발의 형태로 되어, 표준 컨트롤을 확장한 독자의 컨트롤과 템플릿 레이아웃을 등록하는 것에 의해 더욱 생산성의 향상을 예견할 수 있습니다.

또한, Curl 개발용 라이브러리도 충실합니다. SOA에는 빠질 수 없는 Web 서비스와의 인터페이스 코드를 자동으로 생성하는 WSDK 및 로컬 데이터베이스와의 연동을 seamless 로 가능케하는 CDK, 더우기 서버 어플리케이션과의 연동을 seamless로 가능케 하는 ORB 등 개발 생산성을 향상시키는 툴을 제공하고 있습니다.