Erlebe Software - Individuelle SAP Software https://erlebe-software.de Fri, 12 Jan 2018 07:00:09 +0000 de-DE hourly 1 http://wordpress.org/?v=4.2.6 Neue Spielregeln der ABAP Programmierung auf HANA – der Code Pushdown. https://erlebe-software.de/sap-hana/neue-spielregeln-der-abap-programmierung-auf-hana-der-code-pushdown/ https://erlebe-software.de/sap-hana/neue-spielregeln-der-abap-programmierung-auf-hana-der-code-pushdown/#comments Fri, 12 Jan 2018 07:00:09 +0000 https://erlebe-software.de/?p=11005 Der Code Pushdown ist ein neues Paradigma von SAP für die ABAP Programmierung auf HANA. Doch was bedeutet das  eigentlich? Die wesentliche Innovation der HANA Datenbank besteht aus der  In-Memory Technologie, also der Haltung aller Daten im Hauptspeicher, und einer starken Kopplung zwischen Rechnerarchitektur und Software, die sich in einer starken Parallelisierung durch Hierarchien und speziellen […]

Der Beitrag Neue Spielregeln der ABAP Programmierung auf HANA – der Code Pushdown. stammt von https://erlebe-software.de

]]>
Der Code Pushdown ist ein neues Paradigma von SAP für die ABAP Programmierung auf HANA. Doch was bedeutet das  eigentlich?

Die wesentliche Innovation der HANA Datenbank besteht aus der  In-Memory Technologie, also der Haltung aller Daten im Hauptspeicher, und einer starken Kopplung zwischen Rechnerarchitektur und Software, die sich in einer starken Parallelisierung durch Hierarchien und speziellen Prozessorbefehlen äußert. Dies hatten wir in Einblick in die SAP HANA Datenbank diskutiert. Welche Konsequenzen ergeben sich für die ABAP on HANA Entwicklung?

Bevor wir die Thematik näher beleuchten, lassen Sie uns zunächst kurz betrachten, wo wir uns befinden:

Wissenlandkarte_Codepushdown

Die Verschiebung des Engpasses

Die Prinzipien der Kommunikation mit der Datenbank aus ABAP heraus, sahen bisher wie folgt aus:

  • Suche effektiv nach den Daten die du benötigst
  • Übertrage nicht mehr Daten, als erforderlich
  • Entlaste den Datenbankserver.

Zwar ist dies auch unter HANA gegeben, doch hat sich die Gewichtung dieser Regeln verschoben. Bildlich gesprochen, durchläuft der Informationsstrom bei der Verarbeitung Medien unterschiedlicher Kohäsion. Bei der Übertragung zwischen Applikationsservern und Datenbank, werden die Daten im Prinzip über ein Netzwerk übertragen, was um Größenordnungen langsamer läuft, als die serverinterne Übertragung zwischen Arbeitsspeicher und Cachehierarchie. Werden auf mechanische Bauteile, wie Festplatten, zugegriffen, fällt der Unterschied noch extremer aus.

War früher der letzte Punkt der wesentliche Engpass, verschiebt sich dieser nun durch die Datenhaltung im Hauptspeicher auf das Netzwerk. Demnach kann das Übertragungsvolumen von Datenbank zum Applikationsserver als eine wichtige Performancekennzahl typischer ABAP on HANA Anwendungen betrachtet werden.

ABAP on HANA_Engpass

Der Codepushdown als Antwort auf neue Möglichkeiten.

Diese Situation unter HANA ergibt nun neues Potential für die Beschleunigung Ihrer Anwendungen.

Das neue Paradigma heißt nun Codepushdown: statt der Datenbank mitzuteilen, welche Daten wir für die Verarbeitung benötigen – Data-to-Code – teilen wir dieser mit, wie diese Daten zu verarbeiten sind – Code-to-Data. Anstatt das Rohmaterial umständlich anzuliefern und dann zu verfeinern, lassen wir es bereits an Ort und Stelle (im Datenbankmanagementsystem), in einem dafür spezialisierten Umfeld, in ein gewünschtes End- oder Zwischenprodukt verarbeiten. Damit senken sich in der Regel die Transportkosten. Dies verschiebt natürlich eine Teillast auf den Datenbankserver. Dafür ist HANA spezialisiert und verträgt nicht nur eine solche Belastung, sondern kann diese in der Regel um ein vielfaches schneller umsetzen.

ABAP on HANA_Codepushdown

Von der Black zur Whitebox – das Innenleben beleuchten.  

Zur Umsetzung des Codepushdowns in ABAP, nähert sich SAP seit Netweaver 7.4 SP05 dem SQL92 Standard an.  Dies geschieht durch erweiterte Ausdrucksmöglichkeiten von Views und den Zugriff auf modularisierten Datenbankcode. Die Modularisierung erfolgt in Form von sogennanten Stored Procedures, geschrieben in SQLScipt, einer dem SQL Standard um imperative Sprachelemente erweiterten Sprache. In gewisser Weise können sowohl komplexere „Gestalten“ aus der Datenbank projiziert, als auch direkt umfangreicher Datenbankcode aus ABAP verarbeitet werden, der nur noch das Resultat aus der Datenbank zurück liefert.

Der Zugriff aus ABAP erfolgt durch Proxys der Views oder Stored Procedures, also ABAP Stellvertreter dieser HANA seitigen Objekte. Oder durch die Definition von Objekten der ABAP Core Data Services (ABAP CDS) oder des klassenbasierten Frameworks der ABAP Managed Database Procedures (AMDPs).

Der Ansatz über Proxys oder CDS bzw. AMDPs führt zu Bottom-Up oder Top-Down-Ansätzen. Auf diese Ansätze werden wir zu einem späteren Zeitpunkt noch stoßen.

Ausblick – Engpässe finden und auflösen.

Nach einem HANA Code Readiness Check und einer erfolgreichen Migration auf HANA, liegt der nächste wichtige Schritt in der Optimierung Ihrer Anwendungen.

Hierzu bietet SAP leistungsstarke Tools, der statischen und dynamischen Performanceanalyse an, die bei der Datensammlung, Interpretation und Engpasslokalisation, sogar unter Produktivbedingungen, unterstützen.

Wie geht’s weiter?

In den nächsten Beiträgen beleuchten wird den CDS und die AMDPs genauer, als die leistungsstarken Instrumentarien des Codepushdowns. Ferner werden wir uns die Funktionsweise der verschiedenen Tools zur Performanceoptimierung näher ansehen.

Der Beitrag Neue Spielregeln der ABAP Programmierung auf HANA – der Code Pushdown. stammt von https://erlebe-software.de

]]>
https://erlebe-software.de/sap-hana/neue-spielregeln-der-abap-programmierung-auf-hana-der-code-pushdown/feed/ 0
Features-Vergleich: ABAP Dictionary Views VS CDS Views https://erlebe-software.de/sap-hana/abap-cds-views-vs-abap-dictionary-views/ https://erlebe-software.de/sap-hana/abap-cds-views-vs-abap-dictionary-views/#comments Mon, 08 Jan 2018 23:46:28 +0000 https://erlebe-software.de/?p=10967 „ABAP Dictionary Views waren die ersten Views, welche ich während meines Karrierenstarts kennengelernt habe.“ Wahrscheinlich gilt diese Aussage nicht nur für mich, sondern auch für viele andere Bewohner der Welt von SE80. In der altbekannten SE11 werden oft noch ABAP Dictionary Views für unterschiedliche Reports definiert. Mit SAP HANA jedoch ändert sich dieser Grundsatz. Wie bereits […]

Der Beitrag Features-Vergleich: ABAP Dictionary Views VS CDS Views stammt von https://erlebe-software.de

]]>
ABAP Dictionary Views waren die ersten Views, welche ich während meines Karrierenstarts kennengelernt habe.

