W ostatnich miesiącach Microsoft udostępnił szereg aplikacji będących częścią tzw. „Microsoft Business Application Platform”. Oprócz dostępnego już wcześniej Microsoft Power BI (Business Intelligence) w skład omawianej platformy wchodzą: Microsoft PowerApps, Microsoft Flow oraz Common Data Services. Omawiana platforma w założeniu ma umożliwiać budowę aplikacji biznesowych, modułów raportowych oraz komponentów integracyjnych działających w chmurze bez konieczności znajomości jakiegokolwiek języka programowania.
Po krótkim zapoznaniu się z omawianymi systemami osobiście uważam, że droga do tego jest jeszcze daleka. Muszę jednak przyznać, że za pomocą omawianej platformy możliwe jest już stworzenie prostej aplikacji typu CRUD. Stworzona aplikacja działa w przeglądarce internetowej (za pomocą tzw. PowerApps Playera) oraz wewnątrz dedykowanej aplikacji mobilnej. Mamy również możliwość pobierania danych z predefiniowanych systemów źródłowych (w tym oczywiście naszego ulubionego Dynamics 365) oraz budowę przepływów danych między nimi. Wszystko to możemy zrealizować w ramach filozofii „no code”, bez użycia jakiegokolwiek języka programowania, a jedynie za pomocą interfejsu webowego lub aplikacji dostępnych w Windows Store.
Odwracając kota ogonem i promując filozofię „we want code!” niżej podpisany postanowił się przyjrzeć temu, co ww. platforma ma do zaoferowania programistom. Niestety, okazało się, że w tym momencie bardzo niewiele. Możliwości wykorzystywania poszczególnych komponentów Microsoft BAP z poziomu języków programowania są póki co bardzo ograniczone. Wyniki mojego śledztwa znajdziecie poniżej:
Common Data Services
Opis | Możliwości dla developerów |
Sieciowa baza danych zawierająca model encji (trochę podobny do tego, znanego z systemów Dynamics 365). Możemy modyfikować istniejący model encji lub dodawać swoje własne. Bazę zasilamy danymi za pomocą Microsoft Flow lub arkuszy Excel. Dane znajdujące się w bazie możemy z kolei wykorzystać jako źródło dla Microsoft PowerApp(s) lub przesłać do zewnętrznego systemu za pomocą Microsoft Flow. | W tym momencie brak.
API umożliwiające dostęp do danych oraz zarządzanie CDS ma być podobno udostępnione w 2017 roku. |
Microsoft PowerApps
Opis | Możliwości dla developerów |
Platforma umożliwiająca budowę aplikacji typu CRUD, działających w przeglądarce internetowej lub wewnątrz klienta mobilnego. Aplikacje PowerApps tworzymy za pomocą graficznego edytora, bez konieczności pisania jakiegokolwiek kodu. | Brak możliwości uruchamiania niestandardowego kodu, istnieje jedynie możliwość wykorzystania własnego, REST-owego API (oczywiście spełniającego określone wymagania) jako źródła danych w aplikacji. |
Microsoft PowerBI
Opis | Możliwości dla developerów |
Zestaw narzędzi do raportowania zintegrowana z Microsoft Excel lub działająca w przeglądarce internetowej. | Dostępne jest REST-owe API (https://msdn.microsoft.com/en-us/library/mt147898.aspx) umożliwiające zarządzanie danymi oraz działaniem usługi. |
Microsoft Flow
Opis | Możliwości dla developerów |
System umożliwiający tworzenie przepływów danych między systemami dla których udostępniono stosowne connectory. Szyną danych nazwać tego nie można, natomiast proste automatyzacje przepływów danych w Microsoft Flow wyklikamy. | 1. Możliwość wykorzystywania niestandardowego API (będącego w rzeczywistości connectorem do zewnętrznego, niewspieranego z pudełka systemu), zintegrowania go z Microsoft Flow i udostępnienia innym użytkownikom tejże platformy. 2. Możliwość triggerowania przepływów danych na platformie Microsoft Flow za pomocą tzw. „webhooks” (https://webhooks.pbworks.com). 3. Integracja z aplikacją internetową za pomocą IFRAME. |
Wygląda to bardzo mizernie, zwłaszcza w porównaniu ze „starymi” produktami MS (również tymi działającymi w chmurze), dla których producent dostarczał zazwyczaj dobre, „pałerne” API oraz SDK.
Niech więc poniższe drzewko posłuży za podsumowanie aktualnej sytuacji…