SlideShare a Scribd company logo
1 of 49
Connecting Xamarin 
Apps with 
IBM Worklight 
Greg Truty 
Chief Architect, IBM MobileFirst 
gtruty@us.ibm.com
Introducing IBM Worklight 
With the Worklight SDK for Xamarin 
developers Enterprise grade security, 
integration and app management following 
features of Worklight 
Enterprise Integration 
• Direct access to back-end systems 
• Leverage existing SOA services 
• Server-side caching 
• Unified push and SMS notifications 
Security and Trust 
• Single sign-on mechanism 
• SSL encryption 
• Multi-factor authentication 
• Secured offline access 
• On device encryption of user data 
Application Management 
• App distribution 
• App Version management 
• Remote disabling apps 
• Push Notification service management 
• Analytics and Usage report 
• Log collection for problem determination 
IBM Worklight goes beyond mobile app UI creation to deliver 
mobile optimized, standards-based, middleware and tools 
for enterprise-grade mobile applications and services 
creation 
“Best Enterprise Mobility Application Development Platform" 
by Compass Intelligence for 2014 Mobility Awards
IBM Worklight – Main Components 
Development Run Time 
Worklight CLI & Studio 
Leading tools for native and 
hybrid development that 
maximize code reuse, accelerate 
development, and promote team 
work 
Operational Console 
UI for app deployment, management, and version 
enforcement, real-time operational analytics, push 
notifications 
Worklight Server 
Gateway for mobile user engagement, security, 
analytics, and application control 
App Runtime 
Client APIs available for native, hybrid, and web apps 
Worklight App Center 
A non-MDM, cross-platform, private mobile app store tailored to the needs of development 
team or as an enterprise store
The IBM Worklight SDK for Xamarin 
Security 
Authentication 
Integration 
Notifications 
App Management 
Analytics 
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
What does this do for mobile application 
developers? 
Speed development Add rich app services 
Speed integration Ease troubleshooting 
Leverage robust security 
and authentication 
Get control of 
your applications
A rich set of mobile ready APIs that you can mix and match to power your App 
API Catalog 
A catalog of developer friendly APIs (IBM & third party) with mobile 
SDKs, that can be composed into new and existing mobile apps. 
Configure and manage through the BlueMix portal. 
and More 
IBM Bluemix 
	 
