2009-10-06 2 views
3

동일한 소스 코드 트렁크 또는 분기에 동일한 웹 서비스의 버전이 여러 개있을 때 소스 코드를 구성하는 규칙이 있습니까?웹 서비스의 여러 버전에 대한 소스 코드 구성

여기에 우리의 상황이 있습니다.

url/project/1.0/WebServiceA?wsdl 

내가 지금 1.0의 사용자가없는 버전 1.0과 함께 WebServiceA의 버전 1.1을 배포하는거야이 같은 WSDL의 URL의 버전 번호를 포함하여

우리 버전의 웹 서비스 무엇이든 바꿀 수 있습니다. WebServiceA의 버전 1.0 및 1.1에는 별도의 Java 클래스가 있습니다.

두 버전을 동일한 .war 파일에 배포하려고합니다. (우리는 .war에서 하나의 웹 서비스 버전 만 정책을 채택하고 다른 버전은 자체적으로 배포 할 수 있습니다. 이로 인해 여러 버전의 웹 서비스를 여러 개 얻으면 배포 할 수있는 war 수가 증가합니다. 나는 단지 하나의 .WAR를 배포하는 것을 선호)

나는 우리가 다양한 버전에 대한 별도의 패키지 구조를 사용한다 생각하고 있어요 :.

com.company.dept.ws.WebServiceA (version 1.0) 
com.company.dept.ws.v11.WebServiceA (version 1.1) 

com.company.dept.ws.WebServiceB (version 1.0) 
com.company.dept.ws.v11.WebServiceB (version 1.1) 
com.company.dept.ws.v12.WebServiceB (version 1.2) 

자바 클래스를 WS에서, ws.v11을.. , ws.v12. 별도의 Java 클래스가됩니다.

이 대회에서 어떤 문제가 발생 했습니까?

웹 서비스 코드의 여러 버전에 대한 소스 코드를 구조화하기위한 노력이 있었으면 좋겠다.

감사합니다. 당신은 당신이 모두에게이 버전은 "같은 소스 코드를 트렁크 또는 지점에서"이 싶은 말 때문에

답변

0

나는 대답의 일부가 사용하고있는 소스 제어 시스템에 의존하고 있는지 여부를 생각한다 이전 버전의 버그를 수정하려고 계획했습니다.

이전 버전의 버그를 수정하려면 다른 버전간에 변경 사항을 앞뒤로 통합 할 수 있어야합니다. 예를 들어 버전 1.0, 1.1 및 1.2에있는 중요한 보안 문제를 발견했다고 가정 해보십시오. 당신은 그것을 3 번 고치려고하지 않을 것입니다. 대부분의 소스 제어 시스템을 사용하면 관련 지사 간의 통합을 수행 할 수 있습니다. 일부 (Perforce와 마찬가지로 git와 다른 몇몇 도구도 있음)는 분기 내에서도 파일 간의 변경 사항을 통합 할 수있게 해줍니다. (실제로 퍼 코어의 "브랜치"개념은 파일 간 통합을 레코딩하는 데 편리합니다)

이러한 종류의 멀티 버전 수정이 필요한지 여부를 고려해야합니다. , 당신의 영공 제어 시스템이 지점 내 통합을 처리 할 수 ​​있습니까? 그렇지 않다면 각 버전마다 별도의 분기를 사용하는 것이 더 나을 것입니다.

+0

호기심에서 벗어나 : 하나의 가지에서 모든 것을하고 싶은 이유가 있습니까? –

+0

두 버전 모두 동시에 배포되므로 동일한 버전에 있어야합니다. 그러나 이들은 다른 Java 클래스를 기반으로합니다. –

관련 문제