SOA Design Patterns and Mobile 2014 IBM SOA Architect Summit Steve Mirman

SOA Design Patterns and Mobile
2014 IBM SOA Architect Summit
Steve Mirman
IBM Software Group
Mobility Expert
samirman@us.ibm.com
Agenda
Mobile Application Trends
Mobile Application Architecture
Pattern Based Engineering and Common Mobile
Application Patterns
How to get started
2
Mobile application development is a top priority for businesses
35% of developers are currently
29% of mobile developers currently
targeting tablets, with more than
90% plan to develop for tablets
in the near future.
focus on Hybrid app development
with another 49% expected to
focus on it in the next year.
Nearly 90% of developers
are currently extending
enterprise apps to mobile
or plan to in the near future.
More than 100M people
upgraded to iOS6 in the first
week (September, 2012)
In the next 12 months
77% of developers will
be focused on Hybrid
application development.
25+ Almost all expect
to deploy more than 25 mobility
applications in the next two years
Source: Evans Data Mobile Developer Survey Mobile Development Report 2012 Volume
Source: Business Insider (September 2012)
Mobile application development is a top priority for businesses
1
2
3
4
5
Mobile is primary
91% of mobile users keep their device within arm’s reach 100% of the time
Insights from mobile data provide new opportunities
75% of mobile shoppers take action after receiving a location based message
Mobile is about transacting
96% year to year increase in mobile cyber Monday sales between 2012 and 2011
Mobile must create a continuous brand experience
90% of users use multiple screens as channels come together to create integrated
experiences
Mobile enables the Internet of Things
Global Machine-to-machine connections will increase from 2 billion in 2011 to 18
billion at the end of 2022
Mobile is a significant evolution of enterprise computing
Mobile/Wireless/Cloud
Web/Desktop
Client/Server
Host/Mainframe
Mobile is different:
• Transformational business models
Agile
• Faster lifecycles
• More iterative
• Requires open standards
Mobile is a significant evolution of enterprise computing
Mobile apps are different.
• They are more strategic – Greater urgency
urgency and immediacy of engagement
• They are context-aware –know where you are and
what you are doing
• They run on unstable networks–interruption is
the norm, not the exception
• Smaller footprint – More challenging to make
compelling and easy to use
• Always on – An opportunity to deliver greater value
Management is different.
• Smaller screens pulling content from more
sources: need to choreograph content from
multiple repositories and applications , both on
premises and in the cloud
• Greater challenges of application governance,
distribution, and version management
• AppStore Terms of Service present challenges
for managing B2C apps
Development is different.
• Faster development cycles
• More devices to support, each with its own set of
capabilities, OS and UI behaviors
• More development approaches to choose from
– Web, HTML, Native
• More third-party and open-source tools,
frameworks and libraries to choose from
Security is different.
• Greater risks of exposing applications and data on
small, light and always on portable devices
• Greater authentication challenges associated
with content mashups
• AppStore Terms of Service can limit security
options
But also brings business and IT challenges
Enterprise Business Model Changes
• New business opportunities based upon geo location
• Anytime, anywhere business transactions
• Importance of social business interactions
App Development Lifecycle Complexity
• Built for purpose, fast, “good enough”, strong
involvement of users/stakeholders
• Complexity of multiple device platforms with
fragmented Web, native, and hybrid model landscape
• Connecting the enterprise back-end services in a
secure and scalable manner
• Unique mobile requirements (user interface,
connected/disconnected use, version upgrades, etc.)
Mobile Security and Management
• Protection of privacy and confidential information
Top Mobile Adoption Concerns:
1. Security/privacy (53%)
2. Cost of developing for multiple
mobile platforms (52%)
3. Integrating cloud services to mobile
devices (51%)
• Use of client-owned smartphones and tablets
• Visibility, Security & Management of mobile platform
requirements
Source: 2011 IBM Tech Trends Report
https://www.ibm.com/developerworks/mydeveloperworks/blogs/techtrends/entry/home?lang=en
A Mobile Application Platform leverages your existing investments
so that you can extend (not reinvent) your enterprise to mobile
Good SOA execution makes mobile "just another channel”
Essential development, runtime and
client device services
Messaging
Appliance
Open standards-based
development environment
with mobile-specific
Application Lifecycle
Management (ALM)
Mobile application server
provides mobile-specific
notifications, analytics, security.
Messaging appliance scales
to millions of connections and
messages.
Client device layer
enables client-side
security, enforces app
upgrades, secures local
storage and allows access
to device features.
Agenda
Mobile Application Trends
Mobile Application Architecture
Pattern Based Engineering and Common Mobile
Application Patterns
How to get started
9
Go to 'View > Header and Footer' to
change this footer text to the event title
Classic Web vs Web 2.0 Architecture
Characteristics
Mobile and Web Application Development Types
Web
Application
Mobile Web
Application
Hybrid/Hybrid Mix
Mobile Application
Desktop and mobile
using open web
(HTML, JavaScript)
client
programming models
Mobile only using
open web (HTML5,
JavaScript) client
programming models
Mobile only, app runs on
the device, but leverages
open web (HTML5, JS)
via JavaScript bridge
Off-line capabilities*
Limited to no devicespecific functionality
Native device capabilities
(GPS, camera, contacts)
Mimic native appearance
Hybrid mix can have web
code with native for things
like navigation for
maximizing user
experience
Traditional Trade-offs
(without MEAP/MAP)
Mobile Browser Execution
Native Mobile
Application
Mobile only,
developed using
native languages or
transcode to native
via MAP tools
Native appearance
and
device capabilities,
performance
AppStore download and install
Richness of Mobile Presentation / Services
Portability (cross-device reuse)
Maintenance Cost (TCO)
IBM MobileFirst Platform
For clients that need to:
Available Today!
Quickly develop and deploy high quality
mobile apps across multiple platforms
• Automated testing for high quality mobile
apps
Seamlessly connect rich mobile
applications to enterprise data and
services
• Streamlined deployment for private
clouds on PureApplication System
IBM MobileFirst Platform offers:
Native, web, or hybrid app development
Tools to build & test high quality apps for many
devices
• Single sign-on across multiple apps on a
device
• Latest versions of all major mobile OS’s
(iOS, Android, Windows, and BlackBerry)
Management, security, continuous delivery &
distribution of apps
Easy connectivity to existing data & services
for mobile usage
On-premises or managed service delivery
IBM Worklight + Development Lifecycle Solution
IBM Rational Test Workbench
IBM Mobile Application Platform Management
IBM Worklight Architecture
iOS
Worklight Studio
Android
HTML5, Hybrid, and
Native Coding
Integrated Device
SDKs
3rd Party Library
Integration
Blackberry
Build Engine
Optimization
Framework
Worklight Application
Center
Development Team Provisioning
Windows
Phone
Enterprise App Provisioning
and Governance
Windows 8
App Feedback Management
Public App Stores
Mobile Web
Functional
Testing
Desktop Web
JSON Translation
Geolocation Services
Adapter Library for
Backend Connectivity
Stats and Logs Aggregation
Mashups and Service
Composition
3
Device Runtime
Cross-Platform
Compatibility Layer
Server Integration
Framework
Encrypted and
Syncable Storage
Location-based
Reporting
for Statistics
event
handling
and Diagnostics
Enhanced crash &
platform-level
exception capture
4
Worklight Server
User Authentication
and Mobile Trust
2
Runtime Skins
Java ME
WYSIWG Editor
and Simulator
Enterprise Backend Systems &
Cloud Services
1
Application Code
SDKs
5
Client-Side
App Resources
Worklight Console
Direct Update
Unified Push and SMS Notification
Mobile
Web Apps
Unified Push
Notifications
Development and Operational Analytics
App Version Management
Cross-platform code base
Common elements stored in the
common folder
– HTML, Javascript, CSS
– Worklight API usage
– 3rd party tools usage
Named Environment directories
(android, blackberry, iphone, etc…)
– Generated as Environments are added to
the project
– Platform-specific code
Environment-specific user
optimizations
– Over-ride default behaviors & styles
– Behavior and branding changes
14
Agenda
Mobile Application Trends
Mobile Application Architecture
Pattern Based Engineering and Common Mobile
Application Patterns
How to get started
15
Go to 'View > Header and Footer' to
change this footer text to the event title
Simple topology of a hybrid mobile application with Worklight
Mobile Application Deployment Architecture
A – Mobile App
D – Mobile Device
WL – WorkLight Server
N – Network
EBE – Existing Back End
I/i – Internet/intranet
I – Internet Service
Server
Side
Mobile UI
Adapter
SOA Reference Architecture Services applied to Mobile Architecture
DataPower Gateway
Pattern: Reverse proxies typically front Worklight runtimes and follow the gateway
pattern
Purpose: Protecting WL from the Internet, XML firewall, terminate SSL,
AAA (authentication, authorization and accounting) services, PEP (policy enforcement
point)
Product Mapping: DataPower®, or IBM Security Access Manager
Roles and Tools: Administrators configure QoS
Gateway AAA (Authentication, Authorization and Accounting) Services
GW requires flexible and fast
security processor
Worklight Server – Adapters
Lightweight server-side logic to expose systems of
records in a mobile-friendly way
• Automatic JSONification of enterprise data for quick transport and
ease of consumption by mobile developer
• Server-side service composition to reduce number of requests
over slow mobile network
• XSLT to reduce fat SOAP responses
Query
Response
3
2
Security
Update
data
• Automatic enablement of server-side authentication control and
audit
Analytics
SQL
• Automatic collection of user actions and device and app
properties
Data sync
• Enables synchronization with on-device JSON Store
Mobile user engagement
• Push notifications and geo-based event management
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
JMS
Node
SOAP
CAST IRON
REST
WSDL
Worklight
1
Invoke
adapter
procedure
Data/Result
as JSON 4
Cloud Integration via Cast Iron
Pattern – Enterprise Service Bus, elastic cloud
Purpose: “elastic client” apps integrate with location transparency - on premise or in
“elastic” public or private clouds
Product mapping: The Cast Iron adapter provides OOTB integration with all cloudbased, hardware appliance or hypervisor editions of IBM WebSphere Cast Iron.
Roles and tools: Integration developers build integration flows in WebSphere Cast Iron
Studio, with orchestrations mad up of a number of configurable activities
Worklight Cast Iron Adapter
Enterprise Integration via Message Broker
Pattern – Enterprise Service Bus, Pattern Based Engineering
Purpose: integrate applications using a variety of common patterns
Product mapping: WebSphere Message Broker provides OOTB pattern integration
toolkit for rapid application development.
Roles and tools: Integration developers instantiates integration patterns in WMB Studio.
It generates adapters, and integration flows made up of a number of configurable nodes
Mobile Service Enablement Pattern
Easily mobile-enable a message broker service!
Creates a mobile-ready interface around a Message Broker service
– Services are a first class artifact in Message Broker alongside applications and libraries
– Builds an adapter to integrate Worklight and Message Broker services
– Inbound data from the mobile application is sent to Worklight as JSON/HTTP
– Makes it very simple to mobile enable a Message Broker service!
– The adapter passes the inbound request straight through to the service
– Pattern adds an HTTP/JSON message flow (binding) to the service project
24
Resource Oriented Architecture requires security
Create
–
POST /MyRESTService/ -- create a new item
Read
–
GET /MyRESTService/ -- list all items
–
GET /MyRESTService/count -- get number of items
–
GET /MyRESTService/# -- get item by #
Update
–
PUT /MyRESTService/# -- update an item by #
Delete
–
DELETE /MyRESTService/ -- delete all items
–
DELETE /MyRESTService/# -- delete item by #
Resource Handler Pattern
Resource oriented architecture is a well known implementation pattern
– Provides a common set of functions (CRUD – Create Read Update and Delete)
– This pattern provides an adapter which implements CRUD operations
– A Message Broker service is generated with subflows for each operation
– The service integrates security authorization and authentication (LDAP)
– Operations optionally integrate with the Message Broker Global Cache (WXS)
26
Extending Pub/Sub with Push Notification Services
Worklight supports asynchronous push notifications to mobile applications
– Push notifications have a measurable impact on the success of mobile applications
– There are many IT challenges in supporting push notifications (devices, delivery etc)
– Push notifications are applicable across many industry verticals
– Healthcare, retail, travel, transportation, government, insurance and more!
– All the major mobile platforms support push notification services
– Apple iOS 3+, Google Android 2.2+, RIM Blackberry 5+ and Windows Phone 7+
–Pending notifications are written to a WebSphere MQ queue by a
provider application
– Need to subscribe to the notifications and arrange delivery to the mobile notification
server
27
Worklight Push Notification from WebSphere MQ
Creates a push notification adapter from a WebSphere MQ queue
– Generates a web service implementation which is deployed to Message Broker
– Builds a Worklight integration adapter which polls for pending notifications
– Pending notifications are written to a WebSphere MQ queue by a provider application
– The adapter converts the notifications into JSON and arranges delivery to the device
28
Extending desktop social collaboration to mobile devices
A comprehensive suite of mobile solutions for
social business - with device-appropriate
interfaces for Smartphones and tablets including:
Apple®, Android, Research In Motion®
BlackBerry®, Nokia
In 2011: 44 collaboration software releases
• IBM Lotus Notes Traveler -- push email,
calendar, contacts
• Real-time collaboration – IBM Sametime IM
chat and online meetings or via IBM SmartCloud
for Social Business
• IBM Connections social software for access to
your professional network
• IBM Lotus Symphony Viewers for viewing
business documents
• App dev software for HTML-based mobile
apps and sites – IBM Lotus Domino XPages
and IBM WebSphere Portal Mobile Experience
Integration w/ Portal Server
WebSphere Portal supports
– HTML5, CSS and JavaScript
– Integration w/ applications, content, authentication, roles, personalization
– Multi-channel experience support
A natural choice to integrate with the capabilities that Worklight provides
Portal/Worklight Mobile App
Mobile experiences that are built using both native code and web technologies
Native Container
Native Container
Web Content
Device Cap
IBM Worklight
Access to devices
capabilities
(camera, contacts,etc...)
App Store Presence
Application management
(validity, updates, etc.)
Mobile Notifications
WebSphere Portal
UI, application(s),
content,
Portal services
(roles, personalization,
customization,
navigation),
back-end access
Enterprise applications and services
(including IBM Connections and social services)
Web Content
Device Capabilities
Extending BPM to Mobile via Web APIs
IBM BPM v8 key use case: mobile task management
– Users can launch, view, and complete business process tasks
Extensive REST APIs & examples enable customized integration of IBM BPM content
into your own mobile experiences
– Expanded REST/JSON API for mobile application development
– Both Process Portal and Mobile App use this API
Device Management with IBM Endpoint Manager and Fiberlink
For devices that must be managed as enterprise assets or must be controlled
across applications, IBM provides:
Safeguard of enterprise data
Flexible management
Maintained compliance
Unified infrastructure
App Development
Team
IT Device
Management Team
Worklight
IEM / Fiberlink
Application
Development
Application
Security
Deploy
Apps
Upgrade
Apps
Device
Security
Device
Management
Application
Management
Fiberlink – Total Enterprise Mobility Management
Experts in delivering mobile management and security as a service
Mobile Device Management
• Broad range of mobile OS support
Mobile Application Management
• SDK and App-Wrapping
Dual Persona – Container Support
Secure Productivity Suite
• Secure Mail
• Secure Browser
Secure Document Sharing
Over 3500 existing
customers
Enterprise App Catalog
SaaS Offering
Recognized Market Leadership
Recognized as a market leader by Gartner 2013 MDM Magic Quadrant
Agenda
Mobile Application Trends
Mobile Application Architecture
Pattern Based Engineering and Common Mobile
Application Patterns
How to get started
36
Go to 'View > Header and Footer' to
change this footer text to the event title
The IBM Mobile Platform and SOA
SOA design principles in mobile application architecture leverage the combined power of the IBM
Mobile Platform and SOA Foundation
(i.e., what you need to build and effectively incorporate mobile apps with your SOA)
Security Gateway
Worklight Mobile
IBM Mobile Development
Platform
Lifecycle Solution (Rational)
Mobile Device
Management
Elastic Caching
IBM Mobile Platform
Tivoli
Security
SOA & Connectivity
Portal
Analytics
Analytics
Decision
Management
Enterprise Apps
37
Business
Process
Management
Connectivity
MQTT, Broker,
CastIron
Mobile AppDev demands “Agile, Responsive & Continuous Delivery”
IBM Confidential
IBM delivers a comprehensive end-to-end mobile solution
Mobile is an enterprise priority that helps transform your business and is
driving key client initiatives (www.ibm.com/MobileFirst)
IBM has extensive capabilities in this space with additional new and
enhanced offerings including:
•
Worklight: an open, complete, and advanced mobile application platform for HTML, hybrid, and
native applications (part of IBM Mobile Development Lifecycle Solution)
•
FiberLink for Mobile Devices: unified endpoint management, with integrated mobile security
•
Tie in to your SOA : security gateway, ESB integration, elastic cloud, REST and WEB API
pattern
39
Благодаря
Bulgarian
Teşekkür ederim
Turkish
Hindi
Traditional Chinese
Gracias
Spanish
Russian
Thank You
Obrigado
Portuguese
English
Arabic
Danke
Grazie
Merci
German
Italian
French
Multumesc
Romanian
Simplified Chinese
Korean
Japanese
IBM MobileFirst Management
Available Today!
For Clients That Need To:
Implement BYOD with confidence
Manage secure sensitive data, regardless
of the device
Handle multi-platform complexities
with ease
IBM MobileFirst Management Offers:
Unified management across devices
Option to wipe corporate data
Configuration & enforcement of password
policies, encryption, VPN access & camera use
Streamlined workflow between
development & operations with an
integrated Enterprise App Store
On-premises or managed service delivery
*Planned availability in 1Q 2013
• Latest versions of all major mobile OS’s
(iOS, Android, Windows, and BlackBerry)
• Defense-grade encryption
thru FIPS 140-2 compliance*
• Automatically grant or deny email access
based on device compliance
• Ease admin by setting and reporting
IBM Notes Traveler security policies
IBM Endpoint Manager for Mobile Devices
IBM Enterprise Services Managed Mobility
IBM Mobile and Wireless Network Management
Services to support your Mobile Adoption
1. Discover IBM’s mobile capabilities, the use cases our capabilities solve, and jointly explore
how a deeper dive could drive value for you:
•
On Ramp to Mobile Workshop (1 day)
2. If you are just starting your mobile adoption:
•
Mobile Discovery Workshop (1-3 days)
•
•
Review specific business pains and trends to create mobile strategy & plan for next steps
Mobile Quick Win Pilot (3-10 weeks)
•
Build a first instance of a mobile application to experience business value and create
organizational buy-in
3. When you are ready to scale within a LoB or across the enterprise:
•
•
IBM Mobile Strategy Accelerator (Multi-week engagement)
•
Understand how to most effectively integrate mobile capabilities.
•
Results in a roadmap that optimizes mobile transformation opportunities and accelerates time to
market.
Mobile Infrastructure Strategy & Planning (Multi-week engagement)
•
•
Assess current environment, define infrastructure strategy and build technology and services
roadmap
Managed Mobile: Endpoint and Application Platform Management (ongoing)
•
Provide managed services to secure your mobile endpoints and for your mobile application
platform environment