상품등록 방식 비교 http://www.ec-monitor.com 2012년 4월 23일 (주)에이치케이넷츠.

Slides:



Advertisements
Similar presentations
제주특별자치도교육청. 목 차 일상생활 속에서의 정보보안 안전한 컴퓨터 사용  보안업데이트 자동설정  가짜 백신 프로그램 주의  믿을 수 있는 웹사이트만 접속  자동 로그인 기능 사용 안함  사용 후 반드시 로그아웃 확인 
Advertisements

교수님 영상 제 2 장 관세법 일반 제 1 절 통칙 제 2 절 법 해석의 원칙 등 제 3 절 기한과 기간 제 4 절 서류의 송달 등 제 5 절 관세의 부과 및 징수 제 6 절 납세의무의 소멸 등.
① 인터넷우체국 ( 을 통한 검색 새 우편번호 검색방법 ( 인터넷 ) O 다음, 네이버 등 포털서비스와 동일한 통합검색 방식 - 도로명주소, 지번주소, 건물명 등을 입력하여 검색 가능 예시 ) 도움 5 로, 어진동, 우정사업본부.
음란물에 대하여. 인터넷 음란물의 의미 돈벌이를 위해 단지 성적 욕망을 불러 일으키기 위한 음란한 인터넷 상의 사 진, 동영상, 만화 등을 말한다.
세강병원 고정자산 재물조사 총무 UNIT. 1 차 : 2015 년 11 월 10 일 전체공지 2 차 : 2015 년 11 월 11 일 ~2015 년 11 월 18 일 까지 부서별 자료 취합 서면 및 엑셀 파일 작성 3 차 : 2015 년 11 월 19 일 ~ 12 월.
아이핑 소개 (탁구대회) 아이핑 담당 신동일 네이버(다음)에서 아이핑검색 아이핑 소개 (탁구대회) 담당 신동일 아이핑.
W3000 제 품 제 안 서.
목차 일모아시스템 시연 및 참고자료 일모아시스템 관련 법/제도/지침 개인정보보호 관련 유의사항 자주묻는질문
일 시 : (목) 장 소 : 1층 도서관 대 상 : 3학년 4반 (36명) 지도교사 : 박 병 진
연구활동종사자 교육ㆍ훈련 수강방법 사무처 안전관리실

