die Überschrift ist vielleicht etwas verwirrend. Also muss ich weiter ausholen.
Die Firma für dich ich mehrere Apps erstellt habe stellt nun ihr CMS um auf Service Max. Ich habe nun die aufgabe mein Interface zum CMS an SMax anzupassen. Erstmal soweit kein Problem. Im Prinzip gibt es eine API der ich die Daten in Form von JSON Objekten übergebe. Diese sind relativ komplex Da viele Werte übergeben werden. ich habe nun also z.b. eine Klasse Case erstellt, welche Attribute enthält, welche den benötigen Werten entspricht.
um nun einen Case in SMax zu erzeugen erzeuge ich eine Instanz der Klasse Case, fülle sie mit den daten, erzeuge mit einem object wrapper daraus einen JSON String und verschicke ihn an die API.
Das funktioniert auf dem Test-Server einwandfrei. Nun stehen wir unmittelbar vor der Release und wir haben den Prod-Server bekommen.
Also normalerweise einfach nur API URL, credentials etc ändern und alles fertig….
Aber da habe ich die Rechnung ohne unsere globale IT gemacht. Fragt mich nicht was die sich dabei gedacht haben aber tatsächlich werden einige Attribute plötzlich nicht mehr benötigt, bzw. es gibt sie gar nicht mehr. Andere wiederum heißen plötzlich anders…..
ich muss nun also theoretisch unterschiedlich Klassen für unterschiedliche Server haben. Klar kann man machen. Hat man halt zwei unterschiedliche interfaces in ein und dem selben Code. Aber irgendwie widerstrebt mir das.
ich fände es schöner, wenn ich beim Build einfach entweder die einen oder die anderen Klassen ins .jar linke. Ist da die einzige Möglichkeit das ich die Klassen in ein jeweils eigenes Framework packe und je nach Build mit maven unterschiedliche .jar Abhängigkeiten einbinde? Oder habt ihr noch eine Idee wie man das machen kann ohne mehrere „Projekte“ daraus machen zu müssen, so dass es im Endeffekt ein Repository mit einer maven Datei bleibt?
Die Firma für dich ich mehrere Apps erstellt habe stellt nun ihr CMS um auf Service Max. Ich habe nun die aufgabe mein Interface zum CMS an SMax anzupassen. Erstmal soweit kein Problem. Im Prinzip gibt es eine API der ich die Daten in Form von JSON Objekten übergebe. Diese sind relativ komplex Da viele Werte übergeben werden. ich habe nun also z.b. eine Klasse Case erstellt, welche Attribute enthält, welche den benötigen Werten entspricht.
um nun einen Case in SMax zu erzeugen erzeuge ich eine Instanz der Klasse Case, fülle sie mit den daten, erzeuge mit einem object wrapper daraus einen JSON String und verschicke ihn an die API.
Das funktioniert auf dem Test-Server einwandfrei. Nun stehen wir unmittelbar vor der Release und wir haben den Prod-Server bekommen.
Also normalerweise einfach nur API URL, credentials etc ändern und alles fertig….
Aber da habe ich die Rechnung ohne unsere globale IT gemacht. Fragt mich nicht was die sich dabei gedacht haben aber tatsächlich werden einige Attribute plötzlich nicht mehr benötigt, bzw. es gibt sie gar nicht mehr. Andere wiederum heißen plötzlich anders…..
ich muss nun also theoretisch unterschiedlich Klassen für unterschiedliche Server haben. Klar kann man machen. Hat man halt zwei unterschiedliche interfaces in ein und dem selben Code. Aber irgendwie widerstrebt mir das.
ich fände es schöner, wenn ich beim Build einfach entweder die einen oder die anderen Klassen ins .jar linke. Ist da die einzige Möglichkeit das ich die Klassen in ein jeweils eigenes Framework packe und je nach Build mit maven unterschiedliche .jar Abhängigkeiten einbinde? Oder habt ihr noch eine Idee wie man das machen kann ohne mehrere „Projekte“ daraus machen zu müssen, so dass es im Endeffekt ein Repository mit einer maven Datei bleibt?