제이콥정보(주)

제이콥정보(주) 로고

다양한 기술력 확보 제이콥정보(주)는 벤처기업의 정신으로
항상 도전하겠습니다.

제이콥정보(주) 연구개발팀

우리는 고객과 함께 꿈을 연구하고
비전을 실현하는 제이콥정보(주) 연구개발팀입니다.

History of R&D Team

연구개발팀이 지금까지 걸어온 길입니다.

2022년 비대면 스타트업 육성사업 - 제이콥정보(주)연구개발팀 선정

♣ 기간 : 2022년 5월 ~ 2023년 1월

폐기물 수집/처리 경매 플랫폼 "폐품:쏙"

  • 로고(세로)
    폐품:쏙 로고이미지
  • 로고(가로)
    폐품:쏙 로고이미지
  • 상표등록 중
    상표등록-서비스명 상표등록-서비스명
  • "폐품:쏙"의 의미는 폐품 안에서의 소중함을찾고 그 의미를 상품화하여 Zero폐기물을 실천하기 위한 단계별 서비스 플랫폼입니다.
  • 오픈소스 기반 Private Cloud 환경에 MSA 를 활용한 최신 기반기술 플랫폼 구현을 통한 자사 IT 경쟁력 확보

시스템 구성이해도

폐품쏙 시스템 구성도

사업수행 산출물과 특징적 개발 환경

사업수행 산출물

  • App - "폐품:쏙" (이용자용),"폐품:쏙 파트너스" (업체용)
  • Web - 공식 홈페이지, 파트너 홈페이지, 파트너 블로그
개발 환경 특징
구분 항목 내용
인프라 Private Cloud
  • 프라이빗 클라우드 기반 환경
  • (주)퀀텀씨엔에스와 협업을 통한 서비스 환경 구축
Front-End Flutter
  • 일반적으로 '앱'을 개발하기 위해서는 안드로이드의 경우 Android(Java), 아이폰의 경우 IOS(Swift || Objective C) 를 사용해야 하나 Flutter는 크로스 플랫폼을 지원
  • 계층형 아키텍처를 통해 완벽한 커스터마이징을 할 수 있기 때문에, 매우 빠른 렌더링과 표현력 있고 유연한 디자인을 구현이 가능
  • Flutter 위젯은 플랫폼별 차이를 통합하여 스크롤, 내비게이션, 아이콘, 글꼴 등을 iOS와 안드로이드 모두에서 네이티브 수준의 성능으로 제공
Back-End MSA
  • MSA(Micro Service Architecture)
  • 각각의 서비스는 모듈화가 되어있으며 이러한 모듈까리는 RPC 또는 message-driven API등을 이용하여 통신하며 이러한 MSA는 각각 개별의 서비스 개발을 빠르게 하며, 유지보수의 유연성 확보
  • 팀 단위로 적절한 수준에서 기술 스택을 다르게 가져갈 수 있으므로 다양한 언어 활용이 용이
  • 마이크로서비스는 서비스별로 독립적 배포가 가능하므로 지속적인 배포과정의 경우 기존 모놀로식에 비하여 용이
  • 마이크로서비스는 각각 서비스의 부하에 따라 개별적으로 scale-out이 가능하여 메모리, CPU적으로 상당부분 고성능 효율 제고

폐품:쏙 앱 화면예시

  • 입찰목록
    입찰목록 화면
  • 경매상세
    경매상세 화면
  • 채팅목록
    채팅목록 화면
  • 나의참여목록
    나의참여목록 화면

클라우드 SaaS 기반 MSA(Micro Service Architecture) 기술 확보

private Cloud 전사적 관심

  • Public Cloud에서 이용자를 한정한 형태
  • 기업 내 서비스와 같은 서비스의 보안적 요소가 높고 곡자적인 기능이나 서비스를 추가하는 등 개별적 클라우드

클라우드 네이티브를 위한 주요기술

기업의디지털 트랜스포메이션을 위하여 필수 요소가 된 클라우드 플랫폼은

  • 컨테이너(Containers)
  • 마이크로서비스(Micro-services)
  • 데브옵스(DevOps)
  • 지속적인전달(continuous Delivery)

