교육-01

강민창·2024년 7월 1일

회사 교육

목록 보기
1/29

넥사크로플랫폼 특징

넥사크로플랫폼

  • 자바스크립트 기반의 웹 UI 솔루션
  • 하나의 개발도구, 하나의 코드로 모든 IT환경에 적응할 수 있는 플랫폼

nexacro studio

  • 하나의 개발툴에 개발자, 디자이너, 퍼블리셔 등 개별 업무에 최적화된 인터페이스를 적용하여 개발의 편의성과 생산성을 높인 4GL 개발도구

즉 개발자와 디자이너가 함꼐 사용하는 통합 개발 도구

웹브라우저로 실행하게 되면 html 타입으로 실행(기존 시스템에서 이슈가 되었던 No Download, No Install 부분이 해결)
NRE환경, Nexacro Runtime Environment라고 하는 브라우저에서 실행하면 오른쪽 같은 실행 환경이 실행이 됨

  • 개발된 화면은 확장자가 xfdl인 XML 파일로 생성
    (xml 소스로 떨어지게 되면 실행 환경을 웹 브라우저로 했을 때 실행X)
    (웹브라우저 같은 경우에는 html이나 css, javascript 파일들이 실행되는 구조이기 때문에 xfdl이라고 하는 xml 소스를 실해하게 되면 실제로 텍스트 파일로 떨어지게 됨)

  • XML로 만들어진 파일을 javascript로 Generate하여(결과물이 xfdl -> .js로 변환) Deploy(실제로 운영을 할 때 즉, Deploy할 때는 이 원본 소스가 Deploy 되는 게 아닌 확장자가 js, 즉 Generate된 결과물을 웹 서버에 올려서 실행을 하게 됨) -> 하나의 소스로 Web과 App에서 공통으로 사용가능

  • unified framework(JS)는 추상화된 객체 구조로 하위에 위치한 엔진 기반에 맞추어 실행되는 구조로 되어 있음

  • Web환경에서는 브라우저가 제공하는 Render Engine과 Script Engine를 사용

  • Native App환경에서는 자체 개발된 Render Engine과 V8 Script Engine을 사용
    -> 웹브라우저 환경 대비 높은 성능과 파편화 이슈를 해결할 수 있음

Unified.js는 유연한 스크립트 구조로 기능 확장이 용이하여 Native App 영역에 추가하여 Device API, Local DB, Plug-in, Local file 등을 사용할 수 있어 브라우저가 제공하지 못하는 기능들을 확장해서 사용할 수 있음(Web에서는 사용 불가)

즉, 하나의 소스로 Web환경과 Native App환경을 지원하며 Web환경은 5대 브라우저를 제공하고 App환경은 다양한 환경과의 연결 및 확장이 가능

넥사크로플랫폼은 Web(HTML5)과 NRE환경을 제공 <- 핵심!

주의!
원본 소스와 Deploy 된 Generate 소스는 결과물이 분리되어있음 -> 소스를 관리할 때 반드시 원본 소스와 Genarate된 소스 두 개를 다 관리해야 함

자바 같은 경우에 소스를 만들게 되면 확장자가 java로 떨어짐. 실제로 컴파일 하게 되면 확장자가 class라고 하는 확장자를 볼 수 있음

자바 프로그램이 실행할 때는 .java파일이 동작하는 것이 아니라 class가 동작하는 것처럼 넥사크로플랫폼도 원본 소스가 동작하지 않고 Generate된 소스가 동작함 - 중요!

또한 한번 Generate 된 소스는 원본 파일로 변경할 수 없음! -> 원본 소스를 잃어버리면 Generate 된 소스를 가지고는 다시 원본으로 만들 수가 없음


nexacro studio 설치

기본적으로 사용자 분들은 GroupWare에서 로그인한 정보를 다른 시스템에 접근할 때도 GroupWare 정보를 이용해 자동으로 로그인 처리가 되면 좋겠다라는 요구사항이 들어오는데 이 요청이 Single Sign-on기능이다

이때 Application과 Application간의 인터페이스를 해줄 수 있는 무언가가 있어야 값을 전달해 줄 수 있다 -> 그때 사용하는 것이 Variables이다

여기에 GV_LOGINID, 또는 GV_PWD 이러한 변수값을 정해주고 여기에 값을 넘겨주게 되면 인터페이스가 가능

시스템간 값을 주고 받을 때 변수 값을 정의하는 곳이다 생각하면 된다

Variables의 특징

여기에 값이 세팅되는 위치는 해당 브라우저의 LocalStorage 저장 공간에 저장이 된다

LocalStorage 특징

  1. 해당 위치에 개발자가 값을 세팅을 하게 되면 반드시 개발자가 값을 삭제해주는 코딩이 들어가야 한다

만약 값을 세팅했는데 지워주는 코딩이 없다면 이 변수의 값은 계속 남아있게 된다
(해당 브라우저를 삭제를 하고 다시 제 설치하지 않는 이상 또는 pc를 포맷하지 않는 이상 계속 남아있게 된다)
-> 그러므로 반드시 값을 셋팅했으면 값을 삭제해주는 스크립트를 반드시 작성해주어야 한다

주의
반드시라고 강조하는 이유는 내가 개발할 때는 문제가 되지 않는다
-> 단, 대형 프로젝트나 최근 많은 프로젝트에서는 프로젝트가 끝나면 보안감사를 진행한다 또는 모의해킹 같은 것들을 많이 하는데 여기에서 값이 남아 있으면 모의해킹이나 보안검사에서 걸리게 되고 initval부분에 값이 남다 보니 왜 값이 남아있는지, 이 부분을 삭제처리 하라고 걸리는 경우가 많다

즉, 쉽게 말하자면 지워야 하는 이유는 LocalStorate 저장되기 때문이다!

  1. 들어가는 값은 평문으로 기록이 된다(암호화해서 들어가지 않는다)

Login ID, Password 또는 권한 정보들이 들어갈 수 있는데 민감한 정보 등이다
-> 그런 값들이 평문으로 들어가게 되면 또 보안 문제가 걸릴 수 있기 때문에 반드시 값을 셋팅할 때는 암호화를 해서 넣어줘야 한다


Cookie라고 하는 부분에 변수를 정의할 수 있는데 여기에 세션변수 값을 지정해주면 된다

넥사크로플랫폼은 세션변수를 정의만 할 뿐 값을 넣거나 제가하지는 않는다
-> 즉, 개발자가 변수 값을 변경해 주지 않는 이상 제품 상에서는 값을 변경해 주지 않는다

JSESSIONID라고 입력했는데 이 JSESSIONID는 WAS에서 사용하는 세션변수이다(기본적으로 WAS에서 이름을 바꾸지 않으면 디폴트 JSESSIONID를 가장 많이 사용한다)

여기에다가 SESSIONID 변수를 정의할 때는 WAS에서 사용하는 SESSION 변수가 무엇인지 확인해 보고 WAS에서 정의된 SESSION ID를 사용하면 된다
-> JID 또는 SID라고 해도 무방 즉, WAS의 SESSIONID변수 값을 확인 후 해당 변수를 값에 맞도록 반드시 써 줘야한다

넥사크로에서는 해당 ID를 정의만 한다

정리하자면 Cookie는 Client와 Server간의 SESSION값을 유지하는 데 있어서 필요한 세션의 변수값을 정의하는 곳이다


HTTP Header

넥사크로플랫폼은 기본적으로 http Protocol을 사용한다

http Protocol 사용하게 되면 Client와 Server간의 통신시 기본 헤더 정보를 가지는데 기본 정보에 추가적으로 해당 정보를 추가하고 싶을 때가 있다
-> 그때 이곳에 변수를 정의하게 되면 Header정보에 값을 추가할 수 있다


Script

Script는 Environment, Variables, Cookies, Header에 값을 넣고 빼고 하는 작업이 일어날 수도 있는데 이곳에서 관련 Script를 작성하는 곳이다


Resource Service는 디자이너 영역이고 User Service는 개발자 영역이다

User Service는 만든 소스를 저장할 수 디렉토리 공간을 정의하는 곳이다라고 생각할 수 있다


Environment의 Variables와 Application의 Variables 차이

Environment의 Variables는 LocalStorage에 저장

Application의 Variables는 해당 어플리케이션이 실행됐다가 종료되면 메모리에서 사라짐
-> 별도로 지워주지 않아도 생명 주기가 어플리케이션이 기동해서 종료될 때까지이다

0개의 댓글