Archiv für Juli, 2006

Heute konnte ich mich relativ wenig mit meiner Diplomarbeit beschäftigen, musste erstmal meinen Rechner richtig einrichten.Die Netweaver Installation hat leider noch nicht geklappt…vielleicht wird’s ja morgen was.

Google Desktop ist eigentlich ne nette Sache, vor allem der Schnellstarter, den man mit 2xStrg aufruft. Damit lassen sich Programme viel schneller starten als mit der Maus und man kann auch direkt über Google suchen.

Flock wird immer besser. Ich schreibe diesen Eintrag gerade mir dem eingebauten Blog-Editor. Nur die Lesezeichen-Verwaltung könnte noch etwas besser sein. Vor allem die Tag-Integration mit del.icio.us.

Blogged with Flock

Die Installation von Netweaver Sneak Preview SP16 hat leider nicht auf Anhieb geklappt.

Zunächst habe ich ganz brav die Installationsanleitung befolgt. Aber gleich nach der Lizenzerklärung brach die Installation mit einer komischen Fehlermeldung ab. Nach kurzem Suchen habe ich rausgefunden, dass es am Virenscanner lag.

Also Virenscanner ausgeschaltet und zweiter Versuch. Dieses mal konnte ich alle Parameter eingeben und die Installation startete. Allerdings brach sie wieder mittendrin ab, weil sie irgendeinen Benutzer nicht anlegen konnte. Also versucht den Benutzer selbst anzulegen in der Systemsteuerung mit der Fehlermeldung, dass mein gewähltes Passwort nicht den Sicherheitsrichtlinen entspricht.

Richig! Im Installationsassistenten musste ich 2 Passwörter für irgendwelche J2E Benutzer angeben. Habe natürlich nicht daran gedacht, dass man da die Sicherheitsrichtlinen von Windows beachten muss. Das Programm prüft das auch nicht. Es kam nur die Meldung, dass das Passwort länger als 7 Zeichen sein muss.

Also nochmal von vorne und ein konformes Passwort eingegeben – die Installation lief weiter…

Allerdings war sie für meinen Geschmack viel zu schnell fertig und das Netweaver Developer Studio konnte ich nirgends finden. Da habe ich mir das heruntergeladene Archiv nochmal angeschaut und festgestellt, dass ein Ordner (der mit dem NWDS) nicht entpackt wurde. Der Versuch das händisch zu entpacken lief schief und die Größe der Dateien hat auch keinen Sinn gemacht.

Das heißt, irgendwas ist beim Download schiefgelaufen, oder das Archiv ist bei SAP schon kaputt. Somit muss ich die 5 GB also nochmal runterladen…na toll.

Werde das ganze dann Morgen wieder versuchen, jetzt richte ich noch die anderen Progrämmchen auf meinem neuen Rechner ein.

Das Thema des heutigen Tages war das Contextkonzept in Dynpro.

Sturkturieren lässt sich dies in

  • Context Design
  • Context Mapping und
  • DataBinding

Beim Context Design geht es darum, die Controller-Kontexte (das ist sozusagen der Speicher für Daten mit unterschiedlichen Strukturen) aufzubauen. Diese kann man selbst oder aus einem Model erstellen.

Es gibt drei Kategorien von Kontexten

  • View-owned business data
    Daten die nur für eine View relevant sind
  • View-owned layout data
    Daten die die Darstellung betreffen (z.B. Sichtbarkeit eines Buttons)
  • Cross-view business data
    Daten die View übergreifen sind und weitergereicht werden.
    Diese Daten müssen im Controller Context der Komponente gespeichert werden.

Update 11.7.:

Für die Views kann man sog. Plugs (Stecker) definieren. Es gibt ausgehende (outbound) und eingehende (inbound) Plugs. Sie dienen dazu, die Navigation zwischen den Views zu definieren. Hierfür zieht man dann Navigation Links vom outbound zum inbound Plug zweier Views und definiert Actions dafür.