기술의 특성과 장점을 잘 이해하여 함께 구성해야만 클라우드에 최적화 된 어플리케이션(Cloud Native Application) 구현가능

MSA 기반 "자사 플랫폼 서비스" 사업 구상

MSA 기반기술 제안 사례

OOOOO사와 추진했던 스마트 시티 구축에 대한 제안 및 사업 추진을 하는 과정에서 사이버 관광 플랫폼 구축을 위한 클라우드 기반의 MSA(Micro Service Architecture) 기술을 적용한 설계 및 제안하였으며 결과는 아쉽게 채택되지 못함

스마트관광플랫폼

스마트관광플랫폼

SaaS에서 최근 유행하는 MSA의 기술 구조는 CBD(Component Based Development, 컴포넌트 기반 기술)에서 SOA(Service Oriented Architecture, 서비스 지향 아키텍처)로, 그리고 그 확장된 기술적 아키텍처로 판단하고 있으며, 서비스 단위 개발요소를 바탕으로 유사 서비스의 경우 재사용이 가능한 형태의 구조

MSA 장단점

Micro Service Arichitecture
구분 항목
장점
  • 장기적으로 고정비용 효율적 개선
  • 서비스가 쪼개져서 서로간의 영향력이 적음
  • 서비스 배포가 용이
  • 서비스의 확장성과 유연성을 확보
  • 장애 발생시 해당 서비스를 제외한 나머지 서비스는 정상적으로 운영
단점
  • 서비스 분할은 복잡성이 높아 초기 설계 단계에서 집중하고 시간을 충분히 가져가야 함
  • 서비스 관계가 복잡해 짐
  • MSA 전문 개발 엔지니어 수급 부족
  • 배포화 시스템이 자동화 되어야 함
  • 여러 단계이 서비스를 거치는 경우 개발이 어려움

QKS(Quantum K8S Service) managed KUBERNETES service

기술교육 및 지원 협업기업(MOU): (주)퀀텀씨엔에스

QKS 구성요소

클라우드 구성요소

QKS 시스템 구성

IaaS 구성의 예

IaaS 시스템 구성도

QKS 구성 요소 및 특징

QKS 주요 특징
구성요소 특징
Master Node
  • 3 Node Active Active HA 구성, K8S API Server , K8S Engine DB, Container Scheduling, Load balancer 기능 담당
Storate Node
  • 3 Node Active Active HA 구성, Ceph Server, GlusterFS Server, QKS에서 요청하는 모든 Virtual Disk 서비스(Object/Block/Filesystem) 담당
  • 지원 가능 빅데이터 파일시스템 : HDFS over Ceph, CephFS, Lustre FS over DDN, 고객 요청 파일시스템 구성 가능
Worker Node
  • Container Service, Hadoop/Spark/Kafka Cluster, Kubeflow cluster, Active Active HA 구성, Auto Scaling 구성
  • 구성 가능 서버 : 머신러닝 노드 ( Nvidia DGX Series ), 빅데이터 노드 ( High End Server Series ), 서비스 노드 ( Middle/Low End Server Series )
Manager Node
  • QKS Install , Update, Monitoring, GitOPS, CI/CD 등 담당
Recommend Cluster Size
  • Minimum Scale: 3 Node
  • Regular Scale: 7 Node
  • Large Scale: over 10 Node

QKS SaaS - Micro Service Architecture

MSA 구성도

  • 최근 컨테이터 클라우드 시대에 적합한 아키텍쳐
  • 지속적이고 신속한 서비스 업데이트 가능
  • 여러가지 개발 언어 / DB 혼합 가능
  • 매우 정교한 빌드 및 배포 자동화(CI/CD) 필요
  • 급변하는 비즈니스 환경에 맞는 발빠른 서비스 론칭 가능

기업정보 APP "Kitory"

키토리(Kitory) 소개

  • Kitory는 코스콤 및 DART에서 제공하는 API를 조합하여 사용자에게 상장기업의 재무정보 및 주식정보를 제공하는 모바일 App 서비스 이며 기업의 스토리를 전달하다는 의미로 App의 이름을 Kitory로 지었습니다.
  • Kitory는 리액트 네이티브(React Native, RN)로 제작했으며 외부 기관에서 제공하는 API를 조합하여 Kitory에게 데이터를 전달하는 Kitory서버(JCOB 기업정보 시스템)는 Node.js 기반의 Express.js 로 제작했습니다.

