Laden...

Architektur Frage bzgl. Daten Management innerhalb einer Firma

Erstellt von robmir vor 9 Jahren Letzter Beitrag vor 9 Jahren 5.356 Views
R
robmir Themenstarter:in
155 Beiträge seit 2005
vor 9 Jahren
Architektur Frage bzgl. Daten Management innerhalb einer Firma

Hallo zusammen,

ich soll bzw. möchte eine Daten Management System bei uns in Firma aufbauen. Es sollen Daten im Bereich von 2-3 millionen Datensätzen verwltet werden. Es werden am Anfang etwa 10 Personen damit arbeiten (auch parallel). Es kann sein, dass es in Zukunf viel mehr Personen nutzen sollen. Die Geschwindigkeit spielt nicht so große Rolle, aber dafür Verfügbarkeit und Sichercheit.

Ich habe mir es überlegt mit 3-Schichten Architektur zu lösen: 1.DB-Layer (mit O/R Mapping z.B. Hibernate) 1.Logik-Layer 1.Client-Layer (z.B. Webinterface)

Meine Fragen:1.Soll ich standalone application oder doch mich für Webserver mit Web-Interface entscheiden? 1.Welchen Webserver soll ich aus eurer Erfahrung wählen? 1.Logik-Layer sollte man auf dem Server Laufen lassen, oder?

Danke für Antworten

Grüße

49.485 Beiträge seit 2005
vor 9 Jahren

Hallo robmir,

zu 1. für beides gibt es gute Gründe. Ich halte es für unmöglich, diese Frage alleine anhand der genannten Kriterien (Anzahl Datensätze, Anzahl Personen, ...) zu entscheiden. Es gibt bereits verschiedene Thread, den den Argumente ausgetauscht wurden, die für und gegen die eine oder andere Herangehensweise sprechen.

zu 2. Auch das kann man m.E. so pauschal nicht sagen. Außerdem spielt das aus meiner Sicht eine vollkommen untergeordnete Rolle. Wenn du dich für Stand-Alone entscheidest, sogar gar keine.

zu 3. Auch das kommt darauf an. Auch hier gibt es wieder verschiedene Vor- und Nacheile, z.B. Sicherheitsaspekte. Auch das wurde schon in anderen Threads diskutiert.

Grundsätzlich stehen dir bei dieser eher geringen Zahl von Datensätzen und Anwendern alle Möglichkeiten offen. Eine möglicherweise stark steigende Zahl von Anwendern (zudem, wenn diese an unterschiedlichen Orten arbeiten) wäre ein Indiz für eine Web-Interface (u.a. weil dadurch eine Installation der Software entfällt), aber auch nur ein kleines.

herbivore

16.834 Beiträge seit 2008
vor 9 Jahren
  1. Sowas sind auch politische Entscheidungen. Es ist in Firmen durchaus wünschenswert, wenn zentrale Anwendungen über Weboberflächen verfügen, sodass keine Software auf den Clients mehr installiert werden muss.
    Das ist ein allgemeiner Trend in Folge der Thin-Clients.

Sowohl die Verfügbarkeit wie auch die Sicherheit lassen sich durch eine gute Planung hervorragend lösen.
Bei Web-Elementen kann man zudem die zentrale IT viel leichter einbinden.

  1. Auch hier habe ich eine andere Ansicht.
    Wenn Du mit .NET Technologien arbeitest wirst Du kaum um den IIS herum kommen; und zwar der echte IIS und nicht der IIS Express.
    Kein anderer Webserver bietet Dir während der Entwicklung ordentliche Debugging-Möglichkeiten auch vor einem Request, zB der statischen oder dynamischen Kompression.
    Hinzu kommt, dass Du wahrscheinlich in einer Windows Umgebung sein wirst, dadurch im Intranet die Windows Authentifizierung direkt nutzen kannst und sich so der Sicherheitsaspekt direkt und komfortabel steigern lässt.
    Wahrscheinlich hast Du zudem in Deiner IT bereits jemanden, der sich mit dem IIS aus administrativer Sicht auskennt.

  2. Moderne Webseiten bestehen aus zwei Anwendungen: Server und Client-Anwendung.
    Server kann zB ASP.NET MVC sein und auf dem Client eine SPA auf Basis von AngularJS.
    In beiden Fällen hast Du Logik-Layer. Es gibt auch bestimmte Elemente, die Du doppeln musst; zB Validierungen. Niemals nur auf dem Client validieren.

