넥사크로플랫폼
넥사크로플랫폼은 투비소프트가 개발한 비지니스 UI/UX 플랫폼으로 기업의 다양한 개발 요구사항을 수용 할 수 있는 Unified JavaScript FrameWork 기반의 OSMU 솔루션 입니다. Multi OS, Multi Browser을 지원하며 디바이스별 화면에 최적화된 다양한 기능 제공으로 사용자에게 최적화된 업무 시스템을 구현 할 수 있습니다.
넥사크로플랫폼에서 제공하는 위지윅(WYSIWYG)기반의 개발 도구인 넥사크로 스튜디오는 RTE(Real Time Enterprise) 실현을 위한 개발생산성을 최대화하기 위해 HTML5, 런타임 버전에 상관 없이 개발할 수 있으며 개발자의 편의성을 최대화함과 동시에, 손쉽게 다양한 디자인 효과를 줄 수 있도록 지원합니다.
넥사크로플랫폼은 시스템 UI에 접근하는 상황에 따라 HTML5, 런타임 버전으로 구분되며 같은 개발 프로세스와 설정 파일을 사용합니다. HTML5 버전은 별도의 추가 설치 없이 배포 문제에서 매우 자유로운 것이 특징이며 런타임 버전은 가상 엔진 설치를 통해 데스크탑, 스마트폰, 태블릿 등 다양한 환경에서 상대적으로 높은 성능과 안정성을 확보할 수 있습니다. 런타임 버전은 운영체제에 따라 최적화된 가상 엔진을 제공합니다.
주요 특징
강력한 개발 도구
기존 4GL 개발 도구과 같이 개발에 필요한 다양하고 편리한 기능을 넥사크로플랫폼 전용 개발 도구인 넥사크로 스튜디오에서 제공합니다. 위지위그(WYSIWYG) 방식의 화면 개발과 함께 지능적인 편집기를 제공해 개발자에게 다양한 편의 기능을 지원합니다.
표준준수
넥사크로플랫폼에서 사용하는 스크립트 언어는 ECMA, CSS, XML, DOM 등 국제 표준에 따른 범용 기술을 적용함으로써 다른 시스템 또는 솔루션과 유연한 인터페이스를 지원합니다.
표준 기술을 사용해 새로운 언어를 배워야 한다는 부담을 줄일 수 있으며 넥사크로플랫폼 개발 환경을 빠르게 습득해 개발 및 유지보수를 쉽게 할 수 있습니다.
통합된 디바이스 이벤트 처리
PC에서의 마우스 이벤트 처리와 스마트 디바이스에서의 터치 이벤트 처리를 표준화해 하나의 코드로 다양한 디바이스를 지원하는 이벤트 처리를 구현할 수 있습니다.
빠른 데이터 처리
넥사크로플랫폼은 서버와 클라이언트간 데이터 처리 시 화면과 정보를 뺀 데이터만을 송/수신함으로써 서버의 부하를 줄이고 네트워크 효율을 높여 빠른 통신 속도를 구현할 수 있습니다.
비동기 통신 기술을 이용한 데이터 통신을 지원하며 업무에 따라 최적의 수행 환경을 만들 수 있습니다.
기업에 특화된 풍부한 컴포넌트
애플리케이션에서 바로 사용할 수 있는 다양한 기업용 컴포넌트를 제공해, 애플리케이션에 필요한 컴포넌트 개발 기간을 최소화함으로써 개발 기간을 단축하고, 변화하는 업무 환경에 빠르게 대응할 수 있습니다. 특히 가장 많이 활용되는 Grid는 기업에서 주로 쓰는 기능을 내장해 제공하고 있습니다.
넥사크로 스튜디오에서 별도의 코딩 없이 드래그앤드롭만으로 각 컴포넌트에 대한 데이터 바인딩하고 클릭만으로 새로운 이벤트를 생성할 수 있습니다.
시각적인 효과
다양한 시각적 효과를 처리하거나 스타일이나 테마를 편집하는 작업을 넥사크로 스튜디오 내에서 손쉽게 구현할 수 있으며 개발자와 디자이너 모두에게 유연한 협업 프로세스를 지원합니다.
기업 전용 브라우저 (런타임 버전)
Real Time Enterprise(RTE) 실현을 위해서 기업에서 사용하는 애플리케이션에서 기능과 성능은 중요한 요소입니다. 웹 브라우저의 성능이 지속적으로 향상되고 있지만, 기업이 요구하는 안정적인 성능에 대한 기대를 충족시켜주지 못하는 한계를 갖고 있습니다. 이러한 한계를 탈피하기 위해서 런타임 버전에서 제공하는 기업 전용 브라우저 기능을 활용할 수 있습니다.
넥사크로플랫폼 통합 프레임워크
넥사크로플랫폼 통합 프레임워크는 다양한 실행 환경에서 최적의 성능을 제공하고 새로운 운영체제가 등장하더라도 즉각적으로 대응할 수 있는 구조로 만들어졌습니다.
버전에 따라 패키징이나 배포 방식은 달라질 수 있지만, 내부적으로 동작하는 애플리케이션은 같기 때문에 어떤 환경에서도 같은 동작을 보장할 수 있습니다. 애플리케이션에서 사용하는 모든 컴포넌트는 자바스크립트 기반으로 만들어져 웹브라우저와 런타임에서 같은 방식으로 동작합니다.
넥사크로플랫폼 구성 요소
넥사크로플랫폼은 4가지 요소로 구분됩니다. 프로그래밍 언어와 개발 환경은 제품 버전과 상관없이 같으며 실행 환경과 배포 환경은 버전에 따라 달라질 수 있습니다.
프로그래밍 언어
넥사크로플랫폼은 다른 프로그래밍 언어와 달리 사용자에게 보이는 화면을 정의하는 부분과 비즈니스 로직을 처리하는 스크립트로 구분됩니다. 또한, 화면에 원하는 디자인을 적용하기 위해 스타일과 테마를 적용할 수 있는 기능을 제공합니다.
화면을 배치하는 부분은 XML 기반으로 각 컴포넌트의 속성과 바인딩, 이벤트 등의 정보를 관리합니다. 다양한 실행 환경을 지원할 수 있도록 MLM(Multi Layout Manager) 기능을 지원하며 관련된 속성을 사용할 수 있습니다. 애플리케이션 실행에 필요한 환경 정보는 별도의 파일에서 관리합니다.
아래는 넥사크로플랫폼에서 애플리케이션 개발 시 기본적으로 생성되는 파일에 대한 설명입니다.
구분 | 파일명(확장자) | 용도 |
---|---|---|
Project | *.xprj | • 프로젝트 정보 • Environment 파일 경로 • TypeDefinition 파일 경로 • AppVariables 파일 경로 • Application Information 파일 경로 |
Environment | environment.xml | • 실행 환경 정보 • themeid • Screen 정보 • variables • cookies |
TypeDefinition | typedefinition.xml | • 모듈 • 컴포넌트 • 서비스 • 프로토콜 |
Application Information | *.xadl | • 애플리케이션 정보 • screenid • 프레임 속성 |
AppVariables | appvariables.xml | • 애플리케이션 내에서 공유하는 공통 변수 |
Form | *.xfdl | • 화면 레이아웃 • 화면 폼 속성 • 컴포넌트 속성 • 추가 레이아웃 • 스크립트 |
생성된 애플리케이션은 빌드 과정을 거쳐 자바스크립트 기반의 코드로 변환됩니다. 실제 실행 환경에서는 변환된 자바스크립트 코드를 실행하게 됩니다.
개발 환경
넥사크로플랫폼은 위지윅(WYSIWYG) 기반의 개발 툴인 넥사크로 스튜디오를 제공합니다. 넥사크로 스튜디오 내에서 실행 환경과 상관없이 애플리케이션을 개발할 수 있으며 생성된 코드는 넥사크로플랫폼 프로그래밍 언어로 저장됩니다.
넥사크로 스튜디오는 마이크로소프트 윈도우 운영체제만을 지원하지만 개발된 애플리케이션은 어떤 운영체제나 어떤 디바이스든 상관없이 최적화된 사용 환경으로 배포할 수 있습니다.
앱 빌더를 사용하면 iOS, macOS, 안드로이드 운영체제를 지원하는 앱을 간단한 설정만으로 생성하고 배포할 수 있습니다.
앱 빌더를 사용하지 않고 각 운영체제 환경에서 앱을 만들고 배포할 수도 있습니다.
배포 환경에 따라 넥사크로 스튜디오 외 다른 개발 툴에서 추가적인 작업을 필요로 할 수 있으며 별도의 인증을 받아야 할 수 있습니다. 예를 들어 iOS 운영체제를 지원하는 앱을 개발하는 경우에는 배포 시 XCode 환경이 필요하며 안드로이드 운영체제를 지원하는 앱을 개발하는 경우에는 배포 시 이클립스 환경이 필요합니다.
실행 환경
넥사크로플랫폼은 넥사크로 프레임워크를 기본으로 애플리케이션이 실행되며 각 실행 환경에 따라 최적화된 구조를 제공합니다.
애플리케이션 운영 환경에 따라 데스크탑, 모바일 환경으로 나누고 애플리케이션 운영방식에 따라 런타임, 웹으로 구분합니다. 애플리케이션 운영방식에 따라 추가된 기능을 사용할 수 있습니다. 예를 들어 안드로이드 런타임, iOS 런타임 버전은 카메라, 주소록, SMS 등 모바일 디바이스와 연동된 추가 기능을 사용할 수 있습니다.
넥사크로플랫폼이 실행되는 환경은 아래 표와 같이 정리할 수 있습니다.
데스크탑 | |
---|---|
웹 | 다양한 운영체제에서 동작하는 웹브라우저 지원 - IE8, IE9, IE10, IE11, Edge, Chrome, Safari, Firefox, Opera |
런타임 | 애플리케이션이 제품에 포함된 실행 환경에서 동작 웹브라우저에서 구현할 수 없는 추가 기능 제공 - 윈도우 런타임 버전, macOS 런타임 버전 |
모바일 | |
웹 | 다양한 디바이스에서 동작하는 기본 모바일 브라우저 지원 - 안드로이드, iOS |
런타임 | 애플리케이션별로 개별 실행 환경에서 동작 Device API 사용할 수 있음 - 안드로이드 런타임 버전, iOS 런타임 버전, 윈도우 런타임 버전 (태블릿) |
배포 환경
배포란 애플리케이션이 실행하는 데 필요한 자원을 클라어언트에 설치하는 일련의 작업을 의미합니다. 사용 환경에 따라 넥사크로플랫폼에서 개발된 애플리케이션과 필요한 모듈을 내려받아 클라이언트에 설치하게 됩니다.
넥사크로플랫폼 애플리케이션은 사용자가 사용하는 클라이언트에서 동작합니다. 하지만 데이터 처리와 같은 작업을 위해 애플리케이션 서버(Application Server)를 필요로 할 수 있습니다. 넥사크로플랫폼은 데이터 처리를 위한 X-API 모듈을 함께 제공하고 있습니다. 또한, 필요에 따라 데이터를 실시간으로 처리해야 한다면 X-PUSH와 같은 추가적인 기술을 사용할 수 있습니다.
기본 배포 작업은 HTTP 프로토콜을 사용합니다. 하지만 인터넷 접속을 지원하지 않는 환경에서는 애플리케이션 실행에 필요한 자원을 별도 매체로 배포해 사용할 수 있습니다.
각 배포 환경에 따라 추가적인 작업이 필요할 수 있습니다. 세부적인 배포와 관련된 내용은 관리자 가이드(Administrator Guide)에서 제공하는 버전별 상세 내용을 참고하세요.
X-PUSH는 런타임 버전만 지원합니다.
런타임 버전에서는 설치 모듈이 실행환경에 따라 배포됩니다.