PL EN DE
Najlepsze praktyki zarządzania usługami SAP

Dedykowana organizacja serwisowa SNP zapewnia jakość i ciągłość obsługi kontraktów SAP Managed Services. Pracujemy w oparciu o standardy ISO 20000 i ISO 27001. Posiadamy certyfikat PCoE - SAP Partner Center of Expertise.

SNP Poland to lider rynku usług SAP w Polsce.
Zapewniamy pełen zakres wdrożeń, rozwoju i utrzymania systemów SAP. Dostarczamy usługi bezpieczeństwa IT i rozwoju oprogramowania. Do 2017 roku działaliśmy jako BCC.

Jesteśmy częścią Grupy SNP – wiodącego światowego dostawcy rozwiązań do transformacji środowisk SAP.

Od 1995 roku zrealizowaliśmy z sukcesem setki projektów IT w Polsce i kilkudziesięciu innych krajach.

"Lepszy Biznes" to magazyn klientów SNP. Czytaj setki artykułów, przydatnych w przygotowaniu i realizacji projektów IT.

Nasi eksperci przedstawiają najciekawsze rozwiązania i nowości ze świata IT.

Zobacz archiwum nagrań z webinarów, zarejestruj się na kolejne edycje.

Dlaczego uważamy, że SNP Poland jest dobrym pracodawcą? Bo łączymy cechy rzadko spotykane w jednej organizacji - duże możliwości rozwoju, a zarazem dobrą atmosferę i elastyczność środowiska pracy. Dowiedz się więcej, na czym to polega w praktyce!

Web Dynpro ABAP: budowanie z klocków

Nowa technologia programowania w SAP

Udostępnij
Drukuj:
Web Dynpro ABAP umożliwia szybkie tworzenie efektywnych aplikacji uruchamianych w środowisku internetowym. Warto przyjrzeć się tej technologii nieco bliżej, poznać jej mocne i słabe strony oraz porównać ją z innymi, by wiedzieć, dla jakich rozwiązań będzie ona najlepszym wyborem.
 

W systemie mySAP ERP od wersji NetWeaver 2004s (bazującej na SAP Web Application Server 7.0) dostępna jest technologia Web Dynpro w języku ABAP, która dotychczas mogła być wykorzystywana wyłącznie przez programistów Java.

W Web Dynpro podstawowymi obiektami są komponenty. Składają się one z elementów odpowiedzialnych za przechowywanie, przetwarzanie i wyświetlanie danych. Same „aplikacje” zawierają wyłącznie informacje, które komponenty i w jaki sposób powinny być uruchomione.

Można je więc porównać do transakcji w systemach SAP, które określają, jak wykonać programy. Ten sam komponent można uruchomić na wiele sposobów, co umożliwia szybki dostęp do różnych funkcjonalności – np. ekran początkowy aplikacji oraz ekran konfiguracji.

MVC – sprawdzony wzorzec

Komponenty zbudowane są zgodnie ze wzorcem projektowym MVC (ang. Model – View – Controller). Wyróżnione są w nim trzy części odpowiedzialne za przechowywanie danych (Model), ich wyświetlanie (prezentację, ang. View) oraz przetwarzanie (Controller). W Web Dynpro te części to:

  • konteksty – przechowywanie danych,
  • widoki (są najmniejszymi obiektami możliwymi do wyświetlenia jako całość) i okna (są wyświetlane na ekranie przeglądarki, każdy z nich zawiera jeden lub więcej widoków) – warstwa prezentacji,
  • kontrolery – przetwarzanie danych.

Warto zwrócić uwagę, że również widoki są zbudowane według MVC – posiadają swój kontekst (pobierający dane z głównego kontekstu z komponentu) i kontroler – odpowiedzialny za wykonywanie metod kontrolera komponentu oraz prostych akcji na widoku.

Dzięki temu w jednym miejscu przetwarzane są wszystkie dane, które mogą być współdzielone przez widoki – elementy kontekstu kontrolera i widoków są wiązane (ang. binding) ze sobą. Taka struktura ułatwia rozbudowę aplikacji, gdyż dodanie nowych funkcji i ekranów nie zaburzy istniejącej funkcjonalności.

Podział komponentu zgodnie ze wzorcem MVC znacznie zwiększa przejrzystość – tworzenie aplikacji Web Dynpro składa się z wyraźnie wyodrębnionych etapów:

  • tworzenia struktur danych,
  • określania, jakie zdarzenia i metody będą wykorzystywane,
  • definiowania możliwych przejść między ekranami

Wszystkie obiekty mają określone miejsce, dzięki czemu łatwo można odnaleźć powiązania pomiędzy nimi. Jest to dużym ułatwieniem podczas modyfikacji aplikacji, gdyż zmniejsza ryzyko powstania błędów w programie – zmiany w aplikacji są bezpieczniejsze.

Raz napisz, często korzystaj

Komponenty Web Dynpro są integralnymi obiektami, które mogą być zagnieżdżane wewnątrz innych komponentów. Umożliwia to budowanie różnych aplikacji przy wykorzystaniu gotowych elementów – innych własnych komponentów lub standardowych, dostarczonych przez SAP, np. tabele ALV czy ekrany selekcji.

Takie współdzielenie obiektów skraca czas tworzenia aplikacji – raz napisany komponent może być wykorzystywany wielokrotnie. Na przykład prosty element wyświetlający dane materiału można wykorzystać zarówno w aplikacji magazynowej, jak i wyświetlającej pozycje faktur.

Parametry obiektu portalowego SAP Web Dynpro iView (kategoria właściwości: Content – Web Dynpro)

Wprowadzone na stałe:

  • Platform: Web Dynpro for ABAP
  • Namespace: sap

Ustawienia aplikacji:

  • Application Name: zcompanies (nazwa aplikacji)
  • Logon Language: Polish (język aplikacji)
  • System: ABC (nazwa systemu)

Małym nakładem pracy

Jeśli nie korzystało się wcześniej z podobnych technologii, np. Web Dynpro Java, pierwszy kontakt z Web Dynpro ABAP może być zaskakujący. Nakład pracy programisty przy pierwszych aplikacjach jest niewielki w porównaniu z efektami i praktycznie wiążący się raczej z samym środowiskiem projektowym – wykorzystywany jest bowiem znany programistom obiektowy język ABAP.

Środowisko oferuje znaczne wsparcie, podpowiadając składnię, nazwy zmiennych i oferując narzędzia graficzne – co znacznie skraca czas powstawania aplikacji.

Ponadto wszystko, co zapewnia system mySAP ERP, jest dostępne bezpośrednio, bez zbędnych interfejsów czy konektorów – można nadal wykorzystywać dobrze znane i przydatne moduły funkcyjne, BAPI, komunikaty, tabele, pomoce wyszukiwania itp. Poza tym generowanie aplikacji w Web Dynpro to bardziej projektowanie niż kodowanie, a całość prac odbywa się z poziomu transakcji se80.

Z korzystaniem z tego środowiska wiążą się także wszelkie udogodnienia od strony repozytorium. Dla osób, które programują w języku ABAP, wykorzystanie technologii Web Dynpro to naprawdę niewielka zmiana.

Mamy bowiem ten sam system transportów, aplikację można podpiąć do pakietu, np. wraz z raportami ALV, a część kodu, np. zapytania, można kopiować między „zwykłymi” raportami a raportami w Web Dynpro.

Inne zalety

Poza podkreślonymi już zaletami warto zaznaczyć możliwość testowania za pomocą eCATT, automatyczną walidację danych i całkiem spory zakres kontrolek (wykresy, interaktywne formularze itp.).

Aplikacja może być uruchamiana w przeglądarce internetowej, u klienta Web Dynpro, na urządzeniach mobilnych – zatem nie jest wymagana instalacja SAP GUI, a logowanie do aplikacji odbywa się za pomocą tych samych użytkowników co do systemu ERP.

Definicja UI również jest niezależna od klienta (HTM, JS, XML…).

Aplikację Web Dynpro można integrować z SAP NetWeaver Portal. To dobra wiadomość dla tych, którzy mają wdrożony portal SAP albo zastanawiają się nad jego kupnem. Aplikację napisaną w Web Dynpro można umieścić na portalu poprzez użycie szablonu SAP Web Dynpro iView.

Czym to się różni?

Aby porównać różne technologie, wybraliśmy przykłady prostych programów utworzonych z wykorzystaniem kilku z nich. Wszystkie te programy korzystają z funkcji systemów SAP, jaką jest BAPI. Dane prezentowane są w postaci tabeli i listy ze szczegółami wybranego wiersza.

Współdzielenie obiektów w Web Dynpro skraca czas tworzenia aplikacji – raz napisany komponent może być wykorzystywany wielokrotnie.

