Toon posts:

[Java] Jetty in applicatie als web service

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een applicatie gemaakt die mobiele telefoontjes/smsjes afhandeld.
Nou moet ik daar een web service bij maken. Ik had bedacht om dan Jetty in mijn applicatie te verwerken. Mijn vraag is als ik Jetty draai en ik addWebApplication mijn web service war file. Hoe kan deze web service dan met de classes van de rest van de applicatie om gaan?

Dus als ik al in mijn applicatie bij een classe kan opvragen of iemand heeft gebeld. Hoe maak ik hier dan een webservice van?

Ik hoor graag jullie ideeen en voorbeelden.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op woensdag 14 september 2005 @ 16:04:
Ik heb een applicatie gemaakt die mobiele telefoontjes/smsjes afhandeld.
Nou moet ik daar een web service bij maken. Ik had bedacht om dan Jetty in mijn applicatie te verwerken.
Jetty is een servlet container. In principe ben je dit niet nodig als je een webservice aan wilt bieden.

Ik maak zo nu en dan gebruik van Axis (voor webservices) en dan is een servlet container trouwens wel handig.
Mijn vraag is als ik Jetty draai en ik addWebApplication mijn web service war file. Hoe kan deze web service dan met de classes van de rest van de applicatie om gaan?
Kan je er niet een grote applicatie van maken?

Als je er onafhankelijke applicaties van wilt maken, dan moet je dus een andere manier vinden om ze met elkaar te laten communiceren.
Dus als ik al in mijn applicatie bij een classe kan opvragen of iemand heeft gebeld. Hoe maak ik hier dan een webservice van?
Met axis kan bij iedere remote interface een stub genereren en dan heb jij niets meer te maken met het xml geneuzel. Dus jij schrijft jouw remote interface, maakt daar een implementatie van en laat Axis een stub genereren voor xml->java en java->xml en dan ben je al een heel eind.

Verder moet je iets duidelijk uitleggen wat je precies wilt, wat de huidige situatie is en wat je gewenste eind situatie is.

Verwijderd

Topicstarter
Nou de huidige situatie is als volgt:
Ik heb een deamon gemaakt in Java die een GSM terminal gebruikt.
Nu kunnen mensen deze terminal bellen mijn applicatie hangt dan op en stuurt de beller een SMSje met daarin een one-time password.

Nu is de volgende stap dat mensen met dit password via Citrix webinterface kunnen inloggen.
Nu kan deze webinterface aangepast worden en mijn collega wou dit wel zo doen dat via een web service bij mij kon worden gecontroleerd of het opgegeven wachtwoord het wachtwoord is dat via SMS is verstuurd.

Dus nu ben ik op zoek hoe ik dat het beste kan implementeren. Hierbij heb ik dus een web service voorbeeld gekregen. Ik ben zelf niet ervaren met web services.

Is het misschien een idee om de daemon de passwords in een Derby DB op te slaan en dan met een andere daemon (Jetty + web service) die derby DB uittelezen en zo te antwoorden?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op woensdag 14 september 2005 @ 17:09:
Nou de huidige situatie is als volgt:
Ik heb een deamon gemaakt in Java die een GSM terminal gebruikt.
Nu kunnen mensen deze terminal bellen mijn applicatie hangt dan op en stuurt de beller een SMSje met daarin een one-time password.
Ik zou als je gebruik gaat maken van Axis gewoon Jetty als service laten draaien en daar ook je huidige java applicatie in onder brengen.
Dus nu ben ik op zoek hoe ik dat het beste kan implementeren. Hierbij heb ik dus een web service voorbeeld gekregen. Ik ben zelf niet ervaren met web services.
Webservices zijn in principe heel eenvoudig. Met een tool zoals Axis hoef je alleen een remote interface te maken en eventueel Axis wat advies geven over hoe bepaalde mappingen moeten verlopen. Maar dat is echt zo gedaan.

Ik denk dat de voornaamste vraag is hoe jij je applicatie up and running gaat krijgen. Ik zou zelf gaan om jetty als service te draaien en daar ook je bestaande applicatie in onder te brengen.
Is het misschien een idee om de daemon de passwords in een Derby DB op te slaan en dan met een andere daemon (Jetty + web service) die derby DB uittelezen en zo te antwoorden?
Kan ook.. maar is volgens mij meer werk dan het gewoon onder te brengen onder jetty.

  • hannos
  • Registratie: Juli 2003
  • Laatst online: 10-02 13:54

hannos

pardon me

