SOA Design Patterns and Mobile. 2013 IBM SOA Architect Summit. Roger Snook.
IBM Software, Rational. Worldwide Enablement Leader,. Mobile, Agile, SOA ...
SOA Design Patterns and Mobile 2013 IBM SOA Architect Summit
Roger Snook IBM Software, Rational Worldwide Enablement Leader, Mobile, Agile, SOA, Design +1.703.943.1170
[email protected]
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 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
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
7
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
Worklight architecture
Device Runtime
Optimization Framework Integrated Device SDKs
Runtime Skinning 3rd-Party Library Integration
Reporting for Statistics/Diagnosis
Worklight Console
Reporting & Analytics
JSON Translation Authentication
Adapter Library 11
Stats Aggregation
Push Notifications
Server-side App Code
Android SDK
Blackberry SDK Windows SDK
Worklight Application Center
Worklight Server Enterprise Back End and Cloud Services
Hybrid Application Version Management
iOS SDK
Public and Private App Stores
Encrypted Storage
HTML5, Hybrid, and Native Coding Build Engine
Server Integration Layer
Worklight Studio ←
Application Code
Cross Platform Compatibility Layer
Client-side App Resources Direct Update Mobile Web Apps Unified Push Notifications
Native Application Version Management Application Feedback
Application Client App
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
12
Agenda Mobile Application Trends Mobile Application Architecture Pattern Based Engineering and Common Mobile Application Patterns
How to get started
13
Go to 'View > Header and Footer' to change this footer text to the event title
Simple topology of a hybrid mobile application with Worklight
Pattern: Application Server, Adapter Pattern Roles and tools: Mobile Client UI developer vs. server side developer, vs. adapter developer
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
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
Adapter Pattern An Adapter is a transport layer used by the
Worklight Platform to connect to various backend systems. • Executed on Worklight server • Implemented in Javascript by default (can be customcoded in Java) • Simple client-side Javascript invocation model through Worklight client API
Query
Response
Update data
3
2
Caching Mechanism
Adapters are used for:
SQL
HTTP-WS
HTTP-REST
• Retrieving information CAST IRON
• Performing actions
1 Out of the box Adapter support: • SQL Adapter • HTTP Adapter (supports both REST and SOAP) • CastIron Adapter (optimized for HTTP data exchange with CastIron integration appliance) • JMS Adapter
Invoke adapter procedure
JMS
Data/Result as JSON
4
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
22
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)
24
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
25
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
26
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 w/ IBM Endpoint Manager
For devices that must be managed as enterprise assets or must be controlled across applications, IEM provides:
Safeguard of enterprise data Flexible management Maintained compliance Unified infrastructure
Agenda Mobile Application Trends Mobile Application Architecture Pattern Based Engineering and Common Mobile Application Patterns
How to get started
32
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
33
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)
•
IBM Endpoint Manager 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
35
Благодаря 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