Mitä verkkopalveluita on olemassa? WEB-palvelu. Verkkopalveluiden tekninen toteutus

WEB-palvelu – (englanninkielisestä web-palvelusta, synonyymi – online-palvelu). Verkkopalveluilla tarkoitetaan palveluja, joita tarjotaan Internetissä erityisohjelmien avulla. Yleisiä ovat esimerkiksi palvelut, kuten: hosting, sähköposti, erilaisten tietojen tallentaminen Internetiin (tiedostot, kirjanmerkit), kalenteri jne. Verkkopalvelun tärkeä ominaisuus on, että se ei ole riippuvainen palveluntarjoajasta, tietokoneesta tai selaimesta - voit työskennellä tietojesi kanssa missä tahansa päin maailmaa, missä sinulla on pääsy .

Knyazev A.A. Tietosanakirja median sanakirja. - Biškek: KRSU Publishing House. A. A. Knyazev. 2002.

Katso, mitä "WEB-palvelu" on muissa sanakirjoissa:

    Verkkopalvelu

    Verkkopalvelu- Verkkopalvelu. Verkkopalvelu, verkkopalvelu (eng. web service) on ohjelmistojärjestelmä, joka tunnistetaan merkkijonolla, rajapinnat määritellään XML-kielellä ja lähetetään Internet-protokollien avulla. Verkkopalvelu on modulaarisuuden yksikkö, kun sitä käytetään... ... Wikipedia

    Web Cache Communication Protocol- (WCCP) Ciscon kehittämä sisällön uudelleenohjausprotokolla. Tarjoaa mekanismin liikennevirtojen ohjaamiseen reaaliajassa. Siinä on sisäänrakennettu skaalaus, kuormituksen tasapainotus, vikasietoisuus. Cisco IOS... ... Wikipedia

    Verkkokarttapalvelu- (WMS Russian web map service) vakioprotokolla maantieteellisesti viitattujen kuvien huoltoon Internetin kautta, jonka karttapalvelin generoi GIS-tietokannan tietojen perusteella. Tämä standardi kehitettiin ja ensimmäinen... ... Wikipedia

    Web Hotel Salvador- (Salvador, Brasilia) Hotelliluokka: 2 tähden hotelli Osoite: Rua das Alfazemas ... Hotelliluettelo

    Web Hotel Aparecida- (Aparecida, Brasilia) Hotelliluokka: 3 tähden hotelli Osoite: Av. Isaac Ferrei… Hotelliluettelo

    palvelukeskeinen arkkitehtuuri- Organisaation liiketoimintaprosessit toteutetaan asiakkaan olemassa olevien sovellusten tarjoamien palvelujen perusteella. Jos sovellukset eivät tue palvelujen tarjoamista (Web Services), ne kehittävät tuotetta esitellessään... ... Teknisen kääntäjän opas

    Verkko 2

    Web 2.0- Web 2.0:aan liittyvät keskeiset käsitteet Web 2.0 (Tim O'Reillyn määrittelemä) on tekniikka sellaisten järjestelmien suunnitteluun, jotka verkkovuorovaikutus huomioon ottaen paranevat mitä enemmän ihmiset käyttävät niitä. Web 2.0:n ominaisuus. on periaate... ... Wikipedia

    Verkkosivusto- Pyyntö "sivusto" ohjataan tänne. Katso myös muita merkityksiä. Verkkosivusto (englanninkielisestä verkkosivustosta: web-verkko ja sivusto "paikka") tietokoneverkossa, joka on yhdistetty yhden verkkotunnuksen tai IP-osoitteen alle) kokoelma yksityishenkilön asiakirjoja tai ... ... Wikipedia

Kirjat

  • Tietotekniikka matkailualalla, V. N. Shitov. Käsikirjassa tarkastellaan yksityiskohtaisesti yleiskäyttöisiä tietokonetekniikoita käyttämällä suosittuja Microsoft Office 2010 -paketteja ja vaihtoehtoisia paketteja, käyttö... Osta 546 ruplalla
  • 75 valmiita ratkaisuja Web-sivustollesi PHP:llä, Steinmetz U., Ward B.. Jokainen, joka tekee tai aikoo tehdä oman verkkosivuston, kohtaa väistämättä useita tehtäviä ja vaikeuksia: kuinka luoda blogi sivustolle. .. "kiristää" äänestystä, sulkea tietty...