1. PC 에서 회원가입 1. 회원가입 버튼 클릭 클릭.
PHP programming 2000년 11월 13일 데이터베이스 연구실 김호숙.
17 20 정보보안 개인정보보호 능력 향상 마침표 없는 정보보호!.
12장. JSP에서 자바빈 활용 제12장.
7. JavaBeans 프로그래밍 JavaBeans JavaBeans 만들기 빈을 이용한 회원가입 양식 작성하기 빈 작성
2 서블릿의 기초.
10장. 에러 처리 제10장.
JSP 내장 객체 개요 내장 객체 (참조 변수 이름) 자바 클래스 주요 역할
Web Server와 DB 연동.
APM (Apache+PHP+MySQL)
제 15 장 파일 업로드와 메일 보내기 학기 인터넷비즈니스과 강 환수 교수.
4 쿠키와 세션.
5. JSP의 내장객체1.
4. JSP의 스크립트 요소 Script 요소의 이해 선언문(Declaration) Scirptlet 표현식 주석
8 데이터베이스 사용하기.
12 데이터베이스 사용하기.
제주닷컴 매뉴얼 (실시간 예약시스템) 2013년 10월.
초등학생이 pc방을 가도 되는가? 등마 초등학교 5학년 4반 김근아.
BIZSIREN 실명확인서비스 개발 가이드 서울신용평가정보㈜ 신용조회부 (TEL , FAX )
에너지원의 변환 기술가정 1학년 1학기 1. 에너지원의 이용>(1)에너지와 에너지원>2/11 [제작의도]
낮과 밤 알아보기 슬기로운 생활 2학년 1학기 4. 빛과 그림자>낮과 밤( 4/8 )
HTML.
10장. 자바빈(JavaBean) 이 장에서 배울 내용 : 화면에 표시를 담당하는 JSP페이지와 실제프로그램을 처리하는 로직을 분리하는 것에 대해서 학습한다. 하나의 JSP페이지 안에 디자인부와 로직부가 혼재하게 되면 프로그램의 협업과 유지보수가 어렵다. 자바빈은 로직을.
이장에서 배울 내용 : 화면에 표시를 담당하는 JSP페이지와 실제프로그램을 처리하는 로직을 분리하는 것에 대해서 학습한다
[ 포털 사이트 연관검색어/자동완성 등록 서비스 ]
공인인증서 신청 및 발급 제일 먼저 은행에 직접 방문하여 인터넷뱅킹 신청.
게임웹사이트운영 [10] 폼 작성.
JavaScript COOKIE Chapter 10 Part III
Web Vulnerabilities 정보 보호 2008/05/31 Getroot.
Ch 04. 애니메이션 송재철.
Data Base Web Programming
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
개인정보처리와 개인정보보호 2017년 2월.
[필독] 답지전송 방법!!! 모니터링에서 파일전송 하는것과 proctor 사이트에 백업파일을 등록 하는것을
■ 화성공장 산학인턴 버스 노선 확인 안내 문의 전화 : 안내페이지 접속 1
‘사랑의 재생PC 나눔 사업’ 안내 한국노동복지센터 나눔 원정대 서울시 영등포구 여의도동 36-4
건양대학교 OPIc 평가 신청 매뉴얼 (
가계부 자동작성 APP Ucloud를 이용한 카드 내역 자동 작성 정보통신공학과 김대웅
Ⅳ. 컴퓨터와 생활.
LOGIN할 때 아이디, 비번 입력 여부 체크하기
인터넷은 새로운 민주주의를 만들었는가? 2011년 11월 30일 정동욱.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
[PC 전화 수〮 발신 / 고객별 통화이력 저장,확인]
SIMPLE CALL Client 사용설명서
API Multi Blogger 설명서
Internet 유선 랜카드 A 회사 네트워크 장비 (인터넷 공유 기능 활성화)
판촉왕 공식인증센터_PC
E-비즈니스의 성공을 위한 지식경영 실태조사 발표
건축물 에너지 절약계획서 시스템 사용자 지침서
주요공지로 정할 글을 올립니다. 제목과 주소를 복사해둡니다
포이에마장애인보호작업장 시설소개서.
매물장 로그인 직원을 미리 생성하시면 직원 ID로 로그인 가능.
Data Base Web Programming
100세 시대, 스마트 헬스케어와 미래직업 (3) 고령화 사회에 필요한 웨어러블.
Web & Internet [10] 입문 – input 태그
코딩교육, 어떻게 해야 할까 이천양정여자고등학교 김가연 안선영.
학교시설사용예약관리시스템 매뉴얼 (학교 관리자용) 부산광역시교육청
관리자 페이지에서 관리자 승인 1. 정기권 신규고객 1. 로그인 화면 2. 차량등록여부 확인 3. 개인정보 활용 동의
체력 운동과 건강.
Presentation transcript:

상품등록 방식 비교 http://www.ec-monitor.com 2012년 4월 23일 (주)에이치케이넷츠

서론 현재 스크래핑을 사용하는 솔루션이 늘어나고 있고, 일부 쇼핑몰에서는 OpenAPI를 제공하고 있습니다. 이는 현재 상황을 보면 쉽게 알 수 있는데 쇼핑몰 어드민이 점점 복잡해지고 있다는 점을 감안하더라도 예전에 비해 어드민의 동작이 매우 느려졌고, 어드민 화면이 정상적으로 열리지 않는 현상이 빈번하게 발생하는 결과로 이어지고 있습니다. 실제로 대형몰들이 어드민 개편 때 로직 상의 문제보다 부하 문제가 심각하게 발생하고 있으며, 당사도 기능적인 부분보다 오히려 어드민이 원활하지 않을 때의 처리에 대부분의 시간을 투자하고 있는 상황입니다. 이는 예전에는 거의 발생하지 않던 현상이며, 필요 없던 작업이었습니다. 당사 뿐만 아니라 이런 문제로 인해 쇼핑몰도 서버 증설 및 유지보수로 인한 비용 증가, 어드민에서 등록하는 업체들의 작업 지연으로 인한 간접적인 피해가 발생하고 있다고 판단됩니다. 이에 여러 가지 방식을 비교하여 정리하였으니 참고하여 주시기 바랍니다. 감사합니다.

익스플로러의 역할 익스플로러의 역할은 여러 가지가 있지만 크게 HTML 내용에 따라 화면 구성 사용자가 입력한 내용을 서버에 전달 하는 역할을 합니다. 예를 들어 다음과 같은 HTML은 <form name=f method=“post” action=“http://www.abc.com/login.jsp”> ID <input type=text name=id> 비밀번호<input type=password name=pwd> <input type=submit value=로그인> </form> 익스플로러가 다음과 같이 화면에 보여주고 사용자가 ID에 hknets, 비밀번호에 1234를 입력하고 로그인 버튼을 클릭하면 익스플로러는 id=hknets&pwd=1234와 같이 데이터를 만들어 http://www.abc.com/login.jsp를 호출합니다. ID 비밀번호 로그인

어드민 방식 정의 쇼핑몰마다 SCM, 파트너, 어드민 등 표현이 다르지만 대부분의 쇼핑몰은 익스플로러를 통해 어드민 기능을 제공하고 있고 작업자가 직접 익스플로러로 쇼핑몰 관리자 사이트를 열어서 처리하는 방식으로 아직까지도 많은 업체들이 사용하고 있는 방식입니다. 가장 기본이 되는 방식이며 쇼핑몰에서는 반드시 제공해야 하는 기능입니다. 안정성 사용자가 데이터를 입력하면 페이지 내의 자바스크립트가 제어하고 검증하기 때문에 데이터가 잘못 입력되거나 누락될 염려가 전혀 없는 안전한 방식입니다. 쇼핑몰 어드민을 업데이트하고 관리하는 작업 이외의 다른 작업은 없기 때문에 쇼핑몰의 노력도 최소화됩니다. 전송된 데이터를 서버에서 따로 체크할 필요 없기 때문에 서버 부하도 최소화할 수 있습니다. 사용자 사용자가 일일이 수작업으로 처리해야 하기 때문에 불편하고 작업 속도가 느립니다.

스크래핑 방식 정의 스크래핑이라는 말 그대로 인터넷상의 필요한 정보를 모으는데 사용되는 기술인데 이런 기술을 응용하여 임의로 데이터를 만들어서 서버에 밀어 넣는 방식입니다. 예를 들어 로그인의 경우 미리 HTML 내용을 분석한 후 &id=hkinets&pwd=1234 과 같이 데이터를 만들어 다음과 같이 http 프로토콜을 이용하여 서버를 호출합니다. Call OpenURL_Post(“http://www.abc.com/login.jsp”, “id=hkinets&pwd=1234”) 특징 스크래핑은 데이터를 조회하거나 아주 간단한 화면에서는 효과적인 방법이지만 쇼핑몰 어드민 특히 상품등록이나 수정 화면은 예를 들어 카테고리에 따라 입력항목들이 달라지기도 하고 자동으로 다른 항목 값이 변경되기도 하고 항목이 활성화 또는 비활성화 되는 등 눈에 보이는 내용들 뿐만 아니라 보이지 않는 부분까지 포함하면 적어도 수백 가지 내지 수천 가지의 경우의 수가 존재합니다. HTML 내의 자바스크립트가 이런 동작들을 제어하는데 실제로 HTML 소스를 보면 화면에 표현되는 내용보다 자바스크립트 내용이 훨씬 더 많음을 알 수 있습니다. 따라서 스크래핑 방식에서는 정확한 데이터를 만들기 위해서는 화면에 보이는 항목 뿐만 아니라 모든 자바스크립트의 동작을 완벽하게 분석하여야 하지만 이렇게 다양한 경우의 수를 모두 정확하게 분석한다는 것은 근본적으로 불가능합니다.

스크래핑 방식 따라서 다음과 같은 여러 가지 문제가 발생하고 있습니다. 우선 당사 경우부터 고백하면 당사도 초창기인 2003년 말까지 스크래핑 방식을 사용하였는데 2003년 말에 모 쇼핑몰에서 데이터가 꼬여 개발팀에서 며칠밤을 새면서 추적했더니 EC-모니터 업체였다고 합니다. 그 이후 방식을 변경하여 오늘에 이르렀습니다. 모 쇼핑몰에서 “상품을 대량으로 등록한 업체에서 어드민에서는 도저히 입력될 수 없는 이상한 값들이 입력되었는데 어떻게 이런 값들이 입력될 수 있느냐?”며 확인을 요청한 한 적이 있습니다. 문제가 발생한 업체들을 확인한 결과 당사 회원사는 하나도 없었습니다. 모 쇼핑몰에서 어드민에 상당한 부하가 발생해서 해당 IP를 차단했더니 30여분 후에 정상으로 돌아왔다고 합니다. 모 쇼핑몰에서 배송방법을 택배로 선택해야 택배사를 선택할 수 있는데 배송방법은 택배가 아닌데 택배사가 선택된 상태로 등록이 되었다고 합니다. 모 쇼핑몰에서는 필수 항목이 누락된 채로 상품등록이 되었다고 합니다. 모 쇼핑몰에서는 이런 문제로 인하여 EC-모니터를 포함하여 솔루션 사용을 자제할 것을 요청하는 글이 게시된 적이 있습니다. 쇼핑몰에 문의했더니 문제가 발생한 모 업체가 EC-모니터를 사용한다고 했다는데 확인 결과 그 업체는 타 솔루션을 사용하는 업체였습니다. 당사에 확인을 요청한 것만 수십 건에 달하며, 당사에 통보되지 않거나 문제가 있음에도 불구하고 발견조차 되지 않은 건들을 포함하면 이 보다 훨씬 많을 것으로 사료됩니다.

스크래핑 방식 솔루션 업체 화면에 보이는 항목 뿐만 아니라 모든 자바스크립트의 동작을 완벽하게 분석하여야 하기 때문에 개발이나 업데이트 작업이 어렵고 시간이 많이 소요됩니다. 쇼핑몰 부정확한 데이터가 전송될 가능성이 높기 때문에 전송된 데이터를 서버에서 일일이 체크하는 기능을 구현해야 합니다. 오류 자체로 인해 쇼핑몰 서버의 부하가 가중됩니다. 데이터를 만들 때에도 서버 페이지들을 호출하며, 전송된 데이터를 서버에서 일일이 체크해야 하기 때문에 서버 부하가 이중으로 가중됩니다. 상품등록이나 수정 후 어드민에서 확인하고 수정해야 하는 경우가 많아 이런 경우 이중 삼중으로 부하 가중됩니다. 사용자 동작 속도가 빠릅니다. ※ 사실 하나 하나 확인하고 수정하는 경우가 발생하면 빠르다고 할 수도 없음 상품등록 후 어드민에서 하나하나 확인하고 수정해야 합니다. 품절이나 가격수정 등의 수정 기능을 지원하기가 어렵습니다. 일례로 모 업체에서 스크래핑 방식을 사용하는 모 솔루션으로 품절처리를 했는데 상관없는 다른 데이터들이 엉망이 되었다고 합니다. 업데이트에 많은 시간이 소요되며 이로 인해 업체들의 작업이 지연됩니다.

OpenAPI 방식 정의 스크래핑과 마찬가지로 데이터를 만들어서 http를 이용하여 서버에 전송하지만 쇼핑몰에서 제공하는 스펙에 의해 데이터를 만들어 전송하는 방식입니다. API는 어드민과의 일치, 동기화가 가장 중요한 요소로 할 수 있으며, 가능하다면 버그까지도 똑같은 API가 훌륭한 API라 할 수 있습니다. 특징 스펙이 정의되어 있어 스크래핑 방식보다는 정확하다고 할 수도 있지만 스펙만 존재할 뿐 데이터를 제어하고 검증하는 기능이 전혀 없기 때문에 스크래핑 방식과 같은 문제가 발생할 가능성은 항상 존재합니다. 더불어 어드민과는 별도로 API를 개발하고 유지 보수해야 하기 때문에 많은 시간과 노력이 필요할 뿐만 아니라 매우 복잡하면서도 플랫폼이 전혀 다른 2개의 시스템을 운영해야 하기 때문에 이로 인한 기능적인 불일치 및 업데이트 시차 발생에 따른 문제들이 추가로 발생합니다.

OpenAPI 방식 솔루션 업체 API는 쇼핑몰마다 달라 각 쇼핑몰의 스펙을 이해하고 지원해야 하기 때문에 오히려 스크래핑 방식보다 작업에 많은 노력과 시간이 소요됩니다. 일례로 스크래핑 방식을 사용하는 모 솔루션은 스크래핑 자체의 문제에도 불구하고 API를 이용한 개발에 어려움으로 인해 API를 사용하지 않는다고 합니다. 솔루션 업체들이 API를 사용하는 가장 큰 이유는 쇼핑몰의 권장사항에 따르기 때문에 문제 발생 시 쇼핑몰에 책임을 떠넘길 수 있다는 점입니다. 쇼핑몰 API는 단순히 데이터를 주고 받는 형태에 대한 규정만 있을 뿐 데이터를 제어하는 기능이 없기 때문에 항상 문제가 발생할 소지가 있고 따라서 쇼핑몰에서는 API를 통해서 입력되는 데이터에 대해서 하나하나 검증해 주어야 합니다. API는 어드민에 있는 기능들을 모두 구현해야 하기 때문에 그 자체도 복잡할 뿐만 아니라 어드민과의 동기화가 요구되기 때문에 오히려 더 복잡하다고 할 수 있으며, 반면에 어드민도 API와의 연관성을 고려해야 하기 때문에 어드민 개발과 유지보수도 복잡해집니다. 어드민처럼 화면이 눈에 보이는 것이 아니기 때문에 오류가 발생하면 쇼핑몰에서 확인해 주어야 하고, 오류 원인을 찾는 데에도 많은 시간이 소요됩니다. 문제가 발생할 가능성이 높기 때문에 스크래핑 방식과 같은 이유로 서버의 부하가 이중 삼중으로 가중됩니다. 쇼핑몰에서 API의 사용을 권장한다면 이로 인해 발생하는 문제에 대해서도 쇼핑몰에서 책임질 수 밖에 없습니다.

OpenAPI 방식 사용자 동작 속도가 빠릅니다. 스크래핑 방식보다는 오류 가능성이 약간 낮지만 여전히 오류 가능성이 있기 때문에 상품등록이나 수정 후 어드민에서 확인해야 합니다. 업데이트에 많은 시간이 소요되며 이로 인해 업체들의 작업이 지연됩니다. ※ 결론적으로 OpenAPI는 스크래핑에 비해 장점이 거의 없음에도 불구하고 쇼핑몰에서는 개발과 업데이트에 너무 많은 시간과 노력을 투자해야 합니다. 타 쇼핑몰 등 일부 대형 협력업체의 상품 진행을 위해서 OpenAPI가 필요할 수는 있겠지만 이런 업체는 많지 않기 때문에 일부 업체만 중점 관리하면 되겠지만, 솔루션 업체를 통해 불특정 다수의 협력업체에게 OpenAPI를 허용하면 어느 협력업체가 OpenAPI를 사용하고, 어느 협력업체를 중점 관리해야 하는지도 파악되지 않는 상태에서 언제 어디에서 문제가 발생할지 알 수 없기 때문에 문제 발생 시에 조치 등 관리가 매우 어려워집니다. 이로 인해 초기에 OpenAPI를 제공했던 오픈마켓들이 현재는 아예 OpenAPI를 제공하지 않거나 일부 대형 협력업체에게만 제공하는 등 OpenAPI 사용 범위가 크게 축소되고 있는 상황입니다.

웹러닝 방식 정의 당사만의 독자적인 방식으로 사용자가 어드민에서 작업하는 것과 똑같이 엔진이 익스플로러로 어드민 화면을 열어 정보를 입력하고 버튼을 클릭하는 방식입니다. 특징 어드민과 똑같이 동작하기 때문에 문제가 전혀 없습니다. 만에 하나 당사가 분석을 잘못하거나 제때 업데이트를 하지 못한 상태라 하더라도 화면에 데이터 입력 중 오류가 발생하여 상품등록이 안될 수는 있을지언정 잘못된 데이터가 쇼핑몰에 전송되어 오류가 발생시킬 수는 없습니다. 솔루션 업체 화면에 보이는 정도의 정보만 분석하면 나머지는 익스플로러 내의 자바스크립트가 데이터를 검증하고 제어하기 때문에 개발이나 업데이트가 매우 신속합니다. 쇼핑몰 쇼핑몰에서는 어드민만 관리하면 되며, 추가 작업이 전혀 없습니다. 서버에서 일일이 데이터를 체크할 필요가 없기 때문에 서버 부하도 최소화됩니다.

웹러닝 방식 사용자 어드민 방식에 비해 훨씬 속도가 빠르지만 스크래핑이나 API 방식에 비해서는 속도가 느립니다. 한번의 처리로 모든 과정이 완료되어 상품등록이나 상품정보 수정 후 어드민에서 일일이 확인하거나 수정할 필요가 없습니다. 아무리 복잡한 쇼핑몰이라 하더라도 상품등록은 물론 품절(재고), 가격수정, 상품명, 이미지, 설명 수정 및 주문다운로드, 배송처리까지 완벽하게 지원합니다. 쇼핑몰 어드민 변경 시에 신속한 업데이트가 가능하며, 이로 인해 업무가 단절되는 경우가 없습니다. ※ 특이사항 어드민 방식에 비해서는 훨씬 빠르지만 화면을 열기 때문에 스크래핑이나 OpenAPI 방식에 비해서는 속도가 약간 느립니다. 속도 향상을 위해 현재는 멀티프로세싱으로 여러 개의 상품을 동시에 처리하고 있어 PC 사양에 따라 다르기는 하지만 예전에 하나의 상품을 등록하는데 30초 걸렸다면 지금은 10개의 상품을 등록하는데 1분 정도가 소요되고 있습니다. 아울러 어드민 방식과 같이 각각의 PC에서 동작하므로 PC 대수가 증가할수록 비례하여 속도도 증가하기 때문에 수십만 건의 상품도 전혀 문제 없습니다.

결론 요약 결론적으로 스크래핑은 절대 방지해야만 하는 방식이며, API는 지양해야 하는 방식이라 사료되며, 웹러닝 방식을 권장하거나 차라리 어드민에서 직접 등록하는 방법을 권장해야 한다고 판단됩니다. 어드민 스크래핑 OpenAPI 웹러닝 안정성 매우 우수 매우 위험 위험 서버 부하 없음 매우 심함 업데이트 느림 매우 빠름 쇼핑몰 작업 많음 매우 많음 사용 편의성 매우 불편 우수?