Allgemein läßt sich der Entwicklungsprozess mit Web DynPro in 3 Aktivitäten bzw. Kategorien untergliedern:

  • Die Visualisierung, d.h. das Designen der Oberfläche, ohne Funktion
  • Das Deklarieren des Datenmodels und der Beziehungen zwischen den Elementen der Oberfläche und den Daten, Actions. (Bindings usw.)
  • Das eigentliche Programmieren, z.B. Aufbau der Datenstrukturen zur Runtime, Ablauflogik implementieren. Wenn man die ersten beiden Schritte gut gemacht hat, muss man hier eigentlich nur noch relativ wenig tun.

Dann habe ich mir heute noch überlegt, wie ich den Web Service für die Daten aus der EinkäuferDB strukturiere. Momentan denke ich, dass ich 3 Operationen implementiere. Obwohl ich mir immer noch nicht ganz sicher bin, ob ich wirklich einen Web Service dazu benutzen kann. Das zeigt sich erst nächste Woche, wenn ich Web Dynpro live ausprobiert habe.

  • getSearchCriterias()
    Diese Operation liefert die Daten für die Dropdown-Auswahllisten in Abhängigkeit davon, welche Suchkriterien bereits ausgewählt wurden.
  • getResultList()
    Gibt die Liste der Einkäufer oder Verträge zurück, je nachdem welche Kriterien eingegeben wurden.
  • getDetails()
    Liefert die Details zu einem ausgewählten Einkäufer/Vertrag

Jippie!

Mein neuer Rechner ist da. D.h. heute mittag oder spätestens Montag kann ich mit der Netweaver Installation und dann der Programmierung starten.

Diesmal in textueller Form.

Schritt für Schritt werden hier die wichtigsten Komponenten und Grundsätze von Web DynPro erklärt. Leider immer noch alles Trockenübungen, weil ich weiterhin auf meinen Rechner warte.

Update: Nachdem ich das Einsteigertutorial durch habe (sieht alles noch sehr simpel und logisch aus, Resumé gibt’s heute abend), widme ich mich jetzt dem Extended Tutorial.

Web DynPro lernen stand heute auf dem Programm.

Wie ist das MVC-Model dort umgesetzt und vor allem wie bekommt man Daten in das Model. Hierfür bietet Web DynPro wie schon beschrieben die Möglichkeit ein Datenmodell von einem Web Service zu übernehmen.

Diesen Web Service werde ich wohl ganz normal in AXIS deployen. Er wird als Eingangsparameter die Suchbegriffe für die EinkäuferDB bekommen und hierzu eine Liste der Einkäufer bzw. Verträge liefern.

Hierzu werde ich wohl die EinkäuferDB mit Hibernate auslesen. Vielleicht gelingt es mir auch direkt im Netweaver mit Hibernate zu arbeiten.

Die Entwicklung von Web DynPro Oberflächen sieht relativ simpel und eingängig aus…wenn ich nur schon den neuen Rechner hätte und die NWDI endlich installieren und ausprobieren könnte.

Ein Video zu den Netweaver Grundlagen habe ich mir auch noch angeschaut. Der eLearning Bereich im SDN bietet hierzu einige gute Inhalte an.

Hier gibt es ein sehr infomatives Video-Tutorial für Web DynPro. Ist eigentlich alles was man braucht, um in das Thema reinzufinden.

Kann sein, dass man sich dafür zuerst beim SDN anmelden muss.

Es muss eine Möglichkeit gefunden werden, die Daten aus der EinkäuferDB im Portal zur Verfügung zu stellen.

Ein Ansatz wäre, einen oder mehrere Webservices zu programmieren, die als Eingangsparameter z.B. Suchkriterien erhalten und dann die Ergebnisliste an einen iView oder eine Web DynPro Applikation liefern.

Web DynPro bietet die Möglichkeit als Datenmodell einen WebService zu nehmen:

http://entwickler.com/itr/online_artikel/show.php3?nodeid=97&id=583

Gestern abend beim Fußballspiel Deutschland – Italien in der Arena hier in Friedrichshafen gewesen…schade, war wohl nix.

Heute dann weiter meine Netweaver und Web DynPro Kenntnisse erweitert.