Aiheen otsikko on todella kysymys, koska... En itse tiedä, mikä se on, ja yritän ensimmäistä kertaa työskennellä sen kanssa tämän artikkelin puitteissa. Ainoa asia, jonka voin taata, on, että alla esitetty koodi toimii, mutta lauseeni ovat vain olettamuksia ja arvauksia siitä, kuinka minä itse ymmärrän tämän kaiken. Mennään siis...

Johdanto

Meidän on aloitettava siitä, miksi verkkopalveluiden käsite luotiin. Kun tämä konsepti ilmestyi maailmaan, oli jo olemassa teknologioita, jotka mahdollistivat sovellusten vuorovaikutuksen etäältä, jolloin yksi ohjelma saattoi kutsua jonkin menetelmän toisessa ohjelmassa, joka voidaan käynnistää toisessa kaupungissa tai jopa maassa sijaitsevalla tietokoneella. Kaikki tämä on lyhennetty nimellä RPC (Remote Procedure Calling). Esimerkkejä ovat CORBA-tekniikat ja Java - RMI (Remote Method Invoking). Ja niissä kaikki näyttää olevan hyvin, varsinkin CORBAssa, koska... Voit työskennellä sen kanssa millä tahansa ohjelmointikielellä, mutta jotain silti puuttui. Mielestäni CORBA:n haittana on, että se toimii joidenkin omien verkkoprotokollien kautta yksinkertaisen HTTP:n sijaan, joka sopii minkä tahansa palomuurin läpi. Verkkopalvelun ideana oli luoda HTTP-paketteihin lisättävä RPC. Tästä alkoi standardin kehittäminen. Mitkä ovat tämän standardin peruskäsitteet:
  1. SAIPPUA. Ennen kuin kutsut etätoimintoa, sinun on kuvattava tämä kutsu XML-tiedostossa SOAP-muodossa. SOAP on yksinkertaisesti yksi monista verkkopalveluissa käytetyistä XML-merkinnöistä. Kaikki, mitä haluamme lähettää jonnekin HTTP:n kautta, muunnetaan ensin XML SOAP -kuvaukseksi, täytetään sitten HTTP-paketiksi ja lähetetään toiselle verkon tietokoneelle TCP/IP:n kautta.
  2. WSDL. Siellä on verkkopalvelu, ts. ohjelma, jonka menetelmiä voidaan kutsua etänä. Mutta standardi edellyttää, että tähän ohjelmaan on liitettävä kuvaus, jossa sanotaan, että "kyllä, olet oikeassa - tämä on todella verkkopalvelu ja voit kutsua siitä sellaisia ​​​​ja sellaisia ​​​​menetelmiä." Tätä kuvausta edustaa toinen XML-tiedosto, jolla on eri muoto, nimittäin WSDL. Nuo. WSDL on vain XML-tiedosto, joka kuvaa verkkopalvelua eikä mitään muuta.
Miksi kysyt niin lyhyesti? Etkö voi olla tarkempi? Se on luultavasti mahdollista, mutta tehdäksesi tämän sinun on käytettävä kirjoja, kuten T. Mashnin, "Java Web Services". Siellä on yli 200 ensimmäistä sivua yksityiskohtainen kuvaus jokaisesta SOAP- ja WSDL-standardien tunnisteesta. Kannattaako tehdä? Mielestäni ei, koska... kaikki tämä luodaan automaattisesti Javassa, ja sinun tarvitsee vain kirjoittaa niiden menetelmien sisältö, joita oletetaan kutsuttavan etänä. Joten Javaan ilmestyi API, kuten JAX-RPC. Jos joku ei tiedä, kun sanotaan, että Javalla on sellainen ja sellainen API, se tarkoittaa, että kyseessä on paketti, jossa on joukko luokkia, jotka kapseloivat kyseessä olevan tekniikan. JAX-RPC kehittyi ajan myötä versiosta toiseen ja siitä tuli lopulta JAX-WS. WS tarkoittaa tietysti WebServicea, ja saatat ajatella, että tämä on yksinkertaisesti RPC:n uudelleennimeäminen suosituksi muotisanaksi nykyään. Tämä ei ole totta, koska Nyt verkkopalvelut ovat siirtyneet pois alkuperäisestä ideasta ja mahdollistavat etämenetelmien soittamisen lisäksi myös yksinkertaisesti asiakirjaviestien lähettämisen SOAP-muodossa. En tiedä, miksi tätä tarvitaan, on epätodennäköistä, että vastaus on "vain jos sitä tarvitaan". Itse haluaisin oppia kokeneemmilta tovereilta. Ja lopuksi, JAX-RS ilmestyi niin sanotuille RESTful-verkkopalveluille, mutta tämä on erillisen artikkelin aihe. Esittely voi päättyä tähän, koska... Seuraavaksi opimme työskentelemään JAX-WS:n kanssa.

Yleinen lähestymistapa

Verkkopalveluissa on aina asiakas ja palvelin. Palvelin on verkkopalvelumme, ja sitä kutsutaan joskus päätepisteeksi (kuten päätepisteeksi, johon asiakkaan SOAP-viestit saavuttavat). Meidän on tehtävä seuraavat:
  1. Kuvaile verkkopalvelumme käyttöliittymää
  2. Ota tämä käyttöliittymä käyttöön
  3. Avaa verkkopalvelumme
  4. Kirjoita asiakas ja soita etänä haluamaasi verkkopalvelutapaan
Voit käynnistää verkkopalvelun eri tavoilla: joko kuvailla luokkaa päämenetelmällä ja käynnistää verkkopalvelu suoraan palvelimena tai ottaa sen käyttöön palvelimelle, kuten Tomcat tai muulle. Toisessa tapauksessa emme itse käynnistä uutta palvelinta emmekä avaa tietokoneelle toista porttia, vaan yksinkertaisesti sanomme Tomcat-servlet-säilöön, että "olemme kirjoittaneet tänne verkkopalveluluokkia, julkaise ne, jotta kaikki, jotka ovat sinuun yhteydessä, voivat käytä verkkopalveluamme." Riippumatta verkkopalvelun käynnistystavasta, meillä on sama asiakas.

Palvelin

Aloitetaan IDEA ja luodaan uusi projekti Luo uusi projekti. Ilmoitetaan nimi HelloWebService ja paina painiketta Seuraava ja sitten -painiketta Suorittaa loppuun. Kansiossa src luodaan paketti ru.javarush.ws. Tässä paketissa luomme HelloWebService-rajapinnan: paketti ru. javarush. ws; // nämä ovat annotaatioita, ts. tapa merkitä luokat ja menetelmät, // verkkopalveluteknologiaan liittyen tuo javax. jws. WebMethod; tuo javax. jws. WebService; tuo javax. jws. saippua. SOAPBinding; // sanomme, että käyttöliittymämme toimii verkkopalveluna@WebService // sanomme, että verkkopalvelua käytetään menetelmien kutsumiseen@SOAPBinding (tyyli = SOAPBinding. Style. RPC) julkinen käyttöliittymä HelloWebService ( // sanomme, että tätä menetelmää voidaan kutsua etänä@WebMethod public String getHelloString(merkkijonon nimi) ; ) Tässä koodissa WebService- ja WebMethod-luokat ovat niin sanottuja annotaatioita eivätkä tee muuta kuin merkitsevät käyttöliittymämme ja sen menetelmän verkkopalveluksi. Sama koskee SOAPBinding-luokkaa. Ainoa ero on, että SOAPBinding on parametreilla varustettu huomautus. Tässä tapauksessa tyyliparametria käytetään arvolla, joka ilmaisee, että verkkopalvelu ei toimi dokumenttiviestien kautta, vaan klassisena RPC:nä, ts. kutsua menetelmää. Toteutetaan käyttöliittymälogiikkamme ja luodaan HelloWebServiceImpl-luokka pakettiimme. Muuten huomautan, että luokan päättäminen Impl:llä on Javassa käytäntö, jonka mukaan rajapintojen toteutus on niin määritelty (Impl - sanasta implementaatio, eli toteutus). Tämä ei ole vaatimus ja voit vapaasti nimetä luokan miten haluat, mutta hyvät tavat edellyttävät sitä: paketti ru. javarush. ws; // sama huomautus kuin käyttöliittymää kuvattaessa, tuo javax. jws. WebService; // mutta tässä sitä käytetään endpointInterface-parametrin kanssa, // ilmaisee verkkopalvelumme käyttöliittymäluokan koko nimen@WebService(endpointInterface= "ru.javarush.ws.HelloWebService") julkinen luokka HelloWebServiceImpl toteuttaa HelloWebServicen ( @Override public String getHelloString (merkkijonon nimi) ( // palauta vain tervehdys return "Hei, " + nimi + "!" ; ) ) Avataan verkkopalvelumme itsenäisenä palvelimena, ts. ilman Tomcatin ja sovelluspalvelimien osallistumista (tämä on erillisen keskustelun aihe). Voit tehdä tämän kansion projektirakenteessa src Luodaan paketti ru.javarush.endpoint, ja siihen luodaan HelloWebServicePublisher-luokka päämenetelmällä: package ru. javarush. päätepiste; // luokka web-palvelimen käyttämiseen verkkopalveluiden kanssa tuo javax. xml. ws. Päätepiste; // verkkopalvelumme luokka tuonti ru. javarush. ws. HelloWebServiceImpl; public class HelloWebServicePublisher ( julkinen staattinen void main (String... args) ( // käynnistä verkkopalvelin portissa 1986 // ja ensimmäisessä argumentissa määritettyyn osoitteeseen, // käynnistää toisessa argumentissa välitetty verkkopalvelu Päätepiste. julkaista( "http://localhost:1986/wss/hello", uusi HelloWebServiceImpl () ); ) ) Suoritetaan nyt tämä luokka napsauttamalla Vaihto+F10. Konsolissa ei näy mitään, mutta palvelin on käynnissä. Voit varmistaa tämän kirjoittamalla rivin http://localhost:1986/wss/hello?wsdl selaimeesi. Avautuva sivu toisaalta todistaa, että meillä on tietokoneellamme (localhost) porttia 1986 käyttävä web-palvelin (http://), ja toisaalta näyttää WSDL-kuvauksen verkkopalvelustamme. Jos lopetat sovelluksen, kuvaus ei ole käytettävissä, kuten myös verkkopalvelu itse, joten emme tee tätä, vaan siirrymme asiakkaan kirjoittamiseen.

