login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Hoe modules te ontwikkelen gekoppeld aan host (p2p soort van)

Offline GroundZero - 15/12/2015 16:54
Avatar van GroundZeroLid Beste,

ik heb op internet gezocht maar niet echt iets gevonden, of geen duidelijk informatie en gezien ik zeker weet dat hier mensen zijn die ervaring hebben hiermee, en ook de kennis er van, mijn vraag dus hier.

Ik vroeg me af hoe sommige bedrijven (of bijvoorbeeld websites als Theme forest) dingen verkopen met een licentie.

Je mag dan één jaar een product gebruiken, na dat jaar moet je opnieuw betalen of je hebt een "standaard" pakket net A, B en C er in. D kan je niet gebruiken (of zie je niet) totdat je een licentie gekocht hebt.

Dit zijn dan eigenlijk toch modules? en hoe werkt dit? want de scripting heb je zelf, er zit alleen een tussen code in die communiceert met de server van de maker en kijkt of er een geldige licentie is of hoe moet ik dit zien?

Ik hoop dat iemand mij een beetje op weg kan helpen hoe dit te ontwikkelen
(puur uit interesse) 

7 antwoorden

Gesponsorde links
Offline Thomas - 15/12/2015 19:18
Avatar van Thomas Moderator Alles zelf hosten?
Code encrypten?
Webservices schrijven die communiceren met een externe dienst?

Er is waarschijnlijk genoeg theoretisch materiaal over te vinden, maar om te komen tot een praktisch gebruik is het misschien handiger om een concrete usecase te hebben om te kijken welke oplossing het handigste is voor dat specifieke geval. Oftewel "modules" is nogal/te algemeen.
Offline GroundZero - 15/12/2015 20:21
Avatar van GroundZero Lid Zal proberen het beter uit te leggen 

Stel dat ik een CMS systeem schrijf om een website te beheren. Stel dat ik binnen dit CMS optioneel ook een webwinkel wil kunnen beheren, dus producten toevoegen, aanpassen en verwijderen.

Ik zou dus willen leren hoe ik dan (kan het niet anders uitleggen dan op deze manier haha) een code schrijf welke de huidige kan aanvullen, maar alleen werkt zolang in onze database staat (of een XML of wat dan ook veilig en betrouwbaar is) dat de gebruiker / host toegang heeft om deze gebruiken.

Dus gewoon een standaard website, die alles laadt uit een bepaalde folder mits het bestand dat gelaadt word door mij goedgekeurd woord voor de host waar het op staat 
Offline Thomas - 16/12/2015 13:54 (laatste wijziging 16/12/2015 13:59)
Avatar van Thomas Moderator Bij een voormalig werkgever ontwikkelden wij ook (min of meer) zo, maar hadden wij onze websites in eigen beheer. Er lagen al een heleboel maatwerk modules "op de plank", en het installeren van zo'n module was ene kwestie van het mergen van code in een project + wat configuratie achteraf.

Ik denk dat het voor het mogelijk maken en het beheren (van code in het algemeen) in ieder geval belangrijk is dat alle code op een handige manier in een versiebeheersysteem zit.

Daarnaast zullen je modules ook echt modulair moeten zijn, daarom is het waarschijnlijk handig dat de code hiervan een object georiënteerde opbouw heeft.

Dan is het voor deployment handig dat er in deze modulefunctionaliteit bepaalde faciliteiten zitten zoals:
- functionaliteit die onderlinge afhankelijkheden controleert (module A heeft module B en C nodig) als noodzakelijke voorwaarde voor installatie
- functionaliteit voor het op database-niveau installeren (en de-installeren) van modules en ook de mogelijkheid om tabeldefinities te "patchen" mochten er fixes voor een module uitkomen (een soort van database-versioning-voor-modules dus)

Daarbij kan het handig zijn dat deze modules zelf ook een "aan/uit" knop hebben waar jij wellicht op doelt.