Wahrscheinlich gilt diese Aussage nicht nur für mich, sondern auch für viele andere Bewohner der Welt von SE80. In der altbekannten SE11 werden oft noch ABAP Dictionary Views für unterschiedliche Reports definiert.

Mit SAP HANA jedoch ändert sich dieser Grundsatz. Wie bereits schon in unserer mindsquare KnowHow-Datenbank beschrieben, wurde mit SAP HANA die sog. Core Data Services (oder kurz: CDS) seit ABAP 7.40 SP05 im Frühjahr 2014 zum ersten Mal eingeführt. Wenn Sie den Beitrag noch nicht kennen, können Sie diesen unter folgendem Link finden. Auch wenn im verlinktem Artikel hauptsächlich die HANA CDS beschrieben wird, so existieren viele Überschneidungen zu ABAP CDS.

 

CDS Views – Das Paradigmenwechsel

Mit CDS gehen auch die Core Data Services Views (kurz: CDS Views) einher. Es existieren zwei Ausprägungen von CDS Views: als ABAP CDS Views und HANA CDS Views. In diesem Artikel werde ich jedoch nicht in die weitere Differenzierung beider Versionen eingehen. Diese werden in einem anderem Beitrag näher erläutert. Besonders seit SAP HANA 1.0 SPS 10 zeigt das Softwarehaus in Walldorf mithilfe neuer Features die Entschlossenheit, dass mehr Fokus auf CDS gelegt wird (mehr dazu im offiziellen Blog der SAP).

Doch was hat die SAP nun dazu bewegt, soviele Ressourcen in die Hand zu nehmen und in diese Entwicklung zu investieren? Die Antwort hierzu ist nahezu simpel wie auch genial: Bisher galt das Credo, dass mithilfe von gut definierten SQL-Abfragen ein großes Datenpaket von der Datenbank abholt und auf der Applikationsebene in ein für uns interessantes Ergebnis verarbeitet wird. Nun folgt die SAP mithilfe von HANA ein neues Paradigma. Es sollten möglichst viele Kalkulationen bereits auf der Datenbank geschehen, sodass schon nahezu fertige Ergebnisse geliefert werden. Der Vorteil? Deutlicher Performancegewinn trotz gleichen Aufwands des Entwicklers. Das Stichwort? Code Pushdown. Und mithilfe welcher Komponene kann das erreicht werden? Oft mit CDS Views.  Mehr zur Performanceoptimierung können Sie aus folgendem Beitrag entnehmen.

Lange Rede kurzer Sinn: Was sind nun die technischen Unterschiede zwischen diesem neuen Ansatz und dem Altbekannten?

 

Erstellung der View

ABAP Dictionary Views werden über die SE11 bzw. dem ABAP Data Dictionary (DDIC) definiert. Anders sieht es bei CDS Views aus: Da spezifische DDL source files erzeugt werden müssen, wird die Entwicklungsumgebung Eclipse benötigt.  Sie können im folgenden Beitrag unter Schritt 3 „Eclipse einrichten“ nachlesen, wie Eclipse eingerichtet wird.

 

Datenbanken

Sowohl ABAP Dictionary Views als auch CDS Views sind mit allen Datenbanken kompatibel. Es folgt nun ein kurzer aber selbstverständlicher Hinweis: Die vorherige Aussage gilt nicht für HANA CDS Views. Es wird die XS Engine benötigt, welche nur in Kombination mit einer HANA DB erhältlich ist.

 

UNION Befehl

Views werden unter anderem dazu eingesetzt, um oft verwendete Selektionen abzuspeichern, welche Joins über mehrere Tabellen enthalten. Durch die Verwendung von CDS Views können auch kompliziertere Joins abgedeckt werden. Ein besonderer Befehl hierbei stellt UNION dar, mit welchem die Ergebnismengen zweier SELECT Abfragen kombiniert werden können.

UNION Befehl - Beispiel

UNION Befehl – Beispiel

 

Nested Views

Wie bereits im Absatz vorher beschrieben, bestehen Views aus den Ergebnissen von vorbereiteten/gespeicherten Selektionsabfragen. CDS Views tragen aber diesen Gedanken auf die nächste Ebene: Es können „Views von Views“ erstellt werden. Dies bedeutet nichts weiteres, als dass nicht Spalten aus einzelnen Tabellen selektiert werden können, sondern auch aus bereits bestehenden Views.

Nested Views

Nested Views

 

Funktionen

Nun nähern wir uns eines der interessantesten Features von SAP HANA und auch den größten Unterschied zwischen ABAP Dictionary Views und CDS Views: Es können Funktionen direkt auf Datenbankebene verwendet werden. Funktionen innerhalb von CDS Views erlauben es unterschiedliche Operationen auf ein (Teil-)Ergebnis anwenden zu können bevor es in Applikationsebene kommt. Es mag vielleicht unspektakulär klingen, von daher folgen nun wenige Beispiele zur Erläuterung:

Mittels der Funktion DATS_DAYS_BETWEEN(date1,date2)  lässt sich z.B. die Menge der Tage zwischen date1 und date2 sehr komfortabel berechnen. Ein weiteres nützliches Beispiel wäre die Funktion CURRENCY_CONVERSION( p1 => a1, p2 => a2, … ). Mittels dieser lassen sich beispielsweise in einem Anwendungsszenario unterschiedliche Warenwerte direkt in eine gemeinsame Zielwährung konvertieren, um somit Vergleichbarkeit zu schaffen. An dieser Stelle erinnere ich nochmals: Diese Operationen/Kalkulationen finden bereits in der Datenbank statt!

 

Fazit

Wie Sie hoffentlich erkennen können, ist dieses Thema nicht gerade trivial. Wenn es besonders um die Frage geht, wie die HANA DB verwendet werden muss, um den oft nachgesagten Performancegewinn ausschöpfen zu können, rücken die Core Data Services und dessen Views immer weiter in den Fokus. Um nun zurück auf den Titel dieses Beitrages zu kommen, hoffe ich, dass meine Erläuterungen eindeutig genug sind, um die CDS Views als klare Sieger hervorzuheben! Ich bin weiterhin gespannt, wie die SAP dieses Produkt in Zukunft noch weiterentwickeln wird.

Konnte ich Ihr Interesse wecken und Sie benötigen zufällig eine Beratung bezüglich den CDS Views? Dann sprechen Sie uns ruhig an!

Der Beitrag Features-Vergleich: ABAP Dictionary Views VS CDS Views stammt von https://erlebe-software.de

]]>
https://erlebe-software.de/sap-hana/abap-cds-views-vs-abap-dictionary-views/feed/ 0
Einblick in die SAP HANA Datenbank https://erlebe-software.de/sap-hana/hana-db/sap-hana-datenbank-2/ https://erlebe-software.de/sap-hana/hana-db/sap-hana-datenbank-2/#comments Tue, 19 Dec 2017 11:00:31 +0000 https://erlebe-software.de/?p=10900 HANA und HANA Datenbank Wer SAP HANA (High Performance Analytic Appliance) googled kommt mit einer ganzen Reihe von Begriffen in Berührung. Da ist zum einen die Rede von der SAP HANA Entwicklungsplattform, ausgestattet mit der In-Memory Technologie, am Hasso-Plattner-Institut zusammen mit der Standford-University entwickelt, um den Anforderungen der Business Intelligence und Business Analytics gerecht zu […]

Der Beitrag Einblick in die SAP HANA Datenbank stammt von https://erlebe-software.de

]]>
HANA und HANA Datenbank

Wer SAP HANA (High Performance Analytic Appliance) googled kommt mit einer ganzen Reihe von Begriffen in Berührung.

Da ist zum einen die Rede von der SAP HANA Entwicklungsplattform, ausgestattet mit der In-Memory Technologie, am Hasso-Plattner-Institut zusammen mit der Standford-University entwickelt, um den Anforderungen der Business Intelligence und Business Analytics gerecht zu werden.

