Mitä verkkopalveluita on olemassa? Mikä on verkkopalvelu? Verkkopalveluiden tekninen toteutus

Verkkopalvelu (palvelu) on ohjelma, joka järjestää sivustojen välistä vuorovaikutusta. Portaalin tiedot siirretään toiseen.

Esimerkiksi siellä on lentoyhtiö. Hänellä on paljon lentoja, mikä tarkoittaa, että hänellä on paljon lippuja. Se välittää tietoa verkkopalvelun kautta matkankeräyssivustolle. Käyttäjä, joka käyttää kokoajaa, voi ostaa lippuja tälle lentoyhtiölle suoraan sieltä.

Toinen esimerkki verkkopalveluista on sääseurantasivusto, joka sisältää tietoa tietyn kaupungin tai maan sääolosuhteista kokonaisuudessaan. Näitä tietoja käyttävät usein myös kolmannet osapuolet.

Internetissä on monipuolista tietoa. Sivustoja hallitaan erilaisia ​​järjestelmiä. Käytetään erilaisia ​​siirto- ja salausprotokollia. Verkkopalvelut yksinkertaistavat tiedon vaihtoa eri sivustojen välillä.

Verkkopalveluarkkitehtuuri ja protokollat

Voit määrittää 3 viranomaista, jotka ovat vuorovaikutuksessa keskenään: luettelo, urakoitsija ja asiakas. Palvelun luomisen jälkeen urakoitsija rekisteröi sen luetteloon ja asiakas löytää palvelun sieltä.

Tiedonvaihtomekanismi on muodostettu Web Services -kuvauksessa. Tämä on spesifikaatio, joka kattaa edelleenlähetysmuodot, sisältötyypit ja siirtoprotokollat, joita käytetään asiakkaan ja palvelun kuljettajan välisessä tiedonvaihdossa.

Nykyään useita tekniikoita käytetään useimmiten erilaisten verkkopalvelujen toteuttamiseen:

  1. TCP/IP on protokolla, jonka melkein kuka tahansa ymmärtää verkkolaitteet, keskuskoneista kannettavat laitteet ja PDA.
  2. HTML on yleinen merkintäkieli, jota käytetään sisällön näyttämiseen kuluttajalaitteissa.
  3. XML on yleinen työkalu kaikentyyppisten tietojen käsittelyyn. Sen pohjalta voivat toimia muut tiedonvaihtoprotokollat: SOAP ja WSDL.
  4. UDDI on universaali tunnistamisen, integroinnin ja kuvauksen lähde. Se toimii pääsääntöisesti yksityisissä verkoissa eikä ole vielä löytänyt riittävää jakelua.

Esitettyjen teknologioiden monipuolisuus on perusta verkkopalveluiden ymmärtämiselle. Ne toimivat standarditekniikoilla, jotka ovat riippumattomia sovellusten toimittajista ja muista verkkoresursseista. Voidaan käyttää missä tahansa käyttöjärjestelmät, sovelluspalvelimet, ohjelmointikielet jne.

Edut

  • Tarvittavien edellytysten luominen ohjelmistokomponenttien vuorovaikutukselle alustasta riippumatta.
  • Verkkopalvelut perustuvat avoimiin standardiprotokolliin. XML:n käyttöönoton ansiosta verkkopalvelujen luominen ja konfigurointi yksinkertaistuu.
  • HTTP:n käyttö takaa järjestelmien vuorovaikutuksen verkkoyhteyden kautta.

Vikoja

  • Alhainen suorituskyky ja suuri liikennemäärä verrattuna RMI-, CORBA-, DCOM-järjestelmiin, johtuu XML-sanomien käytöstä tekstin yhteydessä.
  • Turvallisuustaso. Kaikkien nykyaikaisten verkkopalvelujen tulee toteuttaa koodausta ja vaatia käyttäjän valtuutusta. Riittääkö HTTPS täällä vai tarvitaanko luotettavampia protokollia, kuten XML Encryption, SAML jne., päätetään kehityksen aikana.

Verkkopalvelutehtävät