Asiakas

Projektikansiossa src Luodaan paketti ru.javarush.client ja siihen HelloWebServiceClient-luokka päämenetelmällä: paketti ru. javarush. asiakas; // tarvitaan wsdl-kuvauksen saamiseksi ja sen läpi // päästä itse verkkopalveluun tuo java. netto. URL-osoite; // Tämä poikkeus tapahtuu, kun työskentelet URL-objektin kanssa tuo java. netto. Väärin muotoiltuURL-poikkeus; // luokat jäsentämään xml wsdl-kuvauksella // ja saavuta siinä oleva palvelutunniste tuo javax. xml. nimiavaruus. QName; tuo javax. xml. ws. Palvelu; // verkkopalvelumme käyttöliittymä (tarvitsemme lisää) tuonti ru. javarush. ws. HelloWebService; public class HelloWebServiceClient ( julkinen staattinen void main (String args) heittää MalformedURLException ( // luo linkki wsdl-kuvaukseen URL url = uusi URL ( "http://localhost:1986/wss/hello?wsdl") ; // Katsomme seuraavan rakentajan parametreja WSDL-kuvauksen aivan ensimmäisessä tagissa - määritelmät // tarkastele targetNamespace-attribuutin ensimmäistä argumenttia // katso nimi-attribuutin toista argumenttia QName qname = uusi QName ("http://ws.site/" , "HelloWebServiceImplService" ) ; // Nyt voimme saavuttaa wsdl-kuvauksen palvelutunnisteen, Palvelupalvelu = palvelu. luo (url, qname) ; // ja sitten siihen sisäkkäiseen porttitunnisteeseen asti, jotta // saada linkki etänä olevaan verkkopalveluobjektiin HelloWebService hello = palvelu. getPort(HelloWebService.class); // Hurraa! Voit nyt kutsua etämenetelmää Järjestelmä. ulos. println (hei. getHelloString ( "JavaRush" ) ); ) ) Annoin suurimmat kommentit listassa olevasta koodista. Minulla ei ole mitään lisättävää, joten ajataan (Shift+F10). Meidän pitäisi nähdä teksti konsolissa: Hei, JavaRush! Jos et nähnyt sitä, olet luultavasti unohtanut käynnistää verkkopalvelun.

Johtopäätös

Tämä aihe tarjosi lyhyen tutustumisen verkkopalveluihin. Toistan vielä kerran, että suuri osa kirjoittamistani asioista on minun arvaustani siitä, miten se toimii, ja siksi sinun ei pitäisi luottaa minuun liikaa. Olisin kiitollinen, jos asiantuntevat ihmiset korjaavat minua, koska silloin opin jotain. UPD.

Tarkastelimme mekanismin käytön yleisiä käsitteitä « 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 määrityksiä uuden kokoonpanon kehittämiseksi.

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

Hakemisto "Asiakkaat";

Asiakirja "Hakemus";

Luettelo "Hakemuksen tilat".

Vaihe 3. Luodaan uusi XDTO-paketti.

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

Huomattakoon lyhyesti, että XDTO-mekanismi on universaali tapa esittää dataa vuorovaikutusta varten 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 nimiavaruuden http://localhost/request tai http://192.168.1.76/request (ymmärryksen ja oppimisprosessin helpottamiseksi osoitamme sen tietokoneen paikallisen IP-osoitteen, 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- kirjoita Сustomer 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;

Siirron 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 ValueFilled(ClientRef) Palauta 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 = näyte.numero; 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ÄPALVELUON 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 verkkopalveluun pääsy;

Syöttökenttä 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 puhelukä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. Määritellään uusi muoto käsittelyä varten

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 VIRKANTO 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

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 hallinnoidaan eri järjestelmillä. 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 ymmärtävät lähes kaikki verkkolaitteet keskustietokoneista kannettaviin laitteisiin ja PDA-laitteisiin.
  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ää kaikissa käyttöjärjestelmissä, sovelluspalvelimissa, ohjelmointikielissä 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-tapahtumat

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 tuotteen määrän sen sijaan, että se olisi merkinnyt tuotekorttiin "Loppu loppu".

Yrityspalvelujen integrointi

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

Asiakas-palvelin järjestelmän luominen

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

  • Et voi myydä itse ohjelmistoa, vaan tehdä maksullisen pääsyn verkkopalveluun;
  • On helpompi ratkaista ongelmia kolmannen osapuolen ohjelmistoilla;
  • on helpompi järjestää pääsy palvelimen sisältöön ja materiaaleihin.

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

Nykyään WEB-palveluita käytetään lähes kaikkialla – ne antavat meille tietoa lento- ja junalennoista, valuuttakursseista ja säästä. Ei ole yllättävää, että 1C:llä on myös mahdollisuus luoda omia WEB-palvelujaan, jolloin se voi toimia sekä toimittajana että kuluttajana. Tämä mekanismi on sisäänrakennettu 1C:Enterprise 8.3 -alustaan, ja kehittäjät voivat jopa lisätä omia WEB-palvelutyyppisiä objekteja vakiokokoonpanoon. Niiden arkkitehtuuri perustuu joukkoon palveluita, joiden avulla voit vaihtaa tietoja muiden ohjelmistojen kanssa.

1C-verkkopalvelun luominen

Yksi 1C WEB -palvelujen tärkeimmistä eduista on se, että tietoturvatietoihin ei tarvitse tarjota suoraa pääsyä. Oikein konfiguroitu 1C-verkkopalvelu sallii muiden sovellusten käyttää toimintoja ulkopuolelta. Tällaisissa tapauksissa toiminnon tulee itse määrittää tietojen käyttöoikeus määritettyjen parametrien mukaisesti kehittäjän määrittelemien sääntöjen mukaisesti.

Kuinka luoda verkkopalvelu 1C:ssä?

Jotta tietty 1C-järjestelmän toiminto tulee saataville ulkoisille ohjelmistoille, on suoritettava seuraava toimintoalgoritmi:

  1. Siirry kokoonpanoon ja lisää WEB-palveluobjekti tiettyyn puun haaraan;
  2. Kuvaile kaikki toiminnot, joita toiminnallisuutemme voi suorittaa. Toimintojen kuvaus suoritetaan moduulissa sisäänrakennetulla 1C-kielellä;
  3. Lisää kuvaus verkkopalvelun toimintojen parametreista. Huomaa, että tietotyypit on kuvattu ottaen huomioon olemassa olevat XDTO-mekanismin tyypit, jotka esiteltiin alustan versiossa 8.1;
  4. Julkaise luotu WEB-palvelu palvelimella. 1C-alustaan ​​sisäänrakennettu mekanismi tukee seuraavia standardeja:
  • SSL/TLS
  • WS-I BP

Esimerkki yksinkertaisen WEB-palvelun luomisesta

Jotta WEB-palvelumekanismin toiminta näkyy selkeimmin, luodaan esimerkki - toiminto, joka määrittää syötetyn merkkijonon pituuden. Ohjelmisto välittää merkkijonon pyyntöparametrina, ja kohdassa 1C kuvattu toiminto palauttaa merkkien määrän. Luodessasi sinun on muistettava, että tämän mekanismin julkaiseminen mahdollistaa sen, että useat ohjelmistot voivat käyttää sitä. Koska kaikki ohjelmistot eivät pysty hyväksymään kyrillisiä aakkosia, nimeämme konfiguraatioobjektit latinalaisilla kirjaimilla.

Avaa konfiguraattori, etsi puusta WEB-palvelut-haara ja lisää uusi palvelu "wa_LengthString". Sinun on myös lisättävä uusi toiminto "Toiminnot"-välilehdelle. Kutsutaan sitä "CalcLengthStringiksi", määritetään ominaisuuksissa palautusarvon tyyppi - int tai kokonaisluku ja luodaan "InputString"-parametri sen sisään. Jätä arvotyyppi merkkijonoksi.


Nyt sinun on rekisteröitävä CalcLengthString-funktion toiminta WEB-palvelumoduulissa. Voit tehdä tämän avaamalla luodun funktion ominaisuudet ja napsauttamalla oikealla olevaa suurennuslasin muotoista painiketta "Procedure name" -syöttökentän vieressä. 1C luo automaattisesti funktion WEB-palvelumoduuliimme ja avaa sen, jotta voimme kuvata CalcLengthString-toiminnon. Hyödynnetään tätä ja kirjoitetaan funktion toiminta - määritetään syötemerkkijonon pituus.


Itse asiassa tämä viimeistelee yksinkertaisen WEB-palvelun luomisen. Nyt tämä palvelu on "saatava" julkiseen verkkoon, jotta kolmannen osapuolen ohjelmistot tai muut 1C-järjestelmät voivat käyttää tätä toimintoa.

Jotta voimme julkaista luodun verkkopalvelun toiminnallisuuksineen, meillä on oltava pääsy sivustolle. Ennen kuin aloitamme palvelun julkaisemisen, meidän on tarkistettava tiedoston nimi luodun wa_LengthString-moduulin ominaisuuksista. Sen tulee olla selkeä, yksinkertainen ja sen laajennus on "1cws".


Nyt on aika julkaista palvelimelle luomamme WEB-palvelu. Tämä ominaisuus ilmestyi alustaversiossa 8.3, ja monet yritykset ovat jo ymmärtäneet tämän toiminnon kaikki edut. Julkaisemisen aloittamiseksi sinun on avattava "Hallinta/Julkaisu verkkopalvelimella..." -lomake konfiguraattorissa.


Avautuvassa ikkunassa meidän on määritettävä 1C-verkkopalvelut ja täytettävä tietyt kentät:

  • Nimi. Osoittaa verkkopalvelimella olevan kansion, johon verkkopalvelumme kuvaus tallennetaan. Ole varovainen tapausten suhteen, sillä joskus palvelimet erottavat suuret ja pienet kirjainmerkit;
  • Verkkopalvelin. Sinun on valittava palvelin tietokoneellesi asennettujen palvelinten joukosta.
  • Luettelo. Sinun on valittava polku kansioon, johon on tallennettu verkkopalvelimen tiedot yhteyden muodostamista varten. Vain latinalaisia ​​kirjaimia käytetään;
  • Kaksi Boolen tyypin merkkiä. Ensimmäinen on hyödyllinen meille, jos meidän on määritettävä pääsy kokoonpanoon verkkoasiakkaan kautta. Jotta voit julkaista 1C-palvelun, sinun on valittava toinen ruutu.

Jäljelle jää vain tarkistaa, että halutun WEB-palvelun valintaruutu on valittuna ensimmäisessä sarakkeessa ja klikkaa "Julkaise".


Koska tämä mekanismi on vielä melko uusi, saatat kohdata virheen, kuten "Tiedostotoimintoa suoritettaessa tapahtui virhe...". Tässä tapauksessa sinun tarvitsee vain napsauttaa "Julkaise" uudelleen. Useimmissa tapauksissa tämä auttaa ja näet viestin, joka ilmoittaa, että verkkopalvelu on julkaistu.

Ru//ws/.1cws?wsdl

Vastauksena tällaiseen osoitepyyntöön selaimen on näytettävä XML-tiedoston rakenne. Jos näet tyhjän sivun, virheen tai outoja merkkejä (koodausongelmia), sinun on tarkistettava kaikki vaiheet uudelleen. On myös hyvä varmistaa, että palvelin on määritetty oikein ja että sinulla on pääsy siihen. Onnistuneen julkaisun jälkeen 1C WEB -palvelua voivat käyttää kolmannen osapuolen sovellukset.