기능 및 특징

makeElastic은 기업 어플리케이션에서 클라이언트의 UI 화면을 제작하는 솔루션으로서 Layout, Frame, Container, Control 등의 구성요소를 통하여 WYSIWYG방식으로 화면을 디자인하고, 서버의 데이터 접근을 위한 서비스 컴포넌트를 이용해 데이터베이스 I/O를 처리하며, 컨트롤의 이벤트 처리에 대한 스크립트를 작성하여 비지니스 로직을 수행하는 기업 UI 솔루션으로서 아래와 같은 특징을 가지고 있습니다.

Runtime Mode IDE

통상적인 UI 솔루션과는 달리 코딩과 동시에 실행되는 실시간 운영모드의 IDE 입니다.

more

개발자의 IDE 화면의 폼 캔버스 창은 통상 폼 디자인을 위한 그래픽 작업창으로 사용되고 실 운영 화면은 별도의 실행 버튼을 눌러 컴파일을 거쳐 실행되는 형태가 일반적입니다.

그러나 makeElastic Enterprise UX 솔루션에서는 폼 캔버스 창은 디자인용이 아닌 실제로 모든 이벤트와 데이터베이스 I/O가 실 상황으로 운영되고 있는 실행 창이며 화면의 디자인은 레이아웃 트리에 팔레트 구성요소들을 가져다 놓는 것만으로 디자인이 완성되는 구조입니다.

따라서 개발자는 개발초기에서부터 실사용자의 운영화면 모드로 개발을 진행하며 최소한의 조작만으로 모든 컨트롤들이 자동 배치되도록 구성되어 직관적이며 높은 생산성을 유지할 수 있습니다. 이는 개발자의 IDE나 엔드 유저의 실행 화면 모두가 Elastic Runtime의 기반 하에 운영되는 동일한 어플리케이션이기 때문입니다.

Fixed Frame Structure

makeElastic의 화면은 프레임이라는 요소로 표준화되어 구성됨에 따라 규격화된 품질의 UI를 생성합니다.

more

화면의 구성은 크게 프레임이라는 기본 단위로 분류되어 표준화됨에 따라 모든 화면이 동일한 구성을 갖도록 합니다. 이 프레임 요소들은 아래의 그림에서와 같이 Title Frame, Condition Frame, Body Frame, Buttons Frame 및 Status Frame 들입니다. 이 프레임들은 컨텐츠의 수직 구성 요소인 VBox 컨테이너 하에 순서적으로 배치되며 Body Frame은 하나 이상으로 구성될 수도 있습니다.

이러한 표준 프레임 구성방식은 생성되는 화면 요소들간의 확고한 계층관계를 이룸에 따라 화면 해상도 등의 변화에도 매우 안정적이고 유연하게 대응하는 화면이 되며, 모든 개발되는 화면은 표준화 및 규격화가 용이하여 어플리케이션의 품질을 크게 향상시키게 됩니다.

Frame-Container-Control

화면의 레이아웃 디자인은 「Frame > Container > Container Item > Control」 의 계층구조 Tree에 의해 자동배치 방식으로 구성되며, 별도의 그래픽 캔버스 공간이 필요치 않습니다.

more


일반적으로 화면 디자인 툴은 폼 캔버스라고 하는 그래픽 속성의 작업(drawing) 창이 준비되어 이 작업 창에 컨트롤을 드래그 앤 드롭 방식으로 끌어다 놓고 컨트롤을 정렬하여 화면을 구성합니다.

이러한 캔버스 방식의 UI 솔루션은 x-y 좌표계를 가지며 그래픽 속성을 갖는 공간으로 화면의 디자인은 이 공간에 컨트롤을 일일이 위치시키고 조정해야 하는 번거로운 작업입니다.

이에 반해 makeElastic Enterprise UX 솔루션은 레이아웃 트리 상에 미리 격자 구조를 만들고 이 격자의 각 셀에 팔레트의 아이콘을 가져다 놓는 것으로 화면 디자인이 완료됩니다. 이는 Frame 하부에 Container 요소가 배치되고, 이 Container 요소 하부에는 Container Item 이 위치하며, 이 Container Item 에는 Control 요소들이 등록됨으로써 ;「Frame > Container > Container Item > Control」 의 계층 구조로 화면의 디자인이 완성되는 형태입니다.

실제로, 옆의 그림의 예시에서와 같이 「ConditionFrame > Table (Container) > TableCell (Container Item) > HBox -> Combo, Combo (Control)」 의 계층구성으로 이루어짐을 알 수 있습니다.

이러한 화면 컨트롤의 자동배치 방식에 의해 makeElastic은 화면 디자인을 위한 별도의 그래픽 캔버스 공간을 가져갈 필요가 없으며 대신, 그 공간을 업무 실행화면으로 가져 갈 수 있게 되는 것입니다.

makeElastic의 격자구조의 계층 개념을 도형으로 나타내면 아래의 그림과 같습니다.

High Performance & Rich Grid

데이터 그리드는 대용량 처리(Huge Data)와 고속으로 셀을 전개(Fast Presentation)하고 풍부한 그리드(Rich Grid) 기능을 제공합니다.

more

기업 업무의 핵심은 표 데이터 처리를 수행하는 데이터 그리드(Data Grid)의 기능입니다. makeElastic에는 순수 자체개발된 그리드 컴포넌트로서 Rich Grid, Fast Grid 및 Webcel Grid 등의 다양한 그리드 컴포넌트를 적용하고 있습니다.

Rich Grid 는 셀에 다양한 타입의 컨트롤을 적용하는 리치 그리드이며 Fast Grid 는 리치 그리드보다는 셀의 전개 속도를 빠르게 하는 그리드이고, 마지막으로 웹셀 (Webcel) 그리드는 웹 브라우져 상에서 엑셀의 대부분의 기능을 수용한 컴포넌트로 서버의 데이터와 연계한 상태에서 End User Computing 을 가능하게 하는 강력한 기능입니다.

또한, 모든 그리드에서는 엑셀 다운로드/업로드 기능이 제공되며 그리드 셀의 부분적인 Copy/Paste 기능도 제공합니다.

Webcel Grid Component

자사 개발 독립 제품인 웹셀(Webcel) 컴포넌트를 makeElastic Enterprise UX 솔루션에 접목하여 엔드 유저 컴퓨팅을 가능하게 하였습니다.

more

웹셀(Webcel)은 웹 브라우져 상에서 실행되며 MS 엑셀의 대부분의 기능을 수행하는 자체 개발 컴포넌트입니다.

웹셀(Webcel)은 웹 브라우져 상에서 실행되며 MS 엑셀의 대부분의 기능을 수행하는 자체 개발 컴포넌트입니다.

이 컴포넌트는 MS 오피스 엑셀에서 통상적으로 사용하는 대부분의 기능을 구현하였으며, 계산식 및 함수 적용은 물론 피벗 데이터 생성, 매크로 기능까지 수행합니다. MS가 제공하는 Open API를 호출하는 형태가 아닌 그 기능의 결과를 에뮬레이션하여 순수 자체 런타임 언어로 개발한 것입니다.

이를 활용하여 사용자는 화면 내에 임베디드된 엑셀 컴포넌트를 통해 사용자 컴퓨팅(End User Computing) 환경을 구축할 수 있게 됩니다.

특히, 서버와의 데이터가 유지되는 상태에서 각종 분석정보의 자체 생산, 리포팅 자료 생성, 더 나아가 엑셀 매크로 기능을 활용한 OLAP(On-line Analytical Processing)성 업무까지 사용자의 입장에서 구축하는 것이 가능합니다.

Chart Component

사용이 편리하고 다양한 그래픽 챠트 기능을 제공합니다.

more


makeElastic의 그래픽 Chart Component 는 외부 OEM이 아닌 순수 자체 개발된 컴포넌트로서 표 데이터를 가지고 다양한 종류의 그래프를 매우 풍부한 속성을 지정하여 화면에 그려줍니다.

그래프는 오른쪽 그림과 같이 Line, Curve, Bar, Area, Scatter, Bubble, Pie, Radar 등 다양한 종류의 챠트 그래프를 표현할 수 있습니다.

Automatic Data Binding

데이터 그리드를 포함한 화면의 모든 리스트성 컨트롤들은 서버의 데이터 억세스 객체로부터 Dataset을 생성한 후 최소한의 셋팅으로 해당 컨트롤에 자동으로 바인딩합니다.

more

화면 상에서 Grid나 Table과 같은 컨테이너는 서버와 데이터 통신을 주관하는 서비스 객체(WebService)와 자동 바인딩 기능을 통해 최소한의 코딩으로 서버 데이터를 연동시킵니다. 화면의 그리드나 테이블 요소에서 서비스 객체를 프로퍼티창의 Service 항목에 할당하면 해당 그리드의 모든 셀과 테이블 컨테이너의 각 컨트롤들은 데이터베이스 RecordSet으로부터 정보를 자동으로 연결하게 되어 해당 데이터베이스의 정보를 화면에 표시하게 됩니다.

또한 화면 내의 ComboBox, DropdownList, RadioButton 등과 같은 리스트형 컨트롤에 대해서도 위의 예시와 같이 속성창에서 팝업을 통해 데이터베이서 서비스 객체명과 리스트에 사용된 코드필드와 코드네임 필드를 지정하는 것만으로 별도의 코딩 없이 리스트 컨트롤에 데이터를 자동바인딩하도록 구성되어 있습니다.

Reporting Tool

