Avatar billede kennethv Nybegynder
28. september 2008 - 18:07 Der er 10 kommentarer og
1 løsning

Service applikation til at lave noget på forskellige tidspunkter.

Hej alle,

Jeg er igang med at ville lave en service, som skal udføre forskellige opgaver på forskellige tidspunkter. Jeg har i mit daglige arbejde noget administrativ, som tager hånd om når en medarbejder har valgt andre udfordringer. Jeg skal så sørge for at spørge medarbejderens chefen, om bla. hvad der skal ske med medarbejderens computer. De ting skal min service tage sig af. Og jo tættere vi kommer på deadline, for når medarbejderen stopper og jeg ikke har fået svar fra chefen, skal der sendes en mail. Så i min database kan der godt stå mange forskellige deadlines. Så, jo tættere vi kommer til en deadline jo flere mails. Har læst mig frem til at bruge 'timers' i en service er ikke så smart. Men hvad skal jeg så bruge?
Avatar billede arne_v Ekspert
28. september 2008 - 19:46 #1
Du bliver vel nødt til at gemme alt scheduleret i en database, lade din service køre
noget kode hver X. minut som checker i databasen om der er noget som skal gøres.
Avatar billede arne_v Ekspert
28. september 2008 - 19:55 #2
Hvis det skal være bare en lille smule avanceret, så skal du ikke selv lave det.

Der findes specielt software til den slags. De ord du skal google på er "workflow" og
"BPM".

Du ville finde det *meget* nemmere at finde noget BPM toolkit til Java end til Delphi.

Er Delphi.NET en option ? (det ville gøre det muligt for dig at bruge nogle .NET BPM
toolkits)
Avatar billede kennethv Nybegynder
28. september 2008 - 20:15 #3
Ved dog ikke noget om .NET, men man skal vel prøve.
Avatar billede kennethv Nybegynder
28. september 2008 - 20:17 #4
Hvis jeg skulle gemme det i db, hvordan skulle man holde styr på det? Det tiltaler mig nu mere end .NET, idet jeg ved noget om det.
Avatar billede arne_v Ekspert
28. september 2008 - 20:26 #5
Lad mig illustrere med et simpelt eksempel.

Du laver en tabel HVEMSKALHAVEROVET med nogle felter ID, GENSTAND, STATUS, LASTUPDATE.

Så naar personen siger up laver du en:

INSERT INTO HVEMSKALHAVEROVET(GENSTAND, STATUS, LASTUPDATE) VALUES('Laptop med S/N xxxxx', MAILSENDTTILCHEF, NOW())

og sender email til chef.

Når du modtager svar fra chef, så laver du en:

UPDATE HVEMSKALHAVEROVET SET STATUS=SVARMODTAGETFRACHEF, LASTUPDATE=NOW() WHERE ID=177

Tricket er så at din service kan lave en:

SELECT * FROM HVEMSKALHAVEROVET WHERE STATUS=MAILSENDTTILCHEF AND LASTUPDATE < NOW() - 3

og sende en rykker email for de rækker som dukker op.
Avatar billede arne_v Ekspert
28. september 2008 - 20:27 #6
Det kan laves på hundrede af måder, så det er kun et eksempel.
Avatar billede arne_v Ekspert
28. september 2008 - 20:33 #7
Hvis du vil se hvor langt man kan gå med den slags så prøv og læs:
  http://www.workflowpatterns.com/documentation/documents/BPM-07-12.pdf
Avatar billede hrc Mester
28. september 2008 - 21:55 #8
(måske har du opdaget det selv, men det er meget simpelt at lave en service-applikation i Delphi). BPM-kernen kan bare være en TTimer; det er jo ikke raketvidenskab det her.
Avatar billede kennethv Nybegynder
29. september 2008 - 08:34 #9
Jeg har helt styr på hvordan man laver en service. :) Det jeg dog ikke var helt klar over, var hvordan man kunne få en timer til at sende mails jo tættere man kom på en deadline. Så jeg søgte lidt her på eksperten på løsninger og fandt ud af at man ikke skulle bruge timer i en service. Så nu kom Arne med noget BPM. Det aner jeg så ikke noget om. :( Men det er måske det samme som en timer? Jeg har været ud og søge og der var dog flere som havde løsninger med en timer i. Men jeg tror at jeg har fundet ud af hvordan jeg kan sende mails jo tættere man komme på deadline.
Avatar billede kennethv Nybegynder
01. oktober 2008 - 09:35 #10
Arne. Kan du ligge et svar så får du point.
Avatar billede arne_v Ekspert
01. oktober 2008 - 15:59 #11
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester