모바일 컨텐츠 이야기

" UAProfile "에 해당되는 글 1건

  1. 2006/09/01 SKT UAProfile 관련 서버 개발시.. (4)

SKT UAProfile 관련 서버 개발시..


SKT의 네트워크 서버를 만들다보면 SKT UAProfile 서버와 통신을 하는 일이 자주 있게 된다.
다양한 정보를 한꺼번에 보여줘야 하는 WAP 서비스의 경우는 약간 다른 이야기겠지만 VM에서 통신을 하는 경우는 대부분 min값을 통한 mdn이나 사용자 폰 모델 정보등을 받아오는게 전부이다.

의외로 많은 서버 개발자들은 네트워크 서버 자체에서 UA Profile을 직접 접속해서 값을 가져온다.
사실 이러한 개발 방법은 그리 좋은 방법이 아니다.
게임 서버마다 SKT UAProfile 서버에 접속을 해서 얻어오는 것은 비생산적일뿐 아니라 UAProfile과 같은 외부 네트워크에 접속해서 값을 얻어올 때 Thread가 Wait 한다는 것은 자칫 서비스가 전체 멈출 수 있는 위험을 가지고 있다.
UAProfile 서버에서 아주 중요한 값을 가져오는 경우라면 어쩔 수 없겠지만 당장 필요한게 mdn 값이라면 한번 정도는 틀리더라도 min값으로 mdn값을 임시로 만드는게 더 좋은 방법이지 않을까 한다.

나의 경우는 UAProfile에서 값을 얻어오는 서버가 따로 존재한다.
네트워크 서버에서 처음 접속하는 min값에 경우에는 해당 서버로 요청을 하고 mdn값은 임시로 생성한후 Thread를 계속 진행해 나간다.
UAProfile 전용 서버는 요청하는 값에 따라 SKT의 UAProfile 서버에 접속해서 값을 얻어오고 그 값을 DB에 저장한다.

이때, 일반 네트워크 서버와 UAProifle 전용 서버는 통신이 필요하게 되는데, 통신하는 방법은 여러 방법이 있다. Unix와 Linux의 경우는 공유메모리나 파이프 등을 사용할 것이고, 윈도우즈 경우에는 윈도우즈 핸들을 얻어와 메시지 이벤트를 넘겨주는 방법이나 가장 간단한 소켓을 사용하는 방법이 있을 것이다.
나의 경우에는 파일을 사용한다.
이런 무식하고 오래된 방법을 사용하는 것에 대해 약간은 놀라는 사람이 있을 수 있으나 일반적인 IPC(Inter Process Communication) 방법에 비해 오버헤드도 없고 훨씬 안정적이다. 즉시 값을 얻어와야 하는 경우가 아니면 가장 오래됐지만 가장 좋은 방법이라고 강력히 추천한다.
그래서, UAProfile 전용 서버는 정해진 시간마다 정해진 폴더에 파일이 생성되었는지 확인을 하고 파일이 생성되면 그값에 따라 DB에 값을 저장한다.
SKUAProf_Service.zip

USProfile 전용 샘플 서버


셈플 소스를 올리니 관심이 있는 분은 받아보기를 바란다.
샘플 소스라고는 하나 실제 서비스 하는데 거의 문제가 없으리라 본다.
윈도우즈 서비스 형태로 만들었으므로 서비스에 등록시켜서 사용하기를 바란다.

이런류의 포스트는 개발자가 아니면 관심이 없을거고, 개발자들은 소스 있으면 설명보다는 소스만 보는 아주 독특한(!!) 성향이 있으므로 더이상의 자세한 설명보다는 궁금한 점이 있으면 리플로 답변해주는 방법으로 하겠다.
2006/09/01 12:42 2006/09/01 12:42
top