Ferner clustern sich andere Begriffe rund um das Thema SAP HANA Business Suite 4 SAP HANA, kurz SAP S/4HANA. Andere Begriffe wiederum formieren sich rund um das Thema HANA Cloud Platform (SAP Cloud Platform seit dem 27. Februar 2017).

Suchen wir nach Gemeinsamkeiten, so stellen wir fest, dass alle oben genannten Technologien, als zugrunde liegendes Datenbank-Management-System (DBMS) die SAP HANA Datenbank verwenden.

Um HANA im Kern besser zu verstehen, werde ich mich hier auf die Perspektive eines Anwendungsentwicklers aus der klassischen SAP Umgebung fokussieren, der nun erstmalig Anforderungen in einer SAP HANA Umgebung umsetzt. Ebenfalls passend wäre die Sicht als IT-Verantwortlicher, der nun vor der Herausforderung steht, sein Team auf die Zukunft mit HANA vorzubereiten.

Leitfragen

Lassen Sie uns in dieser kleinen Serie von Beiträgen tiefer in das System HANA DB eintauchen und ein Stück weit klären, welchen neuen Herausforderungen wir uns stellen werden, und welche Fähigkeiten und neuen Denkweisen wir hierbei erlernen müssen.

Nun haben wir die HANA DB bereits als System bezeichnet. Erlauben Sie mir im Sinne dieser Denkweise konsequent fortzufahren.

Hierdurch ergeben sich einige Leitfragen, die wir im Laufe der Serie näher im Detail beleuchten wollen:

  1. Was ist neu in der „HANA-Welt“? Wie verläuft die Kommunikation über die Grenzen hinweg?
  2. Welchen Zweck erfüllt die HANA DB?
  3. Durch welche Faktoren wird die Entwicklung der Technologie getrieben?
  4. Wie unterscheidet sich die HANA DB von den ursprünglichen relationalen Datenbanken?
  5. Aus welchen Komponenten besteht die HANA DB und wie interagieren diese?
  6. Welche datenbankspezifischen Objekte gibt es?
  7. Welche Prozesse laufen in und über die HANA DB?
  8. Was sind Perspektiven und welche sind für Entwickler auf der HANA DB wesentlich?

HANA im Kraftfeld zwischen Innovation und gestiegenen Anforderungen

Ein wesentliche Treiber der Entwicklung ist die Analyse großer Datenmengen. War zuvor eine strikte Trennung von transaktionaler und analytischer Funktionalität erforderlich, wird diese Lücke nun ein Stück weit wieder geschlossen. Während sich transaktionale Berechnungen durch das Lesen, Verändern und Schreiben einzelner weniger Datensätze auszeichnen, greifen analytische Prozesse großräumig auf Daten von weniger Attributen zu, um sie für ein anschließendes Berichtswesen in konsolidierter Form aufzubereiten.

Tabellen müssen im Speicher linearisiert werden.

Tabellen müssen im Speicher linearisiert werden.

Hier spricht man von einem transponierten Zugriff auf Datenbanktabellen. Während der transaktionale Zugriff horizontal geschieht, wird bei analytischem Zugriff vertikal auf die Daten der Tabelle zugegriffen. Nicht zuletzt die Berücksichtigung dieser geänderten Zugriffsart zeichnet HANA für analytische Szenarien aus.

 Abgrenzung HANA DB und Any-DB – In-Memory

Was zeichnet die HANA DB von einer bis hierin üblichen relationalen Datenbank, einer Any-DB, aus? Durch kostengünstigere Hauptspeicher, die immer mehr Kapazität tragen, liegt die Idee nahe, immer mehr Daten im Hauptspeicher für einen schnelleren Zugriff zu puffern. Gehen wir nun soweit, dass im Wesentlichen alle Daten so abgelegt werden, erhalten wir einen wesentlichen Aspekt der In-Memory Technologie. Hieraus ergeben sich einige Konsequenzen und Probleme.

Die Größe aller Geschäftsdaten einer Applikation kann im mehrstelligen Terabyte Bereich liegen. Es werden dadurch geeignete Komprimierungsverfahren benötigt. Für einen schnellen Zugriff über eine Anwendung, sollten die hierfür benötigten Informationen nahe im Speicher beieinander liegen, um die Zahl der Seitenfehler im Cache zu reduzieren.

Moderne Speicherhierachien

Moderne Speicherhierachien

Wir sprechen in diesem Zusammenhang auch von Datenlokalität. Aus zuvor genannten Gründen der geänderten Zugriffsweise durch analytische Prozesse, liegt nun die Überlegung nahe, dass Seitenlayout von Datenbanktabellen in HANA zu transponieren. Anstatt, wie im zeilenbasiertem Layout, einzelne Zeilen der Tabelle sukzessiv hintereinander zu schreiben, und damit die Spalten der Tabelle zu zerschneiden, bleiben im spaltenbasierten Layout die einzelnen Spalten zusammen und werden hintereinander weggeschrieben. Hiermit erhält man wiederum neue Angriffspunkte für die dringend benötigte Komprimierung.

Spaltendekomposition

Jede Spalte wird nun durch einen Attribut- und Dictionary-Vektor in der Datenbank repräsentiert. Das Dictionary umfasst in sortierter Weise die verschiedenen Werte der Spalte. Im Attributvektor werden nun die Positionen der Werte im Dictionary-Vektor weggeschrieben.

Dekomposition in Dictionary und Attributvektor

Dekomposition in Dictionary und Attributvektor

Sowohl auf das Dictionary, als auch auf den Attributvektor können nun geeignete Komprimierungen durchgeführt werden. So lässt sich schnell vorstellen, dass in typischen Geschäftstabellen, viele Spalten nur wenig verschiedene Werte besitzen. Ein gutes Beispiel dafür sind Währungseinheiten.

Aufeinanderfolgende Werte im Attributvektor können somit durch den Wert und die Anzahl codiert werden. Der erzielte Komprimierungsfaktor, i.e. das Verhältnis aus komprimierter und unkomprimierter Speichergröße, schwankt in typischen Anwendungen je nach Spalte zwischen 20% und 140%, wobei das Gesamtergebnis üblicherweise deutlich vorteilhafter ist.

Weitere wesentliche Vorteile eines spaltenbasierten Layouts für analytische Berechnungen, liegen in einer deutlich verbesserten Möglichkeit der Parallelisierung. Zum Beispiel, dass mehrere Spalten unabhängig voneinander aggregiert werden können.

Appliance

Diese Möglichkeiten nutzt HANA durch eine Appliance, also einer starken Kopplung zwischen Hard- und Software. Auf Ebene der Prozessorkerne einer HANA kompatiblen Maschine, finden wir eine SMID-Architektur, deren Operationen auf die speziellen Bedürfnisse analytischer Geschäftsprozesse hin optimiert sind. Weiter finden sich eine hierarchische Anordnung mit Kernen, Prozessoren, Blades und Racks.

Mehrkernhierarchien

Mehrkernhierarchien

Zusammenfassung

Zusammengefasst können wir nun folgendes festhalten:

  1. HANA verwendet eine relationale Datenbank mit der In-Memory Technologie.
  2. Hierbei werden die Geschäftsdaten üblicherweise spaltenbasiert im Hauptspeicher gehalten.
  3. Das spaltenbasierte Layout begünstigt zum einen durch geeignete Datenlokalität die Berechnung durch analytische Prozesse.
  4. Andererseits wird auch die Parallelisierung begünstigt.
  5. HANA optimiert diese Prozesse durch eine geeigneten SMID-Prozessorarchitektur und eine auf Parallelisierung ausgerichtete Hierarchie von berechnenden Einheiten und Speicher.

Wie geht es weiter?

In der nächsten Folge klären wir das fundamentale Prinzip des Code-to-Data Prinzips. Wir erläutern, wie dieses Prinzip einen neuen Engpass in der Datenverarbeitung zu beantworten versucht. Wir zeigen, wieso Core Data Services (CDS) und in in SQLScript geschriebene ABAP Managed Database Procedures, sogenannte AMDPs, bald zu einen Muss im Werkzeugkasten eines jeden ABAP Softwareentwicklers werden.

Wie bereiten Sie sich und Ihre Mannschaft auf die Zukunft vor?

 

 

 

 

 

 

 

 

 

 

 

 

 

Der Beitrag Einblick in die SAP HANA Datenbank stammt von https://erlebe-software.de

]]>
https://erlebe-software.de/sap-hana/hana-db/sap-hana-datenbank-2/feed/ 0
6 Vorteile unserer SAP Projekte zum Festpreis https://erlebe-software.de/allgemein/6-vorteile-von-festpreisprojekten/ https://erlebe-software.de/allgemein/6-vorteile-von-festpreisprojekten/#comments Thu, 14 Dec 2017 07:00:06 +0000 https://erlebe-software.de/?p=10873 In verschiedenen Kundenprojekten habe ich immer wieder interessante Geschichten gehört, sowohl von vergangenen als auch von laufenden Projekten. Dabei ging es häufig um die gleichen Themen – „das Projekt läuft kostentechnisch total aus dem Ruder“, „der Dienstleister XYZ hats total verbockt und wir sollen dafür zahlen“. Immer wieder suchen Unternehmen Unterstützung in Form eines Dienstleisters. Natürlich […]

Der Beitrag 6 Vorteile unserer SAP Projekte zum Festpreis stammt von https://erlebe-software.de

]]>
In verschiedenen Kundenprojekten habe ich immer wieder interessante Geschichten gehört, sowohl von vergangenen als auch von laufenden Projekten. Dabei ging es häufig um die gleichen Themen – „das Projekt läuft kostentechnisch total aus dem Ruder“, „der Dienstleister XYZ hats total verbockt und wir sollen dafür zahlen“.

Immer wieder suchen Unternehmen Unterstützung in Form eines Dienstleisters. Natürlich spielen bei der Auswahl sowohl die persönlichen Emotionen als auch die unternehmerisch, teilweise vorgegebenen Kriterien, zur Lieferantenauswahl eine Rolle. Zusätzlich kommen durch folgende Fragen große Schwierigkeiten und Unsicherheiten auf:

  • Wer von seinen Mitarbeitern hat wirklich das passende Knowhow für dieses Projekt?
  • Wie sieht es mit dem Risiko aus – zeigt sich der Dienstleister verantwortlich oder bleibt das Risiko an mir haften?
  • Brauche ich einen Projektleiter oder ist das Projekt „klein“ genug?
  • Wie viel Aufwand muss ich in Reporting und Controlling investieren?

Minimieren Sie Ihre Unsicherheiten

Auch unsere Kunden treiben diese und ähnliche Fragen um. Jeder hat in der Vergangenheit viele gute, als auch viele schlechte Erfahrungen mit der überwiegend gewünschten Vereinbarung gesammelt:

Zum Zeitpunkt X benötigen wir Y Berater über einen Zeitraum von Z Personentagen (PT), um das Projekt zu stemmen. Bitte nennen Sie uns Ihren Stundensatz für die Stufen Junior Consultant, Consultant und Senior Consultant inklusive Nebenkosten.

An diesem Vorgehen ist überhaupt nichts verkehrt – wenn es genau das ist, was Sie sich wirklich vorstellen: Eine Aufstockung der Personalressourcen ohne vertraglich vereinbarten (produktbasierten) Liefergegenstand. Sie behalten die Kontrolle, aber auch die Verantwortung für das Projekt und die erbrachte Leistung aller Projektmitarbeiter. Der grundlegende Plus-Punkt liegt auf der Hand: Sie zahlen nur die erbrachten Stunden. Wenn Sie keine Unterstützung mehr brauchen, beenden Sie die Zusammenarbeit kurzfristig.

Welche Projekte fallen Ihnen spontan ein, bei denen es durch diese Art der Zusammenarbeit zu Schwierigkeiten oder Konflikten kam? Sei es Abrechnungsdiskussionen, nicht erbrachte Ergebnisse oder ähnliches? Zugegeben, nicht für alle Projekte ist der folgende Ansatz der Richtige. Dennoch lohnt es sich, schon vor der Lieferantensuche und aus unserer Sicht sogar vor Projektbeginn abzuwägen, ob nicht ein Festpreis-Projekt für Sie das passende sein könnte!

Wir sind Ihr Dienstleister für die Entwicklung, die Ihr SAP noch besser macht.
Wir beraten sie zu Vor- und Nachteilen der SAP UI-Technologien und unterstützen Sie bei Planung und Design Ihrer Applikationen.

Wir sind Ihr Dienstleiter für Ihr Entwicklungsprojekt, das den Anwender in den Mittelpunkt stellt.

Der perfekte Einstieg in das Thema SAPUI5 ist unser SAP UI5 Kickstarter Workshop.

Gerne spreche ich mit Ihnen über Ihre Ausgangslage und zeige Lösungsmöglichkeiten auf. Auf Wunsch unterbreite ich Ihnen im Anschluss ein unverbindliches Angebot.

Kontaktieren Sie mich: Telefon 0211.9462 8572-16 oder per E-Mail info@erlebe-software.de
Ingo Biermann, Fachbereichsleiter

Vorteile unserer Festpreisprojekte

Nur, um das klarzustellen: Was jetzt folgt, ist vollständig lieferantenspezifisch. Konkret: Es trifft auf die mindsquare und uns als Fachbereich erlebe-software.de zu. Für andere Lieferanten zu sprechen würden wir uns nicht anmaßen – warum sollten wir das auch tun, schließlich wollen ja wir mit Ihnen zusammenarbeiten! 😉 Welche Vorteile bringt also unsere Art der Festpreisprojekte mit sich?

Vorteil 1: Wir erarbeiten für Sie ein Konzept nach einem gemeinsamen Anforderungsworkshop – ohne, dass sie das Folgeprojekt mit uns machen müssen.

Vorteil 2: Es steht schon vorher fest, was sie am Ende zahlen – kein finanzielles Risiko für Sie.

Vorteil 3: Wir übernehmen für Sie die (Teil-)Projektleitung und entsprechend auch das Projektstatus-Reporting.

Vorteil 4: Sie bestimmen, welche Anteile Bestandteil des Projekts sind – von der Anforderungsaufnahme bis zum Go-Live-Support helfen wir Ihnen gerne weiter.

Vorteil 5: Gerne erarbeiten wir auch mit Ihnen die Unterlagen für Ihre Ausschreibung – Sie sparen wertvolle Zeit und sind vergleichbar.

Vorteil 6: Sie haben kein Personal-Risiko – egal, welche Berater das vereinbarte Projekt umsetzen, wir verantworten die Einhaltung von Budget, Time und Quality!

Wann ist ein Festpreis-Projekt sinnvoll?

Aus unseren vergangenen Projekten haben wir von unseren Kunden häufig die folgenden Gründe für Festpreisprojekte mitbekommen:

  1. Es gibt bereits konkrete Projektanforderungen, die umgesetzt werden sollen.
  2. Sie wollen die fachliche Eignung des Lieferanten soweit wie möglich schon vor dem Projekt prüfen.
  3. Aus internen Gründen wünschen Sie sich, dass möglichst viele Teilaufgaben des Projekts durch den Lieferanten erledigt werden – warum also nicht das ganze Projekt?
  4. Sie möchten klare Verantwortlichkeiten – der Lieferant ist verantwortlich für seinen vereinbarten Teil des Projektergebnisses.
  5. Sie wollen Kostensicherheit, schon vor dem Projekt.

Ein beispielhafter Projektablauf

Ich vermute, Sie sind jetzt ungefähr mit folgendem Gedanken beschäftigt: „Klingt ja alles ganz nett – aber wie soll denn zum Beispiel Punkt 2, die Eignungsprüfung, gewährleistet werden?“ Völlig zurecht. Daher möchte ich Ihnen nachfolgend den schematischen Ablauf unserer Festpreisprojekte aufzeigen, durch die wir die genannten Vorteile erreichen. Ein gemeinsamer Erfolg steht dabei im Vordergrund – keiner steckt gerne Niederlagen weg, weder Sie noch wir.

phasen bis zum festpreisprojekt

Vom Anforderungsworkshop zum Festpreisprojekt

  1. Gemeinsam mit Ihrem Experten-Team für das Projektthema führen wir einen Anforderungsworkshop durch. Dabei werden die bestehenden Anforderungen detailliert geprüft und mögliche weitere Punkte aufgenommen.
  2. Wir erstellen auf Basis der aufgenommenen Anforderungen ein Konzept, dass wir Ihnen zur Verfügung stellen. Gerne wirken wir auch direkt an der Erstellung der Ausschreibungsunterlagen mit.

    Hinweis: Anforderungsworkshop und Konzept werden als Paket separat abgerechnet. Sie können jetzt selbst entscheiden, ob Sie uns mit den Anforderungen des Konzepts einen Projektauftrag erteilen wollen oder nicht.

  3. Wenn Sie uns für eine weitere Zusammenarbeit auf Basis des Konzepts in Betracht ziehen, erstellen wir Ihnen ein passendes Festpreis-Angebot. Wir übernehmen damit bei einer Zusammenarbeit die Verantwortung und das Risiko für die Umsetzung.
  4. Die vereinbarten Umsetzungstätigkeiten steuern wir auf unserer Seite – entsprechend steht ein PRINCE2-zertifizierter Projektleiter für Sie als Ansprechpartner zur Verfügung. Auch eine Doppel-Projektleitung aus Kunden- und Lieferantenprojektleiter haben wir schon mehrfach durchgeführt.
  5. Am Ende gibt es eine vollständige Projektübergabe mit allen Produkten, Dokumenten und vereinbarten Leistungen.

Wie machen Sie bisher Ihre Projekte?

Ich hoffe, ich konnte Sie zum Nachdenken anregen – wann haben Sie klare Anforderungen, für die Sie kurz- bis mittelfristige Unterstützung wünschen? Was halten Sie davon, diese beim nächsten Mal als Festpreis zu beauftragen und sich selbst davon zu überzeugen, ob die Vorteile für Sie tatsächlich auch greifen?

Bei Fragen freue ich mich auf Ihre Kommentare oder direkten Nachrichten – was sind Ihre Zweifel, Bedenken und Erfahrungen?

 

Der Beitrag 6 Vorteile unserer SAP Projekte zum Festpreis stammt von https://erlebe-software.de

]]>
https://erlebe-software.de/allgemein/6-vorteile-von-festpreisprojekten/feed/ 0
Die Top 3 Programmierfehler in ABAP für SAP HANA https://erlebe-software.de/sap-hana/hana-db/top-3-fehler-abap-hana/ https://erlebe-software.de/sap-hana/hana-db/top-3-fehler-abap-hana/#comments Wed, 13 Dec 2017 13:28:36 +0000 https://erlebe-software.de/?p=10885 Wieviel ändert sich für ABAP Programmierer, wenn es um SAP ERP auf der HANA Datenbank oder S/4HANA geht? Das kann man aus zwei Blickwinkeln betrachten: HANA kompatibel programmieren HANA optimiert programmieren Beim ersten Punkt geht es darum, sich auf wenige Regeln einzustellen, damit OpenSQL Abfragen auch zukünftig korrekt funktionieren und keine Fehler verursachen. Nach dieser […]

Der Beitrag Die Top 3 Programmierfehler in ABAP für SAP HANA stammt von https://erlebe-software.de

]]>
Wieviel ändert sich für ABAP Programmierer, wenn es um SAP ERP auf der HANA Datenbank oder S/4HANA geht? Das kann man aus zwei Blickwinkeln betrachten:

  1. HANA kompatibel programmieren
  2. HANA optimiert programmieren

Beim ersten Punkt geht es darum, sich auf wenige Regeln einzustellen, damit OpenSQL Abfragen auch zukünftig korrekt funktionieren und keine Fehler verursachen.

Download: Die Top 3 Programmierfehler in ABAP für SAP HANA
Die Top 3 Fehler PDF-Format

Nach dieser „Pflicht“ ist Punkt zwei dann die „Kür“: Durch Einsatz von nativen HANA Techniken wie zum Beispiel ABAP Managed Database Procedures (AMDP) lassen sich durch gezielten Code Push Down erhebliche Geschwindigkeitsvorteile realisieren.

 

 

 

 

Der Beitrag Die Top 3 Programmierfehler in ABAP für SAP HANA stammt von https://erlebe-software.de

]]>
https://erlebe-software.de/sap-hana/hana-db/top-3-fehler-abap-hana/feed/ 0
SAPUI5 Apps Offline nutzen – Teil 2 https://erlebe-software.de/sap-user-experience/sapui5/sapui5-apps-offline-nutzen-teil-2/ https://erlebe-software.de/sap-user-experience/sapui5/sapui5-apps-offline-nutzen-teil-2/#comments Tue, 12 Dec 2017 22:59:59 +0000 https://erlebe-software.de/?p=10838 Verschiedene Lösungsansätze zur Umsetzung einer SAPUI5 Offline App wurden bereits im vorherigen Teil der Serie SAPUI5 Apps Offline nutzen – Teil 1 diskutiert. Was ist der nächste Schritt in der Umsetzung einer offlinefähigen SAPUI5 App? Der folgende Blogartikel soll zwei unterschiedliche Möglichkeiten beschreiben wie mit Änderungen unterschiedlicher Benutzer an einem gleichen Datenbestand umgegangen werden kann. […]

Der Beitrag SAPUI5 Apps Offline nutzen – Teil 2 stammt von https://erlebe-software.de

]]>
Verschiedene Lösungsansätze zur Umsetzung einer SAPUI5 Offline App wurden bereits im vorherigen Teil der Serie SAPUI5 Apps Offline nutzen – Teil 1 diskutiert.
Was ist der nächste Schritt in der Umsetzung einer offlinefähigen SAPUI5 App? Der folgende Blogartikel soll zwei unterschiedliche Möglichkeiten beschreiben wie mit Änderungen unterschiedlicher Benutzer an einem gleichen Datenbestand umgegangen werden kann.

Beispielszenario:
Beispielszenario von konkurrierenden Datensatzänderungen

Tablet A und Tablet B holen sich den Datenbestand aus dem Backend und speichern diesen in ihrem Offline-Speicher. Beide Geräte ändern nun zu einem unterschiedlichen Zeitpunkt den lokalen Datenbestand. Im Anschluss werden die geänderten Daten von beiden Geräten zu verschiedenen Zeitpunkten in das Backend geschrieben. Welche Konzepte gibt es jetzt um mit diesen konkurrierenden Datenänderungen umzugehen?

Konzept 1 – Verwenden Sie Zeitstempel

Um den Datenbestand für Benutzer nicht zu sperren besteht die Möglichkeit Zeitstempel für Ihre Datensätze zu verwenden. Wenn der Datensatz geändert wird, muss dann durch das Backend abgeglichen werden wann die letzte Änderung vorgenommen wurde. Besitzt die Änderung einen aktuelleren Zeitstempel, wird der Datensatz überschrieben. Andernfalls wird der Datensatz verworfen. Somit „gewinnt“ immer die jüngste Änderung.

Konzept 2 – Einsetzen von Sperrobjekten

Ein weiterer Ansatz ist das Verwenden von SAP Sperrobjekten. Diese radikalere Variante versieht den gelesenen Datensatz mit einem Sperrobjekt. Das heißt der Datensatz bleibt solange gesperrt bis die Freigabe durch das Gerät erfolgt. Problem dabei ist, wenn ein Gerät über einen sehr langen Zeitraum offline ist, bleibt dieser Datensatz auch solange gesperrt und kann währenddessen nicht durch andere Programme verwendet werden.