Verkkopalveluita voidaan käyttää monilla alueilla.

B2B-kaupat

Prosessien integrointi tapahtuu välittömästi, ilman ihmisten osallistumista. Esimerkiksi verkkokaupan luettelon päivittäminen uusilla tuotteilla. Ne tuodaan varastoon, ja varastonpitäjä kirjaa saapumisen tietokantaan. Tiedot siirtyvät automaattisesti verkkokauppaan. Ja ostaja näkee sen määrän sen sijaan, että olisi tehnyt tuotekorttiin merkinnän "Loppu loppu".

Yrityspalvelujen integrointi

Jos yritys käyttää yritysohjelmia, verkkopalvelu auttaa heidän yhteisen työn perustamisessa.

Asiakas-palvelin järjestelmän luominen

Palveluita käytetään asiakkaan ja palvelimen toiminnan konfigurointiin. Tämä tarjoaa etuja:

  • et voi myydä sitä itse ohjelmisto, mutta tee pääsy verkkopalveluun maksulliseksi;
  • On helpompi ratkaista ongelmia käyttämällä kolmannen osapuolen ohjelmistoja;
  • on helpompi järjestää pääsy palvelimen sisältöön ja materiaaleihin.

Verkkopalvelu on sovellus, joka yksinkertaistaa resurssien vuorovaikutuksen teknistä määritystä.

1C:Enterprise-järjestelmän verkkopalveluiden mekanismi perustuu samannimisten metatietoobjektien käyttöön, ts. konfigurointiobjekteja "Web-palvelut"-haaralta.

1. YLEISET MÄÄRITELMÄT

Yritetään antaa yleinen määritelmä termille "verkkopalvelu".

Web-palvelu on verkkotekniikka, joka tarjoaa poikkiohjelma vuorovaikutusta(eri sovellusten välillä) perustuu verkkostandardeja. Verkkopalvelut mahdollistavat pääsyn sovelluksesta toiseen ja samalla suorittaa tiettyjä toimintoja.

Verkkopalvelu tunnistetaan URI-merkkijonolla (Uniform Resource Identifier) ​​- yhtenäisellä resurssitunnisteella (tämä on merkkijono, jonka avulla voit tunnistaa resurssin).