Pierwszą przewagą aplikacji pisanych w języku ABAP (zwykłe aplikacje, BSP oraz Web Dynpro ABAP) jest wywoływanie BAPI bezpośrednio, z wykorzystaniem instrukcji języka ABAP.

Programy w pozostałych technologiach korzystają ze zdalnego wykonywania funkcji, co wiąże się z dodatkowym nakładem pracy potrzebnym do przekazania danych jako parametry wywołania oraz odczytania wyniku.

W przypadku rozbudowanej funkcjonalności i przy wykorzystywaniu wielu modułów funkcyjnych (lub modułów zwracających dużą liczbę danych) sposób wywołania funkcji może mieć wpływ na czas pisania obsługi modułu i sam czas potrzebny na uruchomienie tej funkcji.

W związku z tym aplikacje ABAP-owe można napisać w krótszym czasie i mogą one działać szybciej.

Skrzynka z narzędziami

W programowaniu znaczną rolę odgrywają narzędzia wspomagające proces tworzenia aplikacji (kreatory kodu, wyglądu itp.). Wiele z nichi dostępnych jest dla programistów Web Dynpro ABAP oraz Web Dynpro Java. Są to m.in.:

  • graficzny edytor ekranów – umożliwia nie tylko szybkie umieszczanie tekstów, pól edycji, przycisków, ale także tworzenie całych formularzy i tabel – razem z obsługą wyświetlania danych. Malarz ekranów ABAP i narzędzia innych technologii nie dają takich możliwości,
  •  kreator wywołania modułów funkcyjnych, wykonywania metod obiektów WebService – tworzy wszystkie potrzebne pliki potrzebne do uruchomienia funkcji znajdującej się na innym serwerze lub w innym systemie,
  • graficzny edytor nawigacji między ekranami – służy do konfiguracji kolejności wyświetlanych ekranów i możliwości przejść między nimi.

Dzięki takim narzędziom można szybko utworzyć prostą aplikację, nie pisząc żadnej linii kodu źródłowego.

Tworząc strony internetowe w BSP lub JSP, można skorzystać z istniejących edytorów HTML, ale nie mają one możliwości automatycznego tworzenia tabel lub formularzy w oparciu o struktury lub interfejsy modułów funkcyjnych systemu ERP. Poza tym tak utworzone strony zawierają sam wygląd ekranów, bez obsługi wyświetlania i przetwarzania danych.

Nie zawsze najlepsze

Pisanie aplikacji w środowiskach wspomagających programistę wiąże się z pewnymi ograniczeniami. Przede wszystkim możemy tworzyć wygląd aplikacji tylko z określonych obiektów.

Najczęściej funkcjonalność aplikacji można łatwo uzyskać, korzystając z dostępnych przycisków, tekstów, standardowych tabel, itd. Jednakże mogą się zdarzyć sytuacje, w których te obiekty nie będą wystarczające lub nie będą spełniały wszystkich żądanych funkcji.

Omawiana technologia ma też pewne niedociągnięcia, ale dotyczą one fazy budowania aplikacji i nie wpływają w żaden sposób na późniejsze jej działanie. Nie są to wady, ale raczej pewne braki, do których z pewnością spora część programistów zdążyła się przyzwyczaić, pracując w innych środowiskach.

Dodatkowo wygenerowane aplikacje – w tym aplikacje Web Dynpro – są „ciężkie” Zużywają one więcej zasobów serwera, potrzebują dłuższego czasu na wyświetlenie się i wykonywanie funkcji niż ma to miejsce w „lekkich” aplikacjach, np. JSP czy BSP.

Jeżeli nie możemy pozwolić na większe obciążenie serwera, lepiej wykorzystać inną technologię niż Web Dynpro. Web Dynpro ABAP jest narzędziem dającym bardzo duże możliwości, począwszy od wsparcia od strony programistycznej, poprzez optymalizację procesu powstawania aplikacji, po elastyczność i efektywność rozwiązania.

Zapewne fakt, że nie zmieniamy środowiska projektowego, a jedynie wykorzystujemy nowe jego narzędzie, będzie zachętą dla programistów, a wynik końcowy – dostępny przez przeglądarkę internetową – będzie miły dla oka i przyjemny w korzystaniu dla użytkownika końcowego.

Lepszy Biznes

magazyn klientów SNP

Przejdź do bazy artykułów
Udostępnij
Drukuj:

Nasze referencje

Poradniki

Aktualności

