서버와 클라이언트 사이의 호환성 문제에 대한 아이디어를 구합니다..
글쓴이: kleinstein / 작성시간: 화, 2011/01/18 - 9:24오후
안녕하세요.
회사에서 서버와 클라이언트를 동시에 개발중에 있습니다.
그런데 매번 판올림이 있을때마다 서버와 클라이언트에는 새로운 기능들이 추가됩니다.
(기존의 기능들이 변하거나 사라질수도 있겠지만 아직까지 이런일은 경험하지는 못했습니다...하지만 있을수 있다고 치구요..)
그런데.. 나중에 이런 경우 ..
즉 서버와 클라이언트의 버전이 서로 다른 경우...
기존의 호환성은 지키면서 새로운 기능들에 대한 적절한 대처가 필요한데요..
이럴때를 대비한 어떤 깔끔한 해결법이 어떤게 있을까요?
버전번호를 매번 주고받거나 등등의 여러가지 생각은 있지만.. 아무래도 좀더 깔끔하고 일반적인 방법이 있을것 같아서 이곳에 질문을 드립니다.
Forums:
문서(프로토콜)의 데이터화가 된다면 좋을것 같습니다.
프로토콜 자체를 문서화 (xml, html등 처럼)한후 버젼별로 해당 문서를 관리하시면
버젼별로 기능이 지원되는지 확인가능하니까요. 관리하시기 편하실것 같습니다.
물론. 데이터 자체가 문서이기 때문에. 보기도 편해서 보안을 신경써야합니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
뭔가 좀 더 편한 특별한 방법은
뭔가 좀 더 편한 특별한 방법은 없나보군요..
결국은 서버에서 클라이언트들의 버전을 매번 받아서 허락되는 경우에만 연결하는 것으로 결정했습니다.
shint 님의 아이디어도 보안때문에 결국 채택하지 못했구요..
서버나 클라이언트는 결국 매번 같이 업그래이드 되는거죠.. 정말 이런 선택이 최선인지는 모르겠습니다.
상당히 무리수이기는 합니다.
변하지 않는 구조는 예측하기 어려우니까요.
대신. 변하는 구조를 통해 변하지 않는 구조의 선택.이 가능할것 같습니다.
UI나 전송방식. 암호구조에 대한 선택.을 변하는 구조로 정할 수 있다면. 가능은 할것 같습니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
dll 을 사용하시면 어떤가요? (linux -
dll 을 사용하시면 어떤가요? (linux - so)
무슨 언어인가요? 자바면 RCP에 그런 기능이 있는
무슨 언어인가요?
자바면 RCP에 그런 기능이 있는 걸로 아는데요.
참고해보세요
재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.
아이디의 아이디어 무한도전
http://blog.aaidee.com
귀태닷컴
http://www.gwitae.com
...
http://thrift.apache.org/
혹은
http://code.google.com/p/protobuf/
이런 걸 알아보시면 어떨까요? (Thrift는 (써본 적은 없지만) RPC에 필요한 코드도 알아서 생성해 준다고 하는군요. 그 부분이 필요할지는 상황에 따라 다르겠지만...)
댓글 달기