Wenn Du überhaupt keine Basis im Bereich Web hast würde ich Dir entweder eine längere Vorlaufzeit zur breiteren Wissensaneignung wirklich anraten oder einen Consultant ins Haus holen, wenn es schnell gehen muss.
Man kann, wie auch in der Desktop-Welt, sehr schnell den falschen Weg einschlagen; in der Web-Welt gibt es aber deutlich mehr Technologien, die Du kombinieren und durchaus auch völlig falsch einsetzen kannst.

R
robmir Themenstarter:in
155 Beiträge seit 2005
vor 9 Jahren

Hallo,

vielen vielen Dank für Eure Antworten, schon diese Hinweise bringen mich weiter 😉

Die Sache ist die, ich habe diese Idee gehabt und will sie auch selber bzw. teilweise selber umsetzen. Das hat auch politische Aspekte bei uns in der Firma.

Von der IT werde ich nicht all zu viel Support bekommen (ich weiß nicht mal wo sie sitzen). Wir werden eigenen Rechner als Server nehmen. Höchstens von der Tooling-Abteilung werden wir etwas Support bekommen, da aber Tooling-Abteilung schon zu 100% für nächste 24 Monate ausgebucht ist, muss ich es alleine umsetzen (höchstens kann ich einen Studenten einstellen).
Welche Technologie ich nutzen soll, wird sich herausstellen. Ich weiß nur, dass fast alle Tools bei uns mit Java entwickelt werden und auf Eclipse-Basis. Ich persönlich würde .NET bevorzugen, aber das muss ich noch klären. Erfahrung habe ich in beiden Technologien.
Inzwischen habe ich dafür eine schnellen Demonstrator mit WIN-Forms und MS Server 2008 gemacht. DB-Schema somit steht schon fest.
Also Erfahrungen habe ich mit DB (jetzt egal ob MS Server oder Oracle), .NET, Java. Eher weniger Erfahrung mit Hibernet, und kaum mit Webserver (Webinterface außer einfache Webseiten).Die ganze Entwicklung habe ich auf 120 MT abgeschätzt (d.h. ½ Jahr). Ich weiß, dass es sehr knapp sein wird, aber ansonsten würde ich dafür kein Budget bekommen. Ich werde es auch interativ-entwickeln (iterativer Prozess ), d.h. Nach erster Iteration werden wir erkennen, ob es was taugt, auch von der Zeit her 😉
Nach der Entwicklung zur Support werde ich es an Tooling-Abteilung abgeben.

Ps. für Demostrator habe ich etwa 2-3 Wochen gebraucht, aber wie gesagt ohne O/R und Webserver, also quick and dirty 😉

Ich werde doch Richtung Webserver tendieren, da wenn es klappen sollte, wird das System Weltweit ausgerollt.
Um es kurz zu beschreiben was es sein sollte. Wir werden dort Informationen aus und Requirements pflegen (Automobilindustrie). Mit dem System sollen wir die Requirements zwischen Projekten reusen können etc. und draus 100% Code, Specs etc generieren. Generatoren existieren schon. Als input für so ein Generator muss man aus dem System XML Files erzeugen. Deswegen diese DB-System wird auch als Sternkonverter betrachtet. Die Daten sind es Signalen was zwischen -ECUs über BUS ausgetauscht werden. Ein Projekt hat etwa über 1000 Signalen pro Signal 50 Attributen. Und wir haben sagen wir hunderte von Projekten.
Bis jetzt haben wir die Daten im Excel verwaltet, aber aus Excel kann doch kein Mensch was vernünftiges generieren (nicht mal ISO26262 taugliches), für mehr Nutzer ist es auch nicht tauglich, und die kritische Masse an Daten ist schon längst überschritten.....

Ich hoffe, dass ich es schaffen werde. Vielleicht soll ich mich doch jetzt schon mit Webserver auseinander setzen, d.h. Wissen aneignen und ein paar Sachen ausprobieren.......

Für jegliche Hilfe, Tipps bin ich dankbar 🙂

Grüße

16.834 Beiträge seit 2008
vor 9 Jahren

Wir werden eigenen Rechner als Server nehmen.