Dit is een mogelijke insteek (of in ieder geval een soort van schets van randvoorwaarden), maar dit zegt nog lang niet alles want dit hangt verder helemaal af van de technische insteek van de rest van je product(en) en servers.

Wat je hierboven beschrijft is een soort van centraal aanstuursysteem. Deze opzet heeft wel een aantal implicaties: elke page-request die zo'n website ontvangt zou dan resulteren in het eerst doen van een controle met een centrale (externe?) server waarop gewacht moet worden voordat zo'n site een pagina kan serveren. Dit zorgt voor overhead/vertraging. En wat als die server er uit ligt? Liggen dan ook alle sites plat? Je creëert hier tevens een afhankelijkheid mee.

Het is toch ook niet zo dat alle mogelijke code al aanwezig is in een site, en op afroep ge(de)activeerd kan worden? Wat ik hierboven beschreef waren aparte installatie-acties indien een klant extra functionaliteit wil, dit is dus echt code die op dat moment wordt toegevoegd aan de codebase (van het project behorende) bij die site.

Volgens mij gaat het hier ook om vertrouwen, en als ik jouw voorgespiegelde aanpak goed interpreteer is dat vertrouwen ver te zoeken . Indien je alles zelf host (alleen jij hebt toegang tot een of enkele dedicated servers) dan heb je een heleboel van de bovengenoemde problematiek niet. Maar dit moeten klanten ook willen (ook een kwestie van vertrouwen).

En dan is er nog een praktisch aspect: hoe past dit alles in je businessmodel? Dit alles gaat veel verder dan simpelweg technische oplossingen.
Offline GroundZero - 16/12/2015 17:10 (laatste wijziging 28/12/2015 10:21)
Avatar van GroundZero Lid Zeer goed advies en verhaal Ja ik kwam op het idee / interesse om dit te leren omdat het me gewoon leuk leek. Ik heb ergens bij een bedrijf een tool gekocht (bij gebrek aan tijd om het zelf te maken) welke een sitemap maakt in XML van ALLE pagina's in onze webwinkel (meer dan 25.000).
Ook maakt hij een sitemap van alle gebruikte images, en zo voort en zo voort.

Dit tooltje kocht je met een licentie, je betaald dus bijvoorbeeld €25 en kan het één jaar lang gebruiken zoveel je wilt. Na dat jaar (als ik het moet geloven) start het tooltje niet meer op en moet je de licentie verlengen.

Je hebt er weinig aan, ik zal het zelf in elk geval nooit nodig hebben, maar de techniek er achter interesseert mij wel en zou deze dan ook willen leren, dus dat ik zo iets zou kunnen maken met een licentie.

Uiteraard, als je een hele goede programmeur bent, pas je gewoon de bestanden aan (in sommige gevallen denk ik) en werkt het alsnog wanneer er geen code van de externe server geladen word, maar de techniek er achter interesseerde mij 

Dankjewel voor je reactie!

Hier een voorbeeld: https://www.dtg...bsite.aspx

je kan bij hun ook een webwinkel module afnemen en meer 
Offline Thomas - 28/12/2015 14:54
Avatar van Thomas Moderator
Citaat:
Ik heb ergens bij een bedrijf een tool gekocht (bij gebrek aan tijd om het zelf te maken) welke een sitemap maakt in XML van ALLE pagina's in onze webwinkel (meer dan 25.000).
Ook maakt hij een sitemap van alle gebruikte images, en zo voort en zo voort.

Dat soort indexeringen van je eigen site zou je toch ook zelf moeten kunnen maken?

Citaat:
Dit tooltje kocht je met een licentie, je betaalt dus bijvoorbeeld €25 en kan het één jaar lang gebruiken zoveel je wilt. Na dat jaar (als ik het moet geloven) start het tooltje niet meer op en moet je de licentie verlengen.