Unter anderem habe ich mir einen Artikel aus der iX Ausgabe 06/06 S. 90 durchgelesen : „Universalstecker“. Darin geht es um das EAI Modul in Netweaver SAP XI (Exchange Infrastructure). Damit kann man unterschiedliche IT-Systeme verbinden. Eher uninteressant für meine Diplomarbeit.

Interessanter war da schon der Artikel im Java Magazin Ausgaben 03-04/06 zur Anwendungsmigration in Web AS. Im ersten Teil geht es um die Migration der gesamten Codebasis und wie man zum Beispiel SAP-spezifische Deskriptoren erstellt. Der zweite Teil handelte von den anderen Teilen eoner Entwicklungsumgebung wie Life-Cycle-Management oder SCM.

Allerdings werde ich davon auch nur sehr wenig in der Diplomarbeit erwähnen, weil wir in der Firma nicht zum Web AS wechseln werden sondern ich soll ja nur evaluieren, wie wir unsere Anwendungen integrieren können.

Der Amerikanische Unabhängigkeitstag…für uns kein Feiertag 😦

Heute habe ich zunächst mit meinem Kollegen erruiert, welche Teil-Applikation der EinkäuferDB am besten für einen Integrations-Prototypen geeignet wäre.

Danach habe ich Wikipedia Artikel über Portale, EAI (Enterprise Application Integration) und Integration im Allgemeinen durchgelesen.

Man unterscheidet zwischen 3 verschiedenen Arten der Software-Integration:

Funktionsintegration:

Hierbei werden Funktionen aus verschiedenen Anwendungen zusammengefasst.

Datenintegration:

Erstellung eines einheitlichen Datenmodells für die zu integrierenden Anwendungen.

Geschäftsprozessintegration:

Eine sogenannte Integrationsplattform (bspw. SAP IX) führt die Anwendungen zusammen und garantiert einen reibungslosen Daten- und Funktionsaustausch. Dies ist die kostengünstigste Alternative, da die Applikationen selbst unangetastet bleiben, man aber z.B. durch Web Services über die Integrationsplattform die Möglichkeit hat, an die Daten und Funktionen ranzukommen.

Zum Thema „Integrationsansätze für Portale“ habe ich im Objektspektrum Ausgabe 03/06 S. 15 einen gleichnamigen Artikel gelesen.

Der Autor unterschiedet hier zwischen drei Ebenen der Integration von Anwendungen in Portale:

  • Präsentationslogik
  • Anwendungs- und Geschäftlogik
  • Datenlogik

Die Präsentationslogik bildent die sogenannten Portlets (iViews bei SAP), die es ermöglichen auf einfache Art und Weise (z.B. Abfragen eines Web Services oder RSS-Feeds) Daten darzustellen. Auch ist es möglich in iViews Web DynPro Anwendungen darzustellen.

Es gibt auch entfernte Portlets die über WSRP (Web Services for Remote Portlets) angesprochen werden können. Da SAP dies jedoch nicht unterstützt, hat dies für meine Diplomarbeit keinerlei Relevanz. Wäre aber eigentlich ganz nett gewesen. So hätte man Portlets in einem beliebigen Portlet-Container laufen lassen und sehr simpel in einen iView einbinden können.

Die Anwendungs- oder Geschäftlogik lässt sich bei SAP soweit ich bis jetzt weiß nur über Web DynPro oder ABAP Anwendungen integrieren. Oder eben wieder Web Services, die sich um diese Logik kümmern, was aber wahrscheinlich nicht sehr performant und sehr aufwändig ist.

Web Services sind eher ein datenorientierter Ansatz zur Integration. So kann man einem solchen Service zum Beispiel Suchparameter übergeben und er gibt einem die Ergebnisliste zurück. Solch einen Service werde ich wohl im Laufe der Diplomarbeit brauchen.


Dann habe ich mir heute noch angeschaut, wie ich die Netweaver Preview Version inkl. Portal installiere, die momentan noch lädt und wohl morgen unten sein wird (sind über 5 GB…).Hierzu habe ich einen Artikel in der iX Ausgabe 02/05, S. 76 gefunden und einen Visual Guide von SAP.