progress brukerforening 30.11.2008 tormod sveli

45
Web Services i OpenEdge Tjenesteorientering av ”gamle” applikasjoner, illustrert med eksempler fra Kriminalomsorgen Progress Brukerforening 30.11.2008 Tormod Sveli

Upload: karsen

Post on 13-Jan-2016

41 views

Category:

Documents


4 download

DESCRIPTION

Web Services i OpenEdge Tjenesteorientering av ”gamle” applikasjoner, illustrert med eksempler fra Kriminalomsorgen. Progress Brukerforening 30.11.2008 Tormod Sveli. Agenda. Kort presentasjon Hva er Web Services? Definisjoner, begreper og teknologi Kriminalomsorgen Organisasjon - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Progress Brukerforening 30.11.2008 Tormod Sveli

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

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

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

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

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

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

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

Kriminalomsorgen

Praktisk kunde case:

Page 9: Progress Brukerforening 30.11.2008 Tormod Sveli

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

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

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

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

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

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

Øket krav til integrasjon

Dokument

Person/sak

Plasser

Tidl. opphold

Nye dommer

Arkivsak

Page 16: Progress Brukerforening 30.11.2008 Tormod Sveli

Hvordan kan vi løse dette?

Page 17: Progress Brukerforening 30.11.2008 Tormod Sveli

Innføre tjenesteorientering v.h.a.Web Services!

Page 18: Progress Brukerforening 30.11.2008 Tormod Sveli

”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

Prosedyre for hver WS metode

Se på ABL-kode

Page 20: Progress Brukerforening 30.11.2008 Tormod Sveli

ProxyGen – velg prosedyrer

Page 21: Progress Brukerforening 30.11.2008 Tormod Sveli

ProxyGen – generer .Net proxy

Page 22: Progress Brukerforening 30.11.2008 Tormod Sveli

Resultat

Page 23: Progress Brukerforening 30.11.2008 Tormod Sveli

”Monteres” i et .Net prosjekt

Page 24: Progress Brukerforening 30.11.2008 Tormod Sveli

KompisWS.asmx.vbDefiner en function for hver ws metode:

Page 25: Progress Brukerforening 30.11.2008 Tormod Sveli

Web.Config

Page 26: Progress Brukerforening 30.11.2008 Tormod Sveli

DEMO !

Page 27: Progress Brukerforening 30.11.2008 Tormod Sveli

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

Mere ABL-kode

pxConsumer

Page 29: Progress Brukerforening 30.11.2008 Tormod Sveli

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

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

Kall av ekstern WS-metode

• ”HentSakerForEnhet” fra Booking WS:

Page 32: Progress Brukerforening 30.11.2008 Tormod Sveli

ConnectBookingWebService

Page 33: Progress Brukerforening 30.11.2008 Tormod Sveli

px2TT.p

• Connect Appserver:

Page 34: Progress Brukerforening 30.11.2008 Tormod Sveli

px2TT.p - forts

• Kjør ”WebServiceConsumer” på Appserver:

Page 35: Progress Brukerforening 30.11.2008 Tormod Sveli

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

KompisWSC.p (WS-consumer) 1

• Hvilken webservice, hvilken metode?

Page 37: Progress Brukerforening 30.11.2008 Tormod Sveli

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

• Connect ”WebService”:

KompisWSC.p (WS-consumer) 2

Page 39: Progress Brukerforening 30.11.2008 Tormod Sveli

• En intern procedure for hver ekstern metode:

KompisWSC.p (WS-consumer) 3

Page 40: Progress Brukerforening 30.11.2008 Tormod Sveli

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

• Kjør aktuell metode i ”hWsRutine”:

KompisWSC.p (WS-consumer) 4

Page 42: Progress Brukerforening 30.11.2008 Tormod Sveli

• Konverterer XML-data fra wsmetode til dataset:

KompisWSC.p (WS-consumer) 5

Page 43: Progress Brukerforening 30.11.2008 Tormod Sveli

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

• 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

DEMO !