JAX-RPC

JAX-RPC tulee sanoista Java API for XML-based RPC (Java-ohjelmointirajapinta XML-perusteisille etätoimintosarjakutsuille), ja se tunnetaan myös nimellä JSR 101. JAX-RPC on määritys, joka kuvaa Java Application Programming Interface (API) -ohjelmointirajapintoja sekä etätoimintosarjakutsuja (RPC, remote procedure call) ja XML-koodia käyttävien Web-palvelujen ja Web-palvelun työasemaohjelmien koontikäytäntöjä. Se standardoi Java-WSDL- ja WSDL-Java-vastaavuudet ja tuo käyttöön ydinohjelmointirajapinnat Web-palvelujen ja Web-palvelun työasemaohjelmien kehitykseen Java-ympäristössä. RPC-mekanismeja käytetään usein hajautetussa työasema/palvelin-mallissa. Sen avulla työasemat voivat ajaa toimintosarjoja muissa järjestelmissä.

JAX-RPC-määrityksen nykyinen laitos edellyttää HTTP-yhteyskäytännön SOAP-tukea, jotta yhteentoimivuus varmistuisi. SOAP-määritys määrittää sanomien rakenteen, koodaussäännöt ja tietojen vaihtokäytännöt RPC-ohjelmointimallissa. Nämä kutsut ja vastaukset välitetään SOAP-sanomina HTTP:n kautta. Tässä laitoksessa JAX-RPC tukee SOAP 1.1- ja HTTP 1.1 -määrityksiä. Lisätietoja SOAP-määrityksistä on seuraavassa kohteessa SOAP.

Vaikka JAX-RPC-ohjelmointirajapinnan pohjana olevat ajonaikaiset mekanismit (esimerkiksi Java-WSDL-peräkkäistys, peräkkäistyksen purku (WSDL-Java), yhteyskäytäntö ja tiedonsiirto) ovat erittäin monimutkaisia, ohjelmointirajapinnan sovellusten laatijoille näkyvä osa on helppokäyttöinen. Kehittäjä voi tuoda palvelimessa käyttöön palvelun lopetuskohdan rajapinnan (Service Endpoint Interface, SEI); vaihtoehtoisesti SEI-rajapinnan voi luoda ohjattujen Web-palvelujen luontitoimintojen avulla. SEI on rajapinta, joka kirjoitetaan Java-ohjelmointikielellä ja joka määrittää Web-palvelun etätoimintosarjat. Kehittäjä tuo käyttöön myös Web-palvelun toteutuksen SEI-rajapinnan sisältämien metodien kanssa yhden tai usean saman allekirjoituksen metodeja toteuttavan Java-luokan muodossa. Työasemaohjelmat ovat myös helposti koodattavia. Työasemaohjelma luo välityspalvelimen, joka on palvelun toteutusta ja SEI-rajapintaa kuvaava paikallinen objekti, ja tämän jälkeen yksinkertaisesti kutsuu metodeja välityspalvelimella.

JAX-RPC-rajapinta on erittäin yhteentoimiva: JAX-RPC-työasema voi käyttää Web-palvelua, jota ei parhaillaan ajeta Java-ympäristössä ja päinvastoin. Tällaisen joustavuuden tekee mahdolliseksi se, että JAX-RPC käyttää Web Service Description Language (WSDL) -asiakirjoja ja SOAP-yhteyskäytäntöä HTTP:n kautta. JAX-RPC-määritys on suunniteltu niin, että se tukee Web-palvelujen yhteentoimivuutta (WS-I).

Lisätietoja JAX-RPC-määrityksestä on artikkelissa official JSR 101 specifications.