키토리(Kitory) 시스템 구성도

키토리(Kitory) 시스템 구성도

키토리(Kitory) 화면예시

  • 뉴스토픽
    뉴스토픽 화면
  • 기업검색
    기업검색 화면
  • 주식정보
    주식정보 화면
  • 재무정보
    재무정보 화면

Front-End 개발언어

개발언어 : React-Native(RN)

  • 페이스북 에서 개발한 React와 Native 가 합쳐진 말로써 React는 자바스크립트(JS)기반의 오픈소스이자 View단을 컨트롤하는 라이브러리
  • React의 UI 작성 접근 방법을 모바일로 확장
  • 기존의 웹/앱 (하이브리드 앱)에서와 다르게 웹뷰를 통한 인터페이스 구축이 아닌, 네이티브 위젯으로 인터페이스를 구현
  • 일반적으로 '앱'을 개발하기 위해서는 안드로이드의 경우 Android(Java), 아이폰의 경우 IOS(Swift || Objective C) 를 사용해야 하나 리액트 네이티브는 크로스 플랫폼을 지원
Front-End 개발언어
구분 항목 내용
장점 ios, android 동시개발
  • view부분을 html, css로 변환 후 몇몇 로직들을 수정하면 web으로 그대로 가져올 수 있음
  • 반대로 react로 만들어진 web기반 서비스를 react native로 변환도 가능
장점 리소스가 풍부하다
  • 짧은 역사이지만 높은 퍼포먼스와 생산성으로 인해 개발자들의 질의응답이 매우 활발한 편으로 원활한 검색 가능
장점 빠른 개발속도
  • 생산성이 높은 편으로, 개발하면서 바로 결과를 확인할 수 있게 Live Reloading을 제공
장점 실시간 배포
  • 현재 RN으로 만들어진 앱은 기능추가, 버그수정, 디자인이 변경되어도 앱 배포를 위한 심사를 거치지 않음
  • 앱 실행 시 언제나 최신 Javascript를 다운로드하고 실행하여 유저는 언제나 최신 상태의 앱을 경험
단점 기능의 한계
  • 내가 필요한데 RN에는 없는 기능이라면 직접 Native로 제작 필요
단점 복잡한 UI구현의 어려움
단점 빠른 버전의 변화
  • 계속적인 버전이 빠르게 상승하고 변경되며 계속적인 소스의 업데이트가 필요할 수 있음

Back-End 개발언어

  • 개발언어 : Express.js
  • 노드(NodeJS) 상에서 동작하는 웹 개발 프레임워크이며 가볍고 유연하게 웹 프레임웍을 구성할 수 있음

(가칭) JBP2P & JBClient

(가칭) JBP2P & JBClient

JBP2P (JCobInfo Box Peer-To-Peer)

  • MFTS 제품을 소형화하기 위한 P2P 시스템
  • 다양한 전송 방법으로 1:1, 1:N, N:1 등 방식 제공
  • Protocol은 FTP, SFTP 등 지원하며, MFTS와 파일 송수신을 하기 위한 Protocol를 지원
  • 디렉터리를 보안 강화하기 위한 가상 메모리 파일 디렉터리(MFD) 기능을 제공
  • 스케쥴링을 이용하여 예약 및 반복 업무 수행이 가능
  • 특정 디렉터리를 지정하여, 파일 유무를 판단하여, 정의된 규칙의 내용에 의해 자동으로 작업 수행
  • 파일 송수신 과정에서 발생하는 다양한 이벤트를 이용하여, 정의된 규칙의 내용에 의해 자동으로 작업 수행
  • 규칙, 스케쥴링 등 자동으로 작업하는 수행 기능은 외부 응용프로그램, Shell Script 등 연계 가능
  • 저속망이나, 대용량 데이터의 경우, 온라인 압축을 이용하여, 파일 송수신 기능
  • 파일 송수신 과정에서 이어받기/이어보내기 기능 (MFTS, (가칭)JBClient 제품 가능하나, 타사 제품은 불가능)
  • 확장성을 고려한 Web기반의 GUI 모니터링 Tool 및 Dashboard 제공
  • 파일 송수신 이력 및 추적 조회 기능

JBClinet (JCobInfo Box Client)

  • 다양한 Protocol를 지원 (FTP, SFTP, HTTP)
  • Proxy 연결 하기 위한 기능
  • SSL Key를 관리하기 위한 기능
  • 저속망이나, 대용량 데이터의 경우, 온라인 압축을 이용하여, 파일 송수신 기능
  • 파일 송수신 과정에서 이어받기/이어보내기 기능
  • 스케쥴링을 이용하여 예약 및 반복 업무 수행이 가능하며, Download/Upload 전송 수행 기능
  • 특정 디렉터리를 지정하여, 파일 유무를 판단하여, Download 전송 수행 기능
  • 전송이력 및 전송로그 조회 기능
  • 파일 송수신 과정에서 발생하는 다양한 이벤트를 이용하여, 외부 응용프로그램 및 외부 응용프로그램, Shell Script 등 연계 가능하여, 알림 기능

(가칭) JBProxy

JBProxy 소개

  • 외부에서 Web 사이트를 접속하여, 로그인 및 개인정보 조회 등 다양하게 Action 들을 취하고 있습니다.
  • 최근에 보안적 중요성 인지도는 지속적으로 증가하는 가운데 Web Server에서 로그 파일에 개인정보와 로그인 인증에 대한 내용을 기록하고 있으므로, 개인정보 등 다양한 정보에 대한 보안 이슈가 발생하여, 해킹의 취약성을 가집니다.

AS-IS 시스템

  • 프락시(Proxy) 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터나 응용 프로그램을 가리킨다. 서버와 클라이언트 사이에서 중계기로서 대리로 통신을 수행하는 중계 기능을 하는 것을 프락시 서버입니다.
  • Web Server와 외부망에 사이에 DMZ 구간을 두어, 보안 강화를 위한 (가칭)JBProxy 를 구축하여 외부망으로 부터 서비스에 대한 정책을 수행하고, DMZ구간 서버의 장소(디스크)에 데이터를 적재, 계류시키지 않으며, 스트리밍 기법을 이용하여 중계 역할만을 수행하여 데이터에 대한 완벽한 보안을 지원합니다.

TO-BE 시스템

JBProxy 아키텍쳐

JBProxy 아키텍쳐

JBProxy의 특장점

  • 익명으로 서버 정보를 유지
  • 네트워크 서비스나 콘텐트의 접근 정책을 적용 및 보안 및 통제를 차단
  • 바이러스 전파, 악성 루머 전파, 다른 정보들을 빼낼 목적을 차단
  • 역으로 IP추적을 당하지 않을 목적
  • 데이터 유출 보호하기 위해

MFT 솔루션

MFT(Managed File Transfer) – 파일 송수신 관리 소프트웨어

  • FTP 기능을 완전 대체 하는 솔루션 (기능의 일부)
  • 중앙집중관리를 통해 장애/전송파일상태 등 모니터링 가능
  • 파일의 효율적인 전송 (병렬전송, 압축전송) 및 전송 보장
  • 모든 파일의 이력 관리 및 파일 이동에 대한 관리 감독 가능
  • 전송 파일에 대한 보안(모듈) 적용 전송
  • 업무계와 연계하여 인적 개입이 없는 자동화 구현 (API, 응용프로그램 구동 등)

2017년 외주 사업을 통한 제품화 1차 구현

  • 코스콤 "FTP 종가서비스 개선" 사업을 통하여 외산솔루션을 국산화 대체제품 개발을 목표로 사업수행
  • 품군들 중에서 기업형 MFT(Managed File Transfer) 서버 응용프로그램 개발 완료
  • 제품 적용부문 : 말레이시아 거래소, 코스콤 FTP 종가서비스
  • ㈜코스콤과 제이콥정보㈜는 해당 제품에 대한 세일즈 계약을 추진 중