Fazit

Beide Konzepte haben Ihre Vor- und Nachteile. Welches Konzept am besten geeignet ist, ist immer sehr vom Anwendungsfall abhängig. Wenn Sie permanenten Zugriff auf ihre Datenbasis benötigen, empfiehlt sich der Einsatz von Zeitstempeln. Wohingegen Sperrobjekte genutzt werden können, wenn Sie ausschließen möchten das ein Datensatz durch mehr als ein Gerät bearbeitet wird.
Welches Konzept haben Sie im Einsatz?

Der Beitrag SAPUI5 Apps Offline nutzen – Teil 2 stammt von https://erlebe-software.de

]]>
https://erlebe-software.de/sap-user-experience/sapui5/sapui5-apps-offline-nutzen-teil-2/feed/ 0
SAP Leonardo – Die Buzzwords einfach erklärt https://erlebe-software.de/allgemein/sap-leonardo-die-buzzwords-einfach-erklaert/ https://erlebe-software.de/allgemein/sap-leonardo-die-buzzwords-einfach-erklaert/#comments Tue, 28 Nov 2017 09:29:43 +0000 https://erlebe-software.de/?p=10619 SAP Leonardo, benannt nach dem italienischen Universalgelehrten Leonardo Da Vinci, heißt das neue digitale Innovationssystem der SAP und vereint zahlreiche zukunftsorientierte Technologien innerhalb der SAP Cloud Plattform. Das breite Portfolio soll Unternehmen und öffentliche Organisationen in Ihrer gesamten digitalen Innovationsstrategie unterstützen, so Mala Anand (Executive Vice President und President SAP Leonardo). Doch was verbirgt sich […]

Der Beitrag SAP Leonardo – Die Buzzwords einfach erklärt stammt von https://erlebe-software.de

]]>
SAP Leonardo, benannt nach dem italienischen Universalgelehrten Leonardo Da Vinci, heißt das neue digitale Innovationssystem der SAP und vereint zahlreiche zukunftsorientierte Technologien innerhalb der SAP Cloud Plattform.

Das breite Portfolio soll Unternehmen und öffentliche Organisationen in Ihrer gesamten digitalen Innovationsstrategie unterstützen, so Mala Anand (Executive Vice President und President SAP Leonardo).

Doch was verbirgt sich hinter den Buzzwords, die unter SAP Leonardo laufen?

 

Die Elemente von SAP Leonardo

Die Elemente von SAP Leonardo


 

SAP Cloud Plattform

Die SAP Cloud Plattform, das wohl bekannteste Produkt der Leonardo-Palette, bildet das Fundament von SAP Leonardo. Es stellt offene Technologien wie JavaScript und HTML bereit und verknüpft diese mit der In-Memory Datenbank SAP HANA. Außerdem ist die SAP Cloud Plattform gleichzeitig Entwicklungsumgebung und Laufzeitumgebung für Cloud und onPremise Systeme.
Inzwischen existiert sogar eine Partnerschaft zwischen Apple und SAP, in welcher ein eigenes iOS SDK auf Basis der SAP Cloud Plattform entwickelt und veröffentlich wurde.

Weiterführende Informationen: https://www.sap.com/germany/products/cloud-platform.html
 

Internet der Dinge

Unter dem Internet of Things (IoT) versteht man die Vernetzung von Alltagsgegenständen, die miteinander und mit dem Internet kommunizieren können, indem sie Daten senden und empfangen. Den kommunikativen Austausch dieser Smart Objects nennt man M2M, was für Machine-to-Machine steht. Dabei ist jeder Gegenstand des IoT mit einer eignen IP-Adresse identifizierbar, sodass der Mensch über das Internet mit dem Gegenstand kommunizieren kann. Mit Hilfe dieser Verbindung sind die smarten Gegenstände dazu in der Lage selbstständig, an die Situation angepasst zu agieren. Dies kann man sich auch für sein eigenes Unternehmen zu Nutze machen.

• Fernüberwachung und Optimierung von industriellen Großanlagen (Connected Industry)
• Mülltonnen mit Füllstandsensor, Smart-Traffic,… (Smart City)
• Reduzierung von Stau (Connected Car)

Weiterführende Informationen: https://www.sap.com/germany/products/supply-chain-iot/iot.html
 

Machine Learning

Maschinelles Lernen ist ein Teilgebiet der künstlichen Intelligenz. Dabei handelt es sich um einen selbstlernenden Algorithmus, der Anhand von Daten selbstständig Wissen aufbaut. Es wird also künstliches Wissen auf gesammelten Erfahrungen generiert. Genauer gesagt analysiert ein Computerprogramm die erhaltenen Daten und versucht bestimmte Muster und Gesetzmäßigkeiten zu erkennen. Mit Hilfe dessen kann die Software zum Beispiel:

• Relevante Daten finden, extrahieren und zusammenfassen
• Vorhersagen auf Basis der analysierten Daten treffen
• Wahrscheinlichkeiten für bestimmte Ergebnisse berechnen
• Sich an Entwicklungen eigenständig anpassen
• Prozesse auf Basis erkannter Muster definieren

Weiterführende Informationen: https://www.sap.com/germany/products/leonardo/machine-learning.html
 

Analytics

Analytics, genauer Business Analytics ist ein Untersuchungsprozess von Unternehmensdaten, wobei der Schwerpunkt auf statistischen Analysen liegt. Auf Basis der Erkenntnisse durch Analytics können strategisch Entscheidungen beeinflusst und Geschäftsprozesse automatisiert oder optimiert werden.
Ein wichtiger Aspekt für den Erfolg ist die Datenqualität, das heißt auf welcher Basis diese Daten beruhen.
Geschäftsfelder sind zum Beispiel:

• Mustererkennung (Data Mining)
• Erklärung für eingetretene Ergebnisse (statische Analyse, quantitative Analyse)
• Tests, um Entscheidungen zu prüfen (A/B-Testing)
• Vorhersagen (Predictive Analystics)

Weiterführende Informationen: https://www.sap.com/germany/products/analytics.html
 

Big Data

Der Begriff Big Data bezeichnet Datenmengen, die so groß sind, dass man sie mit normaler Software, Hardware oder herkömmlichen Methoden nicht mehr bewältigen kann. Diese entstehen durch jegliche Interaktion die wir durchführen – egal ob Mausklick, Entertaste oder der Besuch einer Lokalität. Unter Big Data versteht man neben diesen Daten auch deren Analyse. Ein bekannter Anwendungsfall wird in Online Shops genutzt – „Kunden die dieses Produkt kauften, kaufen auch…“. Es wird also errechnet, welche Produkte der Käufer am wahrscheinlichsten noch kaufen würde – und das in Echtzeit.
Unternehmen können so ihre Kundendaten nutzen um Produkte, Dienstleistungen und Werbung auf den Kunden maßzuschneidern.

Weiterführende Informationen: https://www.sap.com/germany/products/technology-platforms/big-data-hadoop.html
 

Design Thinking

Der Innovationsansatz Design basiert auf einem iterativen Prozess, um nutzer- und kundenorientierte Ergebnisse zur Lösung von komplexen Problem zu liefern. Dabei definiert sich eine gute Idee oder gar eine Innovation aus der Schnittmenge von drei sich überlappenden Kriterien. Die Erwünschtheit konzentriert sich darauf, existierende Bedürfnisse potentieller Nutzer zu erfüllen und faktisch kritisch zu hinterfragen, was die Menschen als sinnvoll erachten oder was für sie sinnvoll erscheint. Man spricht in diesem Zusammenhang von Human Centered Design.

Innovation als Schnittmenge zwischen Machbarkeit, Erwünschtheit und Rentabilität im Design Thinking

Innovation als Schnittmenge zwischen Machbarkeit, Erwünschtheit und Rentabilität