Da würde ich aufpassen oder das zumindest mit der IT abklären; auch, da Du dazu in den meisten Fällen bzgl. Unternehmensrichtlinien verpflichtet bist.
Einen Webserver darfst Du nicht in jedem Unternehmen einfach so in Betrieb nehmen.

Die ganze Entwicklung habe ich auf 120 MT abgeschätzt (d.h. ½ Jahr). Ich weiß, dass es sehr knapp sein wird, aber ansonsten würde ich dafür kein Budget bekommen.

Das ist nicht nur knapp; das ist ohne Vorkenntnisse im Web-Bereich nichts.
Solange dauert in den meisten Fällen allein die Basis-Schulung für moderne Web-Technologien.
Die Komplexität, die Du da beschreibst; da bezweifle ich bei einem Einsteiger in diesen Bereich den geschätzten Zeitaufwand massiv 😉

R
robmir Themenstarter:in
155 Beiträge seit 2005
vor 9 Jahren

Wir werden eigenen Rechner als Server nehmen.
Da würde ich aufpassen oder das zumindest mit der IT abklären; auch, da Du dazu in den meisten Fällen bzgl. Unternehmensrichtlinien verpflichtet bist.
Einen Webserver darfst Du nicht in jedem Unternehmen einfach so in Betrieb nehmen.

Ja, das werden wir schon klären müssen. Da hoffe ich auf Tooling-Abt. dass die uns dabei beraten

Die ganze Entwicklung habe ich auf 120 MT abgeschätzt (d.h. ½ Jahr). Ich weiß, dass es sehr knapp sein wird, aber ansonsten würde ich dafür kein Budget bekommen.
Das ist nicht nur knapp; das ist ohne Vorkenntnisse im Web-Bereich nichts.
Solange dauert in den meisten Fällen allein die Basis-Schulung für moderne Web-Technologien.
Die Komplexität, die Du da beschreibst; da bezweifle ich bei einem Einsteiger in diesen Bereich den geschätzten Zeitaufwand massiv 😉

Tja, was habe ich da für Alternativen? Freiberufler nur für Web-Anwendung? und den Rest mach ich alleine. Wie wäre es am Anfang mit einer einfachen WEB-Lösung, dann den Rest lasse ich von Tooling machen. D.h. innerhalb 120 MT einfache Lösung?

C
2.121 Beiträge seit 2010
vor 9 Jahren

Ich habe eine etwas andere Ansicht zu Webservices.
Bei weltweiten Systemen mit vielen Nutzern wie Banking ist natürlich ein lokaler Client für sehr verschiedene Umgebungen keine Lösung. Im Intranet würde ich genauer darüber nachdenken.

Ich kenne Webdienste nur ansatzweise muss ich gleich sagen. Wenn meine Denkweise oder Argumente falsch sind darf man mich gerne korrigieren und vom Gegenteil überzeugen. Bevor man einfach eine Webanwendung aufzieht sollte man sich im klaren sein mit was für Unterschieden man zu tun hat und ob man entweder damit klar kommen möchte und kann oder ob es Wege gibt um sie zu verhindern. Daher ein paar Gedankenansätze.

Webservice sind zwar leicht zu updaten, aber das sollte nicht das einzige Kriterium sein. Ich halte sie für schwieriger zu programmieren da GUI und Logik getrennt sind. Oder andersherum gesehen wenn man sich nicht mehr Mühe geben will oder zeitlich kann, kommen unbefriedigende und unprofessionell wirkende Ergebnisse raus. Etwa bildschirmfüllende Eingabefenster mit nur einem Textfeld weil die GUI nunmal so groß ist wie ein Browserfenster, nicht so groß wie sie aufgrund des Inhalts sinnvollerweise sein sollte.

Änderungen am Inhalt der GUI erfordern viel öfter ein neuladen der gesamten Ansicht: Request zum Server, neue Antwort, neuer Aufbau der GUI. Das kann auch im Intranet spürbar dauern. Daten bereits bei der Eingabe prüfen usw, selbst eine Änderung der Sortierung ist mit Warten verbunden. Außer man macht viel in Ajax und Javascript. Wie das Frameworks inzwischen unterstützen weiß ich nicht, was ich bisher davon gesehen habe war ein Wirrwarr aus C# Code, CSS Style, Javascript in dem man an verschiedenen Stellen aktiv werden musste. Daten verarbeiten in C#, Daten in der GUI prüfen in Script. Debuggen in zwei verschiedenen Systemen (Browser und Serveranwendung).
Was ich gesehen habe mag nicht der aktuelle Stand der Technik gewesen sein, jedenfalls halte ich das in größeren Anwendungen für nicht zumutbar.