2018년 MFT 솔루션 제품군 자사 주관 추가 개발 추진예정

  • 소형 MFT(Managed File Transfer) 서버를 이용한 P2P 제품화 개발
  • 파일 송·수신 이력 및 그래픽컬 모니터링 개발
  • 클라이언트 개발

1차 구현 솔루션을 이용한 서비스 개선

1차 구현 솔루션을 이용한 서비스 개선

1차 개발 MFT 솔루션의 특장점

파일 송·수신을 위한 관리 기능

  • 기존 스크립트 기반의 노후화된 관리방식에서 벗어서 Web기반 GUI를 이용한 C&M Tool을 이용하여 송·수신/ 목적지 서버정보, 송·수신 파일정보 등을 관리할 수 있습니다.
  • 다수의 서버에 분산화 된 대외계 파일전송 관리를 중앙집중 관리 및 통제, 모니터링이 가능합니다.
  • 담당자 변경에 따른 인수인계등이 용이하며 신규 연계기관 발생, 삭제, 수정 등을 간단하게 처리할 수 있습니다.

무인 자동화 관리 기능

  • 제품 내 스케쥴링을 이용하여 예약 및 반복 업무 수행이 가능합니다.
  • 특정 디렉터리를 지정하여 파일의 유무를 판단하고 해당 파일이 있을 경우 정의된 규칙테이블의 내용에 의해 작업을 자동으로 수행합니다.
  • 파일 송·수신 과정에서 발생하는 다양한 이벤트- 장애, 파일송신전, 파일 수신후 등 – 를 선별하고 해당 이벤트 발생이 될 경우 정의된 규칙테이블의 내용에 의해 작업을 자동으로 수행합니다.
  • 규칙테이블은 관리자가 직접 설정하는 것으로 지정된 규칙 또는 이벤트에 따라 제품내 기능 수행 또는 외부 응용프로그램, 스크립트 등을 연계하여 구동 시킬 수 있습니다.

저속망 및 대용량 데이터 처리 기능

  • MFTS는 압축기능을 보유하고 있어 저속망이나 대용량 데이터의 경우 온라인 압축을 이용하여 목적지까지 파일을 제공할 수 있습니다.
  • 네트워크 단절이 잦고 저속망의 경우 파일 송·수신과정에서의 이어받기/이어보내기 기능을 이용하여 파일을 안전하고 완벽하게 처리할 수 있습니다.
  • MFTS 전용 클라이언트에이전트를 이용할 경우 해당 기능을 모두 운영할 수 있으나 타사 클라이언트 제품을 이용할 경우 연계하는 프로토콜에 따라 해당 기능을 사용할 수 없습니다.

디렉터리 보안 강화

  • MFTS는 가상 메모리 파일디렉터리(MFD)기능을 제공하고 허용된 각 계정들은 서버로 접속 시 자신이 ROOT 디렉터리를 가진 것으로 인지합니다.
  • 물리적인 디렉터리 구조를 전혀 알지 못하기 때문에 임의적인 접근이나 보안 침해요소에 대한 예방이 강력한 기능입니다.

DMZ 구간 보안 강화

DMZ 구간 보안 강화

  • 코스콤 "FTP 종가서비스 개선" 사업을 통하여 외산솔루션을 국산화 대체제품 개발을 목표로 사업수행
  • 품군들 중에서 기업형 MFT(Managed File Transfer) 서버 응용프로그램 개발 완료
  • 제품 적용부문 : 말레이시아 거래소, 코스콤 FTP 종가서비스
  • ㈜코스콤과 제이콥정보㈜는 해당 제품에 대한 세일즈 계약을 추진 중

