Enterprise Fortgeschritten

Ersetze schwerfällige SOAP/WSDL-Endpunkte durch saubere Jakarta-REST-Ressourcen, die JSON zurückgeben.

✕ Java EE
@WebService
public class UserWebService {
    @WebMethod
    public UserResponse getUser(
            @WebParam(name = "id") String id) {
        User user = findUser(id);
        UserResponse res = new UserResponse();
        res.setId(user.getId());
        res.setName(user.getName());
        return res;
    }
}
✓ Jakarta EE 8+
@Path("/users")
@Produces(MediaType.APPLICATION_JSON)
public class UserResource {
    @Inject
    UserService userService;

    @GET
    @Path("/{id}")
    public User getUser(@PathParam("id") String id) {
        return userService.findById(id);
    }
}
Problem mit diesem Code entdeckt? Sag uns Bescheid.
🪶

Leichtere Nutzlasten

JSON ist kompakter als SOAP-XML-Envelopes und reduziert Bandbreite sowie Parse-Overhead.

📐

Einfache Annotationen

@GET, @Path und @Produces ersetzen den Aufwand von WSDL, @WebService und @WebMethod.

🔌

Microservice-bereit

REST/JSON ist der Standard für Service-zu-Service-Kommunikation in Cloud-nativen Architekturen.

Alter Ansatz
JAX-WS / SOAP
Moderner Ansatz
Jakarta REST / JSON
Seit JDK
11
Schwierigkeitsgrad
Fortgeschritten
SOAP-Webservices vs. Jakarta REST
Verfügbar

Weitgehend verfügbar seit Jakarta EE 8 / Java 11

SOAP-basierte Webservices stützen sich auf WSDL-Verträge, XML-Marshalling und JAX-WS-Annotationen, die erheblichen Overhead erzeugen. Jakarta REST (ehemals JAX-RS) verwendet intuitive Annotationen wie @GET, @Path und @Produces, um RESTful-JSON-APIs bereitzustellen. Das Programmiermodell ist einfacher, die Nutzlasten sind kleiner, und der Ansatz entspricht der Kommunikationsweise moderner Microservices.

Teilen 𝕏 🦋 in