Progress Brukerforening 30.11.2008 Tormod Sveli
description
Transcript of Progress Brukerforening 30.11.2008 Tormod Sveli
![Page 1: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/1.jpg)
Web Services i OpenEdge
Tjenesteorientering av ”gamle” applikasjoner, illustrert med eksempler fra Kriminalomsorgen
Progress Brukerforening 30.11.2008
Tormod Sveli
![Page 2: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/2.jpg)
Agenda
• Kort presentasjon• Hva er Web Services?
– Definisjoner, begreper og teknologi
• Kriminalomsorgen– Organisasjon– Fagsystemer og informasjonsflyt
• Praktiske eksempler– Provider– Consumer
• Demo
![Page 3: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/3.jpg)
ProVentus AS
• Konsulentselskap og programvarehus– Etablert oppr. 1992
• Utvikling av kundespesifikke løsninger• Bransjeløsninger• Rådgivning• Teknologiområder:
Nøkkeltall 2004 2005 2006 2007(prognose)
2008Omsetning (1000 kr) 5 400 7 300 9 300 13 900 16 400
Antall ansatte 5 7 9 12 17
![Page 4: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/4.jpg)
Hva er Web Services?
• Åpen standard for integrasjon mellom systemer på ulike teknologiplattformer.
• Forbindes gjerne med en tjenesteorientert arkitektur (SOA) - en systemarkitektur basert på løst koblede ”tjenester”.
• Synkron tjeneste.• Basert på standard protokoller som XML
og HTTP.
![Page 5: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/5.jpg)
Hva kan de brukes til?
• Utveksle data mellom systemer.• Oppslag på informasjon i offentlige
databaser, f.eks Enhetsregisteret:
• Kommersielle informasjonstjenester:– Finans, aksjer, råvarepriser, værvarsel, etc.
![Page 6: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/6.jpg)
Noen begreper
• Web Services Description Language (WSDL)– XML-basert språk som forteller om web-tjenester og
hvordan de skal brukes.
• Simple Object Access Protocol (SOAP)– Protokoll for beskrivelse av formatet på meldinger
som utveksles med en Web Service.
• XML Schema Definition language (XSD) – Brukes for å definere struktur og datatyper for SOAP
meldingen som sendes til og fra en Web Service.
• Mer info:– http://www.w3.org/2002/ws/
![Page 7: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/7.jpg)
Flere begreper…..
• Service provider– Den som eier/tilbyr tjenesten
• Service consumer/requester– Den som kaller/bruker tjenesten
• Service broker– Katalogtjeneste med
informasjon om tilgjengelige tjenester og deres egenskaper.
![Page 8: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/8.jpg)
Kriminalomsorgen
Praktisk kunde case:
![Page 9: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/9.jpg)
Kriminalomsorgens organisasjon
Justisdepartementet
Kriminalomsorgs avdelingen
Kriminalomsorgens utdannings senter (KRUS)
Kriminalomsorgens sentrale
forvaltning (KSF)
6 Regionsko
ntorer 42 Fengsler
46 Friomsorgskontorer
4 Hybelhus / overgangsboliger
Kriminalomsorgens IT Tjeneste
(KITT)
Sentralt nivå
Regionalt nivå
Lokalt nivå
![Page 10: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/10.jpg)
Kriminalomsorgens IT-Tjeneste
• Administrativ enhet i Oslo• Operativ driftsenhet i Horten
– Brukerstøtte, drift og teknisk service– Benytter ITIL (IT Infrastructure Library) som
rammeverk for IT Service Management.
• Landsdekkende, lukket intranett• Sentrale databaser• Applikasjoner distribueres via Citrix• Ca 4000 registrerte brukere totalt
![Page 11: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/11.jpg)
Fagsystemer i Kriminalomsorgen
Kompis Kia• Straffegjennomføring i
fengsel• Fengselsplasser• Innsatte
• Utviklet 1993-94• Progress 10.1B
![Page 12: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/12.jpg)
Fagsystemer i Kriminalomsorgen
Kompis Kif• Saksbehandling av
Straffegjennomføring i frihet
• Soning med elektronisk kontroll
• Utviklet 1995• Progress 10.1B
![Page 13: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/13.jpg)
Fagsystemer i Kriminalomsorgen
Kompis Booking• Registrering av
rettskraftige dommer• Finne ledige
soningsplasser• Innkalling til soning• Begrense soningskø
• Utviklet i 2004• ASP .NET • MS SQL-Server
![Page 14: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/14.jpg)
Fagsystemer i Kriminalomsorgen
DocuLive• Elektronisk dokumentarkiv• Alle dokumenter knyttet til
personer og saker i Friomsorgen
• Skal innføres i alle fengsler
• Innført i 2004• Standardprodukt basert på
Noark4 arkivstandard.• ASP .NET • MS SQL-Server
![Page 15: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/15.jpg)
Øket krav til integrasjon
Dokument
Person/sak
Plasser
Tidl. opphold
Nye dommer
Arkivsak
![Page 16: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/16.jpg)
Hvordan kan vi løse dette?
![Page 17: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/17.jpg)
Innføre tjenesteorientering v.h.a.Web Services!
![Page 18: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/18.jpg)
”KompisWebService” - arkitektur
KIAProgress
KIFProgress
Metode1.p
MetodeX.p
Metode2.p
Procedure Metode1:..End Procedure.*----------*Procedure Metode2:..End Procedure.
Osv.
WebRutKIAPlip
Procedure Metode1:..End Procedure.*------------*Procedure Metode2:..End Procedure.
Osv.
WebRutKIFPlip
pxAppServer
Metode3.p
KriminalomsorgensIntranett
KompisWS.dllKompisWSP.dllProgress.o4glrt.dllProgress.sss.dllProgress.Messages.dllAppServerConnect.dll
Web.config
Http://…/KompisWS.asmx
DatabaseServer
WebServer
Vis Tidligere opphold Kompis Booking
![Page 19: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/19.jpg)
Prosedyre for hver WS metode
Se på ABL-kode
![Page 20: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/20.jpg)
ProxyGen – velg prosedyrer
![Page 21: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/21.jpg)
ProxyGen – generer .Net proxy
![Page 22: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/22.jpg)
Resultat
![Page 23: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/23.jpg)
”Monteres” i et .Net prosjekt
![Page 24: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/24.jpg)
KompisWS.asmx.vbDefiner en function for hver ws metode:
![Page 25: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/25.jpg)
Web.Config
![Page 26: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/26.jpg)
DEMO !
![Page 27: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/27.jpg)
Kall av eksterne Web Services
KriminalomsorgensIntranett
Procedure HentSaker.....Run px2TT.p (
Input ipcMetode, input ipcParam,output opcttHandles, output opcErrStatus)
..
..End.
Kompis-Kif applikasjon
DataBaseServer
WebServer
Terminalserver farm
pxKatalog DB
pxAppServer
KompisWSC.p
Procedure ExtMetode1...End./* -------------------------- */Procedure ExtMetode2...End./* -------------------------- */Procedure ExtMetodeX...End.
Http://…/BookingWebService.asmx
Connect pxAppServer – Run KompisWSC.p on hAppserverHdl (Input …., .. , Output…)
Hent saker for enhet
BookingWebService.dllMetode1 …...Metode2 …...
Http://…/BookingWebService.asmx
BookingMS/SQL
px2TT.p
![Page 28: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/28.jpg)
Mere ABL-kode
pxConsumer
![Page 29: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/29.jpg)
Kall av metode i ”egen” WS (fra Kif til Kia)
• Bruker WS for integrasjon mellom 2 Progress appl.:
![Page 30: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/30.jpg)
Kall av eksterne Web Services
KriminalomsorgensIntranett
Procedure HentSaker.....Run px2TT.p (
Input ipcMetode, input ipcParam,output opcttHandles, output opcErrStatus)
..
..End.
Kompis-Kif applikasjon
DataBaseServer
WebServer
Terminalserver farm
pxKatalog DB
pxAppServer
KompisWSC.p
Procedure ExtMetode1...End./* -------------------------- */Procedure ExtMetode2...End./* -------------------------- */Procedure ExtMetodeX...End.
Http://…/BookingWebService.asmx
Connect pxAppServer – Run KompisWSC.p on hAppserverHdl (Input …., .. , Output…)
Hent saker for enhet
BookingWebService.dllMetode1 …...Metode2 …...
Http://…/BookingWebService.asmx
BookingMS/SQL
px2TT.p
![Page 31: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/31.jpg)
Kall av ekstern WS-metode
• ”HentSakerForEnhet” fra Booking WS:
![Page 32: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/32.jpg)
ConnectBookingWebService
![Page 33: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/33.jpg)
px2TT.p
• Connect Appserver:
![Page 34: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/34.jpg)
px2TT.p - forts
• Kjør ”WebServiceConsumer” på Appserver:
![Page 35: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/35.jpg)
Kall av eksterne Web Services
KriminalomsorgensIntranett
Procedure HentSaker.....Run px2TT.p (
Input ipcMetode, input ipcParam,output opcttHandles, output opcErrStatus)
..
..End.
Kompis-Kif applikasjon
DataBaseServer
WebServer
Terminalserver farm
pxKatalog DB
pxAppServer
KompisWSC.p
Procedure ExtMetode1...End./* -------------------------- */Procedure ExtMetode2...End./* -------------------------- */Procedure ExtMetodeX...End.
Http://…/BookingWebService.asmx
Connect pxAppServer – Run KompisWSC.p on hAppserverHdl (Input …., .. , Output…)
Hent saker for enhet
BookingWebService.dllMetode1 …...Metode2 …...
Http://…/BookingWebService.asmx
BookingMS/SQL
px2TT.p
![Page 36: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/36.jpg)
KompisWSC.p (WS-consumer) 1
• Hvilken webservice, hvilken metode?
![Page 37: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/37.jpg)
Kall av eksterne Web Services
KriminalomsorgensIntranett
Procedure HentSaker.....Run px2TT.p (
Input ipcMetode, input ipcParam,output opcttHandles, output opcErrStatus)
..
..End.
Kompis-Kif applikasjon
DataBaseServer
WebServer
Terminalserver farm
pxKatalog DB
pxAppServer
KompisWSC.p
Procedure ExtMetode1...End./* -------------------------- */Procedure ExtMetode2...End./* -------------------------- */Procedure ExtMetodeX...End.
Http://…/BookingWebService.asmx
Connect pxAppServer – Run KompisWSC.p on hAppserverHdl (Input …., .. , Output…)
Hent saker for enhet
BookingWebService.dllMetode1 …...Metode2 …...
Http://…/BookingWebService.asmx
BookingMS/SQL
px2TT.p
![Page 38: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/38.jpg)
• Connect ”WebService”:
KompisWSC.p (WS-consumer) 2
![Page 39: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/39.jpg)
• En intern procedure for hver ekstern metode:
KompisWSC.p (WS-consumer) 3
![Page 40: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/40.jpg)
Kall av eksterne Web Services
KriminalomsorgensIntranett
Procedure HentSaker.....Run px2TT.p (
Input ipcMetode, input ipcParam,output opcttHandles, output opcErrStatus)
..
..End.
Kompis-Kif applikasjon
DataBaseServer
WebServer
Terminalserver farm
pxKatalog DB
pxAppServer
KompisWSC.p
Procedure ExtMetode1...End./* -------------------------- */Procedure ExtMetode2...End./* -------------------------- */Procedure ExtMetodeX...End.
Http://…/BookingWebService.asmx
Connect pxAppServer – Run KompisWSC.p on hAppserverHdl (Input …., .. , Output…)
Hent saker for enhet
BookingWebService.dllMetode1 …...Metode2 …...
Http://…/BookingWebService.asmx
BookingMS/SQL
px2TT.p
![Page 41: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/41.jpg)
• Kjør aktuell metode i ”hWsRutine”:
KompisWSC.p (WS-consumer) 4
![Page 42: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/42.jpg)
• Konverterer XML-data fra wsmetode til dataset:
KompisWSC.p (WS-consumer) 5
![Page 43: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/43.jpg)
Kall av eksterne Web Services
KriminalomsorgensIntranett
Procedure HentSaker.....Run px2TT.p (
Input ipcMetode, input ipcParam,output opcttHandles, output opcErrStatus)
..
..End.
Kompis-Kif applikasjon
DataBaseServer
WebServer
Terminalserver farm
pxKatalog DB
pxAppServer
KompisWSC.p
Procedure ExtMetode1...End./* -------------------------- */Procedure ExtMetode2...End./* -------------------------- */Procedure ExtMetodeX...End.
Http://…/BookingWebService.asmx
Connect pxAppServer – Run KompisWSC.p on hAppserverHdl (Input …., .. , Output…)
Hent saker for enhet
BookingWebService.dllMetode1 …...Metode2 …...
Http://…/BookingWebService.asmx
BookingMS/SQL
px2TT.p
![Page 44: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/44.jpg)
• Overfører data fra dataset til interne T-T’s:
Tilbake i ”Hent Saker fra Booking” . w
![Page 45: Progress Brukerforening 30.11.2008 Tormod Sveli](https://reader035.fdocuments.us/reader035/viewer/2022062423/568146e0550346895db417a3/html5/thumbnails/45.jpg)
DEMO !