W niniejszym artykule autor przedstawia trzy możliwości integracji Microsoft SharePoint z SAP. Każda z prezentowanych metod pokazuje nieco inne podejscie architektoniczne, dzięki czemu możliwa jest realizacja wielu różnych wymagań biznesowych.
Integracja SAP i SharePoint - kilka pomysłów z punktu widzenia programisty SharePoint
Po co?
Microsoft SharePoint 2010 używany jest w firmach jako platforma pracy grupowej. Zawsze określenie ‘narzędzie pracy grupowej' nie wiele mówi o faktycznym sposobie użycia SharePoint 2010 w codziennej pracy .
Niezaprzeczalnie siłą produktów Microsoft jest ich wzajemnie współdziałanie, podobnie jest również w przypadku SharePoint 2010, który w połączeniu z pakietem Microsoft Office 2010 stawi efektywny pakiet oprogramowania do tworzenia, przechowywania oraz zarzadzania cyklem życia dokumentów w firmie.
Dodatkowo SharePoint daje możliwości współdzielenia się wiedzą wykorzystując moduły forum oraz wiki. Oczywiście w tym kontekście zawsze mamy do dyspozycji zwykłe listy.
Należy również pamiętać, że produkt ten jest tez bardzo dobrym system do zarządzania treścią (CMS) i dzięki temu istnieje wiele stron interenetowych opartych o SharePoint 2010.
Poza wyżej wymienionymi modułami, mamy również komponenty typu Enterprise takie jak Business Inteligence, Forms Services, Visio Services. Jak wszyscy wiemy, podobnie jak Gartner, Microsoft Excel jest najbardziej znanym narzędziem Business Inteligence, co w połączeniu z Excel Services dostępnym w SharePoint bardzo dobrze komponuje się z koncepcją wspólpracy i szybkiego wspołdzielenia sie wiedzą.
Platforma SAP opiera się na kilku systemach, które wzajemnie powiązane tworzą produkt klasy ERP czyli Enterprise Resource Planning, czyli narzędzie pozwalające na kompleksowe zarządzanie firmą, biorąc pod uwagę planowanie, produkcję, marketing oraz sprzedaż.
Obecnie, w każdej firmie, najważniejsza jest szybka i znacząca informacja. Szef działu finansowego chce wiedzieć jaki był przychód firmy za dany okres, szef produkcji chce wiedzieć ile wyprodukował, a ile zostało sprzedane, szef działu personalnego chce wiedzieć ilu ma pracowników i jakie są ich kwalifikacje. To wszystko powoduje, że ważne jest aby w jednym miejscu takie informacje były przetwarzane oraz prezentowane dla użytkowników. Dlatego warto zastanowić się nad integracją SharePoint oraz SAP celem wymiany i odpowiedniej prezentacji danych.
Jak?
W niniejszym artykule chciałbym przedstawić trzy możliwości integracji Microsoft SharePoint z SAP. Każda z prezentowanych metod pokazuje nieco inne podejscie architektoniczne, dzięki czemu możliwa jest realizacja wielu różnych wymagań biznesowych.
Pierwsza moja propozycja to użycie komponentu SAP .NET Connector. Produkt ten to wspólne dzieło pracowników firm Microsoft oraz SAP. Pozwala na komunikację pomiędzy platformą Microsoft .NET oraz SAP. Wspiera Remote Function Calls (RFC) oraz web serwisy. Można używać wszystkich Common Language Runtime (CLR) języków programowania, a aplikacja końcowa, może być Web form, Windows form lub aplikacją konsolową.
Nieco nowszym komponentem pozwalającym tworzyć aplikację .NET w oparciu o dane pochodzące z SAP jest Enterprise Services Explorer for Microsoft .NET (ES Explorer for Microsoft.NET). Jest to dodatek do Visual Studio, który pozwala programiście korzystać z serwisów SAP.