확장성을 고려한 Web기반의 GUI 모니터링 툴

  • 본 제품은 MFTS 제품 구매시 제공되는 제품으로 제품 기능 제어 및 파일 송·수신 현황 모니터링, 관리화면 등을 제공합니다.
  • 고객사의 요구사항에 따라 해당 모니터링 화면의 정규화(Customizing) 과정을 통하여 요구사항에 맞는 화면을 제공할 수 있습니다. 정규화 과정은 고객과의 별도협의가 필요하며 추가비용이 발생할 수 있습니다.
  • 파일 송·수신 이력 관리 및 추적
    • MFTS를 통하여 광범위하게 송·수신되는 모든 파일은 관리자가 중앙에서 실시간 모니터링 할 수 있습니다.
    • 시스템 엔지니어들이나 이해 할 수 있는 시스템 로그 수준의 난해한 용어를 나열하지 않습니다.
    • 송·수신 파일의 일자, 일련번호, 상태, 파일명, 파일 송·수신 방향, 적용 프로토콜, 계정, 파일 사이즈, 파일 처리시간 등 실질적인 정보만을 통합하여 제공
    • 특정 파일이 전송된 경로를 추적할 경우 상기 정보를 이용하여 해당 파일에 대한 송·수신 이력을 통하여 전송시점 및 처리 결과 등을 추적할 수 있습니다.
  • 파일 송·수신 현황 및 이력 화면
    파일 송·수신 현황 및 이력 화면
  • 이력에 대한 상세조회 화면
    이력에 대한 상세조회 화면

ABC(A Boon Companion) – 스마트 중계 서버

스마트 중계서버 ABC는 다양한 클라이언트 매체와 프로토콜을 수용하고 다양한 종류의 저장소(DB)와 의사소통이 가능한 질의어(SQL) 관리를 통하여 매체별 또는 DB별 관리되고 있는 기존 다수서버 방식에서 단일서버 방식으로의 설계되고 있는 제품입니다.

ABC서버에 대한 이해도

새로운 클라이언트 매체가 등장하면 ABC서버에 서버운영/관리자는 해당 매체에 대한 정보를 등록하고 DB에서의 정보데이터를 공유하도록 제어할 수 있습니다.
(단, 클라이언트 프로그램은 별도로 서버와 의사소통할 수 있도록 프로그램이 개발이 필요합니다.)

ABC서버에 대한 이해도

새로운 종류의 DB를 연계할 경우 ABC서버에 서버운영/관리자는 해당 DB에 대한 정보를 등록하고 DB에서의 정보데이터를 공유하도록 제어할 수 있습니다. 만약, ABC서버가 인식할 수 없는 새로운 종류의 DB일 경우 별도의 ABC서버 내 정규화 작업이 발생할 수 있습니다.

ABC서버 내부 아키텍처

ABC서버 내부 아키텍처

ABC서버 내부 아키텍처
관리자/프로세스 역할 비고
Network Manager
  • Client가 Http, Socket 등 방식으로 서버로 접속하여 관리
  • 향 후, IP 필터링 등 보안 취약점를 강화하여 관리
Packet Manager
  • Packtet 를 헤더, 데이터(가변, 고정) 등 설정하여 관리
  • 해당 Packet를 DB SQL 및 Command 등으로 경로 설정관리
Broker Process
  • Packet를 확인하여, 해당 경로(DB SQL, Command 등)를 연결하는 프로세스
Database Manager
  • Database 정보들을 관리
SQL Manager
  • Database에 접속하여, SQL를 실행하여, 관리
Command Manager
  • Command 를 실행하여 관리
Log Manager
  • 로그 (기본, 에러, 주의 등) 관리
User Interface Server
  • 관리자 제어/모니터링 접속 서버
WEB기반

ABC서버 데이터 처리 흐름도

ABC서버 데이터 처리 흐름도

  • 다양한 매체에서의 접속
  • 접근 PORT에 따라 다양한 프로토콜로 네트워크 관리자를 통해 접근 및 인증
  • 패킷 관리자의 도움으로 중계 프로세서에 의한 정보 요청 Packet에 대한 분석
  • 분석에 따른 다음 절차로 분기
    • 외부응용프로그램 연계 데이터 처리 또는 연계 프로세스 구동 등의 수행
    • 데이터베이스 관리자의 도움으로 질의어 관리자에 의한 데이터베이스 내 정보 수집
  • 요청 정보에 대한 처리 결과 요청 매체로 회신
  • 모든 일련의 과정에 대한 절차는 정책에 따라 로그관리자를 호출하여 시간대별 행위를 기록

적용분야

본 제품 사업 적용사례

  • 적용업체
    • 외교부
  • 적용솔루션
    • ABC(A Boon Companion) – 스마트 중계 서버