SOA Design Patterns and Mobile - IBM

42 downloads 207 Views 4MB Size Report
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

Suggest Documents