Verb Tenses: Present Perfect vs. Present Perfect Progressive

Solution 1:

"Has served" is the present perfect, whereas "has been serving" is the present perfect continuous. Let's look at the differences between the two.

In this case, the present perfect and the present perfect continuous describe an event that has started in the past and is still happening.

Although the continuous tense usually puts more emphasis on the activity itself, "sometimes we can use either form and the meaning is the same [Cambridge]:"

I’ve lived here for 20 years.

I’ve been living here for 20 years.

The above two sentences are very similar to the one that you wrote.

It is really the author's choice in the sentence you provided. If the author chooses the continuous form, it puts a little more emphasis on the duration of David's service as an ambassador.

If the author wants to emphasize that David's been serving for 7 years, they should use the present perfect continuous tense. If they want to emphasize the fact that he isn't going to retire until 2010, then they should use the (simple) present perfect tense.


Note: there are other uses for these two tenses, but this answer only covers the uses that the OP used.