본문 바로가기

정보

넥사크로 데이터 통신에 관하여 팁

※ 데이터 통신에서 xapi를 통해 데이터셋을 만드는게 아니라 자바에서 
String연산을 통해 데이터를 전송하면 속도가 훨씬 빠르다!

 

전에 이클립스에서 jsp를 통해 넥사크로와 통신하는 법에 관해서 글을 쓴적이 있다.

 

https://shp04139.tistory.com/6

 

이클립스에서 tomcat을 통해 nexacro와 데이터통신하는 법!!

1. 이클립스에서 Dynamic Web Project 생성 -> 톰캣 서버 설정 -> 데이터 통신을 담당할 jsp파일 삽입 라이브러리에 추가된 xapi와 서버용 라이센스는 다음을 참고 화면 만들기 (X-API) | 넥사크로플랫폼 17

shp04139.tistory.com

 

위 글에서는 X-API 라이브러리에 내장되어있는 saveXML을 통해서 전송된 dataset을 XML형식으로 바꿔서 console창에서 볼 수 있었다. 그래서 개발자 도구 또는 네트워크 분석 툴 등으로 개발을 할 때 디버깅을 위해서는 XML통신을 하였지만 사용자 테스트 서버 및 운영서버에서 실제로 데이터를 주고 받을 때는 XML형식으로 데이터를 보내게 되면 용량이 너무 커서 속도도 느리고 효율도 별로다. 

 

 

 

SSV통신 데이터 양

 

XML통신 데이터 양

같은 데이터를 보내고 있는데 SSV통신과 XML통신의 데이터 양 차이를 fiddler를 통해 확인해 볼 수 있다.

따라서 SSV 통신 포멧으로 데이터를 전송해야 하는데 

X-API 라이브러리의 설정 값 변경으로 SSV로 변경하는게 아닌 JAVA,에 있는 기본 String연산을 통해 출력하도록 로직을 구현하는 것이 SSV통신을 통한 성능 개선에 좋다.

 

 

 

PlatformResponse platformResponse = new 
PlatformResponse(response.getOutputStream(), 
PlatformType.CONTENT_TYPE_SSV, strCharset);


<%@ page contentType="text/html;charset=euc-kr" %>
<%@ page language="java"%>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%
 
    char a = (char) 0x1e;
    char b = (char) 0x1f;
    String RS = String.valueOf(a);
    String US = String.valueOf(b);
    out.print("SSV:utf-8"+RS);
    out.print("ErrorCode=0"+US+"ErrorMsg=Succ!!!!!!!"+RS);
    out.print("Dataset:output"+RS);
 
     out.print("_RowType_"+US+"no:String(6)"+US+"empName:String(32)"+US+
                   "zipCode:String(6)"+US+"tel:String(11)"+RS);
     for(int idx=0; idx<10; idx++)
     {
         out.print("N"+US+Integer.toString(idx)+US+"Mason"+US+"123456“
                      +US+"01045678901"+RS);
     }
     out.print(RS);
%>