1.넥사크로플랫폼 개요

Edit

1.1넥사크로플랫폼

넥사크로플랫폼은 투비소프트가 개발한 비지니스 UI/UX 플랫폼으로 기업의 다양한 개발 요구사항을 수용 할 수 있는 Unified JavaScript FrameWork 기반의 OSMU 솔루션 입니다. 

Multi OS, Multi Browser을 지원하며 디바이스별 화면에 최적화된 다양한 기능 제공으로 사용자에게 최적화된 업무 시스템을 구현 할 수 있습니다.

넥사크로플랫폼에서 제공하는 위지윅(WYSIWYG)기반의 개발 도구인 넥사크로 스튜디오는 RTE(Real Time Enterprise) 실현을 위한 개발생산성을 최대화하기 위해 HTML5, 런타임 버전에 상관 없이 개발할 수 있으며 개발자의 편의성을 최대화함과 동시에, 손쉽게 다양한 디자인 효과를 줄 수 있도록 지원합니다.

넥사크로플랫폼은 시스템 UI에 접근하는 상황에 따라 HTML5, 런타임 버전으로 구분되며 같은 개발 프로세스와 설정 파일을 사용합니다. HTML5 버전은 별도의 추가 설치 없이 배포 문제에서 매우 자유로운 것이 특징이며 런타임 버전은 가상 엔진 설치를 통해 데스크탑, 스마트폰, 태블릿 등 다양한 환경에서 상대적으로 높은 성능과 안정성을 확보할 수 있습니다. 런타임 버전은 운영체제에 따라 최적화된 가상 엔진을 제공합니다.

1.1.1주요 특징

1.2넥사크로플랫폼 통합 프레임워크

넥사크로플랫폼 통합 프레임워크는 다양한 실행 환경에서 최적의 성능을 제공하고 새로운 운영체제가 등장하더라도 즉각적으로 대응할 수 있는 구조로 만들어졌습니다.

버전에 따라 패키징이나 배포 방식은 달라질 수 있지만, 내부적으로 동작하는 애플리케이션은 같기 때문에 어떤 환경에서도 같은 동작을 보장할 수 있습니다. 애플리케이션에서 사용하는 모든 컴포넌트는 자바스크립트 기반으로 만들어져 웹브라우저와 런타임에서 같은 방식으로 동작합니다.

그림 1-1unified_framework

1.3넥사크로플랫폼 구성 요소

넥사크로플랫폼은 4가지 요소로 구분됩니다. 프로그래밍 언어와 개발 환경은 제품 버전과 상관없이 같으며 실행 환경과 배포 환경은 버전에 따라 달라질 수 있습니다.

1.3.1프로그래밍 언어

넥사크로플랫폼은 다른 프로그래밍 언어와 달리 사용자에게 보이는 화면을 정의하는 부분과 비즈니스 로직을 처리하는 스크립트로 구분됩니다. 또한, 화면에 원하는 디자인을 적용하기 위해 스타일과 테마를 적용할 수 있는 기능을 제공합니다.

화면을 배치하는 부분은 XML 기반으로 각 컴포넌트의 속성과 바인딩, 이벤트 등의 정보를 관리합니다. 다양한 실행 환경을 지원할 수 있도록 MLM(Multi Layout Manager) 기능을 지원하며 관련된 속성을 사용할 수 있습니다. 애플리케이션 실행에 필요한 환경 정보는 별도의 파일에서 관리합니다.

아래는 넥사크로플랫폼에서 애플리케이션 개발 시 기본적으로 생성되는 파일에 대한 설명입니다.

표 1-1넥사크로플랫폼 Language를 사용하는 주요 파일들

구분

파일명(확장자)

용도

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

• 화면 레이아웃

• 화면 폼 속성

• 컴포넌트 속성

• 추가 레이아웃

• 스크립트

생성된 애플리케이션은 빌드 과정을 거쳐 자바스크립트 기반의 코드로 변환됩니다. 실제 실행 환경에서는 변환된 자바스크립트 코드를 실행하게 됩니다.

1.3.2개발 환경

