RS65115B1 - Tehnologije za kreiranje i distribuciju integracionih konektora u sistemu za posredovanje cloud servisa - Google Patents

Tehnologije za kreiranje i distribuciju integracionih konektora u sistemu za posredovanje cloud servisa

Info

Publication number
RS65115B1
RS65115B1 RS20240109A RSP20240109A RS65115B1 RS 65115 B1 RS65115 B1 RS 65115B1 RS 20240109 A RS20240109 A RS 20240109A RS P20240109 A RSP20240109 A RS P20240109A RS 65115 B1 RS65115 B1 RS 65115B1
Authority
RS
Serbia
Prior art keywords
connector
computing device
api
developer
portal
Prior art date
Application number
RS20240109A
Other languages
English (en)
Inventor
Vladimir Grebenshikov
Maxim Kuzkin
Aleksandr Khaerov
Original Assignee
Cloudblue Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cloudblue Llc filed Critical Cloudblue Llc
Publication of RS65115B1 publication Critical patent/RS65115B1/sr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Electronic shopping [e-shopping] utilising user interfaces specially adapted for shopping
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

Opis
UNAKRSNE REFERENCE NA POVEZANE PRIJAVE
[0001] Predmetna prijava je međunarodna prijava patenta koja navodi prednost prioriteta u odnosu na privremenu američku prijavu patenta sa brojem 62/485.665 koja je podneta 14. aprila 2017. godine.
OBLAST TEHNIKE OPISANIH IZVOĐENJA
[0002] Ovde opisana izvođenja se uopšteno odnose na posredovanje servisa u oblaku, a preciznije na tehnologije za kreiranje i distribuciju integracionih konektora u sistemima za posredovanje servisa u oblaku (tzv. „cloud servisi“).
STANJE TEHNIKE OPSANIH IZVOĐENJA
[0003] Nezavisni prodavci softvera (ISV – Independent Software Vendors) razvijaju i prodaju softverske aplikacije koje su u tipičnom slučaju dizajnirane da rade na jednom ili većem broju hardverskih računarskih platformi ili računarskih platformi sa različitim operativnim sistemima. Takve softverske aplikacije se kreću od osnovnih uslužnih aplikacija ili aplikacija za povećanje produktivnosti, pa do aplikacija za upravljanje poslovnim procesima preduzeća (npr. CRM aplikacije za upravljanje odnosima sa klijentima, ERP aplikacije za planiranje resursa preduzeća, alata za automatizaciju, itd.). Kako računarstvo u oblaku (cloud computing) postaje sve više rasprostranjeno, jedan takav način isporuke softvera podrazumeva pružanje cloud servisa korišćenjem modela zasnovanog na softveru kao usluzi (SaaS – Software as a Service). Koristeći ovaj metod isporuke, ISV-ovi mogu da prodaju svoje softverske aplikacije ili pretplate na svoje softverske aplikacije preko javnog oblaka ili cloud marketa.
[0004] Dok cloud marketi poseduju izlog prodavca na mreži kroz koji se klijentima obezbeđuje pristup uslugama i softverskim cloud aplikacijama, mogu se koristiti i posrednici u pružanju cloud usluga (tzv. „brokeri“) kako bi se olakšale transakcije između ISV-a i krajnjeg korisnika, preprodavca, maloprodaje, itd. kao što je na primer korišćenjem priključnih (plug-in) ili API konektora za svaki cloud servis. U tradicionalnim implementacijama brokera cloud servisa svaki broker tipično ima ugovor sa svakim ISV-om za svaki cloud servis koji brokeru pruža pristup platformi i/ili infrastrukturi, kojoj se može pristupiti (na primer preko portala) radi kreiranja i upravljanja API konektorima, čime se omogućava da se njihove usluge kupuju, obezbeđuju i izvršavaju u oblaku.
[0005] U tipičnom slučaju takvi API konektori se pokreću sa strane brokera cloud servisa, bilo lokalno (tj. na strani provajdera) ili u oblaku (npr. pod nalogom brokera cloud servisa). Kao takva, svaka instanca platforme brokera cloud servisa ima svoj API konektor za svaki servis koji je platforma brokera cloud servisa prilagođena da pruža. Ipak, takve ručne implementacije generalno zahtevaju veliki broj API metoda i nekoliko integracionih tačaka za korisnički interfejs (UI – User Interface), što može rezultovati dužim vremenom potrebnim za ISV-ove da integrišu svoje servise u odgovarajuću platformu brokera cloud servisa. Zbog toga postoji potreba za kreiranjem i distribucijom integracionih konektora u sistemima brokerskih usluga u oblaku.
[0006] Dokument US 2007/239858 A1 opisuje softverski frejmvork (framework) za obezbeđivanje B2B (Business-to-Business) integracionog softvera kao servisa (SaaS). Frejmvork prati model glavnog čvorišta (tzv. hub) i krakova u kojem glavno čvorište i krakovi komuniciraju putem web servisa. Dok glavno čvorište i kraci deluju kao integracione putanje sa sistemima preduzeća, čvorište takođe deluje kao centralizovani centar za udaljenu kontrolu, upravljanje i konfiguraciju za čitavu postavku. Softver glavnog čvorišta pruža mogućnost generisanja i daljinskog podizanja okruženja na kracima i udaljenog upravljanja njima. Generisano okruženje na kracima može da se preuzme, instalira i konfiguriše kako bi se povezalo sa lokalnim sistemima i da deluje kao posrednik za B2B integraciju između čvorišta i lokalnih sistema. Jednom nakon što su podignuta, okruženjima se daljinski upravlja preko upravljačke konzole koju obezbeđuje softver glavnog čvorišta.
IZLAGANJE SUŠTINE OPISANIH IZVOĐENJA
[0007] Prema jednom aspektu opisan je postupak za kreiranje i distribuciju integracionih konektora za cloud servise u sistemu za posredovanje usluga u oblaku. Postupak uključuje prijem, od strane programera preko UI portala za programere računarskog uređaja portala za programere, informacija o deskriptoru konektora za konektor koji je pridružen cloud servisu; prijem, od strane programera preko UI portala za programere, jednog ili više tipova resursa konektora; kreiranje konektora pomoću alata za kreiranje konektora (tzv. konektor builder) računarskog uređaja portala za programere, kao funkcije informacija o deskriptoru konektora i jednom ili više tipova resursa; generisanje, od strane alata za kreiranje konektora, paketa konektora za kreirani konektor; i slanje, od strane alata za kreiranje konektora, generisanog paketa konektora na čvorište konektora računarskog uređaja marketa cloud servisa, pri čemu je paket konektora upotrebljiv za kreiranje jedne ili više instanci konektora.
[0008] Prema nekim izvođenjima postupak dalje uključuje analizu, od strane ekspertskog sistema računarskog uređaja portala za programere, da li je objavljena prethodna verzija konektora povezanog sa cloud servisom; utvrđivanje, pomoću ekspertskog sistema a nakon utvrđivanja da je objavljena prethodna verzija konektora, nivoa koincidencije između konektora i prethodne verzije konektora; upoređivanje, pomoću ekspertskog sistema, nivoa koincidencije sa pragom nivoa koincidencije; i povezivanje, od strane ekspertskog sistema, konektora sa prethodnom verzijom konektora kao nove verzije prethodne verzije konektora.
[0009] Prema nekim izvođenjima postupak dodatno uključuje analizu, preko ekspertskog sistema računarskog uređaja portala za programere, da li je potrebno sa konektorom povezati neki drugi servis; utvrđivanje, pomoću ekspertskog sistema, da li bi jedan ili više drugih servisa moglo biti povezano sa konektorom; i povezivanje jednog ili više drugih servisa, od strane ekspertskog sistema a nakon utvrđivanja da jedan ili više drugih servisa mogu biti povezani sa konektorom.
[0010] Prema nekim izvođenjima postupak dalje uključuje prijem, od strane programera preko UI portala za programere, identifikatora povezanog sa kosturom konektora iz baze podataka kostura konektora računarskog uređaja portala za programere, pri čemu je kostur konektora upotrebljiv za generisanje frejmvorka za kreiranje konektora i pri čemu prihvatanje jednog ili više tipova resursa konektora obuhvata prihvatanje jednog ili više tipova resursa konektora na osnovu kostura konektora.
[0011] Prema nekim izvođenjima prijem informacija o deskriptoru konektora uključuje prijem naziva servisa, tipa servisa, ikone povezane sa servisom i jedne ili više instrukcija pružaoca servisa. Dodatno ili alternativno, prema nekim izvođenjima, postupak dalje uključuje određivanje, od strane alata za kreiranje konektora, jedne ili više razlika između konektora i prethodne verzije konektora; i generisanje, od strane alata za kreiranje konektora, jedne ili više instrukcija za nadogradnju kao funkcije utvrđene jedne ili više razlika, pri čemu generisanje paketa konektora sadrži generisanje paketa konektora kao funkcije jedne ili više instrukcija za nadogradnju.
KRATAK OPIS SLIKA NACRTA
[0012] Izvođenja i druge karakteristike, prednosti i opisi koji su ovde sadržani, kao i način njihovog postizanja, biće očigledni a predmetni opis će biti razumljiviji na osnovu pozivanja na sledeći opis različitih primera izvođenja predmetnog pronalaska datih u vezi sa pratećim slikama nacrta gde:
Slika 1 prikazuje blok dijagram ilustrativnog izvođenja marketa cloud servisa i brokerskog sistema za kreiranje i distribuciju integracionih konektora u sistemima za posredovanje cloud servisa koji uključuje računarski uređaj brokera, računarski uređaj pružaoca servisa i računarski uređaj portala za programere, gde su svi komunikacijski povezani sa računarskim uređajem marketa;
Slika 2 prikazuje blok dijagram ilustrativnog izvođenja jednog od računarskih uređaja marketa brokera cloud servisa računarskog uređaja marketa sa slike 1;
Slika 3 prikazuje blok dijagram ilustrativnog okruženja računarskog uređaja portala za programere sa slike 1;
Slike 4A do 4D su šematski dijagram toka ilustrativnog postupka za kreiranje i distribuciju integracionih konektora u sistemima za posredovanje cloud servisa koji mogu biti izvedeni pomoću računarskog uređaja portala za programere sa slike 1;
Slika 5 prikazuje šematski dijagram toka ilustrativnog postupka za izvođenje analize verzije na objektima konektora koji može biti izveden pomoću računarskog uređaja portala za programere sa slike 1; i
Slika 6 prikazuje šematski dijagram toka drugog ilustrativnog postupka za izvođenje analize uparivanja na objektima konektora koju može da izvede računarski uređaj portala za programere sa slike 1.
DETALJAN OPIS IZVOĐENJA
[0013] U cilju unapređenja razumevanja principa predmetnog pronalaska, dalji opis će se pozivati na izvođenja koja su ilustrovana na slikama, a za njihovo opisivanje će biti korišćen specifičan jezik. Ipak, podrazumeva da ne postoji namera da se time ograniči obim predmetnog pronalaska.
[0014] Slika 1 ilustruje sistem 100 za posredovanje i prodaju cloud servisa za kreiranje i distribuciju integracionih konektora. Sistem 100 za posredovanje i prodaju cloud servisa uključuje računarski uređaj 116 portala za programere, računarski uređaj 122 pružaoca usluga i računarski uređaj 130 brokera, od kojih je svaki komunikacijski povezan sa računarskim uređajem 102 maketa (na primer preko mreže 128). Tokom primene, programer aplikacije cloud servisa koja je povezana sa pružaocem cloud servisa razvija aplikativni programski interfejs (API - videti, na primer, API 126 sa slike 1) i API konektor za jedan ili više cloud servisa.
[0015] Kako bi razvio API konektor, programer koristi portal za programere (npr. korisnički interfejs (UI) portala 118 računarskog uređaja 116 portala za programere) za određeni servis čija će prodaja biti ponuđena na marketu cloud servisa (npr. preko marketa 104 brokera cloud servisa računarskog uređaja 102 marketa). Potrebno je naglasiti da programer može pristupiti UI portalu 118 za programere preko računarskog uređaja (nije prikazan) koji je komunikacijski povezan (npr. preko mreže 128) sa računarskim uređajem 116 portala za programere.
[0016] API konektor može biti u obliku izvornog koda koji se može koristiti za kreiranje replicirane instance tog API konektora (videti, na primer, odgovarajuću instancu API konektora 114 u fabrici 112 konektora sa slike 1) koja se može upotrebiti za komuniciraju sa odgovarajućim API-jem 126. U skladu sa tim svaki API 126 je konfigurisan da prima komande od cloud servisa (na primer preko interfejsa 124 pružaoca cloud servisa računarskog uređaja 122 pružaoca servisa) i šalje primljene komande do odgovarajuće instance API konektora 114 sa kojim je API 126 povezan i obratno.
[0017] Portal za programere je konfigurisan da prihvata ulaz od programera koji se može upotrebiti za definisanje glavnih komponenti paketa konektora, kao što je model (na primer objašnjenje poslovnog modela za objekte aplikacije), korisnički interfejs(i) koji podržavaju interakcije korisnika sa pozadinskim komponentama (na primer REST servis za proces obezbeđivanja servisa tj. provisioning-a, upravljanje, praćenje zahteva, itd.) za konektor. Potrebno je naglasiti da portal za programere može biti konfigurisan da prima dodatne informacije koje su povezane sa konektorom, kao što su adresa cloud servisa, podrazumevana podešavanja, informacije o cenama, šabloni prodaje, identifikator cloud servisa itd.
[0018] Portal za programere je dodatno konfigurisan da, kao što će biti detaljnije opisano u nastavku, proizvede paket konektora, testira proizvedeni paket konektora i objavi testirani paket konektora u katalogu konektora (na primer u bazi 110 podataka raspoloživih servisa čvorišta 106 konektora računarskog uređaja 102 marketa). Nakon faze razvoja, paket konektora može da pređe u produkcionu fazu u kojoj se konektor može podići na strani brokera cloud servisa (na primer pomoću marketa 104 brokera cloud servisa preko interfejsa 132 brokera cloud servisa računarskog uređaja 130 brokera).
[0019] Računarski uređaj 102 marketa je konfigurisan da upravlja licencama za različite cloud servise između pružaoca cloud servisa i brokera cloud servisa. Prema ilustrativnom primeru pružalac cloud servisa (na primer nezavisni prodavac softvera -ISV) sklapa ugovor sa kontrolnim entitetom marketa 102 cloud servisa kako bi olakšao prodaju licenci krajnjim korisnicima. Licenca tada može dozvoliti tom krajnjem korisniku, ili drugim krajnjim korisnicima koji su sa njim povezani, određeni pristup cloud servisima pružaoca cloud servisa (na primer softveru u oblacima kao aplikaciji -SaaS).
[0020] Kako bi se ovo postiglo, ilustrativni računarski uređaj 102 marketa sadrži glavno čvorište 106 koje je konfigurisano da skladišti pakete konektora generisane preko UI portala 118 za programere (na primer u bazi 110 podataka raspoloživih servisa) i da uspostavi kanale za obezbeđivanje za konektore 114 iz fabrike 112 konektora između interfejsa 124 pružaoca cloud servisa usluga računarskog uređaja 122 pružaoca cloud servisa i interfejsa 132 brokera cloud servisa računarskog uređaja 130 brokera cloud servisa. U skladu sa tim broker cloud servisa može da prodaje licence za cloud servise povezane sa paketima konektora krajnjim korisnicima (na primer klijentima, brokerima, preprodavcima, itd.) preko njima odgovarajućim interfejsima 132 brokera cloud servisa.
[0021] Čvorište 106 konektora je dodatno konfigurisano da generiše kredencijale provisioning kanala za svaki konektor 114 (na primer kredencijale brokera i/ili kredencijale pružaoca cloud servisa, tako da se mogu sačuvati u bazi 108 podataka kredencijala). Potrebno je naglasiti da kredencijali provisioning kanala mogu biti bilo koja vrsta informacija (na primer kriptografski ključevi ili neki drugi proizvoljni podaci) koji se mogu koristiti za autentifikaciju bezbednog komunikacionog kanala između dva entiteta korišćenjem kredencijala provisioning kanala.
[0022] Kao što je prikazano na ilustrativnom sistemu 100 za posredovanje i prodaju cloud servisa, svaki računarski uređaj 102 marketa, računarski uređaj 116 portala za programere, računarski uređaj 122 pružaoca servisa i računarski uređaj 130 brokera su realizovani kao računarski uređaji 134. U skladu sa tim se podrazumeva da svaki od odgovarajućih računarskih uređaja 134 može biti realizovan kao bilo koji tip računarskog i/ili uređaja za skladištenje podataka koji može da obavlja funkcije koje su ovde opisane. Dodatno, podrazumeva se da svaki od odgovarajućih računarskih uređaja 134 može da se sastoji od više od jednog računarskog uređaja 134. Na primer, jedan ili više računarskih uređaja 134 može biti realizovano kao jedan ili više servera (na primer samo-stojećih, montiranih u rek, itd.) i/ili kao kombinacija računarskih blejd servera i uređaja za skladištenje podataka (na primer SAN mreže za skladištenje podataka) u mreži ili data centru sa arhitekturom u oblaku, dok jedan ili više drugih računarskih uređaja 134 može biti realizovano kao jedan ili više desktop računara, mobilnih računarskih uređaja (na primer pametni telefoni, nosivi uređaji, tableti, laptopovi, notebook računari, itd.) ili bilo koji drugi tip „pametnih uređaja“ ili uređaja koji su na neki drugi način povezani na Internet.
[0023] Prema slici 2 prikazana je ilustrativna varijanta računarskog uređaja 134 koji je primer jednog ili više od računarskih uređaja 102 marketa, računarskih uređaja 116 portala za programere, računarskih uređaja 122 pružaoca usluga i računarskih uređaja 130 brokera. Ilustrativni računarski uređaj 134 sadrži centralnu procesorsku jedinicu (CPU) 200, ulazno/izlazni (U/I) kontroler 202, memoriju 204, kolo 206 za mrežnu komunikaciju i uređaj 210 za skladištenje podataka, a u nekim izvođenjima i jedan ili više ulazno/izlaznih (U/I) perifernih uređaja 208. Prema nekim izvođenjima jedna ili više ilustrativnih komponenti mogu biti kombinovane u okviru jednog uređaja tipa sistem-na-čipu (SoC) na jednom integrisanom kolu (IC). Potrebno je naglasiti da alternativna izvođenja mogu uključivati dodatne komponente, manji broj komponenti i/ili alternativne komponente u odnosu na one ilustrativnog računarskog uređaja 134, kao što je na primer grafička procesorska jedinica (GPU), napajanje i slično, koje nisu prikazane kako bi se očuvala razumljivost ovog opisa. Dalje je potrebno naglasiti da tip skladišnih/računarskih komponenti odgovarajućeg računarskog uređaja 134 može zavisiti od tipa i nameravane upotrebe odgovarajućeg računarskog uređaja 134.
[0024] CPU 200, ili procesor, može biti realizovan kao bilo koji tip hardvera ili kombinacija kola sposobnih za obradu podataka. U skladu sa tim CPU 200 može sadržati jedno jezgro za obradu podataka (nije prikazano) izvedeno u arhitekturi procesora sa jednim jezgrom, ili veći broj jezgara za obradu podataka izvedenih u arhitekturi procesora sa više jezgara. Bez obzira na broj procesorskih jezgara CPU 200 je sposoban da čita i izvršava programske instrukcije. Prema nekim izvođenjima CPU 200 može sadržati keš memoriju (nije prikazana) koja može biti integrisana direktno na CPU 200 ili može biti postavljena na poseban čip sa odvojenom interkonekcijom na CPU 200. Potrebno je naglasiti da se prema nekim izvođenjima za obavljanje softverskih i/ili hardverskih operacija umesto komandi izdatih ka/od CPU 200 može koristiti takozvana logika cevovoda (tzv. pipeline, na primer za operacije obrade mrežnog saobraćaja).
[0025] U/I kontroler 202, ili U/I interfejs, može biti realizovan kao bilo koji tip računarskog hardvera ili kombinacija kola sposobnih da budu interfejs za povezivanje između ulaznih/izlaznih uređaja i računarskog uređaja 134. Ilustrativno, U/I kontroler 202 je konfigurisan da prima ulazne/izlazne zahteve od CPU 200 i šalje kontrolne signale odgovarajućim ulazno/izlaznim uređajima, čime se upravlja protokom podataka ka/od računarskog uređaja 134.
[0026] Memorija 204 može biti realizovana kao bilo koji tip računarskog hardvera ili kombinacija kola koja mogu da čuvaju podatke i instrukcije za obradu. Takva memorija 204 se može nazvati glavnom ili primarnom memorijom. Potrebno je naglasiti da prema nekim izvođenjima jedna ili više komponenti računarskog uređaja 134 mogu imati direktan pristup memoriji, tako da određeni podaci mogu biti uskladišteni kroz direktan pristup memoriji (DMA – Direct Memory Access) nezavisno od CPU 200.
[0027] Kolo 206 za mrežnu komunikaciju može biti realizovano kao bilo koji tip računarskog hardvera ili kombinacija kola sposobnih za upravljanje komunikacijom preko mrežnog interfejsa (na primer poruke, datagrami, paketi, itd.) putem bežičnih i/ili komunikacionih režima preko kabla. U skladu sa tim, a prema nekim izvođenjima, kolo 206 za mrežnu komunikaciju može sadržati kontroler mrežnog interfejsa (NIC – Network Interface Controller) koji je sposoban da bude konfigurisan da poveže računarski uređaj 134 sa računarskom mrežom (na primer mrežom 128), kao i druge računarske uređaje sistema 100 za posredovanje i prodaju cloud servisa.
[0028] Jedan ili više U/I perifernih uređaja 208 može biti realizovan kao bilo koji pomoćni uređaj koji je konfigurisan da se poveže sa računarskim uređajem 134 i komunicira sa njim. Na primer, U/I periferni uređaji 208 mogu bez ograničenja uključivati miš, tastaturu, monitor, ekran osetljiv na dodir, štampač, skener, mikrofon, zvučnik, itd. U skladu sa tim je potrebno naglasiti da su neki U/I uređaji sposobni za ostvarivanje samo jedne funkcije (tj. ulazne ili izlazne) ili obe funkcije (tj. i ulazne i izlazne).
[0029] Prema nekim izvođenjima U/I periferni uređaji 208 mogu biti povezani sa računarskim uređajem 134 preko kabla (na primer trakastog kabla, žice, USB kabla, HDMI kabla, itd.) računarskog uređaja 134. Kod takvih izvođenja kabl je povezan na odgovarajući priključak (nije prikazan) računarskog uređaja 134 gde U/I kontroler 202 može upravljati komunikacijama između njih. Prema alternativnim izvođenjima U/I periferije 208 mogu biti povezane sa računarskim uređajem 134 bežičnim načinom komunikacije (npr. Bluetooth<®>, Wi-Fi<®>, itd.) kojim se može upravljati preko kola 206 za mrežnu komunikaciju.
[0030] Uređaj 210 za skladištenje podataka može biti realizovan kao bilo koji tip računarskog hardvera koji je sposoban za trajno čuvanje podataka (na primer poluprovodnički medijum za skladištenje, magnetni medijum za skladištenje, optički medijum za skladištenje, itd.). Takvi uređaji 210 za skladištenje podataka se obično nazivaju pomoćnim ili sekundarnim skladištem podataka i tipično se koriste za čuvanje velikih količina podataka u poređenju sa memorijom 204 opisanom iznad.
[0031] Ponovo prema slici 1, ilustrativni sistem 100 za posredovanje i prodaju cloud servisa uključuje mrežu 128 koja se može koristiti od strane drugih računarskih uređaja 134 (tj. računarskog uređaja 116 portala za programere, računarskog uređaja 122 pružaoca servisa i računarskog uređaja 130 brokera) za komunikaciju sa računarskim uređajem 102 marketa. Mreža 128 može biti implementirana kao bilo koji tip žičane i/ili bežične mreže, uključujući i lokalnu mrežu (LAN), mrežu šireg područja (WAN), mrežu gradskog područja (MAN), globalnu mrežu (Internet), itd., koristeći bilo koje žičane i/ili bežične komunikacione tehnologije i protokole za prenos podataka u mrežnoj komunikaciji. U skladu sa tim mreža 128 može da sadrži jedan ili više komunikaciono povezanih mrežnih računarskih uređaja (nije prikazano) za omogućavanje toka i/ili obrade mrežnog komunikacionog saobraćaja preko niza žičnih i/ili bežičnih interkonekcija. Takvi mrežni računarski uređaji mogu bez ograničenja uključivati jednu ili više pristupnih tačaka, rutera, svičeva, servera, računarskih uređaja, uređaja za skladištenje podataka itd.
[0032] Na primer, jedan ili više takvih mrežnih računarskih uređaja može biti konfigurisano da poveže jedan ili više računarskih uređaja 102 marketa, računarskih uređaja 116 portala za programere, računarskih uređaja 122 pružaoca servisa i/ili računarskih uređaja 130 brokera sa mrežom 128 u LAN konfiguraciji korišćenjem žičnih (na primer Ethernet, token ring, itd.) i/ili WLAN konfiguraciji korišćenjem bežičnih (na primer Bluetooth<®>, Wi-Fi<®>, bežična širokopojasna konekcija, ZigBee<®>, itd.) komunikacionih tehnologija i povezanih protokola. U nastavku primera LAN konfiguracija može biti povezana (na primer preko koaksijalnog kabla, mobilne telefonije, optičkih vlakana, itd.) sa jednom ili više mreža šireg područja (npr. WAN, mreže gradskog područja (MAN), Internet, itd.) preko dodatnih mrežnih računarskih uređaja mreže 128. Potrebno je naglasiti da jedan ili više mrežnih računarskih uređaja i/ili mrežnih konfiguracija može biti virtuelizovano (na primer virtuelni svič, virtuelna LAN mreža, itd.).
[0033] Kao što je prethodno opisano, računarski uređaj 116 portala za programere uključuje UI portala za programere, računarski uređaj 122 pružaoca servisa uključuje interfejs 124 pružaoca cloud servisa, a ilustrativni računarski uređaj 130 brokera uključuje interfejs 132 brokera cloud servisa. UI portala 118 za programere, interfejs 124 pružaoca cloud servisa i interfejs 132 brokera cloud servisa mogu biti realizovani kao bilo koja kombinacija softvera, hardvera, firmvera i kola sposobnih da obavljaju funkcije koje su ovde opisane. Prema nekim izvođenjima jedan ili više UI portala 118 za programere, interfejs 124 pružaoca cloud servisa i interfejs 132 brokera cloud servisa može biti konfigurisano da prikazuju informacije (na primer preko grafičkog korisničkog interfejsa, interfejsa komandne linije, itd.) na displeju njima odgovarajućeg računarskog uređaja 134. Prema takvim izvođenjima UI portala 118 za programere, interfejs 124 pružaoca cloud servisa i/ili interfejs 132 brokera cloud servisa može biti konfigurisano da prenesu ulaz primljen od korisnika za prijavljivanje, konfigurisanje odgovarajućeg interfejsa ili manipulaciju informacijama (na primer podešavanjima) povezanim sa njima.
[0034] Prema slici 3 prikazano je ilustrativno okruženje 300 računarskog uređaja 116 portala za programere. Ilustrativno okruženje 300 uključuje alat 304 za kreiranje konektora, plejer 314 konektora, sistem 316 za testiranje i ekspertski sistem 318, kao i UI portal 118 za programere sa slike 1. Prema nekim izvođenjima jedan ili više od UI portala 118 za programere, alata 304 za kreiranje konektora, plejera 314 konektora, sistema 316 za testiranje i ekspertskog sistema 318 mogu uključivati jedan ili više medijuma koji mogu biti očitani od strane računara (na primer memoriju 204, uređaj 210 za skladištenje podataka i/ili bilo koji drugi uređaj za skladištenje medija) sa na njemu uskladištenim instrukcijama i jedan ili više procesora (na primer CPU 200) povezanih sa jednim ili više medijuma koji mogu biti očitani od strane računara i konfigurisanih da izvršavaju instrukcije kojima se izvode ovde opisane funkcije. Dodatno, ilustrativno okruženje 300 uključuje bazu podataka 302 modela i menadžer 306 biblioteka od kojih će svaki biti detaljnije opisan u nastavku.
[0035] Kao što je prethodno opisano, UI portala 118 za programere može biti realizovan kao bilo koji tip firmvera, hardvera, softvera, kola ili njihove kombinacije koja može da izvršava ovde opisane funkcije. Pored toga, svaki od alata 304 za kreiranje konektora, plejera 314 konektora, sistema 316 za testiranje i ekspertskog sistema 318 takođe može biti realizovano kao bilo koji tip firmvera, hardvera, softvera, kola ili njihove kombinacije koja može da izvršava respektivne ovde opisane funkcije.
[0036] Kao što je takođe prethodno opisano, UI portal 118 za programere je konfigurisan da programeru obezbedi interfejs za generisanje paketa API konektora za cloud servis. Kako bi se to uradilo, UI portal 118 za programere je konfigurisan da komunicira sa programerom (na primer kroz HTTP zahteve/odgovore) i da se poveže sa različitim komponentama i medijumom za skladištenje podataka okruženja 300.
[0037] Na primer, UI portal 118 za programere je konfigurisan da komunicira sa programerom kako bi primio informacije (tj. informacije o opisu konektora) koje se mogu koristiti za pravljenje paketa API konektora razvijenih od strane programera. Kao što je prethodno opisano, API konektor se može koristiti za generisanje instanci konektora koji omogućavaju interfejs između brokera cloud servisa i pružaoca cloud servisa. Kao takav, informacije o opisu konektora mogu sadržati bilo koju informaciju koja se odnosi na API konektor koja se može koristiti za kreiranje instance API konektora. Na primer, informacije o opisu konektora bez ograničenja mogu uključivati informacije o korisničkom interfejsu (na primer naziv servisa, jednu ili više ikona, itd.), informacije o modelu resursa (na primer pruženim servisima, kao što je na primer prostor na disku, poštanski sandučići, domeni, itd.), kredencijalima za uspostavljanje provisioning kanala, informacije o planu tarifiranja servisa (na primer pravila naplate za brokera/pružaoca), informacije o resursima. Informacije o opisu konektora mogu biti uskladištene u bazi 302 podataka modela.
[0038] Potrebno je naglasiti da programer preko UI portala 118 za programere može da modifikuje bilo koji deo informacija o opisu konektora (na primer onaj koji može biti sačuvan u bazi podataka 302 modela). Da bi to uradio, UI portal 118 za programere je konfigurisan da obezbedi jedan ili više vizuelnih interfejsa koje programer može da upotrebi za generisanje modela za konektor i/ili za objavljivanje konektora (na primer preko alata 304 za kreiranje konektora), pokretanje jednog ili više testova na sistemu za testiranje spram razvijenog konektora (na primer preko plejera 314 konektora i sistema 316 za testiranje), i verifikaciju konektora spram jednog ili više pravila kompatibilnosti (na primer preko ekspertskog sistema 318) kako bi se obezbedila kompatibilnost unazad pri nadogradnji/izmenama napravljenim na konektoru.
[0039] Baza 302 podataka modela je konfigurisana da za svaki konektor čuva model. Model može da sadrži bilo koju informaciju koja se može koristiti da se definiše ili na neki drugi način pakuje konektor, kao što su nazivi labela u korisničkom interfejsu (na primer ime, opis, itd.), vizuelni materijali (na primer ikone, snimci ekrana, stilovi, itd.), proširenja korisničkog interfejsa (na primer opisi kako uključiti elemente korisničkog interfejsa u postojeće aplikacije), definicije poslovnih objekata koje konektor podržava (na primer korisnik, poštansko sanduče, pravilo filtriranja neželjene pošte, itd.). Potrebno je naglasiti da u nekim izvođenjima najmanje deo ekstenzija korisničkog interfejsa može biti definisan u vidu HTML stranica i da može uključivati relevantni JavaScript kod, CSS stilove, slike, itd., kao i opis za uključivanje elemenata korisničkog interfejsa u UI strukturu svake stranice gde je to primenljivo. Dodatno, informacije o modelu za svaki objekat koji je podržan od strane konektora mogu uključivati jedan ili više podataka (na primer tip, opis, oznaka, podrazumevana vrednost, itd.), jednu ili više relacija (tj. kako su objekti povezan sa drugim objektom(ima) modela servisnog domena i kardinalnošću relacije(a)), i/ili mapiranje načina korišćenja/ograničenja (na primer kako se način korišćenja/ograničenja mapiraju na resurse i planove tarifiranja koji se mogu prodati). Potrebno je naglasiti da prema nekim izvođenjima baza podataka modela može čuvati više verzija istog konektora i/ili više konektora. U skladu sa tim potrebno je dalje naglasiti da je kod takvih izvođenja u kojima se u bazi održava veći broj verzija moguće automatski (na primer poređenjem određenih informacija o modelu) odrediti razliku između verzija (tj. promene).
[0040] Alat 304 za kreiranje konektora je konfigurisan da generiše datoteku sa šemom za sve poslovne objekte koji su povezani sa konektorom. Kako bi se to postiglo, alat 304 za kreiranje konektora je konfigurisan da analizira meta-podatke konektora (na primer informacije o opisu konektora) kako bi identifikovao poslovne objekte, i da generiše datoteku sa šemom. Pored toga, alat 304 za kreiranje konektora je konfigurisan da u takvim izvođenjima u kojima konektor nije prva verzija konektora (tj. konektor koji se pakuje je nadogradnja ili na neki drugi način sadrži izmene na prethodno pakovanom konektoru za isti servis) generiše skup instrukcija za nadogradnju. Instrukcije za nadogradnju mogu uključivati sve promene modela koje se mogu ispratiti i primeniti na nadograđenu verziju konektora, kao što su na primer promene meta-podataka konektora, dodavanje novih podataka u obimu tipa ili dodeljivanje podrazumevane vrednosti, uklanjanje servisa, promene naziva/tipova podataka, dodavanje servisa (na primer novi objekat u modelu aplikativnog domena), dodavanje novih relacija ka/između objekata drugog konektora ili modela aplikativnog domena, preimenovanje relacija, promena kardinalnosti ili opcija relacije, promena tipa koje relacija zahteva, promena pravila pristupa podatku, promena pravila pristupa relacijama i/ili pravila dodeljivanja, razdvajanje relacija na više od jedne relacije prema pravilima itd.
[0041] Alat 304 za kreiranje konektora je dalje konfigurisan da u paketu konektora sastavi gore navedenu generisanu šemu i instrukcije za nadogradnju, ukoliko je primenljivo, zajedno sa izvornim kodom konektora i šablonima za korisnički interfejs (frontend templates). Dodatno, alat 304 za kreiranje konektora je konfigurisan da otpremi sastavljeni paket konektora u bazu 110 podataka o raspoloživim servisima računarskog uređaja 102 marketa koja uključuje katalog konektora (tj. raspoložive servise).
[0042] Menadžer 306 biblioteke je konfigurisan da upravlja protokom podataka između ilustrativnih baza podataka, koje ilustrativno uključuju bazu 308 podataka sa pravilima kompatibilnosti, bazu 310 podataka sa kosturima konektora i bazu 312 podataka sa šablonima korisničkog interfejsa. Kako bi se to postiglo menadžer 306 biblioteke je konfigurisan za obavljanje operacija čitanja i pisanja na svakoj od baza podataka, kao i bilo koje druge operacije koju će možda biti potrebno izvršiti nad podacima (na primer standardizacije podataka, normalizacije podataka, poboljšanja podataka, itd.).
[0043] Baza 308 podataka sa pravilima kompatibilnosti je konfigurisana da čuva pravila za upravljanje verzijama (tj. pravila kompatibilnosti). Drugim rečima, pravila kompatibilnosti obezbeđuju kompatibilnost unazad između verzija. Na primer, pravila kompatibilnosti ne dozvoljavaju da se izvrši promena tipa resursa koji se prodaje, jer bi kompatibilnost unazad bila narušena; ipak, pravila kompatibilnosti dozvoljavaju proširenje konfiguracije tog tipa resursa ili dodatnih tipova resursa koji se prodaju. Kao takva, pravila kompatibilnosti pružaju mogućnost vršenja automatske nadogradnje, pošto se predložena nadogradnja može testirati u odnosu na pravila kompatibilnosti (na primer od strane alata 304 za kreiranje konektora). Potrebno je naglasiti da može postojati nekoliko skupova takvih pravila. Na primer, manja nadogradnja može zadržati punu kompatibilnost unazad, dok velika nadogradnja može zadržati ograničenu kompatibilnost unazad.
[0044] Baza 310 podataka sa kosturima konektora je konfigurisana da čuva kod pripremljen prema modelu i najboljim praksama za razvoj konektora. Kao takav, sačuvani kod se može koristiti kao polazni frejmvork za razvoj pozadinskog dela (tzv. backend) za konektor. Potrebno je imati na umu da se kod može prilagoditi u zavisnosti od modela koji je definisao programer.
[0045] Baza 312 podataka sa šablonima korisničkog interfejsa je konfigurisana da skladišti korisničke interfejse za poznate scenarije (na primer za kreiranje novog korisnika/naloga, kupovinu pretplate za korisnika, onemogućavanje pretplate, prekid pretplate, itd.). U skladu sa tim, kada programer omogući poznati scenario, kod korisničkog interfejsa koji je relevantan za taj scenario se može dodati u UI komponentu konektora iz baze 312 podataka sa šablonima korisničkog interfejsa.
[0046] Potrebno je naglasiti da u nekim izvođenjima podaci koji se čuvaju u odgovarajućim bazama podataka, kao što je ovde opisano, možda neće biti međusobno isključivi. Drugim rečima, određeni podaci koji su ovde opisani kao sačuvani u jednoj bazi podataka mogu dodatno ili alternativno biti čuvani u drugoj bazi podataka koja je ovde opisana ili u drugoj bazi podataka uopšte. Dalje, potrebno je naglasiti da prema nekim izvođenjima podaci mogu biti sačuvani u jednoj bazi podataka, distribuiranoj bazi podataka ili alternativnoj realizaciji baze podataka.
[0047] Plejer 314 konektora je konfigurisan da izvršava test scenarije konektora spram sistema za testiranje (npr. sistema 316 za testiranje). Takvi scenariji mogu uključivati primenu konektora, kreiranje instanci konektora, konfigurisanje šablona servisa i planova tarifiranja, testiranje pretplate/kreiranja korisnika, zahtevanje korišćenja resursa brojača, itd. U skladu sa tim sistem 316 za testiranje je konfigurisan da obezbedi resurse koji se mogu koristiti za testiranje različitih scenarija konektora. Potrebno je naglasiti da resursi mogu biti fizički i/ili virtuelni resursi.
[0048] Ekspertski sistem 318 je konfigurisan da analizira potencijalne servise za uparivanje i da predloži jedan ili više identifikovanih servisa kao kandidate za uparivanje sa servisom koji je povezan sa konektorom. Kako bi se to postiglo ekspertski sistem 318 je konfigurisan da identifikuje informacije povezane sa konektorom (na primer tip usluge, opis, itd.) i da uporedi identifikovane informacije sa odgovarajućim informacijama drugih servisa koji su tipično uparuju. Prema ilustrativnom primeru, ekspertski sistem 318 može predložiti uparivanje anti-spam servisa na osnovu rezultata analize obavljene na konektoru za servis elektronske pošte. Potrebno je naglasiti da bilo koje relacije može promeniti pridruženi model konektora.
[0049] Kao što je prethodno opisano, računarski uređaj 116 portala za programere može se sastojati od jednog ili više računarskih uređaja 134. U skladu sa tim dok su ilustrativno prikazani UI portal 118 za programere, baza 302 podataka sa modelima, menadžer 306 biblioteke, alat 304 za kreiranje konektora, plejer 314 konektora, sistem 316 za testiranje i ekspertski sistem 318 kako se nalaze na jednom računarskom uređaju 134 (tj. računarskom uređaju 116 portala za programere), potrebno je naglasiti da prema nekim izvođenjima jedna ili više komponenti mogu biti locirane na različitim računarskim uređajima 134 koji zajedno čine računarski uređaj 116 portala za programere.
[0050] Prema slikama 4A do 4D, obezbeđen je ilustrativni postupak 400 za kreiranje i distribuciju konektora za integraciju u sistemima za posredovanje i prodaju cloud servisa koje može da izvršava računarski uređaj 116 portala za programere ili preciznije jedna ili više komponenti računarskog uređaja 116 portala za programere. (na primer UI portal 118 za programere, alat 304 za kreiranje konektora, itd.). Postupak 400 započinje u bloku 402 u kojem računarski uređaj 116 portala za programere utvrđuje da li da kreira objekat konektora. Ukoliko je tako, postupak 400 napreduje do bloka 404 u kojem računarski uređaj 116 portala za programere bira relevantni kostur konektora (na primer iz baze 310 podataka kostura konektora sa slike 3). Kao što je prethodno opisano, kostur konektora može biti u vidu koda koji se može koristiti kao početni frejmvork za razvoj pozadinskog dela softvera za konektor.
[0051] U bloku 406 računarski uređaj 116 portala za programere generiše jedinstveni identifikator modela konektora. U bloku 408 računarski uređaj 116 portala za programere od programera konektora zahteva (na primer preko UI portala 118 za programere) informacije o opisu konektora za model konektora. Prema ilustrativnom primeru u bloku 410 računarski uređaj 116 portala za programere zahteva informacije o korisničkom interfejsu (na primer naziv servisa, tip servisa, ikone, itd.) i jednu ili više instrukcija pružaoca servisa. Kao što je prethodno opisano, informacije o opisu konektora mogu uključivati bilo koju informaciju koja se odnosi na API konektor a koja se može koristiti za kreiranje instance API konektora, kao što su informacije o modelu resursa (na primer pruženom servisu(ima), kao što su prostor na disku, poštanski sandučići, domeni, itd.), kredencijali za uspostavljanje provisioning kanala, informacije o planu tarifiranja usluge (na primer pravila naplate za brokera/pružaoca), informacije o resursima.
[0052] U bloku 412 računarski uređaj 116 portala za programere određuje da li je zahtevana informacija primljena (na primer preko UI portala 118 za programere). Ukoliko jeste, postupak 400 napreduje do bloka 414 u kojem računarski uređaj 116 portala za programere čuva primljene informacije (na primer u bazi 302 podataka sa modelima sa slike 3). U bloku 416 računarski uređaj 116 portala za programere obaveštava ekspertski sistem (na primer ekspertski sistem 318 sa slike 3) da izvrši analizu verzije (videti, na primer, postupak 500 sa slike 5). Drugim rečima, računarski uređaj 116 portala za programere obaveštava ekspertski sistem da analizira postojeće konektore (na primer u bazi 110 podataka raspoloživih servisa čvorišta 106 konektora sa slike 1) kao moguće konektore koji su prethodne verzije objekta konektora. U bloku 418 računarski uređaj 116 portala za programere određuje da li je analiza verzije završena, što se na primer može utvrditi po prijemu indikacije od ekspertskog sistema zaduženog za izvršavanje analize verzije.
[0053] Ukoliko računarski uređaj 116 portala za programere utvrdi da je analiza verzije završena, postupak 400 napreduje do bloka 420 prikazanog na slici 4B. U bloku 420 računarski uređaj 116 portala za programere zahteva da primi tipove resursa objekta konektora od programera konektora (na primer preko UI portala 118 za programere) na osnovu povezanog kostura konektora koji je odabran od strane programera konektora u bloku 404. U bloku 422 računarski uređaj 116 portala za programere određuje da li su primljeni zahtevani tipovi resursa. Ukoliko je tako postupak 400 napreduje do bloka 424 u kojem računarski uređaj 116 portala za programere čuva primljene tipove resursa u bazi podataka sa modelima (na primer u bazi 302 podataka sa modelima sa slike 3).
[0054] U bloku 426 računarski uređaj 116 portala za programere obaveštava ekspertski sistem (na primer ekspertski sistem 318) da izvrši analizu relacija (videti, na primer, postupak 600 sa slike 6). Drugim rečima, računarski uređaj 116 portala za programere obaveštava ekspertski sistem da analizira objekat konektora koji se kreira da li možda postoje servisi koji se mogu povezati sa servisom objekta konektora. U bloku 428 računarski uređaj 116 portala za programere određuje da li je analiza relacija završena. Ukoliko jeste, postupak 400 se grana u blok 430 u kojem računarski uređaj 116 portala za programere na osnovu primljenih informacija od ekspertskog sistema 318 u bloku 418 određuje da li objekat konektora ima jednu ili više odgovarajućih verzija objekta konektora koji su prethodno objavljeni. Ukoliko je tako, postupak 400 se grana na blok 450 koji je prikazan na slici 4D i opisan u nastavku; u suprotnom, postupak 400 se grana na blok 432 koji je prikazan na slici 4C.
[0055] U bloku 432 računarski uređaj 116 portala za programere kreira konektor kao funkciju modela servisa. Kako bi se to postiglo, u bloku 434 računarski uređaj portala 116 za programere preuzima pridruženi identifikator modela konektora koji je generisan u bloku 406. Dodatno, u bloku 436 računarski uređaj 116 portala za programere preuzima pridružene resurse modela. Dalje, u bloku 438 računarski uređaj 116 portala za programere preuzima šablon korisničkog interfejsa (na primer korisničke interfejse za poznate scenarije). Dalje, u bloku 440 računarski uređaj 116 portala za programere dizajnira manifest na osnovu preuzetih povezanih resursa modela i šablona korisničkog interfejsa.
[0056] U bloku 442 računarski uređaj 116 portala za programere određuje da li je konektor uspešno kreiran. Ukoliko nije, postupak 400 se vraća u blok 408 kako bi zahtevao dodatne i/ili alternativne informacije o opisu konektora; u suprotnom, postupak 400 napreduje do bloka 444. U bloku 444 računarski uređaj 116 portala za programere generiše paket konektora na osnovu modela. U bloku 446 računarski uređaj 116 portala za programere čuva paket konektora (na primer u bazi 110 podataka raspoloživih servisa čvorišta 106 konektora sa slike 1). U bloku 448 računarski uređaj 116 portala za programere prenosi indikaciju alatu za kreiranje konektora koja ukazuje da je paket konektora sačuvan.
[0057] Kao što je prethodno opisano, u bloku 430 (prikazan na slici 4B) ukoliko računarski uređaj 116 portala za programere utvrdi da objekat konektora ima bilo koju prethodno objavljenu verziju, postupak 400 se grana na blok 450 koji je prikazan na slici 4D. U bloku 450 računarski uređaj 116 portala za programere kreira konektor kao funkciju modela servisa. Kako bi se to postiglo, u bloku 452 računarski uređaj 116 portala za programere preuzima pridruženi identifikator modela konektora koji je generisan u bloku 406. Dodatno, u bloku 454 računarski uređaj 116 portala za programere preuzima pridružene resurse modela. Dalje, u bloku 456 računarski uređaj 116 portala za programere proverava resurse u odnosu na bilo koja primenljiva pravila kompatibilnosti kako bi se obezbedila kompatibilnost unazad za nadogradnje/izmene na konektoru. Kao što je prethodno opisano, pravila kompatibilnosti pružaju mogućnost izvođenja automatske nadogradnje, pošto se predložena nadogradnja može testirati spram pravila kompatibilnosti (na primer kao što se može sačuvati u bazi 308 podataka sa pravilima kompatibilnosti). Dalje, u bloku 458 računarski uređaj 116 portala za programere preuzima šablon korisničkog interfejsa (na primer korisničke interfejse za poznate scenarije). Još dalje, u bloku 460 računarski uređaj 116 portala za programere dizajnira manifest na osnovu preuzetih povezanih resursa modela i šablona korisničkog interfejsa.
[0058] U bloku 462 računarski uređaj 116 portala za programere određuje da li je konektor uspešno kreiran (na primer ukoliko resursi narušavaju bilo koje od pravila kompatibilnosti). Ukoliko nije, postupak 400 se vraća u blok 408 kako bi zahtevao dodatne i/ili alternativne informacije o opisu konektora; u suprotnom, postupak 400 napreduje do bloka 464. U bloku 464 računarski uređaj 116 portala za programere određuje sve razlike između modela prethodne verzije konektora i trenutne verzije konektora. U bloku 466 računarski uređaj 116 portala za programere generiše jednu ili više instrukcija za nadogradnju na osnovu razlika koje su utvrđene u bloku 464. Kao što je prethodno opisano, uputstva za nadogradnju mogu uključivati sve promene modela koje se mogu ispratiti i primeniti na nadograđenu verziju konektora.
[0059] U bloku 468 računarski uređaj 116 portala za programere generiše paket konektora na osnovu modela i instrukcija za nadogradnju. U bloku 470 računarski uređaj 116 portala za programere čuva paket konektora (na primer u bazi 110 podataka raspoloživih servisa čvorišta 106 konektora sa slike 1). U bloku 472 računarski uređaj 116 portala za programere prenosi indikaciju alatu za kreiranje konektora koja ukazuje na to da je paket konektora sačuvan.
[0060] Prema slici 5, obezbeđen je ilustrativni postupak 500 za izvođenje analize verzije na objektima konektora koju može da izvršava računarski uređaj 116 portala za programere ili, preciznije, koji može biti izvršen od strane ekspertskog sistema 318 računarskog uređaja 116 portala za programere. Postupak 500 počinje u bloku 502 u kojoj ekspertski sistem 318 određuje da li je primljena notifikacija o analizi verzije (na primer od programera preko UI portala 118 za programere sa slika 1 i 3).
[0061] U bloku 504 ekspertski sistem 318 upoređuje informacije o opisu konektora trenutnog objekta konektora koji se kreira sa odgovarajućim informacijama iz paketa konektora (jednog ili više) koji su sačuvani u bazi 110 podataka raspoloživih servisa čvorišta 106 konektora sa slike 1, kao što se može odrediti iz pridruženog modela (na primer informacije o modelu resursa koje su sačuvane u bazi 302 podataka sa modelima sa slike 3). Kao što je prethodno opisano, informacije o opisu konektora mogu uključivati bilo koju informaciju koja se odnosi na API konektor koja se može upotrebiti za kreiranje instance API konektora. Prema ilustrativnom primeru, u bloku 506 ekspertski sistem 318 upoređuje tip servisa, naziv servisa i ikonu servisa svakog objekta konektora.
[0062] U bloku 508 ekspertski sistem 318 određuje nivo koincidencije između objekata konektora kao funkciju rezultata poređenja izvršenog u bloku 504. U bloku 510 ekspertski sistem 318 određuje da li je nivo koincidencije koji je određen u bloku 508 veći ili jednak pragu nivoa koincidencije. Nivo koincidencije može biti bilo koja numerička vrednost (na primer iznos, količina, brojač, procenat, itd.) koja se može koristiti za ocenjivanje nivoa podudarnosti između informacija (na primer tip servisa, naziv servisa, ikona servisa, itd.) svakog objekta konektora. U skladu sa tim prag nivoa koincidencije se može definisati kao bilo koji odgovarajući iznos koji se može koristiti za upoređivanje sa nivoom koincidencije kako bi se utvrdilo da li je nivo koincidencije dovoljno visok da se može razumno zaključiti da su objekti konektora povezani (tj. da je jedan prethodna verzija drugog).
[0063] Ukoliko ekspertski sistem 318 utvrdi da je nivo koincidencije veći ili jednak pragu nivoa koincidencije, postupak 500 se grana na blok 512 pre nego što pređe u blok 514. U bloku 512 ekspertski sistem 318 povezuje trenutni objekat konektora sa prethodno objavljenim konektorom kao novu verziju tog objekta konektora. Ukoliko ekspertski sistem 318 utvrdi da je nivo koincidencije manji od praga nivoa koincidencije, postupak 500 se grana na blok 514 u kojem ekspertski sistem 318 prenosi indikaciju alatu za kreiranje konektora (na primer alatu 304 za kreiranje konektora sa slike 3) što ukazuje da je ekspertski sistem završio analizu verzije. U bloku 516 ekspertski sistem 318 prenosi identifikator prethodne verzije objekta konektora, kao što može biti primenljivo (tj. ako je u bloku 512 uspostavljena relacija).
[0064] Prema slici 6, obezbeđen je ilustrativni postupak 600 za izvođenje analize uparivanja na objektima konektora koju može da izvrši računarski uređaj 116 portala za programere, ili preciznije koji može biti izvršen od strane ekspertskog sistema 318 računarskog uređaja 116 portala za programere. Postupak 600 počinje u bloku 602 u kojem ekspertski sistem 318 određuje da li je primljena notifikacija o analizi relacija (na primer od programera preko UI portala 118 za programere sa slika 1 i 3). U bloku 604 ekspertski sistem 318 identifikuje sve bilo koje druge servise.
[0065] P03394-EP-00 (036768.01091) koji bi mogao biti povezan sa tekućim objektom konektora. Kako bi se to postiglo, u bloku 606 ekspertski sistem 318 može da identifikuje druge servise na osnovu informacija koje njihovi paketi konektora čuvaju u bazi 110 podataka raspoloživih servisa čvorišta 106 konektora, kao što su na primer njihovi respektivni tipovi resursa konektora.
[0066] U bloku 608 ekspertski sistem 318 traži od alata za kreiranje konektora da prihvati identifikovanu(e) relaciju(e) sa bilo kojim postojećim i/ili identifikovanim servisima koji će biti povezani sa konektorom. U bloku 610 ekspertski sistem 318 određuje da li su relacije prihvaćene. Potrebno je naglasiti da prema nekim izvođenjima neke, sve ili nijedna od identifikovanih relacija (jedne ili više) može biti prihvaćeno. Dalje je potrebno naglasiti da prema nekim izvođenjima od programera možda neće biti zatraženo da prihvati relacije. Drugim rečima, kod takvih izvođenja relacije mogu biti identifikovane i automatski pridružene, tako da postupak 600 napreduje direktno iz bloka 604 do bloka 612. Ukoliko je u bloku 610 prihvaćena bilo koja od identifikovanih relacija, postupak 600 napreduje u blok 612 pre nego što nastavi do bloka 614. U bloku 612 ekspertski sistem 318 prenosi indikaciju svakom od vlasnika konektora koji su povezani sa prihvaćenim servisom(ima) da potvrdi relaciju. U suprotnom, ukoliko bilo koja od identifikovanih relacija nije prihvaćena u bloku 610, postupak 600 napreduje do bloka 614 u kojem ekspertski sistem 318 prenosi indikaciju alatu za kreiranje konektora (na primer alatu 304 za kreiranje konektora sa slike 3) koja ukazuje na to da je ekspertski sistem završio analizu relacija.
[0067] Iako je predmetni pronalazak ilustrovan i detaljno opisan na slikama i u prethodnom opisu, iste je potrebno smatrati ilustrativnim ali ne i ograničavajućim, podrazumevajući da su samo određena izvođenja prikazana i opisana i da se žele zaštiti sve izmene i modifikacije koje potpadaju u okvir patentnih zahteva.

