130 likes | 287 Views
Primer jedne aplikacije u SQL Developer-u koja koristi SOA servise. Milos Lilic 12948. Cilj ove prezentacije je da pokaze kako se SOA servisi mogu koristiti prakticno u svakodnevnom zivotu. Kao primer koristice se aplikacija koja je razvijena u SQL Developer-u.
E N D
Primer jedneaplikacije u SQL Developer-u kojakoristiSOAservise MilosLilic 12948
Cilj ove prezentacije je da pokaze kako se SOA servisi mogu koristiti prakticno u svakodnevnom zivotu • Kao primer koristice se aplikacija koja je razvijena u SQL Developer-u
Ciljaplikacije je da od odredjenog SOA servisa primi podatke o fudbalskim mecevima koji ce se igrati narednih nedelju dana sirom sveta • Podatke koje ce primiti aplikacija bice u XML formatu koje su oblozene SOAP envelopom
Aplikacija treba da te podatke upise u lokalnoj bazi na racunaru i tabelarno ih prikaze korisniku • Aplikacija nema korisnicki interfejs vec je to skup funkcija koji se poziva kako bi se pribavili zeljeni podaci od SOA servisa
Korisnik kasnije te podatke moze da inegrise u svojoj aplikaciji koja ce kasnije pruziti vecu interaktivnost drugim korisnicima
Funkcijakoja se koristizadobijanjeinformacijeod SOA servisa • SOA servisecepruzatisajt http://bdphelp.betfair.com • Takodje je potrebnonapraviti user account nanjihovomsajtuiskinutinjihov *.wsdlfajl
procedure get_events (p_parent_event_id in number) asl_resultxmltype; beginl_result:=bf_soap.invoke('getEvents', bf_soap.gen_soap_param('eventParentId',to_char(p_parent_event_id)), 'global');insert into "bfBFEvent" select extractvalue(kol, '//eventParentId'),extractvalue(kol, '//eventName'),extractvalue(kol, '//eventTypeId'),extractvalue(kol, '//menuLevel'),extractvalue(kol, '//orderIndex'),to_date(extractvalue(kol, '//startTime')),extractvalue(kol, '//timezone') from (select value(tab) kol from table(xmlsequence(extract(l_result, '//n2:BFEvent', 'xmlns:n2="http://www.betfair.com/publicapi/types/global/v3/"'))) tab); END get_events;
CREATE GLOBAL TEMPORARY TABLE "BF"."bfBFEvent" ( "eventId" NUMBER(22,0) NOT NULL ENABLE, "eventName" VARCHAR2(64 BYTE) NOT NULL ENABLE, "eventTypeId" NUMBER(8,0) NOT NULL ENABLE, "menuLevel" NUMBER(2,0) NOT NULL ENABLE, "orderIndex" NUMBER(10,0) NOT NULL ENABLE, "startTime" DATE NOT NULL ENABLE, "timezone" VARCHAR2(64 BYTE) ) ON COMMIT DELETE ROWS ;
BEGINbf_driver.login (‘m_potic');bf_soap.g_show_envelope_only:=false;bf_driver.getEvents(26718494);BF_DRIVER.LOGOUT;exceptionWHEN others THENbf_soap.g_show_envelope_only:=false;BF_DRIVER.LOGOUT;end;
<n:Result xmlns:n="http://www.betfair.com/publicapi/v3/BFGlobalService/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="n2:GetEventsResp"> <header xsi:type="n2:APIResponseHeader"> <errorCodexsi:type="n2:APIErrorEnum">OK</errorCode> <minorErrorCodexsi:nil="1"/> <sessionTokenxsi:type="xsd:string">7CHmkgHYaRnNU36s8G8BI3uCEknc1gNTgGYbgVc5z08=</sessionToken> <timestamp xsi:type="xsd:dateTime">2011-02-23T22:15:53.302Z</timestamp> </header> <errorCodexsi:type="n2:GetEventsErrorEnum">OK</errorCode> <eventItemsxsi:type="n2:ArrayOfBFEvent"/> <n2:event xmlns:n2="http://www.betfair.com/publicapi/types/global/v3/" xsi:type="n2:eventItems"> <eventParentIdxsi:type="xsd:int">26718494</eventParentId> <eventNamexsi:type="xsd:string">Cuba v Mexico</eventName> <eventTypeIdxsi:type="xsd:int">1</eventTypeId> <menuLevelxsi:type="xsd:int">4</menuLevel> <orderIndexxsi:type="xsd:int">805300</orderIndex> <startTimexsi:type="xsd:dateTime">0001-01-01T00:00:00.000Z</startTime> <timezonexsi:type="xsd:string">GMT</timezone> </n2:event > </eventItems > <minorErrorCodexsi:nil="1"/></n:Result>