넥사크로플랫폼은 위지윅(WYSIWYG) 기반의 개발 툴인 넥사크로 스튜디오를 제공합니다. 넥사크로 스튜디오 내에서 실행 환경과 상관없이 애플리케이션을 개발할 수 있으며 생성된 코드는 넥사크로플랫폼 프로그래밍 언어로 저장됩니다.

넥사크로 스튜디오는 마이크로소프트 윈도우 운영체제만을 지원하지만 개발된 애플리케이션은 어떤 운영체제나 어떤 디바이스든 상관없이 최적화된 사용 환경으로 배포할 수 있습니다.

앱 빌더를 사용하면 iOS, macOS, 안드로이드 운영체제를 지원하는 앱을 간단한 설정만으로 생성하고 배포할 수 있습니다.

앱 빌더를 사용하지 않고 각 운영체제 환경에서 앱을 만들고 배포할 수도 있습니다.

배포 환경에 따라 넥사크로 스튜디오 외 다른 개발 툴에서 추가적인 작업을 필요로 할 수 있으며 별도의 인증을 받아야 할 수 있습니다. 예를 들어 iOS 운영체제를 지원하는 앱을 개발하는 경우에는 배포 시 XCode 환경이 필요하며 안드로이드 운영체제를 지원하는 앱을 개발하는 경우에는 배포 시 이클립스 환경이 필요합니다.

1.3.3실행 환경

넥사크로플랫폼은 넥사크로 프레임워크를 기본으로 애플리케이션이 실행되며 각 실행 환경에 따라 최적화된 구조를 제공합니다.

애플리케이션 운영 환경에 따라 데스크탑, 모바일 환경으로 나누고 애플리케이션 운영방식에 따라 런타임, 웹으로 구분합니다. 애플리케이션 운영방식에 따라 추가된 기능을 사용할 수 있습니다. 예를 들어 안드로이드 런타임, iOS 런타임 버전은 카메라, 주소록, SMS 등 모바일 디바이스와 연동된 추가 기능을 사용할 수 있습니다.

넥사크로플랫폼이 실행되는 환경은 아래 표와 같이 정리할 수 있습니다.

데스크탑

다양한 운영체제에서 동작하는 웹브라우저 지원

- IE8, IE9, IE10, IE11, Edge, Chrome, Safari, Firefox, Opera

런타임

애플리케이션이 제품에 포함된 실행 환경에서 동작

웹브라우저에서 구현할 수 없는 추가 기능 제공

- 윈도우 런타임 버전, macOS 런타임 버전

모바일

다양한 디바이스에서 동작하는 기본 모바일 브라우저 지원

- 안드로이드, iOS

런타임

애플리케이션별로 개별 실행 환경에서 동작

Device API 사용할 수 있음

- 안드로이드 런타임 버전, iOS 런타임 버전, 윈도우 런타임 버전 (태블릿)

1.3.4배포 환경

배포란 애플리케이션이 실행하는 데 필요한 자원을 클라어언트에 설치하는 일련의 작업을 의미합니다. 사용 환경에 따라 넥사크로플랫폼에서 개발된 애플리케이션과 필요한 모듈을 내려받아 클라이언트에 설치하게 됩니다.

넥사크로플랫폼 애플리케이션은 사용자가 사용하는 클라이언트에서 동작합니다. 하지만 데이터 처리와 같은 작업을 위해 애플리케이션 서버(Application Server)를 필요로 할 수 있습니다. 넥사크로플랫폼은 데이터 처리를 위한 X-API 모듈을 함께 제공하고 있습니다. 또한, 필요에 따라 데이터를 실시간으로 처리해야 한다면 X-PUSH와 같은 추가적인 기술을 사용할 수 있습니다.

기본 배포 작업은 HTTP 프로토콜을 사용합니다. 하지만 인터넷 접속을 지원하지 않는 환경에서는 애플리케이션 실행에 필요한 자원을 별도 매체로 배포해 사용할 수 있습니다.

각 배포 환경에 따라 추가적인 작업이 필요할 수 있습니다. 세부적인 배포와 관련된 내용은 관리자 가이드(Administrator Guide)에서 제공하는 버전별 상세 내용을 참고하세요.

그림 1-2XP13_Application_flow

X-PUSH는 런타임 버전만 지원합니다.

런타임 버전에서는 설치 모듈이 실행환경에 따라 배포됩니다.