Verkkopalvelussa on muodossa esitetty ohjelmistokäyttöliittymä WSDL(Web Services Description Language) - kieli verkkopalveluiden kuvaamiseen ja niihin pääsyyn perustuen XML-kieleen (spesifikaatio http://www.w3.org/TR/wsdl). Suunniteltu yhtenäistä esitystä varten ulkoiset rajapinnat verkkopalveluissa ja sitä käytetään ilmoittamaan toiselle ohjelmalle, että tällä ohjelmalla on tällainen "palvelu" (eli ensimmäinen ohjelma verkkosivustolla julkaisee tiedot palveluistaan ​​WSDL-tiedostomuodossa).

Muut järjestelmät ovat vuorovaikutuksessa verkkopalvelun kanssa vaihtamalla SOAP-viestejä (Simple Object Access Protocol) - protokollaa strukturoitujen viestien vaihtamiseen hajautetussa laskentaympäristössä (spesifikaatio http://www.w3.org/TR/soap). Kuten mitä tahansa tekstiprotokollaa, SOAP:ia voidaan käyttää minkä tahansa sovelluskerroksen protokollan kanssa: SMTP, FTP, HTTPS ja muut, mutta useimmiten SOAPia käytetään HTTP:n kautta.

Kuva 1. Verkkopalvelukonsepti.

SOAPia käytetään mielivaltaisten XML-muotoisten viestien vaihtamiseen ja etäproseduurikutsuihin (RPC).

Siten web-palvelun ja sovelluksen välillä vaihdetaan viesteiksi muotoiltuja XML-dokumentteja. Verkkopalvelustandardit määrittelevät:

Viestin muoto, käyttöliittymä, johon viesti lähetetään;

Säännöt viestin sisällön linkittämisestä palvelun toteuttavaan sovellukseen ja päinvastoin;

Julkaisu- ja hakurajapintojen mekanismit.

Yksinkertaisin ja ilmeisin esimerkki verkkopalveluiden käytöstä on viitetietojen hankkiminen Internetin julkisista palveluista. Esimerkiksi Aeroflot antaa tietoa lennoistaan ​​verkkopalvelun kautta, Venäjän pankki antaa tietoa valuuttakursseista, arvopapereita, luottolaitokset - vaihtoehtoja voi olla monia.

2. WEB- PALVELUT 1C:ENTERPRISE-JÄRJESTELMÄSSÄ

1C:Enterprise 8 -sovellusratkaisu voi olla:

Web-palveluntarjoaja;

1C:Enterprise 8 -järjestelmässä verkkopalvelut ovat yksi alustamekanismeista, joita käytetään integrointiin muihin tietojärjestelmiin ja 1C:Enterprise 8 -sovelluksiin.

Toisin sanoen 1C:Enterprise-järjestelmä voi viedä toiminnallisuutensa verkkopalveluiden kautta. Niiden määritelmät määritetään määrityspuussa, ja ne tulevat kaikkien saataville tietojärjestelmä julkaisemalla ne verkkopalvelimella.

1C:Enterprise-järjestelmän verkkopalvelumekanismi on keino tukea palvelukeskeistä arkkitehtuuria (SOA), mikä tarkoittaa, että ohjelmat käyttävät "palveluja" tietojen vaihtamiseen keskenään.

Jotta 1C:Enterprise-järjestelmän toiminnallisuus olisi verkkopalvelujen ulkopuolisten kuluttajien saatavilla, sinun on suoritettava seuraavat vaiheet:

Luo tarvittava määrä Web-palveluita kokoonpanoon;

Verkkopalvelun luominen koostuu:

Web-palvelun määritysobjektin lisääminen metatietopuuhun;

Kuvaukset toiminnoista, joita tämä verkkopalvelu voi suorittaa;

Toimintaparametrien kuvaus.

Web-palvelun määritysobjekti sisältää moduulin, jossa luodaan sisäänrakennetulla kielellä proseduurit, jotka suoritetaan, kun tiettyjä verkkopalvelutoimintoja kutsutaan. Verkkopalvelun toimintaparametrityypit kuvataan XDTO-tyypeillä, ja ne voivat olla joko XDTO-arvoja tai XDTO-objekteja.

Verkkopalvelua kutsutaan seuraavasti:

Yhteyspoolista valitaan sopiva yhteys tietokantaan; jos vaadittua yhteyttä ei ole, yhteys luodaan;

Uusi istunto luodaan;

Pyydettyä verkkopalvelumenetelmää kutsutaan.

1C:Enterprise-järjestelmässä toteutettu verkkopalvelumekanismi tukee seuraavia standardeja:

WS-I perusprofiili 1.1;

SSL 3.0/TLS 1.0.

3. OPISKELUWEB- PALVELUT 1C:ENTERPRISE-JÄRJESTELMÄSSÄ

Verkkopalvelu on ohjelma, jota muut ohjelmat voivat käyttää Internetin kautta (http). Oletetaan esimerkiksi, että sinulla on funktio, joka tarjoaa tekstiä HTML-muodossa. Sovelluksen tarkoitus on, että selain näyttää tulokset ja henkilö voi helposti lukea tämän tekstin sivulla.

Toisaalta verkkopalvelun kohdeyleisö on muut ohjelmat tai muut verkkopalvelut, jotka kuluttavat verkkopalvelun tarjoamaa dataa. Yleensä tuloste on vakiokielellä, jota muut ohjelmat voivat ymmärtää. Otetaan yllä oleva esimerkki, jos verkkopalvelu tulostaa tekstiä XML-muodossa, muut verkkopalvelut, jotka voivat lukea tai ymmärtää XML:ää, voivat käyttää tätä tulostetta.

Verkkopalvelun tärkein etu on, että sovelluksia voidaan kirjoittaa millä tahansa kielellä, mutta ne voivat kommunikoida ja vaihtaa tietoja keskenään verkkopalvelun kautta. Eri ohjelmointikielillä kirjoitetut ja eri alustoilla toimivat ohjelmistosovellukset voivat käyttää verkkopalveluita kommunikoimaan Internetin (HTTP) kautta. Tämä on vuorovaikutus (esimerkiksi Javan ja Pythonin välillä tai Windows-sovellukset ja Linux) liittyy avoimien standardien (XML, SOAP, HTTP) käyttöön.

  • SOAP (Simple Object Access Protocol)
  • UDDI (Universal Description, Discovery and Integration)
  • WSDL (Web Services Description Language)

Kuinka monta erilaista verkkopalvelua on olemassa?

Ensisijaisesti on olemassa kahdenlaisia ​​verkkopalveluita, Simple Object Access Protocol (SOAP) ja Representational State Transfer (REST).

  • SOAP-verkkopalvelu hyväksyy XML-muodossa olevan pyynnön ja tuottaa tulosteen XML-muodossa.
  • REST-verkkopalvelu on monipuolisempi ja voi hyväksyä XML:n ja JSONin pyynnöinä ja tuottaa tulosteen XML-, JSON- tai jopa HTML-muodossa

Tätä kysymystä voidaan tutkia tarkemmin omassamme.

Olemme tarkistaneet yleisiä käsitteitä mekanismin käyttöä « Web-palvelut". Päivitetään vähän tietoa.

Web-palveluita käytetään tiedon vaihtamiseen palvelimen ja asiakkaan välillä; XML-muotoa käytetään tietojen "pakkaamiseen" molempien viestinnän osallistujien keskinäisen ymmärryksen vuoksi.

LUKUminä

ESIMERKKI TÄYTÄNTÖÖNPANOSTAWEB- PALVELU 1C:ENTERPRISE-JÄRJESTELMÄSSÄ

TEHTÄVÄ: On tarpeen luoda verkkopalvelu, jonka kautta asiakkaat voivat määrittää kaikki tarvittavat tiedot sovelluksistaan.

Tehtävä on esittely ja toimii vain esimerkkinä mekanismin ymmärtämiseen ja opettamiseenweb-palvelut.

RATKAISU:

Vaihe 1. Luodaan uusi tietokanta ilman konfiguraatiota uuden kokoonpanon kehittämiseksi.

Vaihe 2. Lisätään kokoonpanoon useita uusia objekteja

Hakemisto "Asiakkaat";

Asiakirja "Hakemus";

Luettelo "Pyyntötilat".

Vaihe 3. Luodaan uusi XDTO-paketti.

Miksi ja mihin tarkoitukseen luomme XDTO-paketin? Lisätietoja XDTO-mekanismin käyttämisestä löytyy kohdista "Luku 16. Kehittäjän opas" ja .

Huomaa lyhyesti, että XDTO-mekanismi on yleismaailmallisella tavalla dataesitykset vuorovaikutukseen erilaisten ulkoisten tietolähteiden ja ohjelmistojärjestelmien kanssa.

Meidän tapauksessamme luodaan XDTO-paketti kuvaamaan verkkopalvelun palautusarvoa.

Laajenna "Yleinen" -haara → "XDTO-paketit" → Lisää…

Määritetään XDTO-paketin nimi " DocumentsData" ja sen nimiavaruus http://localhost/request tai http://192.168.1.76/request (ymmärryksen ja oppimisprosessin helpottamiseksi osoitamme paikallinen IP-osoite tietokone, johon verkkopalvelin on asennettu (tuetut verkkopalvelimet: IIS tai Apache)). Jokainen Web-palvelu voidaan tunnistaa yksilöllisesti sen nimen ja sen nimitilan URI:n perusteella, johon se kuuluu.

Pakettimme sisältää kahden tyyppisiä XDTO-objekteja:

1) Asiakas- siirtää tietoja "Clients"-hakemistoelementistä.

- Nimi ;

2) Asiakirja- siirtää tietoja "Application"-asiakirjasta