Dat klinkt (bij nader inzien) als een soort van API-call die je doet naar externe functionaliteit (een soort webservice dus). Die kun je altijd aan- of uitzetten. Je zou het zo kunnen maken dat de crawlfunctionaliteit extern staat en de lokale code zelf niets "doet" maar enkel dient als doorgeefluik van de gecrawlde informatie. Is de licentieperiode voorbij stop je gewoon met het indexeren + doorgeven van data.
Offline GroundZero - 06/01/2016 14:32 (laatste wijziging 06/01/2016 14:33)
Avatar van GroundZero Lid Klopt kon ik zelf maken haha, maar in dit geval moest het binnen een paar minuten en gezien de 47.000+ pagina's en er ook voor filmpjes en plaatjes een aparte sitemap moest en zo was dit even sneller.

Ik snap niet helemaal precies wat je bedoeld, of ja... ik snap niet helemaal hoe het moet zal ik het zo zeggen hahaha.

Je maakt dus een code, die afhankelijk is van een 2e code en die 2e code die include je dan via het web vanaf een server.

[ INHOUD ]

[ CODE VIA HTTP ]

[ INHOUD ]

zoiets zeg maar, en in mijn code doe ik dan een check of die persoon dit wel of niet mag gebruiken? want ze kunnen dan wel de bron opvragen maar ze kunnen nooit "alle" code zien omdat er PHP in zit en je dit niet ziet.

Begrijp ik het zo goed? 

Thanks voor je antwoord!

P.S. Een crawl script was als voorbeeld, kan ook een CMS zijn net als TinyMCE bijvoorbeeld. Daar kan je ook een "image uploader met GUI" nemen die je per jaar moet betalen 

Zelfde idee dus ongeveer.
Offline Thomas - 06/01/2016 15:41 (laatste wijziging 06/01/2016 15:46)
Avatar van Thomas Moderator Maar die [ CODE VIA HTTP ], zou dat dan PHP-code moeten zijn die je vervolgens evalueert ofzo? Dat lijkt mij overigens geen goede strategie want dat lijkt verdacht veel op cross site scripting terwijl je zelf bewust deze functionaliteit faciliteert .

Wat je wel zou kunnen doen is de DATA waarmee je werkt extern zetten. Deze is dan bijvoorbeeld bereikbaar via een externe database-connectie of webservice, voor een beperkte tijd.

Wat ik niet helemaal begrijp is het volgende: dit soort zaken doe je meestal voor partijen die zelf niet heel erg tech savvy zijn of wanneer jij een of andere unieke dienst hebt ofzo waarbij je informatie kunt leveren die normaal niet 1-2-3 beschikbaar is. Je zult dan dus ook een complete (code) oplossing moeten leveren die aan de zijde van de partij wordt geinstalleerd waarmee zij (extern) bij jouw data kunnen. Maar als je dat doet, waarom neem je dan niet de hele oplossing zelf in beheer? In het eerder genoemde voorbeeld van een webshop, waarom zou je in dat geval de data(base) extern zetten? Volgens mij introduceer je daarmee enkel overhead. Je zou ook kunnen overwegen om gewoon een totaaloplossing te bieden?

Ik denk dat in het specifieke geval wat jij noemt (webshop) het nogal onpraktisch zou zijn om componenten daarvan te externaliseren, tenzij het een soort van plugin in een site wordt waar een heleboel partijen gebruik van maken? Maar dan zou je beter een extensie voor Magento kunnen schrijven ofzo... Omdat je niet echt een concreet voorbeeld geeft kunnen er eigenlijk ook geen concreet advies of ideeën afgegeven worden.

EDIT: Als ik het goed begrijp ben je op zoek naar een soort van webservice-functionaliteit. Deze roept een extern script aan met authenticatie. Denk aan REST of SOAP of een andere variant. De code aldaar kijkt dan of dit een bekende / geauthoriseerde gebruiker is, verzamelt de informatie, en geeft deze in een overeengekomen formaat (in XML of JSON) terug, en anders een standaard foutcode. Maar het schrijven van zo'n API alleen is niet genoeg, de ontvangst-kant zal ook code moeten schrijven die van deze API gebruik maakt...
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.305s