Drugą moją propozycja jest użycie Microsoft BizTalk do komunikacji z SAP NetWeaver. Takie rozwiązanie pozwalające na stworzenie typowej architektury SOA (Service Oriented Architecture). Należy rownież pamiętać, że wśród produktów SAP NetWaver znajduje się również narzędzie Process Intergration (PI), który stanowi konkurecję dla Microsoft BizTalk i podobnie jak produkt Microsoft pozwala na integrację z zewnętrznymi systemami. Równocześnie PI pozwala na wymianę danych pomiędzy modułami SAP, jednak przy integracji z systemami firm trzecich, lpeszym rozwiązaniem jest BizTalk.
Wykorzystując Microsoft BizTalk do wymiany informacji z SAP mamy do dyspozycji dwa mechanizmy: IDOC's (Intermediate Document) oraz Remote Functions Calls (RFCs) / Business Application Programming Interfaces (BAPI's). Podstawowe pytanie to jak wybrać odpowiedni mechanizm dla nas. Podstawowa różnica polega na tym, że RFCs/BAPIs lepiej wspiera synchroniczną wymianę danych. Natomiast jeżeli potrzebujemy asynchronicznej integracji lepszym rozwiązaniem będzie IDOC.
Z drugiej strony integracja pomiędzy BizTalk i SharePoint wydaje się być łatwiejsza. BizTalk w podstawowej instalacji zawiera adapter Windows SharePoint Services, który pozwala na komunikację z bibliotekami dokumentów i formularzy, aczkolwiek dla prawidłowej pracy należy również zainstalować na serwerze SharePoint, komponent Windows SharePoint Services Adapter Web Service, znajdujący się w paczce instalacyjnej BizTalk Server. Tutaj: http://technet.microsoft.com/en-us/library/bb743377%28BTS.70%29.aspx można znaleźć informacje dotyczące instalacji wspomnianego komponentu.
Z punktu widzenia SharePoint najlepszym rozwiązaniem integracyjnym jest użycie Business Connectivity Services (BCS). Komponent ten pozwala na dwukierunkową komunikację pomiędzy SharePoint, a zewnętrznymi systemami. Dzięki użyciu BCS możemy szybko i łatwo (bez użycia kodu C#) stworzyć dostęp do potrzebnych nam danych. Więcej informacji można uzyskać tutaj: http://msdn.microsoft.com/en-us/library/ee557658.aspx.
Trzecią propozycja integracji jest najnowszy, wspólny produkt firm SAP i Microsoft, pod nazwą Duet Enetrprise. Głównym pomysłem, który stał za stworzeniem tego narzędzia było umożliwienie użytkownikom SharePoint łatwego dostępu do danych SAP. Jednocześnie trzeba pamiętać, że Duet Enterprise nie ma zastąpić SAP-GUI dla zaawansowanych użytkowników, jedynie dać możliwość korzystania z danych i procesów SAP przez zwykłych użytkowników SharePoint.
Dodatkowo wiele przedsiębiorstw wykorzystuje SAP jako swoją platformę ERP, jednocześnie używając SharePoint'a jako platformę intranetową. Naturalne wydaję sie, że jeżeli istnieje możliwość korzystania z obu systemów jako jeden wspólny produkt warto się nad tym zastanowić.
Ogólną architekturę Duet Enterprise przedstawia poniższy diagram.

Z punktu widzenia technicznego produkt ten opiera się o standardowe komponenty SAP oraz SharePoint. Po stronie SharePoint'a używany jest przede wszystkim Business Connectivity Services, zewnętrzne typy danych (external content type) oraz zewnętrzne listy (external list).

Po stronie SAP warstwę pośrednią stanowi SAP NetWeaver 7.02 (ABAP).

Z punktu widzenia użytkownika warto zaznaczyć kilka kluczowych możliwości Duet Enterprise:
- Dwukierunkowa komunikacja SAP - SharePoint
- Możliwość dostępu do danych SAP offline
- Funkcja pojedyńczego logowania (Single sing-on)
- Możliwość zatwierdzania procesów SAP bezpośrednio w SharePoint
Poniższa tabelka zawiera informacje dotyczące podstawowych komponentów oraz ich wersji wymaganych przez Duet Enterprise.

Na pewno wszystkich interesuje jak wygląda model licencjonowania Duet Entrprise. Wymagana jest licencja dostępowa (CAL) dla SharePoint w wersji Enterprise, SAP Netweaver 7.x Bridge System oraz osobna Duet Enterprise licencja dostępowa per użytkownik lub urządzenie.
Więcej informacji na temat Duet Entrprise: http://www.duet.com.
Podsumowanie
W zależności o potrzeb biznesowych oraz dostępnych środków finansowych możemy wybrać co najmniej trzy przedstawione wyżej modele integracji Microsoft SharePoint z produktami SAP.
Rozważając wybór modelu trzeba brać również pod uwagę ograniczenia i możliwości techniczne, to jakie informacje chcemy uzyskać i kto będzie użytkownikiem końcowym systemu.
Autor: Michał Gołda
Lider Polskiej Grupy SharePoint w Krakowie. Z .NET nieprzerwanie od 2004 roku. Pracuje w firmie ABB jako architekt i programista rozwiązań SharePoint. Autor artykułów dotyczących SharePoint 2007 / 2010. Miłosnik Patterns and Practices. W wolnym czasie amatorski pływak oraz gracz w squash'a. Posiada certyfikaty: MCP MCTS MCPD.