템플릿 디자인이 용이하고 사용자의 다양한 요구에 대응하는 레포팅 툴 기능이 구비되어 있습니다.

more

레포팅 기능은 폼을 디자인 하듯이 밴드 프레임(Band Frame)이라는 요소에 출력할 데이터의 컬럼을 바인딩하여 레포팅용 템플릿을 구성한 후 조회된 데이터에 이 템플릿을 적용하여 레포트를 출력합니다. 사용자는 단일형 출력물과 리스트형 출력물 등 다양한 출력물을 디자인할 수 있으며 집계데이터의 처리도 가능합니다.

Multi Language Support

makeElastic Enterprise UX 솔루션은 다국어처리 환경을 지원합니다. 해당 언어의 Locale 정보만 입력하면 다국어 어플리케이션의 개발이 가능합니다.

more

다국어 처리는 화면 상의 모든 레이블과 메세지의 스트링에 대하여 로케일 정보 파일에 해당 언어에 대한 매핑 정보를 입력하는 것으로 가능합니다. 본 솔루션에서는 모든 화면을 실행하는 것만으로 언어변환의 대상이 되는 모든 스트링 ID들을 자동으로 로케일 테이블에 등록해 주며 사용자는 등록된 스트링 ID별로 해당 언어의 스트링 셋을 등록하기만 하면 됩니다.

RunElastic User Screen

개발 구축된 시스템의 최종 사용자(End User)는 RunElastic 이라는 실행환경에서 시스템이 운영됩니다.

more

akeElastic 아키텍쳐는 클라이언트 머신의 OS 위에 ElasticRuntime 엔진이 가동되고 이 RTE하에서 makeElastic IDE와 RunElastic 모듈이 운영되는 형태입니다. 엔드 유저는 미리 정의된 메뉴 구성 트리에 따라 해당 어플리케이션을 이 RunElastic 실행환경에서 시스템을 운영합니다.

이 RunElastic 엔드유저 실행환경은 사이트에 따라 화면 패널의 스킨과 메뉴 드라이브 방식 등을 커스터마이징하여 사용할 수 있으며, 다국어처리가 필요한 경우 로그인 화면에서 언어를 선택하여 로그인할 수 있습니다.

Non-ActiveX Based RTE

makeElastic Runtime 엔진은 Active-X 기반이 아닌 C언어 기반의 자체 개발된 Runtime Engine 으로 플랫품 독립적이며, Light Size 에 의해 운영 효율이 높습니다.

more

makeElastic Enterprise UX 솔루션은 Active-X 기반이 아닌 C언어 기반의 자체 개발 된 Runtime Engine 에 의해, 플랫폼 독립적이며 다양한 Web Browser 에서 안정적으로 시스템 이 가동됨에 따라 어플리케이션의 운영 환경에서 확장성과 안정성을 확보 할 수 있습니다.

또한 Light Size (10MB 이하)의 Runtime Engine으로 처리 효율이 좋으며 PC의 사양에 구애받지 않습니다.

Desktop & Browser Running

하나의 화면 소스가 데스크탑 모드와 웹 브라우져 모드에서 소스 수정없이 동시 실행이 가능합니다.

more

makeElastic에 의해 제작된 화면은 동일한 소스로 Windows의 Desktop 모드에서와 Web Browser 모드에서 동시에 가동이 됩니다.

윈도우 데스크탑 모드의 경우는 Elastic RTE의 직접 제어하에 기동이 되므로 클라이언트 서버 어플리케이션과 동일한 형태로 가동되며, 브라우져 모드로 가동될 경우는 웹 모드로 가동됩니다. 이 두 가지 형태의 차이점은 없습니다.

또한, 브라우져 모드의 경우 브라우져의 종류에 따른 특성 반영이 전혀 없이 안정적으로 운영됩니다.

makeElastic Architecture

makeElastic Enterprise UX 솔루션의 아키텍쳐는 플랫폼 독립적인 Elastic Runtime Engine에 의해 가동되며, 서버측의 환경은 ‘Any WAS, any DBMS, any Framework’ 을 지향합니다.

more

makeElastic 아키텍쳐는 클라이언트 머신의 OS 위에 ElasticRuntime 엔진이 가동되고 이 RTE하에서 makeElastic IDE와 RunElastic 모듈이 운영되는 형태입니다. 서버측에서는 makeElastic 툴이 운영되기 위한 전용 모듈이나 플랫폼을 요구하지 않으며, ‘Any WAS, any DBMS, any Framework’ 을 지향하고 있습니다.

이러한 점은 서버와의 연동은 CVS, JSON, XML 등과 같은 테이터 연동 규격과 메세지의 일반적인 스펙만을 사용하므로 높은 Availability와 Portability를 제공합니다. 또한 makeElastic IDE와 RunElastic은 브라우져에서는 데스크탑에서든 동일 소스로 가동됩니다.