Die zwei weiteren Aspekte sind zum einen die Machbarkeit, was aus technischer Sicht in absehbarer Zeit funktionell möglich wäre, und zum anderen die Rentabilität. Darunter versteht man schlichtweg, inwiefern sich das Produkt aus wirtschaftlicher Sicht rechnet.
SAP selbst setzt bei sämtlichen ihrer Entwicklungen auf den kreativen Prozess und hat diesen auch zu einem wichtigen Bestandteil von SAP Leonardo gemacht.

Weiterführende Informationen: https://www.sap.com/germany/documents/2016/12/4086a5d3-9d7c-0010-82c7-eda71af511fa.html
 

Blockchain

Blockchain ist, wie der Name schon sagt, eine Kette aus Blöcken, wobei ein Block einem einzelnen Datensatz entspricht. Aneinandergereiht ergeben diese folglich die Blockchain. Jeder Block enthält außerdem eine Prüfsumme, der auf Basis seines Vorgängers beruht. Dies verifiziert die Echtheit der Blockchain.
Einmal aufgenommene Datensätze in die Blockchain können nicht mehr verändert werden. Wird dies doch getan, werden alle darauffolgenden Blöcke ungültig, da sich durch die Veränderung auch die Prüfsumme in allen folgenden Blöcken ändert.
Blockchain ist eine dezentrale Datenbankstruktur und somit für jeden einsehbar. Durch diese Charakteristiken – Dezentralität, Unveränderlichkeit und Transparenz – ist eine Manipulation gänzlich ausgeschlossen.

• Bezahlung mit Kryptowährungen
• Blockchain Automatisierung
• Ein ungewollte Ereignis löst eine Reihe an Anweisung auf und den Schaden einzudämmen
• Intelligente Verträge ohne Notar
• Automatisierung von Grundbuchänderungen
• Speicherung von Kundendaten

Weiterführende Informationen: https://www.sap.com/germany/products/leonardo/blockchain.html#solutions
 

Data Intelligence

Daten sind Informationen, die heutzutage einen immensen Wert haben. Mit Hilfe von Data Intelligence werden Daten verknüpft, aggregiert und anonymisiert, sodass sie kommerziell genutzt werden können. Dieses Data-as-a-Service kann entweder nur von Ihnen selbst, aber auch von Partnern, Kunden oder Branchendaten von Drittanbietern unterstützt werden.

Weiterführende Informationen: https://www.sap.com/germany/products/leonardo/data-intelligence-monetization.html

Sie haben zu einem der Themen tiefgehende Fragen oder möchten Gebrauch von der Technologie machen? Zögern Sie nicht mich zu kontaktieren, ich berate Sie gerne!

Der Beitrag SAP Leonardo – Die Buzzwords einfach erklärt stammt von https://erlebe-software.de

]]>
https://erlebe-software.de/allgemein/sap-leonardo-die-buzzwords-einfach-erklaert/feed/ 0
Automatisiertes vs. manuelles Testen https://erlebe-software.de/allgemein/automatisiertes-vs-manuelles-testen/ https://erlebe-software.de/allgemein/automatisiertes-vs-manuelles-testen/#comments Tue, 21 Nov 2017 16:51:21 +0000 https://erlebe-software.de/?p=10720 Ihre Mitarbeiter investieren viel Energie in die Testphasen der Projekte? Im Schnitt schätzen die IT Verantwortlichen deutscher Unternehmen, die SAP im Einsatz haben, dass sie rund 30% des Budgets für das Testen von Projekten und immerhin 20% im laufenden Betrieb investieren. Aufgrund der hohen Taktrate an IT Projekten, sind die Fachkräfte sehr stark in den Testprozess eingebunden. […]

Der Beitrag Automatisiertes vs. manuelles Testen stammt von https://erlebe-software.de

]]>
Ihre Mitarbeiter investieren viel Energie in die Testphasen der Projekte?

Im Schnitt schätzen die IT Verantwortlichen deutscher Unternehmen, die SAP im Einsatz haben, dass sie rund 30% des Budgets für das Testen von Projekten und immerhin 20% im laufenden Betrieb investieren. Aufgrund der hohen Taktrate an IT Projekten, sind die Fachkräfte sehr stark in den Testprozess eingebunden. Die meisten Unternehmen haben ihren Testprozess bereits  mit Unit Tests, Integration Tests, User Acceptance Tests und Regression Tests zur Exzellenz getrieben.

Getreu dem Motto „Alles was automatisiert werden kann, wird automatisiert.“ könnte sich hier eine massive Änderung ergeben. Die Idealvorstellung: Die ABAP Development Abteilung hat die Entwicklung im System abgeschlossen und Sie können mit einem Knopfdruck sowohl die Anforderungen validieren, als auch Nebenwirkungen und Seiteneffekte ausschließen. Lassen Sie uns doch mal schauen, was davon bereits möglich ist.

eCATT

Ausschnitt aus eCATT (Transaktion SECATT)

Lösungen für automatisiertes Testen können Sie unterstützen

ABAP Unit ist das Framework von SAP für Unit Tests, d.h. Modultests für einzelne separate Entwicklungsobjekte. Die Tests beschränken sich allerdings auf die einzelnen Module und können manuell oder automatisch geprüft werden. Daraus folgt, dass ABAP Unit Tests eine Testautomatisierung für die Entwicklertests bedeutet. Lesen Sie dazu auch den Blogbeitrag von Felix Tissen: Warum ABAP Unit Tests den Testaufwand verringern.

Für komplexere Testziele (z.B. Integration Tests) bietet SAP selbst das Extended Computer Aided Test Tool (eCATT) an, welches im Gegensatz zu den ABAP Unit Test Framework für Funktionstests entwickelt wurde. Das Tool eCATT bietet eine breite Masse an Möglichkeiten, kann aber vor allem zur GUI-Testautomatisierung eingesetzt werden.

In der Kurzfassung beschrieben, können sämtliche Interaktionen in der SAP GUI mit dem Rekorder aufgezeichnet und damit Testskripte erstellt werden, die im Anschluss automatisch geprüft werden können. Sie können sich somit ganze Testbatterien für Ihre Prozesse aufbauen, die stets die Korrektheit Ihrer Prozesse validieren können.

Automatisierte Testverfahren haben ihre Grenzen

Natürlich können Sie nicht jeden Testfall oder -bereich automatisieren, wie zum Beispiel den tatsächlichen Druck eines Rechnungsformulars auf dem Drucker. Außerdem ist mit Sicherheit der Invest proportional zu der Komplexität Ihrer Prozesse und daher zu Beginn der Implementierung von automatisierten Testverfahren entsprechend hoch. Einigen Quellen zufolge soll sich dieser Invest aber bereits nach dem 3. Durchlauf im Vergleich zu den Kosten für die manuellen Tests gerechnet haben.

Meine These: Automatisierte Tests werden in Zukunft unterstützen, aber werden manuelle Tests nicht vollständig ersetzen. Was denken Sie? Könnten Sie durch den Einsatz von automatisiertem Testen Ressourcen sparen, bzw. Ihre Mitarbeiter wieder mehr in ihren „Kernkompetenzen“ arbeiten lassen?

Der Beitrag Automatisiertes vs. manuelles Testen stammt von https://erlebe-software.de

]]>
https://erlebe-software.de/allgemein/automatisiertes-vs-manuelles-testen/feed/ 0
Warum ABAP Unit Tests den Testaufwand verringern https://erlebe-software.de/allgemein/warum-abap-unit-tests-den-testaufwand-verringern/ https://erlebe-software.de/allgemein/warum-abap-unit-tests-den-testaufwand-verringern/#comments Mon, 20 Nov 2017 08:41:41 +0000 https://erlebe-software.de/?p=10686 Unit Tests sind ein weit verbreitetes Mittel zur Qualitätssicherung. Häufig finden diese Tests Anwendung, wenn eine bestehende Implementierung nach einer Weiterentwicklung auf den Bestand der ursprünglichen Funktionalität geprüft werden soll. Mit dem ABAP Unit Testframework liefert die SAP alles was Sie für Unit Tests brauchen bereits mit. Das Framework ist fester Bestandteil der ABAP Workbench. […]

