2 Mobilność to początek „ Internet of Things”
Transkrypt
2 Mobilność to początek „ Internet of Things”
IBM Worklight, " czyli wszystko czego potrzebujesz aby umobilnić swój biznes" Andrzej Kowalczyk! Różne urządzenia, BYOD# Mobilność jest wszędzie" 1" 2" 3" Mobilność to podstawa 91% Użytkowników komórek trzyma ją w zasięgu ręki 100% czasu Komunikaty z urządzeń mobilnych tworzą nowe możliwości 75% mobilnych kupujących reaguje na komunikaty lokalizacyjne Mobilność to początek „ Internet of Things” Globalna liczba połączeń Machine-2-machine zwiększy się z 2 miliardów w 2011 do 18 miliardów pod koniec roku 2022 Aplikacja mobilna, skąd ta popularność? • Szybkie uruchomienie – brak konieczności pamiętania adresu itp. • Możliwość pracy w off-line • Bogata funkcjonalność – Kamera – GPS – Rozpoznawanie, nagrywanie głosu • Użyteczność / łatwość nawigacji • Wysokie bezpieczeństwo IBM Worklight" "Best Mobile Development Solution" as voted by SIIA members for 2013 CODiE Awards Pełne środowisko dla urządzeń, integracji i programistów Bazujące na otwartych standardach zoptymalizowane do tworzenia jednego kodu dla wielu platform środowisko. Mobilny serwer aplikacji dostarcza specyficzne dla mobilności funkcje: administracyjne, powiadomienia, analitykę oraz bezpieczeństwo. Wykorzystując istniejącą infrastrukturę aplikacyjną i sprzętową Warstwa dedykowana urządzeniom dostarcza bezpieczeństwo na urządzeniu, wymusza zmiany wersji, chroni dane i dostęp z urządzeń. Wiele platform – jeden współdzielony kod# Do prostoty Ze złożoności… • Jedno narzędzie do budowy • Jeden kod do utrzymania • Wiele narzędzi, języków & API • Cztery platformy do utrzymania Apple Android Blackberry Windows Apple Android Blackberry Windows Wspólna integracja z back-end# Z wielu integracyjnych rozwiązań Do uproszczonej integracji • Wiele powielanych rozwiązań integracyjnych komplikuje zarządzaniem • Worklight transformuje dane do formatu przyjaznego urządzeniom mobilnym • TY dla 4’rech rozwiązań zarządzasz pamięcią podręczną, synchronizacją i bezpieczeństwem • Worklight Server zarządza pamięcią podręczną, synchronizacją danych oraz bezpieczeństwem App App DB ERP Engine Cloud Service ERP Engine DB SQL HTTP (REST, SOAP), JMS Cloud Service SAP HTTP, CAST IRON Worklight Adaptors WORKLIGHT SERVER JSON Apple Android Blackberry Windows Apple Android Blackberry Windows Scentralizowane powiadomienia „push”# Ze złożoności … W jedno uproszczone rozwiązanie Wiele różnych mechanizmów „push” Jedno zunifikowane rozwiązanie „push” Google Push Blackberry Push Apple Push Android Microso/ Push Worklight Unified Push Framework SMS/MMS Brokers Apple Push Google Push Blackberry Push Microso/ Push SMS/MMS Brokers Windows Feature Phones Windows Apple Blackberry Feature Phones Apple Android Blackberry Jeden wewnętrzny Application Store# Worklight AppCenter WORKLIGHT SERVER Apple Android Blackberry • • • Kategorie, zalecane aplikacje i zwrotne oceny Łatwe wprowadzenie dla pracowników Kontrola dostępu poprzez ACL i LDAP Geolokalizacja# Geolokalizacja w życiu# Automatyczne zameldowanie! SMS, Push! Naprowadzanie ciężarówek do magazynu! ............! Automatic ! Check-In! Bardziej zaawansowane promocje! Bezpieczeństwo zależne od lokalizacji! Username! Password! ✔! Zaloguj! ……! ……! …! ……! ?! Przykład: Innowacyjny Hotel# • Jesteśmy 5* hotelem w Warszawie, w Polsce# • Nasi klienci są dla nas bardzo ważni, i chcemy dopilnować aby ich pobyt był bardzo udany# – Nie chcemy pozwolić aby tracili cenny czas na zameldowanie (tłumy na konferencji!!)# • I oto aplikacja dla naszych gości!# • Usługa dla naszych klientów, która automatycznie ich melduje gdy docierają na teren hotelu # • Stali klienci są osobiście witani przez kierownika zmiany# Aplikacja (kod na urządzeniu)# Odbierz powiadomienie „push” z koordynatami hotelu ! Na 4 Km, przełącza na wyższą dokładność " Na 2 KM, powiadom o zbliżaniu się, włącz WiFi # ! function pushReceived(props, payload){ var hotel = payload.coords; var triggers = { Geo: { At4k: {type: 'Entering', circle: {lon:hotel.lon, lat: hotel.lat, radius: 4000}, callback: function() { acqOptions.Geo = {enableHighAccuracy: true}; WL.Device.startAcquisition(acqOptions, triggers);}, At2k: {type: 'Entering', circle: {lon:hotel.lon, lat: hotel.lat, radius: 2000}, eventToTransmit: { event: {name: 'at2k'} }, callback: function() { acqOptions.Wifi = { interval: 10000, accessPointsFilters: [{SSID: 'InnovationHotel'}] }; WL.Device.startAcquisition(acqOptions, triggers); } At100: {type: 'Entering', circle: {lon:hotel.lon, lat: hotel.lat, radius: 100}, callback: function() { WL.Device.stopAcquisition(); } eventToTransmit: { event: {name: 'arrived'} } }, Wifi: { Arrived: { type: 'Entering', accessPoints: [{SSID: 'InnovationHotel'}], callback: function() { WL.Device.stopAcquisition(); } eventToTransmit: { event: {name: 'arrived'} } } } }; var acqOptions = { Geo: { enableHighAccuracy: false } }; WL.Device.startAcquisition(acqOptions, triggers); " # na 100m lub gdy wykryto WiFi powiadom o przybyciu $ Wyłącz śledzenie, ustaw wysyłanie zdarzeń natychmiast% Utrzymuj aplikację w tle & $ WL.Client.setEventTransmissionPolicy({interval: 0}); WL.App.setKeepAliveInBackground(true); } % & Kod Serwer’a# Gdy klient wylądował (port Poznań), wyślij powiadomienie! Kiedy odbierze zdarzenie “Na2k”, wyślij powiadomienie. Dla klienta typu Premium, powiadom kierownika zmiany " Gdy otrzymamy zdarzenie “arrived”, Dla klienta typu Premium wyślij powiadomienie do kierownika zmiany # var notificationText = 'Message from Innovation Hotel'; function push(user, notification) { WL.Server.notifyAllDevices(WL.Server.getUserNotificationSubscription( 'Hotel.Arriving', user), notification); } function planeArrived(userId) { push(userId, WL.Server.createDefaultNotification(notificationText, 1, {status: 'welcome', coords: getHotelGeoLocation() } )); } WL.Server.setEventHandlers([ {filter: {name: 'at2k'}, handler: function(event) { push(userId, WL.Server.createDefaultNotification(notificationText, 1, {status: 'nearby'} )); if (isPlatinumUser(userId)) push(getShiftManagerId(), WL.Server.createDefaultNotification('Customer arriving soon', 1, {status: 'nearby', id: userId} )); }}, {filter: {name: 'arrived'}, handler: function(event) { push(userId, WL.Server.createDefaultNotification(notificationText, 1, {status: 'check-‐in'} )); if (isPlatinumUser(userId)) push(getShiftManagerId(), WL.Server.createDefaultNotification('Customer arriving', 1, {status: 'arriving', id: userId} ));}} ]); ! " # Jak testować geoaplikację?# Geo symulator, ścieżki, wifi, i geo-bariery# Zintegrowane narzędzie do symulacji zachowania aplikacji wg zdefiniowanych ścieżek, reagujące na sygnał wifi z konkretnego miejsca, oraz wykrywające wejścia i wyjścia z wcześniej zdefiniowanych stref# Czy jest przepis na używanie właściwej wersji aplikacji?# Zmiany pod kontrolą i na czas# Popraw i przetestuj Tydzień 1 Tydzień 2 • • • • Android app Apple app Blackberry app Windows app Wyślij do testów • Apple Store • Google Play • Blackberry AppWorld • Windows App store 4-6 cykl publikacji Data Publikacji Nigdy* *Nie ma sposobu aby wymusić zmianę wersji na użytkownikach aplikacji czy wyłączyć starsze wersje. Dzień 1 Błąd znaleziony i poprawiony Dzień 1 Poprawki wdrożone na Worklight Server Worklight zmiana wersji: następnym razem gdy użytkownik uruchomi aplikację będzie miał do wyboru: zamianę wersji lub wyjście Data Publikacji Ten sam dzień Recepta?# Zmiana wersji z serwera# Na=ve Shell 1 Download Pre-‐packaged resources App Store 2 3 Worklight Server Check for updates Web resources 4 Transfer Update web resource Cached resources Bezpośrednia zmiana wersji na urządzeniu użytkownika# 1. 2. 3. Wykrycie nowej wersji w tle przy każdym uruchomieniu aplikacji Prosty ekran z wyborem (update/exit) Pasek postępu 4. Aplikacja restartuje się automatycznie Dynamiczne sterowanie aplikacjami# • Zapewnia używanie najnowszej wersji • Pozwala zdalnie wyłączyć aplikację dla urządzenia i wersji • Wysyła własne komunikaty do użytkowników Źródło: rzeczpospolita.pl Mobilna Analityka# IBM jest liderem w Mobile Enterprise# “Very quickly the issues surrounding how a pragma=c CIO maintains the infrastructure under the pressure of this mobile tsunami… We’re going to need a mobile applica=on server and all the architectural implica=ons of that and, again, who are you going to call? IBM will be first on everybody’s list. They’ll call HP, they’ll call IBM, they’ll call Microso/, they’ll call Oracle; but I think their first choice will be IBM.” Geoffrey Moore, Author# IBM Worklight czyli wszystko czego potrzebujesz aby umobilnić swój biznes