# Modul basierende Software Entwicklung



## slckysr (4. Mai 2011)

Ich beginne jetzt mit meinem team eine EE platform basierende web entwicklung zu entwickeln. Wir wollen diese anwendung dann auch im nachhinein verkaufen, aber da es sich bei diesem program um ein kleines erp handelt darf der kunde sich ja nun auch aussuchen welche pakete oder module er kaufen und benutzten will wie z.B. Inventar, Produktion, Kampagnen, CRM u.s.w.  

Nun haben wir schon gesucht mit google aber bekomme immer nur etwas mit OSGİ. da es sich aber bei osgi um module bei .war files handelt ist das nicht das was wir suchen. wir wollen eher herausfinden wie wir diese module als software architecture unabhaengig programmieren können. gibt es da best practices oder eine gute anleitung wie mann da vorhergehen muss ? 


für jede hilfe waeren wir sehr dankbar, egal ob es nur ein stichwort ist.  danke im voraus


----------



## FArt (5. Mai 2011)

Sucht euch einen Architekten bzw. lest Literatur über Softwarearchitektur, besonders im Enterpriseumfeld.

Benutzt eine Technologie (z.B. OSGI) nur, wenn ihr auch wirklich Bedarf dafür habt. Das Prinzip sollte immer heißen: KISS.

Wenn es darum geht, bestimmte Funktionionalitäte für Kunden zu beschränken bzw. freizuschalten, dann regelt das z.B. über Lizenzen und Authorisierung (z.B. JAAS).


----------



## slckysr (5. Mai 2011)

dankesehr erstmals für die antwort, ich schau mich sofort um


----------



## fkh (5. Mai 2011)

Hi,

eventuell ist auch SCA für euch interessant (oder zumindest gut zu wissen, dass es das gibt )

Service Component Architecture - Wikipedia, the free encyclopedia

Gruß
fkh


----------



## slckysr (5. Mai 2011)

@fkh: dankesehr für den tipp


----------



## FArt (5. Mai 2011)

Vorschlag wenn keine oder wenig Erfahrung bzgl. Architektur (Enteprise-) vorhanden ist und/oder wenn ihr keine konkreten Anforderungen habt: geht iterativ vor.
Nachdem ihr keine Kunden habt, steckt euch selber einfache Anforderungen ab, setzt diese prototypisch passend um. Passt das System immer den neuen Anforderungen passend an, durch refaktorieren, reengineeren und evtl. redesignen.
Schreibt viele Tests und macht nur das, was ihr wirklich braucht. Dann ist es auch kein großes Thema auch größere, grundlegende Änderungen passend zu den Anforderungen umzusetzen. Sucht euch früh "Kunden" um schnell viel sinnvolles Feedback einsammeln zu können. Kurze Releasezyklen und viel Abstimmung mit Pilotkunden... und nicht vergessen: KISS.


----------



## slckysr (5. Mai 2011)

vielen dank für die antwort, ich habe erfahrung mit der software architektur in bedingungen mit der PCMEF layer architecture,

mit dieser kann ich ja alle code arten(database, presentation, model, design, business) abstraktieren, so wird mein ganzer code recht lesbar sein,

aber ich meine halt wie kann ich das so machen das falls ein kunde nur ein modul kaufen will, aber halt ein jahr spaeter weitere kaufen will, wie soll ich am besten die software architektur bauen, so dass wir das halt glatt hinbekommen in der zukunft ohne zu vielen schaden ?


----------



## FArt (5. Mai 2011)

Wie schon gesagt, das würde ich lediglich über ein Berechtigungen regeln. Das kann man sehr gut über JAAS realisieren, mit einer beliebigen Implemierung darunter.


----------



## slckysr (5. Mai 2011)

würdest du es denn empfehlen auch wenn mein team und ich auch noch nicht mit JAAS zu tun gehabt habe ?


----------



## FArt (5. Mai 2011)

Ja... irgendeinen Web- oder  Applicationserver werdet ihr wohl verwenden und JAAS ist der Standard...


----------

