Commit 88b9e6db by Patryk Czarnik

Operacje ktoraGodzina oraz oblicz

parent 9bbab2d6
prehistoria, ale jeszcze gdzieniegdzie używana:
CORBA
EDIFACT
XML-RPC (to jest SOAP, ale bez opisu WSDL...)
„klasyczne usługi sieciowe”, oparte o format SOAP (XML) i standard WSDL
BARDZO popularne w latach ~2000-2010, wiele systemów powstałych wtedy działa do dzisiaj
stosowane w miejscach, gdzie wymagana jest wysoki poziom zgodności ze standardami, ścisła kontrola nad danymi,
administracja publiczna: systemy w ministerstwach, urzędach, dokumenty elektroniczne, podatki, ZUS, NFZ itd. (ale także w innych krajach)
w niektórych branżach biznesu, m.in. bankowość
ten rodzaj usług sieciowych szczególnie często był i jest realizowany na platformie Java (ewentualnie .NET)
realizacja w Javie: JAX-WS, obecnie część Jakarta EE
ewentualnie Spring, ale rzadziej
usługi REST, oparte bezpośrednio o protokół HTTP, wykorzystujące najczęściej format JSON (ale może być też XML i inne formaty)
BARDZO popularne od około 2010 roku i do dzisiaj
stosowane jako zaplecze dla aplikacji webowych opartych JS oraz aplikacji mobilnych
oraz do realizacji tzw. "web API", czyli zdalnego dostępu do usług dla programistów,
np. dostęp do danych (nasz przykład NBP, info o pogodzie i tysiące innych)
płatności on-line
ecommerce
dostęp do platform internetowych
realizacja w Javie:
JAX-RS, część Jakarta EE
Spring (@RestController)
rozwiązanie hybrydowe: JAX-RS użyty w ramach aplikacji Spring Boot → zależność "Jersey"
https://www.soapui.org/downloads/soapui/
http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?wsdl
package sklep.soap;
import java.time.LocalDateTime;
import jakarta.jws.WebService;
@WebService
......@@ -8,5 +10,21 @@ public class Sklep {
public String hello(String imie) {
return "Witaj " + imie;
}
public String ktoraGodzina() {
return LocalDateTime.now().toString();
}
public double oblicz(double liczba1, double liczba2, String operacja) {
return switch(operacja) {
case "+" -> liczba1 + liczba2;
case "-" -> liczba1 - liczba2;
case "*" -> liczba1 * liczba2;
case "/" -> liczba1 / liczba2;
case "%" -> liczba1 % liczba2;
case "^" -> Math.pow(liczba1, liczba2);
default -> throw new IllegalArgumentException("Nieznana operacja " + operacja);
};
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment