Toon posts:

Java en PHP

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste Tweakers,

Ik heb op dit moment ruim 5 jaar ervaring met talen PHP (ook object geörienteerd), HTML, CSS, JavaScript en SQL.
Daarnaast heb ik nu 4 maanden ervaring met Java en een heel klein beetje met C en C++.

Ik heb voor een bedrijf een webapplicatie ontwikkeld, maar zij willen bepaalde gegevens graag offline hebben in plaats van online.

Nu zat ik eraan te denken om een Java applicatie te maken, die gegevens ophaalt uit de database van de webapplicatie. Daarnaast staan er lokaal gegevens opgeslagen die gecombineerd met de online gegevens bepaalde excel bestanden moet creëren en bepaalde statistieken.

Nu is mijn vraag wat jullie van zo'n structuur vinden, is dit een goede manier of zijn er wellicht andere manieren. Dat de gegevens die offline zijn op maar 1 computer beschikbaar is is geen probleem, dat is juist de bedoeling vanuit het bedrijf.

Acties:
  • +2 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Gaan de clients ook data kunnen muteren zonder connectie met de masterdatabase? Want dan kom je vanzelf uit op interessante dingen als: wat als client 1 een record heeft verwijderd terwijl client 2 datzelfde record heeft aangepast? Welke change is dan leading en wordt naar je master-DB gepusht?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • +1 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 27-09 22:07

MAX3400

XBL: OctagonQontrol

Waarom een hele applicatie maken?

Kan je niet een SQL-job maken die elke x dagen een bepaalde query uitvoert en de resultaten hiervan in een bestand wegschrijft waarna een sendmail-job het bestand aan de klant aanlevert? Of dat het uitvoerbestand in een een random dir in /var/www waarna de link hiervan de klant wordt verstuurd?

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • +1 Henk 'm!

  • Afvalzak
  • Registratie: Oktober 2008
  • Laatst online: 31-08 12:02

Afvalzak

Zet jij mij even buiten?

Ik zou eerder aan een API denken dan aan het openstellen van je database naar buitenaf.
Wat is de reden dat ze het liever offline hebben? Snelheid of veiligheid, of alleen om het mergen met die andere bestanden mogelijk te maken?

Last.fm | Code Talks


Acties:
  • 0 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 04-07 16:30
Gezien de grote verschillen in eisen en kwaliteit tussen webapplicaties en PHP vs. Java en lokale applicaties zou ik je niet aanraden het op die manier op te lossen.

Je hebt twee goede opties:

1. Gebruik offline applicatie JavaScript opties die nu in de meeste browsers werken
2. maak een CEF/Electron applicatie als je klant geen browser gebruikt die dat kan

Voor dat je dit hele verhaal gaat starten is het belangrijk om nu alvast de frontend en backend van je applicatie te scheiden om dat je straks een backend en twee frontends gaat krijgen, en die dikke laag waarbij frontend en backend in een zitten gaat je dan problemen opleveren. Nu hoeft dat niet meteen te betekenen dat je je applicatie moet omtoveren naar een SPA, maar je kan bijvoorbeeld wel alle logica losmaken uit de applicatie en intern met een bus of event api werken (of anders zelfs intern REST gebruiken).

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De reden is onder andere de veiligheid, omdat we op termijn op gevoelige gegevens overgaan die het bedrijf gewoon niet online opgeslagen wilt hebben.
Let op, de Java applicatie zal geen gegevens naar de database sturen / wijzigen, alleen uitlezen. Een API is in dit geval inderdaad beter lijkt mij.

De Java applicatie zal ook grafieken gaan tonen of opties voor wat er geëxporteerd moet worden, bijvoorbeeld een bepaalde categorie. Daarnaast zijn statistieken ook in te zien zonder Excel export.

[ Voor 12% gewijzigd door Verwijderd op 20-04-2017 15:26 ]


Acties:
  • 0 Henk 'm!

  • Standeman
  • Registratie: November 2000
  • Laatst online: 09-10 17:27

Standeman

Prutser 1e klasse

Ik snap het offline gedeelte niet helemaal. Je kan dat prima in de webapplicatie regelen met een degelijke autorisatie en authenticatie. De juiste rollen definiëren en je bent al een heel eind. Twee losse applicaties onderhouden geeft alleen maar meer werk en een grotere kans op fouten.
Heeft PHP niet zoiets als Spring Security die het grotendeels voor je regelt?

De enige reden om het offline te doen is imo wanneer er geen verbinding mogelijk is.

The ships hung in the sky in much the same way that bricks don’t.


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Er is niks 'offline' aan een Java applicatie die via een API gegevens ophaalt. Je hebt exact dezelfde beveiligingsproblemen als dat je met een browser hebt. Sterker nog; browsers hebben een aardig aantal dingen aan boord (duidelijk maken dat je te maken hebt met een valid SSL certificaat, CORS beveiliging, etc.) die je in je eigen client zelf moet bouwen.
Standeman schreef op donderdag 20 april 2017 @ 15:31:
De enige reden om het offline te doen is imo wanneer er geen verbinding mogelijk is.
En dan gaan mensen dingen op USB sticks mee naar huis nemen, met alle gevolgen van dien.

[ Voor 29% gewijzigd door Hydra op 20-04-2017 15:54 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

Verwijderd

Als ik je goed begrijp heb je twee alternatieven:
- zet de data die niet online mag toch op de webserver, in een map die via de browser niet te benaderen is, en handel alles in PHP af.
- installeer een lokale webserver die de online data van de webserver haalt en combineert met de offline data, waarbij je dan ook weer PHP kunt gebruiken.

Acties:
  • 0 Henk 'm!

  • HansvDr
  • Registratie: Augustus 2009
  • Niet online
Of leg een vpn naar de webserver en je kunt live bij de data. Kun je lokaal een database met een view naar de webserver database maken.

Acties:
  • 0 Henk 'm!

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 01:10
Of je zorgt gewoon dat je webapplicatie veilig is. Fatsoenlijke SSL en 2FA doen een hoop.

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
Ik snap het wel: men wil de gevoelige informatie niet in de database hebben die (indirect) via de webserver toegankelijk is.
Is er geen enkel scenario denkbaar waarin dat te verdedigen zou zijn?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
farlane schreef op zaterdag 22 april 2017 @ 23:38:
Is er geen enkel scenario denkbaar waarin dat te verdedigen zou zijn?
Ja hoor. Maar als je dat dan veilig wil hebben moet je het werken met die data op een enkel werkstation mogelijk maken. Dit werkstation is dan onderdeel van een netwerk dat niet in contact staat met andere netwerken.

Het probleem is natuurlijk dat dat niet is hoe men tegenwoordig wil werken. Als je beperkingen oplegt gaan mensen die omzeilen en op hun eigen manier data verplaatsen. Vaak gewoon via zaken als dropbox of erger; via unencrypted USB sticks.

Daarom is dit in de meeste gevallen niet meer van deze tijd. Je kunt beter zorgen dat data wel van afstand opvraagbaar is en hier ook het systeem goed op inrichten dmv goeie beveiliging en 2FA.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • MarCreative
  • Registratie: Februari 2008
  • Laatst online: 29-09 17:02
Ik zelf werk professioneel met gescheiden gevoelige data; als je dit soort toepassingen wilt ontwikkelen haal je heel wat op je hals. Ik begrijp dat je sowieso gebruik wilt maken van de database? Zoals je zei: "Nu zat ik eraan te denken om een Java applicatie te maken, die gegevens ophaalt uit de database van de webapplicatie".

Dan betekend dit in principe dat er een "lijntje" ligt naar de database en je in principe niet "veilig" bezig bent (gezien je casus; uiteraard kan die lijn veilig zijn!). Beter is zoals aangegeven een goede veilige hostingomgeving/webapplicatie te ontwikkelen in combinatie met een (TLS) API. Ik zou dit in jou geval ook bij PHP houden gezien je kennis daarin.

Wat Hydra ook aandraagt; mensen gaan er geheid omheen werken. Dat is een veel groter gevaar voor het bedrijf! Dan zit je meer op het niveau van beleidsvoering maar toch...
Pagina: 1