X-Internet이란?
X-Internet의 정의
X-Internet이란 실행성(eXecutable)과 확장성(eXtended)이 뛰어난 차세대 인터넷을 지칭하는 말로, 웹 아키텍처와 클라이언트/서버(이하 C/S) 아키텍처의 한계성을 극복하고 장점만을 수용한 새로운 인터넷 아키텍처를 의미합니다.
X-Internet이란 단어는 2000년 10월 Forrester Research의 CEO인 George F. Colony가 자사 웹사이트에 "My View: X Internet"이라는 단문을 기재한 것부터 시작되었습니다. X-Internet은 executable Internet과 extended Internet의 X를 딴 것으로 Forrester Research는 이 두 가지를 다음과 같이 정의하고 있습니다..
Executable Internet (실행 가능한 인터넷)
Executable Internet은 풍부하고 상호 대화(Interactive Conversation)가 가능한 응용프로그램으로써 사용자 가까이에 실행코드를 두고 실행하는 넷 기반의 인텔리전트 응용프로그램을 말합니다.
즉, 인터넷을 기반으로 Smart Client(엔진 및 각종 컴포넌트)를 통해 C/S와 같이 Rich UI 애플리케이션을 표현해내는 진보된 애플리케이션 환경을 의미합니다.
Extended Internet (확장 가능한 인터넷)
Extended Internet은 "어느 곳에서나, 언제든지, 어떤 장치에도 사용 가능한" 응용프로그램을 말합니다. 따라서 X-Internet의 Smart Client는 웹 브라우저, 4GL 툴, 독립 모듈 등의 다양한 개발/운용 환경을 지원하고 기존 소프트웨어 컴포넌트나 각종 외부 장비를 사용할 수 있습니다. 또한 기존 시스템과 손쉽게 연동되며, Windows, WinCE, Embedded Linux 등의 Multi-OS 환경을 지원하여 외부 환경과의 다이내믹한 연동이 가능한 확장형 인터넷 시스템입니다.
Smart Client
Smart Client는 UI(User Interface) 영역을 담당하는 X-Internet 아키텍처의 핵심 모듈입니다. Smart Client는 데이터 처리 및 통신, Cache, 외부 연계, 제어 등 주요 기능을 담당하는 엔진부와 UI 및 부가기능을 처리하는 컴포넌트로 구성됩니다.
X-Internet의 필요성
X-Internet은 IT 아키텍처의 진화 과정에서 자연스럽게 발생한 개념이다.
위의 그림은 Forrester Research에서 제안한 IT의 아키텍처 진화 과정입니다.
분석하면 아래의 정보를 얻을 수 있습니다.
Mainframe에서 출발한 IT 아키텍처는 C/S 아키텍처를 정점으로 오히려 퇴보하게 되는데, 이는 웹이 개발 생산성과 유지 보수 용이성이 높은 반면, UI 및 기능성에서 이전보다 저하되었음을 의미합니다.
따라서 C/S의 배포, 운영방법의 문제점과 웹의 UI 및 기능성의 취약점을 보완하고 탁월한 UI와 개발/유지 보수의 편의성만을 수용한 새로운 아키텍처가 필요했으며, 이런 요구에 부응하여 탄생한 것이 바로 X-Internet이란 개념입니다.
MiPlatform이란?
MiPlatform의 정의
MiPlatform은 Multi-Tier 기반의 UI 통합 플랫폼 및 개발툴로서 유무선 환경에 최적화시켜 Presentaion Tier의 풍부한 사용자 인터페이스(Rich User Interface)와 용이한 개발환경(Easy To Implement)을 제공합니다.
MiPlatform은 한 번의 개발로 웹, C/S는 물론 Mobile 등 다양한 멀티채널을 통한 유무선 통합 서비스를 지원합니다.
기존의 Business Layer를 재활용하여 Presentation Layer를 구축할 수 있습니다.
4GL 수준의 디버거를 포함한 개발툴을 통해 손쉬운 개발할 수 있습니다.
J2EE 계열의 WAS, 미들웨어(Middleware) 등과의 인터페이스를 지원하여 기존 시스템과 완벽한 호환을 보장하고 기존 서비스의 재활용할 수 있습니다.
OS, 장치 종류와 관계없이 독립적인 서비스를 지원합니다.
MiPlatform의 주요 기능
뛰어난 개발 생산성 지원
Form 마법사 및 User Template 기능으로 일반화된 화면의 자동 생성
Line Tracing 기능의 강화로 실시간 오류 체킹
Data Binding 기능 지원으로 개발자 Coding 량 감소
Collection 기능을 통해 관련 모듈 통합 관리
Global Style Template 기능 지원으로 다양한 색상과 Font의 통합관리
SQL 및 조건문 지정으로 Business Service 자동 생성
Binary 통신 지원으로 C/S 수준에 필적하는 네트워크 트래픽 감소 및 시스템 안정성 확보
Enterprise 개발 환경 지원
개발된 여러 단위 프로젝트들을 한 번에 관리하는 기능 제공
다양한 프로젝트 Form을 조합할 수 있는 Multi Configuration 기능
Application 그룹 관리
프로젝트 간 Auto Login 기능을 지원하는 Auto Session Manager 기능
PC용 프로젝트를 PDA용 프로젝트로 변환하는 기능
프로젝트의 각종 리소스 및 Global Attribute Setting & Viewing
편리한 개발 툴
Project Explorer
효율적인 프로젝트 관리를 위한 MiPlatform Manager의 통합
Project Viewer 제공
Data 및 Business Service Viewer 제공
각종 Resource 및 Global Attribute Viewer 제공
Drag & Drop Component 연결 기능
Service를 Component에 Drag & Drop 하여 자동 연결
정교한 편집 기능 (The Function of Micro Editor)
Column Selection, Copy and Paste
Script Folding/Unfolding 기능
Script 인쇄
Matching Brace Display
보다 세밀해진 Function Inspector
보강된 Expression Editor
Global Object 지원
Global Dataset 지원
Global Script 지원
Global Style Template 지원
Domain Plus 기능
서버에서 일괄 관리하는 통합적 Component Data Validation 및 용이한 다국어 지원
Intelligent Caching Management
Static, Dynamic, Session Mode 등의 다양한 Caching 방식 제공으로 개발자 임의로 조율 가능
User Color Setting
User0 ~ User63까지 사용자 정의 색상값 변경 가능
MDI 지원
Multi Document Interface 기능으로 각각의 Form을 가진 문서를 동시에 표현
Icon Manager 기능: 창 비활성화 시, 아이콘화 Display 및 화면 별 아이콘 지정 가능
Form Collection 기능: 오픈되어 있는 여러 창을 조정하고 제어할 수 있는 기능
Business Service Plus Pack 지원
조건 별 SQL 문 작성만으로 MiPlatform 용 JSP, ASP 자동 생성
스크립트 수정 시 원본 자동 반영 등 양방향 코딩 지원
Frame Windows 기능 지원
하나의 Form 안에 Division Component를 나누어 사용하던 기존 방식을 탈피하여 Form 내에서 직접 프레임 구성 가능
Scroll 기능 추가: Tab, Division, Dialog
완벽한 보안 지원
SSL(Secure Sockets Layer) 기본 지원
별도의 Wrapping이 필요 없이 자동으로 직접 연동할 수 있는 Direct ActiveX Embedding 기능
기타 편리한 기능
멀티 모니터 지원
Direct ActiveX Embedding 기능: 별도의 Wrapping이 필요 없이 자동으로 직접 연동 가능
4GL 수준의 UI용 Component 제공
MiPlatform은 기본적으로 개발자 및 사용자가 필요로 하는 30여 개의 범용 Component를 제공합니다. 이와는 별도로 고객의 요구에 따라 라이선스 구입이 필요한 3rd Party Component를 Embedding 하여 사용할 수 있으며, 또한 제품과 함께 제공되는 SDK를 사용하여 다양한 외부 Component를 Wrapping, 개발할 수 있습니다.
Component 명 | 이미지 | 기능 |
---|---|---|
Button | 누르는 버튼, Event의 처리 및 사용자 입력을 위해 사용 Button의 Text 대신 Image 사용 가능 | |
CalendarEx | 날짜 입력 시 사용 크게 Picker형과 Month Calendar형으로 나뉘고, Picker형은 다시 Spin과 Drop형으로 나뉨 입력 시 잘못된 날짜는 자동으로 제외 입력 완료 시 자동으로 필드를 넘어가거나 특정 필드가 포커스 되도록 하는 기능, SpinStyle에서 Up/Down에 대해 날짜가 가는 것처럼 작동하는 기능 추가(AutoIncrement) | |
Chart | ChartFx를 사용하여 다양한 형태의 Chart 출력(ChartFx 필요) | |
CheckBox | 체크를 통한 특정값 설정 체크 상태에 따른 값을 설정할 수 있는 기능 | |
ComboEx | InnerDataset 또는 Contents의 내용을 기반으로 입력값 선택 (Edit는 입력 보조용으로 InnerDataset 또는 Contents 내용에 없는 값은 입력할 수 없음) Contents로 내용을 구성할 수 있는 기능 추가 내용 중에서 적절한 후보값 입력 시 찾아주는 Search 기능 추가 입력창의 크기와 드롭 되는 리스트의 크기 조절 기능 | |
EditBox | 한 줄로 된 텍스트 입력 | |
File | File Open/Read/Write/Close 기능 File Creat, Copy, Delete, Move 기능과 Directory 관련 기능 | |
FileDialog | 파일 탐색 기능 | |
Flash | Flash 사용 시 이용( FlashPlayer ActiveX는 별도 필요) | |
Grid | Dataset의 내용을 다양한 형태로 가공, 반영하고 값을 입력하거나 수정 MultiSelect – 동시에 여러 레코드를 선택 가능 | |
Image | GIF/ JPG/ BMP/ ICO의 이미지 출력 시 사용 Button 대용으로 사용 가능 | |
ListBox | Inner Dataset의 내용을 목록으로 나타내서 그중 하나의 값을 선택하여 입력 | |
MaskEdit | 특정 형식의 Mask를 사용하여 입력 Number형과 String형이 있으며 Number형은 콤마 붙이기 기능과 자릿수 지정 가능 String형은 Mask를 지정해 특별한 형식으로 입력 받음(cf. 계좌번호/ 신용카드번호 등) | |
Radio | 여러 선택 사항 중 한 가지를 선택할 때 사용 내용을 InnerDataset이나 Contents로 구성하며, 칸수를 지정 가능 Contents로 구성하는 경우 다양한 형태로 배치 가능 | |
Spin | EditBox와 Up/Down 버튼을 이용해 숫자 입력 변화량 지정 시 이용 | |
Static | 텍스트 및 그룹 표시 형태가 Label이면 화면에 문자열이 나타나며, GroupBox면 Component를 시각적으로 묶는 사각형 구성 가능 | |
Tab | 여러 개의 TabPage를 구성해 작은 화면을 넓게 사용할 때 활용 각 Tab 별로 다른 화면을 사용하는 것이 가능, Tab에 이미지를 사용해 구성할 수 있으며, TabPage는 Contents 또는 URL로 연결됨 | |
Text Area | 여러 줄의 텍스트 입력 | |
TreeView | 데이터를 트리 형태로 표시하고, 데이터에 대한 선택기 역할 구성은 InnerDataset으로 하며 이미지 변경 가능 | |
WebBrowser | Internet Explore IE를 설치할 경우 사용 가능하며, MiPlatform내에서 특정 WebPage가 표시될 수 있음 | |
Pie | 원호를 그릴 때 사용 겹쳐서 사용 가능한 Component이기 때문에 Pie형 Chart 구성 가능 | |
Shape | 선, 사각형, 원을 그릴 때 사용 화면 구성 및 그리기에 이용 | |
Progress | Progress Bar 표시 및 제어 | |
MenuBar | MiPlatform 내에서 Menu 구성 위치는 자유롭게 배치 가능하며 구성은 InnerDataset을 통해 입력받음 각 메뉴의 입력에 대한 Event 처리 가능 | |
AppletLoader | Java Applet Load 가능(V3.3추가) |
번호 | 이름 | 종류 | 비고 | 번호 | 이름 | 종류 | 비고 |
---|---|---|---|---|---|---|---|
1 | AxUbiReport | ActiveXWrapper | 확장형 | 19 | MaskEdit | Visible | 기본형 |
2 | Button | Visible | 기본형 | 20 | MenuBar | Visible | 기본형 |
3 | CalendarEx | Visible | 기본형 | 21 | Pie | Visible | 기본형 |
4 | CheckBox | Visible | 기본형 | 22 | PopupDiv | Visible | 기본형 |
5 | ComboEx | Visible | 기본형 | 23 | ProgressBar | Visible | 기본형 |
6 | DatasetComp | Invisible | 기본형 | 24 | Radio | Visible | 기본형 |
7 | DataObject | Invisible | 기본형 | 25 | RSSAdp | Adapter | 기본형 |
8 | Div | Visible | 기본형 | 26 | ServiceObject | Invisible | 기본형 |
9 | Dummy | Visible | 기본형 | 27 | Shape | Visible | 기본형 |
10 | Edit | Visible | 기본형 | 28 | Sign | Visible | 확장형 |
11 | File | Visible | 기본형 | 29 | Spin | Visible | 기본형 |
12 | FileDialog | Visible | 기본형 | 30 | Splite | Visible | 기본형 |
13 | FtpEx | Invisible | 기본형 | 31 | Static | Visible | 기본형 |
14 | Grid | Visible | 기본형 | 32 | SwFlash | Visible | 기본형 |
15 | HttpAdp | Adapter | 기본형 | 33 | Tab | Visible | 기본형 |
16 | Image | Visible | 기본형 | 34 | TeeChart | Visible | 확장형 |
17 | ListBox | Visible | 기본형 | 35 | TreeView | Visible | 기본형 |
18 | LiteDBAdp | Adapter | 기본형 | 36 | WebBrowser | ActiveXWrapper | 확장형 |
MiPlatform의 도입 효과
다양한 기능 제공을 통한 개발생산성 향상
4GL/RAD 수준의 개발툴 제공으로 손쉽고 빠르게 애플리케이션 개발 가능
WYSIWYG 방식의 개발 지원 (WYSIWYG: What You See Is What You Get)
Line Tracking, Data Binding 등 다양한 기능으로 최상의 개발 생산성 지원
기존 Web 개발 방식 대비 개발 생산성 30% 향상 효과
최적의 통신방식으로 트래픽 및 속도 개선
XML 형태의 Text Data를 Binary 형태로 변환하여 통신함으로써 C/S 수준에 필적하는 최상의 데이터 통신 처리
기존 HTML과 Component 방식에 비해 현격한 Data 통신량 절감
내부 Network 부하 감소와 사용자 서비스 속도 개선
Network Traffic 절감에 따른 효과적인 Network 자원 활용, 전반적인 시스템 통신 속도 개선
동시 사용자 처리 능력 향상을 통해 내부 시스템 성능 향상
비용 절감
편리한 개발도구 및 다양한 기능의 Component를 지원하여 쉽고 빠르게 시스템을 구축하여 개발비용 절감
시스템의 설치, 배포, 버전 관리를 기본 기능으로 제공하여 인력, 시간 및 유지 비용 절감
최적의 통신으로 네트워크 트래픽을 최소화하여 H/W 추가 비용 절감
XML 기반의 통신으로 기반 시스템 아키텍처 확장이 용이하여 확장을 위해 추가되는 별도의 비용 절감
기존 전산자원과의 호환성 제공으로 ROI 증대
기존 시스템과의 완벽한 호환 (J2EE 계열의 WAS, Middleware 등과의 인터페이스 지원)
기존 서비스(JSP, ASP, Tuxedo 등)의 재활용 가능
Web Server 및 네트워크 관련비용 절감효과 기대
Web에서 구현하지 못한 User Interface 제공
기존 C/S(VB, Power Builder 등) 환경과 유사한 User Interface 제공으로 개발자 편의성 증대
One Source Multi Use
화면 구성과 서비스 로직을 분리
최소한의 수정으로 Multi Device에 최적화된 화면을 구성하여 서비스 로직을 다양한 형태로 재활용