Run Code 
The developer can chose from multiple language runtimes or bring 
their own. Just upload your code and go. 
Store Data 
The developer can store data in the cloud as a service easily without 
needing to administer the databases. 
Cloud Integration 
Build hybrid environments. Connect to on-premises systems of record 
plus other public and private clouds. Expose your own APIs to your 
developers. 
Built on IBM SoftLayer 
Runs on top of IBM’s leading infrastructure as a service. 
Inte-gration 
Categories Big Data & 
Mobile Web 
Data 
Analytics
Enterprise Integration 
Worklight server provides a single secure point of integration into the Enterprise that speeds 
integration and enables management of mobile solutions 
Worklight 
Mobile 
Server 
Firewall 
Existing 
Integration Hub 
backend integration 
HTTP(S) 
Database 
WebService 
REST 
JMS 
MQ 
File 
FTP 
SAP 
Siebel 
: 
JDBC 
Web Service 
Xamarin JSON JMS 
Studio 
C# App built with 
Xamarin Studio 
Enterprise 
Applications 
IBM 
MobileFirst 
SDK
Bring Your Own Tools! 
Developers have the flexibility to use the development tools of their choice 
• Worklight Studio 
• Command Line Interface (CLI) is provided to enable the use of other development tools 
The CLI provides the following capabilities: 
• Add Worklight SDKs to a native project 
• Create Worklight hybrid projects 
• Add environments to a Worklight hybrid project 
• Create Worklight Adapters 
• Test Worklight Adapters 
• Deploy Worklight applications and adapters to the Worklight Server 
• Start and stop the Worklight Server 
• Launch the Worklight administrative console
Worklight SDK for Xamarin – Developer Workflow 
9 
• Install IBM Worklight 
component in Xamarin studio 
• Create Worklight server side artifacts and 
deploy using Command Line Interface 
• Use Worklight APIs in your application 
• Extensive libraries and client APIs that expose 
and interface with native device functionality 
• Build Apps 
• Deploy/Manage/Monitor Apps
Add the IBM MobileFirst SDK Component
Interact with IBM Worklight via the Xamarin 
IDE
Worklight CLI and JDK configuration
Create a Worklight application (to manage the 
application) 
$ wl create XTest 
$ wl add api XTestiOS –environment ios 
$ wl build 
$ wl start 
$ wl deploy
Worklight Server: Adapters 
SQL / JDBC 
SOAP / HTTP 
REST 
Java Extension 
ESB 
JMS 
CAST IRON 
Node* 
Worklight Server 
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 
Run time 
• Lightweight server-side logic to expose data in a mobile-friendly way 
• Automatic JSON transformation of enterprise data for quick transport and ease of 
consumption by mobile developer 
• Server-side service composition to reduce requests over slow mobile network 
• XSLT to reduce fat SOAP responses 
• Security 
• Automatic enablement of server-side authentication control and audit 
• Analytics 
• Automatic collection of user actions and device and app properties 
• Mobile user engagement 
• Push notifications
Invoke an Adapter method from Xamarin 
public async Task<String> InvokeTransferFunds(string acctFrom, string acctTo, string amount 
{ 
WorklightProcedureInvocationData invocationData = 
new WorklightProcedureInvocationData("HttpMyBankAdapter", 
"getTransferFunds", 
new object[] {acctFrom, acctTo, amount}); 
WorklightResponse task = await client.InvokeProcedure(invocationData); 
if (task.Success) 
{ 
: 
} 
}
Implement Adapter methods to driver enterprise 
integration and implement common server side 
logic 
function getTransferFunds (acctFrom, acctTo, amount) { 
: 
if ((1*amount) > 0) { 
users[index].accts[f].balance = users[index].accts[f].balance - amount; 
users[index].accts[t].balance = (1*users[index].accts[t].balance) + (1*amount); 
result = true; 
} 
: 
path = getPath(interest); 
var input = { 
method : 'get', 
returnedContentType : 'xml', 
path : path 
}; 
return WL.Server.invokeHttp(input); 
}
Modify Adapter configuration 
<displayName>MyBankAdapter</displayName> 
<description>MyBankAdapter</description> 
<connectivity> 
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType"> 
<protocol>http</protocol> 
<domain>rss.cnn.com</domain> 
<port>80</port> 
</connectionPolicy> 
<loadConstraints maxConcurrentConnectionsPerNode="2" /> 
</connectivity> 
<procedure name="getDriveLogin"/> 
<procedure name="getAccounts"/> 
<procedure name="getTransactions"/> 
<procedure name="getTransferFunds"/>
Create and implement desired adapter procedures 
$ wl add adapter MyBankAdapter –-type http 
$ subl adapters/MyBankAdapter/MyBankAdapter-impl.js 
$ wl build 
$ wl deploy
Invoke the Adapter interactively 
wl invoke “Greg” 
laptop:XTest gregtruty$ 
] Which adapter do you want to use? (Use arrow keys) 
HTTP 
HttpMyBankAdapter 
❯ MyBankAdapter 
SQLMyBankAdapter 
[?] Which procedure do you want to invoke? (Use arrow keys) 
getDriveLogin 
❯ getAccounts 
getTransactions 
getTransferFunds 
[?] Enter the comma-separated parameters: 
Invoking MyBankAdapter:getAccounts... 
Arguments: 
[ "Greg” ] 
Invocation result: 
{ 
"isSuccessful": true, 
"accts": [ 
{ "balance": 8247.22, 
"number": "182729382", 
"type": "Savings” }, 
{ "balance": 1452.23, 
"number": "582729382", 
"type": "Checking” } ] 
}
Invoke the Adapter directly 
laptop:XTest gregtruty$ wl invoke MyBankAdapter:getAccounts '"Greg"' 
{ 
"isSuccessful": true, 
"accts": [ 
{ 
"balance": 8247.22, 
"number": "182729382", 
"type": "Savings" 
}, 
{ 
"balance": 1452.23, 
"number": "582729382", 
"type": "Checking" 
} 
] 
}
Automatic adapter generation for SOAP and 
SAP NetWeaver 
• Speed-up creation of mobile apps which interact with Enterprise back-end 
system of records 
• Reduce the amount to coding to zero or near-zero for invoking SOAP 
based web services and services from the SAP NetWeaver Gateway 
• Consume these services via the generated adapter from your web, hybrid, 
or native app
Unified Push Notifications 
Register for, notify, and receive a notification via Worklight APIs 
Back-end 
System 
Back-end 
System 
Back-end 
System 
Back-end 
System 
Polling 
Adapters 
Message-based 
Adapters 
Unified Push 
API 
Notification 
State 
Database 
User-Device 
Database 
iOS 
Dispatcher 
Android 
Dispatcher 
Windows 
Phone 
Dispatcher 
SMS 
Dispatcher 
Apple Push 
Servers (APN) 
Google Push 
Servers (GCM) 
Microsoft 
Push Servers 
SMS/MMS 
Brokers 
Administrative Console 
Notification statistics, SMS subscription control 
Worklight 
Client-side Push 
Services 
iOS 
Push API 
Android 
Push API 
Windows 
Push API 
Broker API 
Worklight 
Client-side Push 
Services 
Worklight 
Client-side 
Push Services 
Optional 2-way SMS
Recent Push notification enhancements in 
Worklight Foundation 
Group notifications based on tags 
 Notifications are targeted to only a select set of users based on their topics of interest 
 Tags allow message producers / senders to segment devices 
 One or more tags can exist per application 
 Defined in application-descriptor.xml – created during deployment 
Broadcast, unicast and narrowcast notifications 
 APIs available to send a notification to all the devices that installed the application 
 Also provides for an option to opt out of receiving broadcast notifications 
 Enhanced APIs to send a notification to specific user or device that installed the application 
 Support for a notification targeted to devices of a particular platform that installed the application 
 Server side REST APIs for device and subscription management 
 Improved scalability of the push infrastructure to handle large volumes of push messages
Security 
 Security for enterprise application is the biggest concern of CTO’s 
 Rich Worklight security features can now be used 
Application Security 
Application Security 
Protecting data on the device 
Authentication 
integration 
framework 
Data protection 
realms 
Secure challenge-response 
Using device id 
as 2nd factor 
Code 
obfuscation 
SSL with server 
identity 
verification 
Proven platform 
security 
App authenticity 
testing 
Compatible with 
Jailbreak /malware 
detection 
on 
startup 
Encrypted offline 
cache 
Offline 
authentication 
Enforcing Security Updates 
Remote disable Direct update
Worklight security – concepts 
Security Tests 
A security test defines a security configuration for a protected resource 
Authentication realms 
Resources are protected by authentication realms. Authentication processes can be 
interactive or non-interactive. 
Authenticators and login modules 
An authenticator collects client credentials. A login module validates them.
Adapters can point to security tests 
<displayName>MyBankAdapter</displayName> 
<description>MyBankAdapter</description> 
<connectivity> 
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType"> 
<protocol>http</protocol> 
<domain>rss.cnn.com</domain> 
<port>80</port> 
</connectionPolicy> 
<loadConstraints maxConcurrentConnectionsPerNode="2" /> 
</connectivity> 
<procedure name="getDriveLogin” securityTest="Adapter-securityTest” /> 
<procedure name="getAccounts” /> 
<procedure name="getTransactions” /> 
<procedure name="getTransferFunds” />
Security configuration is under the project 
<securityTests> 
<customSecurityTest name="Adapter-securityTest"> 
<test realm="SampleAppRealm" isInternalUserID="true"/> 
</customSecurityTest> 
</securityTests> 
<realms> 
<realm name="SampleAppRealm" loginModule="StrongDummy"> 
<className>com.worklight.core.auth.ext.FormBasedAuthenticator</className> 
</realm> 
</realms> 
<loginModules> 
<loginModule name="StrongDummy"> 
<className>com.worklight.core.auth.ext.NonValidatingLoginModule</className> 
</loginModule> 
</loginModules>
Code up the client-side challenge handler 
public override void HandleChallenge(WorklightResponse challenge) 
{ 
Console.WriteLine ("We were challenged.. so we are handling it"); 
Dictionary<String,String > parms = new Dictionary<String, String> (); 
parms.Add ("j_username", "worklight"); 
parms.Add ("j_password", "password"); 
LoginFormParameters = new LoginFormInfo ("j_security_check", parms, 
null, 30000, "post"); 
shouldSubmitLoginForm = true; 
}
Configure on the connect to Worklight 
public async void Connect(){ 
//lets send a message to the server 
client.Analytics.Log("Trying to connect to server",metadata); 
ChallengeHandler customCH = new CustomChallengeHandler (appRealm); 
client.RegisterChallengeHandler(customCH); 
WorklightResponse task = await client.Connect (); 
//lets log to the local client (not server) 
client.Logger("Xamarin").Trace ("connection"); 
//write to the server the connection status 
client.Analytics.Log ("Connect response : " + task.Success); 
//return task; 
}
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 OS key 
store 
Worklight 
Server 
App 2 
ID 
Session x 
Duplicate 
after 
receiving ID 
from App 2 
Session y 
Implementation 
 Implemented 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.
Manage the Worklight applications
Application Management 
• Better control of your 
application 
• Active 
• Active, Notifying 
(useful for informing users 
of scheduled outages or 
future pending updates) 
• Access Disabled 
(useful for forcing upgrades 
to new versions)
Disable or Notify the end user
Remote-controlled client-side log collection 
• Worklight 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
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
Service integration analytics 
Robust analytics for adapter usage including average response time, average data usage, 
and server usage statistics
Server and Client log inspection made easy 
Worklight Analytics Console enables easy searching of both client and server 
logs
Worklight provides C# API documentation
IBM Worklight Foundation – Typical Topology 
Corporate DMZ 
Worklight 
Cluster 
Load 
Balancer 
Backend 1 Backend 2 
Worklight 
Database 
Web SSO 
Server 
Corporate LAN
Seek community forum/support at Stack Overflow 
http://stackoverflow.com/questions/tagged/worklight
Demo
Resources 
Worklight Getting Started (documentation, CLI reference, sample adapters, etc…) 
http://www.ibm.com/developerworks/mobile/worklight/getting-started.html 
Worklight CLI Download 
http://www.ibm.com/developerworks/mobile/worklight/download/cli.html 
Xamarin and Worklight information 
http://www.xamarin.com/ibm 
Worklight Support 
http://stackoverflow.com/questions/tagged/worklight
Thank You 
Greg Truty 
http://www.ibm.com/developerworks/mobile/worklight 
gtruty@us.ibm.com
© Copyright IBM Corporation 2013. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or 
implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating 
any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials 
to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any 
time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the 
Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, 
product, or service names may be trademarks or service marks of others.
Invoke the Adapter interactively 
laptop:XTest gregtruty$ wl invoke 
] Which adapter do you want to use? (Use arrow keys) 
HTTP 
HttpMyBankAdapter 
❯ MyBankAdapter 
SQLMyBankAdapter 
[?] Which procedure do you want to invoke? (Use arrow keys) 
getDriveLogin 
❯ getAccounts 
getTransactions 
getTransferFunds 
[?] Enter the comma-separated parameters: "Greg" 
Invoking MyBankAdapter:getAccounts... 
Arguments: 
[ "Greg” ] 
Invocation result: 
{ 
"isSuccessful": true, 
"accts": [ 
{ "balance": 8247.22, 
"number": "182729382", 
"type": "Savings” }, 
{ "balance": 1452.23, 
"number": "582729382", 
"type": "Checking” } ] 
}

More Related Content

What's hot

Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1Wes Yanaga
 
Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netCallon Campbell
 
(MBL317) NEW! Introducing AWS Mobile Hub
(MBL317) NEW! Introducing AWS Mobile Hub(MBL317) NEW! Introducing AWS Mobile Hub
(MBL317) NEW! Introducing AWS Mobile HubAmazon Web Services
 
Collision 2018: AWS Serverless Platform for Mobile
Collision 2018: AWS Serverless Platform for MobileCollision 2018: AWS Serverless Platform for Mobile
Collision 2018: AWS Serverless Platform for MobileAmazon Web Services
 
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...Amazon Web Services
 
Build Your Mobile App with AWS Mobile Services
Build Your Mobile App with AWS Mobile ServicesBuild Your Mobile App with AWS Mobile Services
Build Your Mobile App with AWS Mobile ServicesAmazon Web Services
 
Cloud native architeturecture
Cloud native architeturecture Cloud native architeturecture
Cloud native architeturecture koneruvijay
 
Build Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile ServicesBuild Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile ServicesAmazon Web Services
 
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Innomatic Platform
 
The resurgence of event driven architecture
The resurgence of event driven architectureThe resurgence of event driven architecture
The resurgence of event driven architectureKim Clark
 
Day 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKs
Day 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKsDay 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKs
Day 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKsAmazon Web Services
 
(MBL202) Mobile State of the Union: Mobile Apps Powered by AWS
(MBL202) Mobile State of the Union: Mobile Apps Powered by AWS(MBL202) Mobile State of the Union: Mobile Apps Powered by AWS
(MBL202) Mobile State of the Union: Mobile Apps Powered by AWSAmazon Web Services
 
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDKDeep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDKAmazon Web Services
 
re:Invent 2019 CON328R Improving observability of your containers
re:Invent 2019 CON328R Improving observability of your containersre:Invent 2019 CON328R Improving observability of your containers
re:Invent 2019 CON328R Improving observability of your containersShubha Bheema Rao
 
An Introduction to AWS Mobile Services - DevDay Los Angeles 2017
An Introduction to AWS Mobile Services - DevDay Los Angeles 2017An Introduction to AWS Mobile Services - DevDay Los Angeles 2017
An Introduction to AWS Mobile Services - DevDay Los Angeles 2017Amazon Web Services
 
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...Amazon Web Services
 
AWS September Webinar Series - Build Cross-Platform Mobile Apps with AWS and...
AWS September Webinar Series -  Build Cross-Platform Mobile Apps with AWS and...AWS September Webinar Series -  Build Cross-Platform Mobile Apps with AWS and...
AWS September Webinar Series - Build Cross-Platform Mobile Apps with AWS and...Amazon Web Services
 

What's hot (20)

Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1
 
Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .net
 
(MBL317) NEW! Introducing AWS Mobile Hub
(MBL317) NEW! Introducing AWS Mobile Hub(MBL317) NEW! Introducing AWS Mobile Hub
(MBL317) NEW! Introducing AWS Mobile Hub
 
Collision 2018: AWS Serverless Platform for Mobile
Collision 2018: AWS Serverless Platform for MobileCollision 2018: AWS Serverless Platform for Mobile
Collision 2018: AWS Serverless Platform for Mobile
 
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...
 
Build Your Mobile App with AWS Mobile Services
Build Your Mobile App with AWS Mobile ServicesBuild Your Mobile App with AWS Mobile Services
Build Your Mobile App with AWS Mobile Services
 
Cloud native architeturecture
Cloud native architeturecture Cloud native architeturecture
Cloud native architeturecture
 
AWS Mobile Hub Overview
AWS Mobile Hub OverviewAWS Mobile Hub Overview
AWS Mobile Hub Overview
 
I Phone Dev
I Phone DevI Phone Dev
I Phone Dev
 
Build Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile ServicesBuild Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile Services
 
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
 
The resurgence of event driven architecture
The resurgence of event driven architectureThe resurgence of event driven architecture
The resurgence of event driven architecture
 
Day 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKs
Day 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKsDay 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKs
Day 2 - Delivering Media Mobile Apps Using the AWS Mobile & Javascript SDKs
 
(MBL202) Mobile State of the Union: Mobile Apps Powered by AWS
(MBL202) Mobile State of the Union: Mobile Apps Powered by AWS(MBL202) Mobile State of the Union: Mobile Apps Powered by AWS
(MBL202) Mobile State of the Union: Mobile Apps Powered by AWS
 
Cloud PaaS with Java
Cloud PaaS with JavaCloud PaaS with Java
Cloud PaaS with Java
 
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDKDeep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
 
re:Invent 2019 CON328R Improving observability of your containers
re:Invent 2019 CON328R Improving observability of your containersre:Invent 2019 CON328R Improving observability of your containers
re:Invent 2019 CON328R Improving observability of your containers
 
An Introduction to AWS Mobile Services - DevDay Los Angeles 2017
An Introduction to AWS Mobile Services - DevDay Los Angeles 2017An Introduction to AWS Mobile Services - DevDay Los Angeles 2017
An Introduction to AWS Mobile Services - DevDay Los Angeles 2017
 
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
 
AWS September Webinar Series - Build Cross-Platform Mobile Apps with AWS and...
AWS September Webinar Series -  Build Cross-Platform Mobile Apps with AWS and...AWS September Webinar Series -  Build Cross-Platform Mobile Apps with AWS and...
AWS September Webinar Series - Build Cross-Platform Mobile Apps with AWS and...
 

Similar to Connecting Xamarin Apps with IBM Worklight in Bluemix

Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo Mobility Platform | Mobile Application Development for Enterprises...Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo Mobility Platform | Mobile Application Development for Enterprises...Convertigo | MADP & MBaaS
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETLorenzo Barbieri
 
Progetta, crea e gestisci Modern Application per web e mobile su AWS
Progetta, crea e gestisci Modern Application per web e mobile su AWSProgetta, crea e gestisci Modern Application per web e mobile su AWS
Progetta, crea e gestisci Modern Application per web e mobile su AWSAmazon Web Services
 
SRV421 Deep Dive with AWS Mobile Services
SRV421 Deep Dive with AWS Mobile ServicesSRV421 Deep Dive with AWS Mobile Services
SRV421 Deep Dive with AWS Mobile ServicesAmazon Web Services
 
Build & Deploy Scalable Cloud Applications in Record Time
Build & Deploy Scalable Cloud Applications in Record TimeBuild & Deploy Scalable Cloud Applications in Record Time
Build & Deploy Scalable Cloud Applications in Record TimeRightScale
 
Tech UG - Newcastle 09-17 - logic apps
Tech UG - Newcastle 09-17 -   logic appsTech UG - Newcastle 09-17 -   logic apps
Tech UG - Newcastle 09-17 - logic appsMichael Stephenson
 
Worklight mobile v6
Worklight mobile v6 Worklight mobile v6
Worklight mobile v6 GameStop
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectDevOps.com
 
Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009guest829442
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentWim Tobback
 
Busy Bee Application Develompent Platform
Busy Bee Application Develompent PlatformBusy Bee Application Develompent Platform
Busy Bee Application Develompent PlatformUtkarsh Shukla
 
IBM SmartCloud Orchestration
IBM SmartCloud OrchestrationIBM SmartCloud Orchestration
IBM SmartCloud OrchestrationIBM Danmark
 
Final_Poster
Final_PosterFinal_Poster
Final_PosterAccenture
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Sreeni Pamidala
 
Azure app service to create web and mobile apps
Azure app service to create web and mobile appsAzure app service to create web and mobile apps
Azure app service to create web and mobile appsKen Cenerelli
 
GigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapGigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapShay Hassidim
 
Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsJack-Junjie Cai
 
IBM Worklight
IBM WorklightIBM Worklight
IBM WorklightNir Elbaz
 
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for zz Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for znick_garrod
 

Similar to Connecting Xamarin Apps with IBM Worklight in Bluemix (20)

Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo Mobility Platform | Mobile Application Development for Enterprises...Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo Mobility Platform | Mobile Application Development for Enterprises...
 
Azure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNETAzure Cloud Application Development Workshop - UGIdotNET
Azure Cloud Application Development Workshop - UGIdotNET
 
Progetta, crea e gestisci Modern Application per web e mobile su AWS
Progetta, crea e gestisci Modern Application per web e mobile su AWSProgetta, crea e gestisci Modern Application per web e mobile su AWS
Progetta, crea e gestisci Modern Application per web e mobile su AWS
 
SRV421 Deep Dive with AWS Mobile Services
SRV421 Deep Dive with AWS Mobile ServicesSRV421 Deep Dive with AWS Mobile Services
SRV421 Deep Dive with AWS Mobile Services
 
Build & Deploy Scalable Cloud Applications in Record Time
Build & Deploy Scalable Cloud Applications in Record TimeBuild & Deploy Scalable Cloud Applications in Record Time
Build & Deploy Scalable Cloud Applications in Record Time
 
Tech UG - Newcastle 09-17 - logic apps
Tech UG - Newcastle 09-17 -   logic appsTech UG - Newcastle 09-17 -   logic apps
Tech UG - Newcastle 09-17 - logic apps
 
Worklight mobile v6
Worklight mobile v6 Worklight mobile v6
Worklight mobile v6
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
 
Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App Development
 
Busy Bee Application Develompent Platform
Busy Bee Application Develompent PlatformBusy Bee Application Develompent Platform
Busy Bee Application Develompent Platform
 
IBM SmartCloud Orchestration
IBM SmartCloud OrchestrationIBM SmartCloud Orchestration
IBM SmartCloud Orchestration
 
Final_Poster
Final_PosterFinal_Poster
Final_Poster
 
Final_Poster
Final_PosterFinal_Poster
Final_Poster
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
 
Azure app service to create web and mobile apps
Azure app service to create web and mobile appsAzure app service to create web and mobile apps
Azure app service to create web and mobile apps
 
GigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapGigaSpaces CCF 4 Xap
GigaSpaces CCF 4 Xap
 
Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applications
 
IBM Worklight
IBM WorklightIBM Worklight
IBM Worklight
 
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for zz Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
 

More from IBM

Microservices - Choosing the Right Cloud Services and Tools
Microservices - Choosing the Right Cloud Services and ToolsMicroservices - Choosing the Right Cloud Services and Tools
Microservices - Choosing the Right Cloud Services and ToolsIBM
 
Digital Innovation in the Cognitive Era
Digital Innovation in the Cognitive EraDigital Innovation in the Cognitive Era
Digital Innovation in the Cognitive EraIBM
 
How Bluemix Helps NASA Innovate
How Bluemix Helps NASA InnovateHow Bluemix Helps NASA Innovate
How Bluemix Helps NASA InnovateIBM
 
IBM RTP Dojo Launch
IBM RTP Dojo LaunchIBM RTP Dojo Launch
IBM RTP Dojo LaunchIBM
 
Using Service Discovery and Service Proxy
Using Service Discovery and Service ProxyUsing Service Discovery and Service Proxy
Using Service Discovery and Service ProxyIBM
 
IBM Relay 2015: Securing the Future
IBM Relay 2015: Securing the Future IBM Relay 2015: Securing the Future
IBM Relay 2015: Securing the Future IBM
 
IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote IBM
 
IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond
IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond
IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond IBM
 
IBM Relay 2015: Cloud is All About the Customer
IBM Relay 2015: Cloud is All About the Customer IBM Relay 2015: Cloud is All About the Customer
IBM Relay 2015: Cloud is All About the Customer IBM
 
IBM Relay 2015: Open for Data
IBM Relay 2015: Open for Data IBM Relay 2015: Open for Data
IBM Relay 2015: Open for Data IBM
 
IBM Relay 2015: Expect More From Private Cloud
IBM Relay 2015: Expect More From Private CloudIBM Relay 2015: Expect More From Private Cloud
IBM Relay 2015: Expect More From Private CloudIBM
 
Node on Guard
Node on GuardNode on Guard
Node on GuardIBM
 
Birmingham Meetup
Birmingham MeetupBirmingham Meetup
Birmingham MeetupIBM
 
Discover the Linux on z Systems Effect
Discover the Linux on z Systems EffectDiscover the Linux on z Systems Effect
Discover the Linux on z Systems EffectIBM
 
Exploring the Open Source Linux Ecosystem
Exploring the Open Source Linux EcosystemExploring the Open Source Linux Ecosystem
Exploring the Open Source Linux EcosystemIBM
 
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM BluemixOffline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM BluemixIBM
 
Open Source Centers of Gravity
Open Source Centers of GravityOpen Source Centers of Gravity
Open Source Centers of GravityIBM
 
Meetupslides 150409100501-conversion-gate01
Meetupslides 150409100501-conversion-gate01Meetupslides 150409100501-conversion-gate01
Meetupslides 150409100501-conversion-gate01IBM
 
Integrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry AppIntegrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry AppIBM
 
Building Your Own Watson Powered Application on Bluemix
Building Your Own Watson Powered Application on BluemixBuilding Your Own Watson Powered Application on Bluemix
Building Your Own Watson Powered Application on BluemixIBM
 

More from IBM (20)

Microservices - Choosing the Right Cloud Services and Tools
Microservices - Choosing the Right Cloud Services and ToolsMicroservices - Choosing the Right Cloud Services and Tools
Microservices - Choosing the Right Cloud Services and Tools
 
Digital Innovation in the Cognitive Era
Digital Innovation in the Cognitive EraDigital Innovation in the Cognitive Era
Digital Innovation in the Cognitive Era
 
How Bluemix Helps NASA Innovate
How Bluemix Helps NASA InnovateHow Bluemix Helps NASA Innovate
How Bluemix Helps NASA Innovate
 
IBM RTP Dojo Launch
IBM RTP Dojo LaunchIBM RTP Dojo Launch
IBM RTP Dojo Launch
 
Using Service Discovery and Service Proxy
Using Service Discovery and Service ProxyUsing Service Discovery and Service Proxy
Using Service Discovery and Service Proxy
 
IBM Relay 2015: Securing the Future
IBM Relay 2015: Securing the Future IBM Relay 2015: Securing the Future
IBM Relay 2015: Securing the Future
 
IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote IBM Relay 2015: Opening Keynote
IBM Relay 2015: Opening Keynote
 
IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond
IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond
IBM Relay 2015: New Data Sources, New Value. Watson, Weather and Beyond
 
IBM Relay 2015: Cloud is All About the Customer
IBM Relay 2015: Cloud is All About the Customer IBM Relay 2015: Cloud is All About the Customer
IBM Relay 2015: Cloud is All About the Customer
 
IBM Relay 2015: Open for Data
IBM Relay 2015: Open for Data IBM Relay 2015: Open for Data
IBM Relay 2015: Open for Data
 
IBM Relay 2015: Expect More From Private Cloud
IBM Relay 2015: Expect More From Private CloudIBM Relay 2015: Expect More From Private Cloud
IBM Relay 2015: Expect More From Private Cloud
 
Node on Guard
Node on GuardNode on Guard
Node on Guard
 
Birmingham Meetup
Birmingham MeetupBirmingham Meetup
Birmingham Meetup
 
Discover the Linux on z Systems Effect
Discover the Linux on z Systems EffectDiscover the Linux on z Systems Effect
Discover the Linux on z Systems Effect
 
Exploring the Open Source Linux Ecosystem
Exploring the Open Source Linux EcosystemExploring the Open Source Linux Ecosystem
Exploring the Open Source Linux Ecosystem
 
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM BluemixOffline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
 
Open Source Centers of Gravity
Open Source Centers of GravityOpen Source Centers of Gravity
Open Source Centers of Gravity
 
Meetupslides 150409100501-conversion-gate01
Meetupslides 150409100501-conversion-gate01Meetupslides 150409100501-conversion-gate01
Meetupslides 150409100501-conversion-gate01
 
Integrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry AppIntegrating MongoDB into Cloud Foundry App
Integrating MongoDB into Cloud Foundry App
 
Building Your Own Watson Powered Application on Bluemix
Building Your Own Watson Powered Application on BluemixBuilding Your Own Watson Powered Application on Bluemix
Building Your Own Watson Powered Application on Bluemix
 

Recently uploaded

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Connecting Xamarin Apps with IBM Worklight in Bluemix

  • 1. Connecting Xamarin Apps with IBM Worklight Greg Truty Chief Architect, IBM MobileFirst gtruty@us.ibm.com
  • 2. Introducing IBM Worklight With the Worklight SDK for Xamarin developers Enterprise grade security, integration and app management following features of Worklight Enterprise Integration • Direct access to back-end systems • Leverage existing SOA services • Server-side caching • Unified push and SMS notifications Security and Trust • Single sign-on mechanism • SSL encryption • Multi-factor authentication • Secured offline access • On device encryption of user data Application Management • App distribution • App Version management • Remote disabling apps • Push Notification service management • Analytics and Usage report • Log collection for problem determination IBM Worklight goes beyond mobile app UI creation to deliver mobile optimized, standards-based, middleware and tools for enterprise-grade mobile applications and services creation “Best Enterprise Mobility Application Development Platform" by Compass Intelligence for 2014 Mobility Awards
  • 3. IBM Worklight – Main Components Development Run Time Worklight CLI & Studio Leading tools for native and hybrid development that maximize code reuse, accelerate development, and promote team work Operational Console UI for app deployment, management, and version enforcement, real-time operational analytics, push notifications Worklight Server Gateway for mobile user engagement, security, analytics, and application control App Runtime Client APIs available for native, hybrid, and web apps Worklight App Center A non-MDM, cross-platform, private mobile app store tailored to the needs of development team or as an enterprise store
  • 4. The IBM Worklight SDK for Xamarin Security Authentication Integration Notifications App Management Analytics 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
  • 5. What does this do for mobile application developers? Speed development Add rich app services Speed integration Ease troubleshooting Leverage robust security and authentication Get control of your applications
  • 6. A rich set of mobile ready APIs that you can mix and match to power your App API Catalog A catalog of developer friendly APIs (IBM & third party) with mobile SDKs, that can be composed into new and existing mobile apps. Configure and manage through the BlueMix portal. and More IBM Bluemix Run Code The developer can chose from multiple language runtimes or bring their own. Just upload your code and go. Store Data The developer can store data in the cloud as a service easily without needing to administer the databases. Cloud Integration Build hybrid environments. Connect to on-premises systems of record plus other public and private clouds. Expose your own APIs to your developers. Built on IBM SoftLayer Runs on top of IBM’s leading infrastructure as a service. Inte-gration Categories Big Data & Mobile Web Data Analytics
  • 7. Enterprise Integration Worklight server provides a single secure point of integration into the Enterprise that speeds integration and enables management of mobile solutions Worklight Mobile Server Firewall Existing Integration Hub backend integration HTTP(S) Database WebService REST JMS MQ File FTP SAP Siebel : JDBC Web Service Xamarin JSON JMS Studio C# App built with Xamarin Studio Enterprise Applications IBM MobileFirst SDK
  • 8. Bring Your Own Tools! Developers have the flexibility to use the development tools of their choice • Worklight Studio • Command Line Interface (CLI) is provided to enable the use of other development tools The CLI provides the following capabilities: • Add Worklight SDKs to a native project • Create Worklight hybrid projects • Add environments to a Worklight hybrid project • Create Worklight Adapters • Test Worklight Adapters • Deploy Worklight applications and adapters to the Worklight Server • Start and stop the Worklight Server • Launch the Worklight administrative console
  • 9. Worklight SDK for Xamarin – Developer Workflow 9 • Install IBM Worklight component in Xamarin studio • Create Worklight server side artifacts and deploy using Command Line Interface • Use Worklight APIs in your application • Extensive libraries and client APIs that expose and interface with native device functionality • Build Apps • Deploy/Manage/Monitor Apps
  • 10. Add the IBM MobileFirst SDK Component
  • 11. Interact with IBM Worklight via the Xamarin IDE
  • 12. Worklight CLI and JDK configuration
  • 13. Create a Worklight application (to manage the application) $ wl create XTest $ wl add api XTestiOS –environment ios $ wl build $ wl start $ wl deploy
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Worklight Server: Adapters SQL / JDBC SOAP / HTTP REST Java Extension ESB JMS CAST IRON Node* Worklight Server 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 Run time • Lightweight server-side logic to expose data in a mobile-friendly way • Automatic JSON transformation of enterprise data for quick transport and ease of consumption by mobile developer • Server-side service composition to reduce requests over slow mobile network • XSLT to reduce fat SOAP responses • Security • Automatic enablement of server-side authentication control and audit • Analytics • Automatic collection of user actions and device and app properties • Mobile user engagement • Push notifications
  • 19. Invoke an Adapter method from Xamarin public async Task<String> InvokeTransferFunds(string acctFrom, string acctTo, string amount { WorklightProcedureInvocationData invocationData = new WorklightProcedureInvocationData("HttpMyBankAdapter", "getTransferFunds", new object[] {acctFrom, acctTo, amount}); WorklightResponse task = await client.InvokeProcedure(invocationData); if (task.Success) { : } }
  • 20. Implement Adapter methods to driver enterprise integration and implement common server side logic function getTransferFunds (acctFrom, acctTo, amount) { : if ((1*amount) > 0) { users[index].accts[f].balance = users[index].accts[f].balance - amount; users[index].accts[t].balance = (1*users[index].accts[t].balance) + (1*amount); result = true; } : path = getPath(interest); var input = { method : 'get', returnedContentType : 'xml', path : path }; return WL.Server.invokeHttp(input); }
  • 21. Modify Adapter configuration <displayName>MyBankAdapter</displayName> <description>MyBankAdapter</description> <connectivity> <connectionPolicy xsi:type="http:HTTPConnectionPolicyType"> <protocol>http</protocol> <domain>rss.cnn.com</domain> <port>80</port> </connectionPolicy> <loadConstraints maxConcurrentConnectionsPerNode="2" /> </connectivity> <procedure name="getDriveLogin"/> <procedure name="getAccounts"/> <procedure name="getTransactions"/> <procedure name="getTransferFunds"/>
  • 22. Create and implement desired adapter procedures $ wl add adapter MyBankAdapter –-type http $ subl adapters/MyBankAdapter/MyBankAdapter-impl.js $ wl build $ wl deploy
  • 23. Invoke the Adapter interactively wl invoke “Greg” laptop:XTest gregtruty$ ] Which adapter do you want to use? (Use arrow keys) HTTP HttpMyBankAdapter ❯ MyBankAdapter SQLMyBankAdapter [?] Which procedure do you want to invoke? (Use arrow keys) getDriveLogin ❯ getAccounts getTransactions getTransferFunds [?] Enter the comma-separated parameters: Invoking MyBankAdapter:getAccounts... Arguments: [ "Greg” ] Invocation result: { "isSuccessful": true, "accts": [ { "balance": 8247.22, "number": "182729382", "type": "Savings” }, { "balance": 1452.23, "number": "582729382", "type": "Checking” } ] }
  • 24. Invoke the Adapter directly laptop:XTest gregtruty$ wl invoke MyBankAdapter:getAccounts '"Greg"' { "isSuccessful": true, "accts": [ { "balance": 8247.22, "number": "182729382", "type": "Savings" }, { "balance": 1452.23, "number": "582729382", "type": "Checking" } ] }
  • 25. Automatic adapter generation for SOAP and SAP NetWeaver • Speed-up creation of mobile apps which interact with Enterprise back-end system of records • Reduce the amount to coding to zero or near-zero for invoking SOAP based web services and services from the SAP NetWeaver Gateway • Consume these services via the generated adapter from your web, hybrid, or native app
  • 26. Unified Push Notifications Register for, notify, and receive a notification via Worklight APIs Back-end System Back-end System Back-end System Back-end System Polling Adapters Message-based Adapters Unified Push API Notification State Database User-Device Database iOS Dispatcher Android Dispatcher Windows Phone Dispatcher SMS Dispatcher Apple Push Servers (APN) Google Push Servers (GCM) Microsoft Push Servers SMS/MMS Brokers Administrative Console Notification statistics, SMS subscription control Worklight Client-side Push Services iOS Push API Android Push API Windows Push API Broker API Worklight Client-side Push Services Worklight Client-side Push Services Optional 2-way SMS
  • 27. Recent Push notification enhancements in Worklight Foundation Group notifications based on tags  Notifications are targeted to only a select set of users based on their topics of interest  Tags allow message producers / senders to segment devices  One or more tags can exist per application  Defined in application-descriptor.xml – created during deployment Broadcast, unicast and narrowcast notifications  APIs available to send a notification to all the devices that installed the application  Also provides for an option to opt out of receiving broadcast notifications  Enhanced APIs to send a notification to specific user or device that installed the application  Support for a notification targeted to devices of a particular platform that installed the application  Server side REST APIs for device and subscription management  Improved scalability of the push infrastructure to handle large volumes of push messages
  • 28. Security  Security for enterprise application is the biggest concern of CTO’s  Rich Worklight security features can now be used Application Security Application Security Protecting data on the device Authentication integration framework Data protection realms Secure challenge-response Using device id as 2nd factor Code obfuscation SSL with server identity verification Proven platform security App authenticity testing Compatible with Jailbreak /malware detection on startup Encrypted offline cache Offline authentication Enforcing Security Updates Remote disable Direct update
  • 29. Worklight security – concepts Security Tests A security test defines a security configuration for a protected resource Authentication realms Resources are protected by authentication realms. Authentication processes can be interactive or non-interactive. Authenticators and login modules An authenticator collects client credentials. A login module validates them.
  • 30. Adapters can point to security tests <displayName>MyBankAdapter</displayName> <description>MyBankAdapter</description> <connectivity> <connectionPolicy xsi:type="http:HTTPConnectionPolicyType"> <protocol>http</protocol> <domain>rss.cnn.com</domain> <port>80</port> </connectionPolicy> <loadConstraints maxConcurrentConnectionsPerNode="2" /> </connectivity> <procedure name="getDriveLogin” securityTest="Adapter-securityTest” /> <procedure name="getAccounts” /> <procedure name="getTransactions” /> <procedure name="getTransferFunds” />
  • 31. Security configuration is under the project <securityTests> <customSecurityTest name="Adapter-securityTest"> <test realm="SampleAppRealm" isInternalUserID="true"/> </customSecurityTest> </securityTests> <realms> <realm name="SampleAppRealm" loginModule="StrongDummy"> <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className> </realm> </realms> <loginModules> <loginModule name="StrongDummy"> <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className> </loginModule> </loginModules>
  • 32. Code up the client-side challenge handler public override void HandleChallenge(WorklightResponse challenge) { Console.WriteLine ("We were challenged.. so we are handling it"); Dictionary<String,String > parms = new Dictionary<String, String> (); parms.Add ("j_username", "worklight"); parms.Add ("j_password", "password"); LoginFormParameters = new LoginFormInfo ("j_security_check", parms, null, 30000, "post"); shouldSubmitLoginForm = true; }
  • 33. Configure on the connect to Worklight public async void Connect(){ //lets send a message to the server client.Analytics.Log("Trying to connect to server",metadata); ChallengeHandler customCH = new CustomChallengeHandler (appRealm); client.RegisterChallengeHandler(customCH); WorklightResponse task = await client.Connect (); //lets log to the local client (not server) client.Logger("Xamarin").Trace ("connection"); //write to the server the connection status client.Analytics.Log ("Connect response : " + task.Success); //return task; }
  • 34. 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 OS key store Worklight Server App 2 ID Session x Duplicate after receiving ID from App 2 Session y Implementation  Implemented 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.
  • 35. Manage the Worklight applications
  • 36. Application Management • Better control of your application • Active • Active, Notifying (useful for informing users of scheduled outages or future pending updates) • Access Disabled (useful for forcing upgrades to new versions)
  • 37. Disable or Notify the end user
  • 38. Remote-controlled client-side log collection • Worklight 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
  • 39. 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
  • 40. Service integration analytics Robust analytics for adapter usage including average response time, average data usage, and server usage statistics
  • 41. Server and Client log inspection made easy Worklight Analytics Console enables easy searching of both client and server logs
  • 42. Worklight provides C# API documentation
  • 43. IBM Worklight Foundation – Typical Topology Corporate DMZ Worklight Cluster Load Balancer Backend 1 Backend 2 Worklight Database Web SSO Server Corporate LAN
  • 44. Seek community forum/support at Stack Overflow http://stackoverflow.com/questions/tagged/worklight
  • 45. Demo
  • 46. Resources Worklight Getting Started (documentation, CLI reference, sample adapters, etc…) http://www.ibm.com/developerworks/mobile/worklight/getting-started.html Worklight CLI Download http://www.ibm.com/developerworks/mobile/worklight/download/cli.html Xamarin and Worklight information http://www.xamarin.com/ibm Worklight Support http://stackoverflow.com/questions/tagged/worklight
  • 47. Thank You Greg Truty http://www.ibm.com/developerworks/mobile/worklight gtruty@us.ibm.com
  • 48. © Copyright IBM Corporation 2013. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
  • 49. Invoke the Adapter interactively laptop:XTest gregtruty$ wl invoke ] Which adapter do you want to use? (Use arrow keys) HTTP HttpMyBankAdapter ❯ MyBankAdapter SQLMyBankAdapter [?] Which procedure do you want to invoke? (Use arrow keys) getDriveLogin ❯ getAccounts getTransactions getTransferFunds [?] Enter the comma-separated parameters: "Greg" Invoking MyBankAdapter:getAccounts... Arguments: [ "Greg” ] Invocation result: { "isSuccessful": true, "accts": [ { "balance": 8247.22, "number": "182729382", "type": "Savings” }, { "balance": 1452.23, "number": "582729382", "type": "Checking” } ] }