Tämä XDTO-objektityyppi sisältää seuraavat ominaisuudet:

- Asiakas- Asiakkaan tyyppi nimiavaruudesta http://192.168.1.76/request ; edustaa viittausta XDTO-objektiin, jonka määritimme edellä;

- Tila- merkkijonotyyppi nimiavaruudesta http://www.w3.org/2001/XMLSchema ;

- Numero- merkkijonotyyppi nimiavaruudesta http://www.w3.org/2001/XMLSchema.

Vaihe 4. Lisätään kokoonpanoon uusi verkkopalvelu

Laajennamme haaraa "Yleiset" → "Verkkopalvelut" → Lisää…

Verkkopalvelulle määritämme seuraavat ominaisuusarvot:

Nimi - DocumentsData

Nimitilan URI - http://192.168.1.76/request

XDTO-paketit - DocumentsDatataihttp://192.168.1.76/request

Julkaisutiedoston nimi - request.1cws

Vaihe 5. Luodulle verkkopalvelulle määritämme toiminnon " GetData»

Toiminnan ominaisuuksien arvot:

Palautustyyppi - Asiakirja (http://192.168.1.76/request)

Mahdollisesti tyhjä arvo - Totta

Menettelyn nimi - GetData.

Vaihe 6. Leikkauksessa GetData Määritetään asiakasparametri seuraavilla ominaisuusarvoilla:

Arvon tyyppi - tyyppi merkkijono nimiavaruudesta http://www.w3.org/2001/XMLSchema;

Vaihteen suunta - syöttö.

Vaihe 7 Avataan luodun verkkopalvelun moduuli ja sijoitetaan siihen Get()-funktio, joka suoritetaan kun tätä verkkopalvelua kutsutaan.

Funktio GetData(Customer) // Hanki XDTO-objektien tyypit ClientType = FactoryXDTO.Type("http://192.168.1.76/request", "Customer"); RequestType = FactoryXDTO.Type("http://192.168.1.76/pyyntö", "Asiakirja"); // Hanki asiakas ClientLink = Directories.Clients.FindByName(Customer); Jos ei Arvotäytetty(ClientRef), Palauttaa Undefined; loppu Jos; Pyyntö = Uusi pyyntö; Request.Text = "VALITSE TOP 1 | Sovellus.Linkki, | ESITYS(Sovellus.Tila) AS-tila, | Sovellus.Numero |LÄHETTÄJÄ | Asiakirja.Pyyntö AS Application |WHERE | Application.Client = &Asiakas"; Request.SetParameter("Client", ClientLink); RequestResult = Request.Execute(); Jos QueryResult.Empty() Return Undefined; loppu Jos; Valinta = QueryResult.Select(); Valinta.Seuraava(); Asiakirja = Selection.Link.GetObject(); // Tilauksen XDTO-objektin luominen Order = FactoryXDTO.Create(OrderType); Application.Numder = Sample.Number; Asiakas = FactoryXDTO.Create(ClientType); Client.Name = Asiakaslinkki.Nimi; Application.Customer = Asiakas; Application.Status = Selection.Status; // Palauta pyyntö Palautushakemus; EndFunction

Vaihe 8 Julkaistaan ​​luotu verkkopalvelu verkkopalvelimella.

Valikkokohta Configurator: "Hallinta" → "Julkaiseminen Web-palvelimella".

Valitse "Web Services" -välilehdellä "Julkaise verkkopalvelut" -valintaruutu ja valitse myös uuden verkkopalvelumme vieressä oleva valintaruutu.

LUKUII

ESIMERKKI VALITUKSESTAWEB-1C:ENTERPRISE-JÄRJESTELMÄPALVELUUN KOLMANNEN OSAPUOLEN SOVELLUKSESTA

Verkkopalvelumekanismin päätarkoitus 1C:Enterprise-järjestelmässä on siirtää tarvittavat tiedot kolmansien osapuolien sovelluksiin.

Tarkastellaan esimerkkiä sovelluksen kehittämisestä Delphissä, joka kutsuu verkkopalveluumme tämän artikkelin ensimmäisestä osasta.

Vaihe 1. Luodaan uusi projekti ja asetetaan lomakkeelle useita säätimiä

Tekstikenttä - käytetään verkkopalvelusta vastaanotettujen tietojen näyttämiseen;

Kaksi painiketta - tekstikentän tyhjennys ja verkkopalvelun käyttö;

Syötekenttä on verkkopalveluun välitetty parametri.

Vaihe 2. WSDL-tiedoston tuonti

Tuloksena saamme uuden moduulin pyyntö(määrittelimme tämän nimen suoraan 1C:ssä). Tämä moduuli sisältää kaikki tarvittavat tiedot verkkopalvelusta.

Vaihe 3. Kirjoitetaan verkkopalvelun puhelunkäsittelijä

DocumentDataPortType-muuttuja on jo määritetty moduulissa pyyntö

Vaihe 4. Käynnistä sovellus ja suorita testi.

LUKUIII

ESIMERKKI VALITUKSESTAWEB-PALVELU 1C:ENTERPRISE-JÄRJESTELMÄSSÄ

Vaihe 1. Luodaan uusi ulkoinen käsittely nimellä "WEB_Service"

Vaihe 2. Käsittelyä varten määrittelemme uusi univormu

Vaihe 3. Ilmoitamme lomakkeella useita yksityiskohtia

Asiakas - kirjoita "String"

ClientReturn - kirjoita "String"

NumberReturn - kirjoita "String"

StatusReturn - kirjoita "String".

Näytämme tiedot lomakkeella.

Vaihe 4. Lisätään lomakekomento " Saadaksesi dataa»

Määritetään komentokäsittelijä

&OnClient-menettely GetData(Command) GetDataOnServer(Client); Toimenpiteen lopetusmenettely GetDataOnServer(Client) // Luo WS-välityspalvelin linkin perusteella ja suorita Get()-toiminto Definition = New WSDefinitions("http://192.168.1.76/WEB_Service/ws/request.1cws?wsdl") ; Välityspalvelin = Uusi WSProxy(määritelmä, "http://192.168.1.76/request", "DocumentsData", "DocumentsDataSoap"); Sovellustiedot = Proxy.GetData(Client); Jos Sovellustiedot = Undefined ClientReturn = "Määrittämätön"; StatusReturn = "Määrittämätön"; ReturnNumber = "Määrittämätön"; Palata; loppu Jos; CustomerReturn = Sovellustiedot.Asiakas.Nimi; StatusReturn = Sovellustiedot.Tila; Palautusnumero = Application Data.Numder; Menettelyn loppu

1C:Enterprise-järjestelmä voi käyttää muiden palveluntarjoajien verkkopalveluita kahdella tavalla:

Käyttämällä staattinen konfigurointipuussa luodut linkit;

"plus": suuri nopeus;

"miinus": tuomalla WSDL-kuvauksen uudelleen konfiguraattorilla ja tallentamalla muutettu kokoonpano.

Käyttämällä dynaaminen sisäänrakennetuilla kielityökaluilla luotuja linkkejä

(vastaavasti staattisten "haittoja" dynaamisille ovat "edut")

LUKUIV

VERKKOPALVELUJEN VIRANKORJAUS 1C:ENTERPRISE-JÄRJESTELMÄSSÄ

Paikallista verkkopalvelua varten tarvitset:

Vaihe 1. Aseta tiedosto asiakkaalle, jossa 1C-järjestelmä toimii webservicecfg.xml seuraavalla sisällöllä

Vaihe 2. Arkistoida oletuksena. vrd julkaise asetusten lisäysrivi

Vaihe 3. Valitse konfiguraattorissa valikkokohta

"Virheenkorjaus" → "Yhteys" → "Automaattinen yhteys" → "Web-palvelut palvelimella"

Vaihe 4. Napsauta "OK"-painiketta

Palvelinvaihtoehtoa varten sinun on myös suoritettava 1c-palvelin virheenkorjaustilassa avaimella /debug