Claims (6)

PATENTNI ZAHTEVI
1. Postupak za kreiranje i distribuciju konektora aplikativnih programskih interfejsa (API) u sistemu (100) za posredovanje i prodaju cloud servisa, gde postupak sadrži:
prijem, od programera preko UI portala (118) za programere računarskog uređaja (116) portala za programere, informacije o deskriptoru konektora za API konektor povezan sa cloud servisom;
prijema, od programera preko UI portala (118) za programere, jednog ili više tipova resursa modela API konektora;
kreiranje, pomoću alata (304) za kreiranje konektora računarskog uređaja (116) portala za programere, API konektora kao funkcije informacija o deskriptoru konektora i jednog ili više tipova resursa, pri čemu računarski uređaj (116) portala za programere preuzima pridruženi identifikator modela konektora i preuzima pridružene modele resursa, pri čemu računarski uređaj portala (116) za programere preuzima šablon korisničkog interfejsa; generisanje, od strane alata (304) za kreiranje konektora, paketa konektora za kreirani konektor; i
prenos, od strane alata (304) za kreiranje konektora, generisanog paketa konektora do čvorišta (106) konektora računarskog uređaja marketa cloud servisa, pri čemu se paket konektora može upotrebiti za kreiranje jedne ili više instanci API konektora.
2. Postupak prema zahtevu 1, koji dalje sadrži:
analizu, od strane ekspertskog sistema računarskog uređaja (116) portala za programere, da li je objavljena prethodna verzija API konektora povezanog sa cloud servisom;
određivanje, od strane ekspertskog sistema a nakon određivanja da je objavljena prethodna verzija API konektora, nivoa koincidencije između API konektora i prethodne verzije API konektora;
upoređivanje, od strane ekspertskog sistema, nivoa koincidencije sa pragom nivoa koincidencije; i
povezivanje, od strane ekspertskog sistema, API konektora sa prethodnom verzijom API konektora kao nove verzije prethodne verzije API konektora.
3. Postupak prema zahtevu 1, koji dalje sadrži:
analizu, preko ekspertskog sistema računarskog uređaja (116) portala za programere, da li je potrebno sa API konektorom povezati neki drugi servis; određivanje, od strane ekspertskog sistema, da li se jedan ili više drugih servisa može povezati sa API konektorom; i
povezivanje, od strane ekspertskog sistema a nakon identifikovanja da se jedan ili više drugih servisa može povezati sa API konektorom, jednog ili više drugih servisa.
4. Postupak prema zahtevu 1, koji dalje sadrži prijem, od programera preko UI portala (118) za programere, identifikatora povezanog sa kosturom konektora iz baze (310) podataka sa kosturima konektora računarskog uređaja (116) portala za programere, pri čemu se kostur konektora može upotrebiti za generisanje frejmvorka za kreiranje API konektora, i pri čemu prijem jednog ili više tipova resursa API konektora sadrži prijem jednog ili više tipova resursa API konektora na osnovu kostura konektora.
5. Postupak prema zahtevu 1, pri čemu prijem informacija od deskriptoru API konektora uključuje prijem naziva servisa, tipa servisa, ikone povezane sa servisom i jedne ili više instrukcija pružaoca servisa.
6. Postupak prema zahtevu 1, koji dalje sadrži:
određivanje, od strane alata (304) za kreiranje konektora, jedne ili više razlika između API konektora i prethodne verzije API konektora; i generisanje, od strane alata (304) za kreiranje konektora, jedne ili više instrukcija za nadogradnju kao funkcija određene jedne ili više razlika, pri čemu generisanje paketa konektora sadrži generisanje paketa konektora kao funkcije jedne ili više instrukcija za nadogradnju.
RS20240109A 2017-04-14 2018-04-13 Tehnologije za kreiranje i distribuciju integracionih konektora u sistemu za posredovanje cloud servisa RS65115B1 (sr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762485665P 2017-04-14 2017-04-14
PCT/US2018/027596 WO2018191680A1 (en) 2017-04-14 2018-04-13 Technologies for creating and distributing integration connectors in a cloud service brokerage system
EP18785215.7A EP3610369B1 (en) 2017-04-14 2018-04-13 Technologies for creating and distributing integration connectors in a cloud service brokerage system

Publications (1)

Publication Number Publication Date
RS65115B1 true RS65115B1 (sr) 2024-02-29

Family

ID=63790654

Family Applications (1)

Application Number Title Priority Date Filing Date
RS20240109A RS65115B1 (sr) 2017-04-14 2018-04-13 Tehnologije za kreiranje i distribuciju integracionih konektora u sistemu za posredovanje cloud servisa

Country Status (18)

Country Link
US (2) US20180300115A1 (sr)
EP (1) EP3610369B1 (sr)
JP (1) JP7073394B2 (sr)
CN (1) CN110506257B (sr)
AU (1) AU2018252007B2 (sr)
DK (1) DK3610369T3 (sr)
ES (1) ES2970491T3 (sr)
FI (1) FI3610369T3 (sr)
HR (1) HRP20240139T1 (sr)
HU (1) HUE065659T2 (sr)
LT (1) LT3610369T (sr)
MX (1) MX2019012212A (sr)
PL (1) PL3610369T3 (sr)
PT (1) PT3610369T (sr)
RS (1) RS65115B1 (sr)
SI (1) SI3610369T1 (sr)
SM (1) SMT202400040T1 (sr)
WO (1) WO2018191680A1 (sr)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113841371B (zh) * 2020-02-25 2024-01-09 华为云计算技术有限公司 用于将后端即服务与在线服务集成的方法、系统和计算机可读介质
US20220244936A1 (en) * 2021-01-29 2022-08-04 Salesforce.Com, Inc. Dynamically evolving and updating connector modules in an integration platform
CN113626007B (zh) * 2021-10-13 2021-12-31 树根互联股份有限公司 连接器模型的应用方法、装置及服务器
CN116821172A (zh) * 2023-06-28 2023-09-29 北京柏睿数据技术股份有限公司 一种基于异构数据源数据查询系统
US20250378154A1 (en) * 2024-06-11 2025-12-11 Salesforce, Inc. Integration system and method for managing cross-domain connectivity, interoperability, and authentication

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062506B2 (en) * 2003-01-24 2006-06-13 The Cobalt Group, Inc. Staged publication and management of dynamic webpages
US7735077B2 (en) * 2004-05-05 2010-06-08 Bea Systems, Inc. System and method for inventory services
JP2006092167A (ja) 2004-09-22 2006-04-06 Ricoh Co Ltd サービス提供装置、意味関係サービス提供装置、サービス提供プログラム、意味関係サービス提供プログラム、記録媒体、サービス提供方法及び意味関係サービス提供方法
US8046441B2 (en) 2006-02-13 2011-10-25 Infosys Limited Business to business integration software as a service
JP4367424B2 (ja) * 2006-02-21 2009-11-18 沖電気工業株式会社 個人識別装置,個人識別方法
US20070300237A1 (en) * 2006-06-22 2007-12-27 Tim Neil Facilitating access to application data at an application server by a wireless communication device
US8782637B2 (en) * 2007-11-03 2014-07-15 ATM Shafiqul Khalid Mini-cloud system for enabling user subscription to cloud service in residential environment
US8843997B1 (en) * 2009-01-02 2014-09-23 Resilient Network Systems, Inc. Resilient trust network services
US8699499B2 (en) * 2010-12-08 2014-04-15 At&T Intellectual Property I, L.P. Methods and apparatus to provision cloud computing network elements
US20140006482A1 (en) * 2012-07-02 2014-01-02 Vmware, Inc. Method and system for providing inter-cloud services
US20130282565A1 (en) * 2012-04-18 2013-10-24 Mastercard International Incorporated Systems and methods for managing transactions for a merchant
US9348652B2 (en) * 2012-07-02 2016-05-24 Vmware, Inc. Multi-tenant-cloud-aggregation and application-support system
CN104488291B (zh) * 2012-07-27 2018-10-26 诺基亚技术有限公司 用于促进云服务的利用的方法和装置
JP6419700B2 (ja) * 2012-09-07 2018-11-07 オラクル・インターナショナル・コーポレイション クラウドサービスを提供するためのインフラストラクチャ
WO2014039918A1 (en) * 2012-09-07 2014-03-13 Oracle International Corporation Ldap-based multi-customer in-cloud identity management system
US9824390B2 (en) * 2013-03-15 2017-11-21 International Business Machines Corporation Cloud service brokerage service store
US20140365350A1 (en) * 2013-06-10 2014-12-11 Rawllin International Inc. Financial platform that facilitates management of financial services
EP2824891A1 (en) * 2013-07-12 2015-01-14 Twinlife SAS Distributed programmable connection method to establish peer-to-peer multimedia interactions
US20150067171A1 (en) * 2013-08-30 2015-03-05 Verizon Patent And Licensing Inc. Cloud service brokering systems and methods
US10230571B2 (en) * 2014-10-30 2019-03-12 Equinix, Inc. Microservice-based application development framework
US20160198016A1 (en) * 2015-01-05 2016-07-07 Onavo Mobile Ltd. Techniques for network resource caching using partial updates
US9974415B2 (en) * 2015-01-19 2018-05-22 Kohler Co. Shower door assemblies and methods for installing same
US20160260157A1 (en) * 2015-03-05 2016-09-08 International Business Machines Corporation Rapid service orchestration and management
EP3329449B1 (en) 2015-07-31 2025-05-28 Ent. Services Development Corporation LP Federated marketplace portal
EP3281168A4 (en) 2015-07-31 2018-03-14 Hewlett-Packard Enterprise Development LP Discovering and publishing api information

Also Published As

Publication number Publication date
AU2018252007A1 (en) 2019-10-03
LT3610369T (lt) 2024-02-12
SI3610369T1 (sl) 2024-03-29
EP3610369A4 (en) 2021-01-13
CA3059798A1 (en) 2018-10-18
FI3610369T3 (fi) 2024-01-30
HUE065659T2 (hu) 2024-06-28
CN110506257B (zh) 2023-11-03
JP7073394B2 (ja) 2022-05-23
DK3610369T3 (da) 2024-01-29
MX2019012212A (es) 2019-11-28
PT3610369T (pt) 2024-02-05
AU2018252007B2 (en) 2022-11-24
EP3610369A1 (en) 2020-02-19
JP2020516989A (ja) 2020-06-11
WO2018191680A1 (en) 2018-10-18
US20180300115A1 (en) 2018-10-18
SMT202400040T1 (it) 2024-03-13
US11748079B2 (en) 2023-09-05
PL3610369T3 (pl) 2024-03-25
HRP20240139T1 (hr) 2024-04-12
CN110506257A (zh) 2019-11-26
US20210034345A1 (en) 2021-02-04
ES2970491T3 (es) 2024-05-29
EP3610369B1 (en) 2023-11-01

Similar Documents

Publication Publication Date Title
CA3079948C (en) System and method for integrating cloud applications into a cloud service broker platform using an automated, universal connector package
US11748079B2 (en) Technologies for creating and distributing integration connectors in a cloud service brokerage system
CN105027108B (zh) 实例主机配置
RS62921B1 (sr) Tehnologije za sigurno proširenje api-ja za cloud servise na prodavnicama cloud servisa
JP7105298B2 (ja) クラウドサービスブローカーシステムにおいてオファーの機能を自動的に検証する技術
US12417085B2 (en) Obtaining deployment tokens for deploying artifacts to a cloud environment
CA3059798C (en) Technologies for creating and distributing integration connectors in a cloud service brokerage system