Das ganze läuft in einem Browser und hat damit unweigerlich Webseiten Flair. Ein Klick auf den zurück Button ist deswegen bei so manchem unbewusst das Mittel um eine Ansicht zurück zu kommen. Entweder der Browser cached das und man hat ungültige Daten, oder es kommt etwas wie "Diese Ansicht ist nicht mehr gültig". Beides ist lästig, ersteres sogar gefährlich.

Das Argument mit dem Updaten zählt für mich nicht so schnell, denn es gibt Netzlaufwerke die man nur einmalig aktualisieren muss. Selbst eine lokale Installation kann man für Anwedungen die sauber in ihrem Verzeichnis bleiben ohne viel Aufwand ein Updatesystem entwerfen das bei Bedarf eine neue Programmversion installiert.

Aus der atuellen Antwort

Wie wäre es am Anfang mit einer einfachen WEB-Lösung

Wenns so einfach ist und die Anwender trotz der Einfachheit überzeugt...

16.834 Beiträge seit 2008
vor 9 Jahren

Tja, was habe ich da für Alternativen? Freiberufler nur für Web-Anwendung?

Du schreibst Deinen Ist Zustand und Deine Requirements.
Anschließend holst Du Dir einen (freien) Consultant (Du kannst auch unsere Job-Börse hier im Forum nutzen oder irgendjemand anschreiben; gibt hier oder auch in anderen Foren ja genug Leute, die das tun (können), der Dir zB 3 verschiedene Wege mit aktuellen Technologien unterbreitet (reines ASP.NET, ASP.NET WebApi und Angular und zB eine Client-basierte Lösung, enwtedr direkr auf den SQL Server oder eben mit einer API dazwischen).

Der zeigt Dir dann auch zB die Architektur und den Serveraufbau.
Die Umsetzung erhälst Du entweder als Basis und machst den Rest selbst, oder Du nimmst seine Vorschläge bzgl. Technologien entgegen.

Nur wenn Du bei den Web-Technologien überhaupt nicht drin bist, dann wird das schwer Zukunfts- und Skalar-Gerecht aufzubauen.

742 Beiträge seit 2005
vor 9 Jahren

Je nachdem was du machen willst, kannst du ja auch ein Tool zur Datenbank- und Oberflächengenerierung verwenden, z.B. Lightswitch oder Podio und dann darauf aufbauen spezielle Tools entwickeln.

Sicherlich keine super Lösung, aber evtl. eine kostengünstige.

P
1.090 Beiträge seit 2011
vor 9 Jahren

Wenn du von Web Technologien keine Ahnung hast, würde ich erstmal die Finger davon lassen. Der Einarbeitungsaufwand ist da doch recht enorm. Ich darf (ja ich Spaß dran) mich jetzt seit ca. 1 Jahr intensive mit beschäftigen und hatte vorher schon Erfahrungen gesammelt. Ich denke aber das von dem was ich Client seitig so mache mir Abt zu 90% um die Ohren hauen würde, weil es besser geht.

Wenn du eine aber drauf achtes möglicht keine Logik im Presentation Layer unterzubringen, kannst du die Frontend Technologie, "relative" einfach ändern.

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

R
robmir Themenstarter:in
155 Beiträge seit 2005
vor 9 Jahren

Danke für die Antworten.
Ich werde es doch bei uns mit IT klären, inwieweit sie mich unterstützen können. Damit meine ich, dass ich einen konfigurierten Webserver zu Verfügung bekomme. Leider sehe ich keine andere Möglichkeit, da DB trotzdem auf einem Server laufen muss. Vielleicht am Anfang werde ich webservices nutzen, um die Daten/Anfragen zwischen Client-Server auszutauschen. Und auf Client Seite Infopath nutzen. Das habe ich zumindest schon mal gemacht (d.h. Webservices und Infopath).

Meine Absicht ist, um zu zeigen dass es mit einer DB-Lösung die tägliche Arbeit viel effizienter, sicherer und qualitativ besser gestaltet werden kann. Mit jetziger Excel-Lösung kann nicht mehr vernünftig gearbeitet werden (Files überall verteilt, niemand weiß, ob er mit master File arbeitet, Daten falsch ausgefüllt, keine Vergleiche möglich, keine reuse zwischen Excel Files möglich etc. 8o).
Ich muss die anfangs Probleme in Kauf nehmen. Ich weiß, dass es am Anfang weh tun wird.

16.834 Beiträge seit 2008
vor 9 Jahren

Egal ob der Benutzer nachher mit einer installierten Software oder mit dem Browser arbeitet: es bietet sich immer an, dass der Client sich mit einem Service verbindet und nicht direkt mit der Datenbank.
Ansonsten müsstest Du auch direkt in der Datenbank die Berechtigungen pflegen; bei einem Service (zB WebApi) kannst Du das sehr einfach anhand des Windows-Kontos alles selbst umsetzen.
Besonders, wenn Du ohnehin eine IT hast, die da nicht unbedingt die offenste ist, bietet sich das an. Ansonsten hast Du evtl. später den Ärger, wenn Du immer wieder zur IT angerannt kommst, damit ein neuer Benutzer was machen kann.

Bei Internen Anwendungen kann ich immer den Weg empfehlen Technologien und Architekturen einzusetzen, die so wenig wie möglich von der lokalen IT abhängig ist 😉
Es mag durchaus gute IT Abteilungen geben; aber es ist doch immer besser, wenn man möglichst viel Arbeit zeitnah selbst machen kann.
Für das Aufsetzen und Sichern der Datenbank; da kann die IT durchaus ihre Kompetenz ins Spiel bringen. Aber die Benutzerverwaltung, wozu muss das die IT machen, die ihr gar keine Kohlen im Feuer hat....

Ergo: es ändert sich für Dich Server-seitig eigentlich nichts.
Du entscheidest nachher nur, ob eine Client-Software mit der WebAPI eine Verbindung aufbaut, oder eben der Browser.
Im Sinne der Abhängigkeit und Zukunftssicherheit auch alles andere als ein Beinbruch.

PS: Webservice und Infopath; das kannst Du hier nicht vergleichen.

R
robmir Themenstarter:in
155 Beiträge seit 2005
vor 9 Jahren

@Abt: Seit Ewigkeit haben wir mit jetziger Lösung Probleme, bis jetzt hat sich niemand gewagt daran etwas zu ändern, da erstens das Wissen nicht vorhanden war (laute Maschinenbau Ings. und Elektrotechnik Ings.) und zweitens keiner traut sich.
Ich kämpfe schon seit 2 Jahren, um eine „Data Management System“ letztendlich DB einzuführen (wir leben doch in 21 Jh.). So ein System bring uns nur Vorteile, wir können mit so einem System etwa 30-40% Arbeit sparen. Problem ist, dass jegliche Entwicklung billig sein muss, und Tools sowieso 😉 Das ist für uns die einzige Gelegenheit es zu tun, da mir endlich gelungen ist, das Management davon zu überzeugen.
DB, Logik und O/R kann ich mit meinem Wissen umsetzen (bestimmt wird es nicht sehr saubere Lösung sein), aber mit Web-Server und Web-Interface werde ich Probleme bekommen, das weiß ich jetzt schon. Zweitens ich muss mich an den internen Prozessen halten, z.B. Ich werde einen Review-Partner (der sich mit der Materie auskennt) brauchen, der die Entwicklung auch überwacht und notfalls gegensteuert.

Ps. was meinst Du mit

PS: Webservice und Infopath; das kannst Du hier nicht vergleichen.

C
1.214 Beiträge seit 2006
vor 9 Jahren

Man muss Desktopsoftware übrigens auch nicht unbedingt installieren. Wir entwickeln Softwarelösungen im CAD/PDM Bereich, Teile der Software sind z.B. als Plugins in die entsprechenden Systeme eingebunden. Trotzdem wird unsere Software oft nicht installiert, sondern liegt auf einem Netzlaufwerk und kann einfach gestartet werden. Kann man auch recht einfach in viele CAD Systeme einbinden, indem man einfach zentral auf die entsprechenden Verzeichnisse verweist. Wir haben auch einen Application Server, sowas bietet sich natürlich schon an, aber der ist optional. Wenn die Software aktualisiert werden muss, gibts einfach ein Wartungsfenster und die Software wird zentral ausgetauscht. Das funktioniert auch bei Kunden, bei denen unsere Software an mehreren tausend Arbeitsplätzen eingesetzt wird.

R
robmir Themenstarter:in
155 Beiträge seit 2005
vor 9 Jahren

Hallo,

gut, so wie ich verstanden habe, Web-Interface wäre zu komplex und ohne Web-Wissen nicht machbar.
Dann was sagt Ihr zu einer einfachen Lösung:

Layer-1 DB auf dem Application Server
Layer-1a O/R (Hibernate) auf dem Application Server
Layer 2 Business logic => auch Rollen Rechten Verwaltung, Validierungen etc. auf dem Application Server
Webservice
Layer 3 Client (GUI Application z.B. auf Basis von Winforms), der via Webservice mit dem Server kommuniziert.

Die Lösung wäre die einfachste, oder? Dann in Zukunft könnte man leicht auf Webinterface umsteigen.

5.658 Beiträge seit 2006
vor 9 Jahren

Hi robmir,

da du zwei Anwendungen hast, kannst du die Server- und Client-Anwendungen unabhängig voneinander planen. Mein Vorschlag wäre:

Server:
DAL: Datenbankzugriff
BL: Geschäftslogik der Serveranwendung
PL: Bereitstellung der Daten als XML, JSON oder Binärdaten

Client:
DAL: Kommunikation mit der Server-Anwendung
BL: Geschäftslogik der Clientanwendung
PL: Benutzeroberfläche in WPF/WinForms/HTML

Hier gibt es auch einen Artikel zum Thema, falls du ihn noch nicht kennst: [Artikel] Drei-Schichten-Architektur.

Christian

Weeks of programming can save you hours of planning

R
robmir Themenstarter:in
155 Beiträge seit 2005
vor 9 Jahren

Danke MrSparkle 👍
Genau das ist was ich meinte, obwohl ich die Schichten bei Client weggelassen habe.

Das Forum hier ist einfach spitze 😉

742 Beiträge seit 2005
vor 9 Jahren

Ich würde dringend davon abraten, auch nur eine Zeile Code zu entwickeln. In eurer jetzigen Phase habt ihr als Firma ja überhaupt keine Ahnung von der Arbeit mit einem solchen System und auch die Anforderungen sind unbekannt.

Deshalb solltest du am besten wie eine Art Mini-Startup in eurem Unternehmen agieren und mit minimalen Kosten ausprobieren, wie man am besten zusammen arbeiten kann. Es gibt ja genug Tools wie Lightswitch, Podio und Zoho Creator um Datenbank-Anwendungen zusammenzuklicken. In 2 Stunden hat man dann die Datenstruktur abgebildet und kann wenn nötig mit eigenen Tools das System erweitern. Funktioniert das ganz gut, kann man zu einem späteren Zeitpunkt eine Eigenentwicklung beginnen und die Daten importieren.

R
robmir Themenstarter:in
155 Beiträge seit 2005
vor 9 Jahren

@malignate: DB-Schema steht schon fest und von einem "Experten" ist gereviewed. DB-Entwicklung ist eigentlich nicht das Problem. Mini-Lösung habe ich mit SQL Server und .NET innerhalb von 3-4Wochen aufgebaut und hat sich gut durchgesetzt. Problem ist/war eigentlich Presentation Layer basierend auf Web-Interface. Wobei, wir werden doch richtung standalone Presentation Layer gehen d.h. .NET und WinForms bzw. Java
Requirements stehen auch schon länger fest. Als middleware werden wir webservice einsetzen, da ich schon die Erfahrung habe, und es sprachunabhängig ist. Appl-Server hab ich heute erfahren wird und muss sogar unsere IT-Abteilung übernehmen. Zweitens wir werden doch einen Consulter nehmen, und ich werde die Arbeit koordinieren 😃 also viele entscheidungen sind heute gefallen.

Meine Erfahrung von früher ist, so ein System (Client-Server) für Halbleiter Industrie zu entwickeln für Waferverwaltung, Tracking, inking, Layout ausrechnen, optimieren alles GUI basierend, weltweit basierend auf .NET 2.0, SQL Server 2005 und yoda als middleware. O/R Layer wurde bei uns auch entwwickelt. Ich war damals für Client-Layer zuständig. Die Entwicklung dauerte 2 Jahre mit 5 Personen 😉 nachher habe ich Manufacturing Execution System (MES) entwickelt basierend auf Java und kooperation mit der Firma Eyelit 😉 Also an Erfahrung sollte nicht fehlen, ausser an Web-Entwicklung wie ich schon geschrieben habe.

742 Beiträge seit 2005
vor 9 Jahren

Sehr schön.

Das war gar nicht in Bezug auf deine Erfahrung gemeint, sondern ich habe das eher deshalb gesagt, weil oft Projekte gestartet werden, von denen der Wert überhaupt nicht bekannt ist. Bezieh das nicht auf dein Projekt, ich kann das hier nicht beurteilen.

R
robmir Themenstarter:in
155 Beiträge seit 2005
vor 9 Jahren

Hallo,

also ich habe neuheiten zu meinem Thema. Schaut so aus, dass zu 95% Wahrscheinlichkeit IT Abteilung dasSystem umsetzen wird. Ich wusste nicht, dass unsere IT so ausgebaut ist. Ich dachte immer, sie supporten Netzwerke, Computer, Software, Firewalls etc. aber es gibt IT-Bereiche z.B. auch für Application Software usw.
Ich soll Requirements zusammenschreiben, GUI Masken definieren etc. Aber ich bin etwas mit meinem Chef skeptisch. Das ganze wird nicht mehr flexibel sein, wenn wir eine Änderung brauchen werden, kann sein dass es u.U. Monate dauern wird, bis es umgesetzt wird. Unseres Geschäft bzw unsere Prozesse sind sehr dynamisch, und wir werden hin und wieder eine Erweiterung brauchen. Ich frage mich wie sollen wir so eine flexibilität schaffen. Vielleicht, dass sie auch so ein Admin-Tool zur Verfügung stellen, um auch Rechte Vergeben zu können, oder auch direkt in der DB Sachen updaten, Spalten hinzufügen...
Habt Ihr schon mit so eine Art Entwicklung Erfahrungen? Wie könnte man eine flexibilität schaffen, um nicht von der IT ganz abhämgig zu werden? Hätte ich es gemacht, wäre es kein Problem, dafür wäre ich unter Druck 😭

Grüße

F
10.010 Beiträge seit 2004
vor 9 Jahren

Wie könnte man eine flexibilität schaffen, um nicht von der IT ganz abhämgig zu werden?

Garnicht.

Man kann an SAP sehen was es bedeutet etwas besonders flexible auszulegen.
Keine Sau findet es gut ( ausser den SAP Beratern ) und um Kleinigkeiten zu erledigen brauchst du Spezialisten.

Ich würde es an eurer Stelle mit der ausdrücklichen Übergabe des Sourcecodes machen lassen, oder ggf als WebService mit Html5 Frontend.
Da könnt ihr zur Not dann den Frontend Teil selber pflegen.

Aber je flxibler es werden soll, um so "Schlimmer"/Länger wird das Projekt.

49.485 Beiträge seit 2005
vor 9 Jahren

Hallo robmir,

möglicherweise könnt ihr mit der IT vereinbaren, dass ihr als Ergebnis der Realisierung gut strukturieren() und dokumentierten() Quellcode bekommt, so dass ihr später selbst die nötigen Anpassungen vornehmen könnt.

herbivore

(*) Mir ist klar, dass das eine Idealvorstellung ist. Letztlich reicht es, wenn den Quellcode brauchbar ist und selbst das ist nicht selbstverständlich. Aber immerhin sind die Chancen dafür besser, wenn das Ziel von vornherein bekannt ist.

P
1.090 Beiträge seit 2011
vor 9 Jahren

Hallo robmir,

am besten wäre es sicher wenn du Zugriff auf die Quellcodeverwaltung, DB und Server bekommen würdest. Und du für das Projekt "Teil des Teams" bist. Und halt nur wo anders sitzt.

Grundlegend wirst du das aber mit deiner IT abklären müssen und die werden dir sicher auch eine gute Lösung vorschlagen.

Wenn es klar ist, das die IT die Umsetzung macht, würde ich an deiner Stelle erst mal denn Kontakt zu ihr suchen. Und die Konzepte zusammen Entwickeln. Die sollten ja die fachliche Erfahrung haben. Und es es dann eher ein lasst uns Gemeinsam das das Projekt umsetzen, als hier meine Anforderung die müsst ihr für mich umsetzen.

MFG
Björn

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern