Upload
ajay-chebbi
View
176
Download
3
Embed Size (px)
© 2015 IBM Corporation1
Connecting Xamarin Apps with IBM MobileFirst Platform Foundation
+
@ajaychebbi - Sr. Architect, product development IBM MobileFirst Platform
© 2015 IBM Corporation2
The IBM MobileFirst SDK for Xamarin
Xamarin Studio
Integrated Services
Create rich native applications in C# in Xamarin Studio leveraging enterprise grade app services
that speed development and enhance app capabilities and performance.
Security
Authentication
Integration
Notifications
App Management
Analytics
Offline Storage
IBM MobileFirst
On-prem or on Bluemix Cloud
© 2015 IBM Corporation3
Adding the IBM MobileFirst SDK Component
© 2015 IBM Corporation4
C# API documentation – available in the Component
© 2015 IBM Corporation5
Interact with IBM MobileFirst server via the Xamarin IDE
© 2015 IBM Corporation6
Add-in CLI and JDK configuration
© 2015 IBM Corporation7
© 2015 IBM Corporation8
© 2015 IBM Corporation9
What do Xamarin developers get?
© 2016 IBM Corporation 10Foundation @ajaychebbi
Simple, scalable and proven enterprise mobile middleware deployable on-premises and on Cloud
MobileFirst Foundation
to protect from mobile-specific
threats
Mobile AnalyticsApp Lifecycle Management
Backend Logic Engine
Push & Offline Sync
Comprehensive Security
to better understand your
users
to reduce time and costs of operations
and incremental updates
to add server-side logic to your app
essential backend services that every
app needs
http://bit.ly/MFPAddSDK
© 2015 IBM Corporation11
Enterprise IntegrationWorklight server provides a single secure point of integration into the Enterprise that speedsintegration and enables management of mobile solutions
11
APIM, Datapower,
CastIronStrongLoop
Integration hub
HTTP(S)
Database, WebService, REST, JMSMQ, File,FTP,SAP,Siebel etc
:
JDBC Web Service
JMSJSON
Enterprise
Applications
IBM MobileFirstSDK
Deployed on prem, or Bluemix
PUSH NOTIFICATION
SAUTHENTICATI
ONBUSINESS
LOGICOFFLINE SYNC
MobileFirst Platform
Foundation
MANAGEMENT
ANALYTICS
SECURITY
© 2016 IBM Corporation 12Foundation @ajaychebbi
Bluemix
Mobile Foundation
Secure Gateway
Deployment pattern on Bluemix Several services available on Bluemix to build your Backend logic
Optionally connect to your On-prem datacentre
© 2015 IBM Corporation13
IBM Bluemix A rich set of mobile ready APIs that you can mix and match to power your App
Run CodeThe developer can chose from multiple language runtimes or bring their own. Just upload your code and go. Asp.net available.Store Data (SQL or NoSQL)The developer can store data in the cloud as a service easily without needing to administer the databases.
Cloud IntegrationBuild hybrid environments. Connect to on-premises systems of record plus other public and private clouds. Expose your own APIs to your developers.
CognitiveWide array of Watson services to build bots etc.
© 2015 IBM Corporation14
Device Single Sign-On (SSO)• Enables a mobile user to authenticate once and gain access to all apps from
the same organization (technically, with the same developer certificate) without re-authenticating.
• Integration with DataPower, ISAM, and other gateways
App 1
secure Mobile O
S key
store IBM MFPServer
App 2
IDSession x
Session y
Duplicate after receiving ID from App 2
ImplementationImplemented using combination of server-side capabilities (realms) and unique device identification (device ID)On successful login the authentication state is saved in the database and used for validations in subsequent sessions from the same device.
© 2016 IBM Corporation 15Foundation @ajaychebbi
Protection of corporate APIs from hackers and vulnerabilities
- App fingerprinting to prevent access to your APIs from malicious apps
- Remote app disable and version enforcement to protect users from security vulnerabilities
- Use device whitelisting and blacklisting to control the users and devices that access your app
API
ComprehensiveSecurity
© 2015 IBM Corporation16
Disable or Notify the end user from admin console
© 2016 IBM Corporation 17Foundation @ajaychebbi
Device specific Authentication
Watch
Phone public class PinCodeAttempts extends CredentialsValidationSecurityCheck {....@Override protected boolean validateCredentials(Map<String, Object> credentials) { ...credentials.containsKey(PINCODE) || credentials.containsKey(PASSWORD))){ ... if(deviceType.equals(WATCH)){ if(pinCode.equals(getConfiguration().pinCode)){ errorMsg = null; return true; ...
public class PinCodeChallengeHandler extends SecurityCheckChallengeHandler {....public PinCodeChallengeHandler(String securityCheck) { ... JSONObject ans = new JSONObject(); ans.put("pin", intent.getStringExtra("pinCodeTxt")); ans.put("deviceType", "WATCH"); submitChallengeAnswer(ans); ...
Security Adapter
Watch
© 2015 IBM Corporation18
Application Security
Security
Application Security
Protecting data on the device
Authentication integration framework
Data protection
realmsUsing device
id as 2nd factorSSL with
server identity verification
Proven platform security
App authenticity
testing
Compatible with Jailbreak /malware detection
Secure challenge-
response on startup
Encrypted offline cache
Enforcing Security Updates
Remote disable
Security for enterprise application is the biggest concern of CTO’s Rich Worklight security features can now be used
© 2016 IBM Corporation 19Foundation @ajaychebbi
Controlled backend integrationFrom multiple point-to-point integrations• Multiple sets of integrations to enterprise resources to
build and maintain
• YOU manage caching, synchronization and end-to-end encryption
To streamlined, transparent access• Transform enterprise data into mobile-friendly JSON
• MFP Server manages caching, data synchronization and end-to-end encryption
ERPEngine
App DB CloudService
Windows AndroidApple
19
ERPEngine
App DB
HTTP (REST, SOAP), JMS
SQL SAP
HTTP, CAST IRON
JSONMFP
CloudService
Windows AndroidApple
© 2015 IBM Corporation20
MobileFirst Unified Push NotificationsFrom the complexity of many…Multiple sets of push services to manage
To the simplicity of one…Unified push management
Android
GCM
Apple
APNS
Apple
APNS
Android
GCM
APNS: Apple Push Notification ServiceGCM: Google Cloud MessagingWNS: Windows Notification Service
Windows
WNS
Windows
WNS
MFP Unified Push Framework
© 2015 IBM Corporation21
Unified Client and Server Analytics Out-of-the-box analytics address the following:
• User adoption, device and app properties• User actions and called adapter procedures• Performance and data usage information• Exceptions, crashes, logs, response time
Analytics component provided in a WAR for simple install and administration
© 2015 IBM Corporation22
Remote-controlled client-side log collection
• IBM MFP provides Native and JavaScript API for client-side logging• Administrator defines log collection profiles on the server which are automatically retrieved
by the Worklight client-side runtime• By default sent on init, resume, and 75% full – can be customized• Administrator can perform analysis and text search of client-side
logs via server-side analytics console
© 2015 IBM Corporation23
Resources
MobileFirst Getting Started (documentation, CLI reference, sample adapters, etc…)https://developer.ibm.com/mobilefirstplatform/documentation/getting-started/
Mobile First on Bluemixhttps://console.ng.bluemix.net/catalog/services/mobile-foundation/
MobileFirst Supporthttp://stackoverflow.com/questions/tagged/mobilefirst
Meet us athttp://www.meetup.com/BlueCoders/
© 2015 IBM Corporation24
Thank You
https://developer.ibm.com/mobilefirstplatform/https://xamarin.com/ibm
Building a Xamarin Forms+MobileFirst apphttp://ibm.co/1RN4hUg
Building Xamarin+MobileFirst apphttps://dzone.com/articles/integrating-xamarin-apps-with-ibm-mobilefirst-plat
Tutorialshttps://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/xamarin-tutorials/
Sample Source on Github: https://github.com/ajaychebbi/mobilefirst-samples/tree/master/xamarin/MFPNewsReader
© 2015 IBM Corporation25
Backup
© 2015 IBM Corporation26
Worklight Server: Adapters
Worklight Server
SQL / JDBC
ESB
SOAP / HTTP
JMS
CAST IRON
REST
Java Extension
Node*
For the server developer• JS anywhere: Simple APIs for server-side JavaScript development• Extensibility: Java API for custom adapters
For the client developer• Easy-to-use, consistent client-side API to call any back-end system
Enterprise back-ends and cloud services
© 2015 IBM Corporation27
Seek community forum/support at Stack Overflow
http://stackoverflow.com/questions/tagged/mobilefirst