Formularz kontaktowy





  1. Dane osobowe przetwarzane są na podstawie art. 6 ust. 1 lit. a Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. – ogólnego rozporządzenia o ochronie danych osobowych.
  2. Administratorem Danych Osobowych jest SNP Poland Sp. z o.o. z siedzibą w Złotnikach, ul. Krzemowa 1 62-002 Suchy Las. Dane kontaktowe do Inspektora Ochrony Danych: dpo.pl@snpgroup.com.
  3. Zgoda na przetwarzanie danych jest dobrowolna, ale niezbędna w celu kontaktu. Zgodę można wycofać w dowolnym momencie bez wpływu na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem
  4. Dane będą przetwarzane do realizacji określonych powyżej celów i do momentu wycofania niniejszej zgody, a dostęp do danych będą miały tylko wybrane osoby posiadające stosowne upoważnienie do ich przetwarzania.
  5. Każda osoba podając dane osobowe ma prawo dostępu do treści swoich danych i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do wniesienia sprzeciwu wobec przetwarzania i przenoszenia danych, prawo do ograniczenia przetwarzania i prawo sprzeciwu wobec przetwarzania danych, prawo do przenoszenia danych.
  6. Każda osoba, której dane są przetwarzane, ma prawo do wniesienia skargi do organu nadzorczego jakim jest Prezes Urzędu Ochrony Danych Osobowych (ul. Stawki 2, 00-193 Warszawa).
  7. Dane osobowe mogą być udostępniane innym jednostkom należącym do grupy kapitałowej, do której należy SNP Poland Sp. z o.o. – również znajdujących się poza Europejskim Obszarem Gospodarczym, w celach marketingowych. SNP Poland zapewnia, że dane przekazywane tym podmiotom są właściwie zabezpieczone, a osoba, której dane są przetwarzane, ma prawo do uzyskania kopii udostępnionych danych oraz informacji o miejscu udostępnienia danych.

Napisz maila lub zadzwoń

E-mail: office.pl@snpgroup.com
Tel. 61 827 7000

SNP Poland Sp. z o.o.

Centrala:
Złotniki, ul. Krzemowa 1
62-002 Suchy Las k. Poznania

Skontaktuj się z nami

W czym możemy pomóc?
Napisz do nas
Wyślij email
Zadzwoń





  1. Dane osobowe przetwarzane są na podstawie art. 6 ust. 1 lit. a Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. – ogólnego rozporządzenia o ochronie danych osobowych.
  2. Administratorem Danych Osobowych jest SNP Poland Sp. z o.o. z siedzibą w Złotnikach, ul. Krzemowa 1 62-002 Suchy Las. Dane kontaktowe do Inspektora Ochrony Danych: dpo.pl@snpgroup.com.
  3. Zgoda na przetwarzanie danych jest dobrowolna, ale niezbędna w celu kontaktu. Zgodę można wycofać w dowolnym momencie bez wpływu na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem
  4. Dane będą przetwarzane do realizacji określonych powyżej celów i do momentu wycofania niniejszej zgody, a dostęp do danych będą miały tylko wybrane osoby posiadające stosowne upoważnienie do ich przetwarzania.
  5. Każda osoba podając dane osobowe ma prawo dostępu do treści swoich danych i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do wniesienia sprzeciwu wobec przetwarzania i przenoszenia danych, prawo do ograniczenia przetwarzania i prawo sprzeciwu wobec przetwarzania danych, prawo do przenoszenia danych.
  6. Każda osoba, której dane są przetwarzane, ma prawo do wniesienia skargi do organu nadzorczego jakim jest Prezes Urzędu Ochrony Danych Osobowych (ul. Stawki 2, 00-193 Warszawa).
  7. Dane osobowe mogą być udostępniane innym jednostkom należącym do grupy kapitałowej, do której należy SNP Poland Sp. z o.o. – również znajdujących się poza Europejskim Obszarem Gospodarczym, w celach marketingowych. SNP Poland zapewnia, że dane przekazywane tym podmiotom są właściwie zabezpieczone, a osoba, której dane są przetwarzane, ma prawo do uzyskania kopii udostępnionych danych oraz informacji o miejscu udostępnienia danych.

Kontakt ogólny do firmy
office.pl@snpgroup.com

Pytania o produkty i usługi
info.pl@snpgroup.com

Pytania na temat pracy i staży
kariera@snpgroup.com

61 827 70 00

Biuro jest czynne
od poniedziałku do piątku
w godz. 8:00 – 17:00