Verwijderd schreef op woensdag 14 september 2005 @ 17:09:
Nou de huidige situatie is als volgt:
Ik heb een deamon gemaakt in Java die een GSM terminal gebruikt.
Nu kunnen mensen deze terminal bellen mijn applicatie hangt dan op en stuurt de beller een SMSje met daarin een one-time password.

Nu is de volgende stap dat mensen met dit password via Citrix webinterface kunnen inloggen.
Nu kan deze webinterface aangepast worden en mijn collega wou dit wel zo doen dat via een web service bij mij kon worden gecontroleerd of het opgegeven wachtwoord het wachtwoord is dat via SMS is verstuurd.

Dus nu ben ik op zoek hoe ik dat het beste kan implementeren. Hierbij heb ik dus een web service voorbeeld gekregen. Ik ben zelf niet ervaren met web services.

Is het misschien een idee om de daemon de passwords in een Derby DB op te slaan en dan met een andere daemon (Jetty + web service) die derby DB uittelezen en zo te antwoorden?
Mij lijkt het gebruik van een database wel erg handig. Je zult toch moeten bijhouden welke wachtwoorden je allemaal uit geeft. Als je ze via je Java applicatie in een database op slaat kun je ze met je webservice gewoon weer uitlezen.

edit:
Beetje nutteloze reply want het is via een servlets veel makkelijker op te lossen. :+
Je Java applicatie die wachtwoorden uitgeeft slaat de wachtwoorden op. Een webservice vraagt ze gewoon weer op.

PS. Tomcat is toch net zo goed te gebruiken als Jetty of niet?

[ Voor 13% gewijzigd door hannos op 14-09-2005 17:22 ]


Verwijderd

Topicstarter
Alarmnummer schreef op woensdag 14 september 2005 @ 17:14:
[...]

Ik zou als je gebruik gaat maken van Axis gewoon Jetty als service laten draaien en daar ook je huidige java applicatie in onder brengen.


[...]

Webservices zijn in principe heel eenvoudig. Met een tool zoals Axis hoef je alleen een remote interface te maken en eventueel Axis wat advies geven over hoe bepaalde mappingen moeten verlopen. Maar dat is echt zo gedaan.

Ik denk dat de voornaamste vraag is hoe jij je applicatie up and running gaat krijgen. Ik zou zelf gaan om jetty als service te draaien en daar ook je bestaande applicatie in onder te brengen.


[...]

Kan ook.. maar is volgens mij meer werk dan het gewoon onder te brengen onder jetty.
Maar dan is mijn vraag nog als ik het in mijn applicatie onderbreng hoe de web applicatie (war) bij mijn classes komt? Zonder dat ze dus van een db gebruik maken.
Nu hang ik dus meer naar de kant van dat ik de GSM server laat voor wat hij is en alles record naar een SQL DB en ik een apparte web service maak die zijn gegevens uit die db haalt en onder tomcat of jetty of wat dan ook kan draaien.

Wat denk jij?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op donderdag 15 september 2005 @ 10:10:
[...]


Maar dan is mijn vraag nog als ik het in mijn applicatie onderbreng hoe de web applicatie (war) bij mijn classes komt? Zonder dat ze dus van een db gebruik maken.
Hmm.. volgens mij gaat er iets mis in de communicatie.

Ik zie namelijk niet in wat een db met classes te maken heeft.

Uitwisseling classes:
De war/ear kan gewoon een directory met jars aan. Als jij daar jouw jars in plaatst, kan de war ook bij jouw classes.

Uitwisseling objecten (class instanties):
Als je het in 1 applicatie onderbrengt draaien ze onder dezelfde vm en kan je gewoon met normale referenties werken.
Nu hang ik dus meer naar de kant van dat ik de GSM server laat voor wat hij is en alles record naar een SQL DB en ik een apparte web service maak die zijn gegevens uit die db haalt en onder tomcat of jetty of wat dan ook kan draaien.
Dat kan ook. Ik weet verder veel te weinig van je systeem af om hier een zinnige opmerking over te maken.Het kan soms verstandiger zijn om de applicaties volledig gescheiden te houden en dan zullen ze idd informatie moet kunnen uitwisselen. Databases zijn een veel gebruikte oplossing, maar er zijn meerdere: remote procedure calls (RPC) zoals bv RMI of anders een messaging oplossing (JMS).

Er kunnen nog wel veel meer alternatieven bedacht worden, maar ik weet niet genoeg van je systeem om een alternatief te kunnen kiezen.
Pagina: 1