Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8991655
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T22:46:45+00:00 2026-06-15T22:46:45+00:00

Background: our web services are company internal, but with a lot different systems using

  • 0

Background:

  • our web services are company internal, but with a lot different systems using them
  • we will strive to deprecate/remove old versions of the api as much as we can

There is a lot of information regarding versioning of web services, and our decision was to use the following approach to version our web services:

  • Keep version in URL (I know some people are against this, but mainly in regards to REST services)
  • Keep version in namespace.

But, now we are deciding how to actually implement this, and here we have not found that much information of best practices. We use (Java):

  • Annotations to define our web services (and the web service api)
  • POJO beans annotated with XML annotations, to define the content
  • Converter classes to convert from/to the business layer and web service pojo’s
  • Spring

So, to keep old versions on the web services, we need to keep old versions of the code. To do this, we have basically looked at two different approaches:

1) For each new version, make a complete new copy of the relevant code

This approach would look like this:

com.company.webservice.v3. -all of the web service classes, POJO’s and converters go here
com.company.webservice.v4. -all of the web service classes, POJO’s and converters go here

So, here we have the code duplicated. Our thought in short:

  • Code duplication. Will be several classes with identical code. Perhaps confusing in Eclipse.
  • Complete isolation, easy to determine what constitute a specific version
  • Minimized risk to affect functionality of previous versions of the services

2) Use spring to only make a copy of each class that is affected by a change

This approach means that use Spring IoC and let all versions of the web services use, as much as possible, the same code. Only when we make a change that affect behavior/api, we make new versions of those classes. For example:

com.company.webservice.beans.MyXMLAnnotatedPOJOv3.java
com.company.webservice.beans.MyXMLAnnotatedPOJOv4.java
com.company.webservice.translators.MyXTranslatorv1.java
com.company.webservice.translators.MyXTranslatorv2.java
  • Could be difficult to clearly see what constitutes a specific version of a web service. Maybe easier to by misstake affect previous versions of the web services when maintaining the code
  • No code duplication. Only changes are implemented as new classes

Neither approach feels optimal, but we haven’t found much information regarding this.
So, my questions is:
which of the two approaches would you use? Or would you take a completely different approach?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T22:46:46+00:00Added an answer on June 15, 2026 at 10:46 pm

    When generating wsdls from Java, I would use the package solution:

    com.company.webservice.v3.  
    

    It has the code duplication problem, but the POJOs and converters have differences between versions anymay, so code reuse might not be very feasible after all. The main advantage is that if you want to get rid of an old version, you just delete the relevant packages.

    I would keep versionnumber in URL, since you are not doing REST anyway. Furthermore, you could check in access logs, if certain versions are still used.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Background: Our web app uses the jquery.constrain.js plugin to handle data entry in some
First some background: VB.NET 2005 Application that accesses a MS-SQL back-end, using multiple Web
We've implemented a background service in our Asp.Net web app that receives messages from
Background: Our app is a fairly straight forward MVC web app that calls a
Background: We receive non web based events (like SMS) to our server, it would
First a little background. The company I work for writes web based software that
We are using SVG in our web app and we need to allow users
Background At my work we are moving from desktop applications to web applications. Our
Background Our asp.net webapp has grown and now has 6 different methods of authentication,
Our web app uses svg for a lot of its images. Sometimes we put

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.