Der Beitrag Warum ABAP Unit Tests den Testaufwand verringern stammt von https://erlebe-software.de

]]>
Unit Tests sind ein weit verbreitetes Mittel zur Qualitätssicherung. Häufig finden diese Tests Anwendung, wenn eine bestehende Implementierung nach einer Weiterentwicklung auf den Bestand der ursprünglichen Funktionalität geprüft werden soll.

Mit dem ABAP Unit Testframework liefert die SAP alles was Sie für Unit Tests brauchen bereits mit. Das Framework ist fester Bestandteil der ABAP Workbench. Damit ist es ohne zusätzlichen Aufwand möglich Unit Tests anzulegen und zu implementieren. Dies können Entwickler bereits im Entwicklungsprozess übernehmen und so ihre entwickelten Funktionen immer wieder auf die gleiche einfache Weise testen. Dadurch lassen sich Entwicklertests deutlich vereinfachen, ohne zusätzlichen Aufwand für jede Ausführung eines Tests zu generieren. Doch nicht nur für das Testen neuer Funktionen sind Unit Tests ein hilfreiches Werkzeug. Es können auch bestehende Funktionalitäten getestet werden, nachdem neue hinzugekommen sind. Dadurch gibt es einen einfachen Weg die vorhandene Funktionalität zu sichern.

ABAP Unit: Ergebnisanzeige

ABAP Unit: Ergebnisanzeige

Unit Tests reduzieren den Gesamttestaufwand

Die Implementierung von Unit Tests generiert natürlich zunächst einen Mehraufwand für die Entwickler. Das heißt die gesamte Entwicklungszeit verlängert sich. Aber nur scheinbar. Bereits bei den Tests, die der Entwickler während der Entwicklung durchführt zeigt sich, dass der Aufwand für die Testdurchführung in den meisten Fällen sinkt.

Spätestens wenn zu einem späteren Zeitpunkt neue Funktionalitäten zur der Entwicklung hinzukommen, wird die wahre Aufwandsersparnis durch Unit Tests deutlich. Dann ist es mit wenigen Klicks möglich die bestehenden Tests auszuführen und zu erkennen, ob die letzten Änderungen einen Einfluss auf die bestehende Funktionalität hatten.

So kann in einer Art „Bestandstest“ die gesamte Funktion des Systems überwacht werden. Denn die Unit Tests sind beliebig oft und zu jeder Zeit durchführbar.

Meiner Meinung nach ist der Aufwand für die wiederholte manuelle Durchführung von Tests deutlich höher als der Initialaufwand, der für das Implementieren von Unit Tests entsteht. Daraus ergibt sich auf längere Sicht eine deutliche Aufwandsersparnis im Verhältnis zu geringerem akutem Aufwand.

Sie stehen vor der Überlegung Unit Test bei Ihnen zu verwenden? Sie haben offene Fragen, bei denen ich Ihnen weiterhelfen kann? Gerne stehe ich telefonisch und per Mail zur Verfügung.

Der Beitrag Warum ABAP Unit Tests den Testaufwand verringern stammt von https://erlebe-software.de

]]>
https://erlebe-software.de/allgemein/warum-abap-unit-tests-den-testaufwand-verringern/feed/ 0
SAP PO für die Cloud – Integrationslösungen für die Cloud im Überblick https://erlebe-software.de/sap-hana/hana-cloud-platform/sap-cloud-integrationsloesungen/ https://erlebe-software.de/sap-hana/hana-cloud-platform/sap-cloud-integrationsloesungen/#comments Wed, 15 Nov 2017 14:31:42 +0000 https://erlebe-software.de/?p=10662 Systemintegration ist ein wesentlicher Bestandteil jeder SAP Systemlandschaft. In diesem Bereich stehen neue Anforderungen und Herausforderungen ins Haus, sobald Cloudlösungen integriert werden müssen. Was hilft schon ein neues Lieferantenportal auf der Cloud Platform ohne die Bestellungen aus dem Backend? Und wie sinnvoll kann die SuccessFactors HR-Lösung in der Cloud sein, wenn Org-Daten nicht ins ERP […]

Der Beitrag SAP PO für die Cloud – Integrationslösungen für die Cloud im Überblick stammt von https://erlebe-software.de

]]>
Systemintegration ist ein wesentlicher Bestandteil jeder SAP Systemlandschaft. In diesem Bereich stehen neue Anforderungen und Herausforderungen ins Haus, sobald Cloudlösungen integriert werden müssen. Was hilft schon ein neues Lieferantenportal auf der Cloud Platform ohne die Bestellungen aus dem Backend? Und wie sinnvoll kann die SuccessFactors HR-Lösung in der Cloud sein, wenn Org-Daten nicht ins ERP zurückgespielt werden können?

Die SAP erweitert ihr Portfolio von Integrationslösungen sukzessive um Cloudangebote. Diese haben vor allem die Aufgabe, in hybriden Landschaften aus on-premises- und Cloudsystemen für den Datenfluss zu sorgen.

Wir zeigen die wichtigsten Integrationskomponenten im Überblick:

SAP Cloud Integration Infografik

(1) SAP Process Orchestration

SAP PO (früher bekannt als SAP PI, noch früher bekannt als SAP XI) ist die schwergewichtige on prem EDI-Middleware und seit Jahren bewährt, um die Maschine-zu-Maschine Kommunikation im Bereich SAP abzuwickeln. Vielfach im Einsatz für asynchrone Nachrichtenübermittlung beispielsweise via IDOC, aber auch EDI-Kommunikation zu externen Partner und das Rückgrat des Enterprise Service Bus werden hier abgewickelt.

(2) SAP Gateway

Im SAP Fiori Szenario on prem spielt das SAP Gateway eine wichtige Rolle. Es leistet die Bereitstellung von Backenddaten im OData-Format, so dass primär SAPUI5 Applikationen passgenau darauf zugreifen können.

(3) SAP Cloud Platform Cloud Connector

Die Brücke zwischen dem internen Netzwerk und der Cloud-Welt bildet der Cloud Connector. Hier wird mit VPN-Technologie eine sichere Verbindung durch die Firewall geöffnet, die verschiedenen Diensten auf der SAP Cloud Platform einen Zugriff ermöglicht.

(4) SAP Cloud Platform API Management Services

Mittels API Management stellen Sie Ihren externen Partner die wichtigsten Geschäftsfunktionen als Programmierinterface zur Verfügung. Beispielsweise von Twitter oder Amazon kennt man solche Schnittstellen unter dem Begriff Microservices.

(5) SAP Cloud Platform OData Provisioning Services

Für Applikationen in der Cloud, beispielsweise für eigene SAPUI5 Apps im Fioristyle, stellt OData Provisioning Funktionen auch ohne SAP Gateway im OData Format bereit.

(6) SAP Cloud Platform Integration

Die flexible Datendrehscheibe in der Cloud ist SAP Cloud Platform Integration. Hier werden sogenannte Flows modelliert und ausgeführt und damit zum Beispiel Software-as-a-Service Lösungen wie SuccessFactors oder salesforce an das SAP Backend angeschlossen. Hier steht Integration-Content zur Verfügung, als nach SAP Sprachgebrauch vorkonfigurierte Integrationsszenarien zur Anpassung an die eigenen Anforderungen.

 

Welche Erfahrungen haben Sie mit den Cloud Platform Integration Services gemacht?

Der Beitrag SAP PO für die Cloud – Integrationslösungen für die Cloud im Überblick stammt von https://erlebe-software.de

]]>
https://erlebe-software.de/sap-hana/hana-cloud-platform/sap-cloud-integrationsloesungen/feed/ 0