SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Issues in Designing
Push Based Mobile
Application Platform
Rafiul Ahad
AgendaAgenda
•• Mobile Application ModelsMobile Application Models
•• Why PushWhy Push--Based Mobile ApplicationsBased Mobile Applications
•• Push Design ChoicesPush Design Choices
•• Push Design IssuesPush Design Issues
•• An Example ImplementationAn Example Implementation
•• Implementing Push on an OSGI PlatformImplementing Push on an OSGI Platform
•• Concluding RemarksConcluding Remarks
Mobile Application ModelsMobile Application Models
•• Three Models of Mobile ApplicationsThree Models of Mobile Applications
–– Online/Pull ModelOnline/Pull Model
•• Information accessed from the server when neededInformation accessed from the server when needed
–– Offline/Sync ModelOffline/Sync Model
•• Information accessed from a local database which isInformation accessed from a local database which is
synchronized with the server content using conventionalsynchronized with the server content using conventional
synchronization techniquessynchronization techniques
–– Push/Online Sync ModelPush/Online Sync Model
•• Information accessed from cache on the deviceInformation accessed from cache on the device
–– Server pushes new and changed data to the cacheServer pushes new and changed data to the cache
–– Client tries to maintain a session and sends new and changed datClient tries to maintain a session and sends new and changed dataa
to server when session is available (online sync)to server when session is available (online sync)
–– Cache permits Offline use when disconnectedCache permits Offline use when disconnected
–– Dirty data in the cache is synched when connection availableDirty data in the cache is synched when connection available
Why PushWhy Push--Based Mobile ApplicationsBased Mobile Applications
(Higher ARPU for Operators)(Higher ARPU for Operators)
•• Push based mobile email has the highest rate ofPush based mobile email has the highest rate of
adoption in enterprise (Frost & Sullivan,2005)adoption in enterprise (Frost & Sullivan,2005)
•• Enterprises are beginning to see positive ROI forEnterprises are beginning to see positive ROI for
mobile applications and are willing to invest moremobile applications and are willing to invest more
–– Spending will triple by 2009 (Strategy Analytics, 2004)Spending will triple by 2009 (Strategy Analytics, 2004)
•• Mobile enterprise applications bring higher ARPUMobile enterprise applications bring higher ARPU
for operators and wireless service providersfor operators and wireless service providers
–– NextelNextel
–– Blackberry emailBlackberry email
•• Beware of the challengesBeware of the challenges
–– Usability, security, costUsability, security, cost
Why PushWhy Push--Based Mobile ApplicationsBased Mobile Applications
(Solves Usability Issues)(Solves Usability Issues)
•• Usability Issues with Online and Offline ModelsUsability Issues with Online and Offline Models
–– Online/Pull ModelOnline/Pull Model
•• Having to constantly check for new information and thenHaving to constantly check for new information and then
•• Having to wait for it due to long wireless network latency andHaving to wait for it due to long wireless network latency and
•• Not being able to use it due to lack of coverageNot being able to use it due to lack of coverage
–– Offline/Sync ModelOffline/Sync Model
•• Information not up to date andInformation not up to date and
•• High overhead of conventional sync prohibits frequent syncHigh overhead of conventional sync prohibits frequent sync
•• Push/Online Sync Model Solves the Usability IssuesPush/Online Sync Model Solves the Usability Issues
–– No need to poll for information or wait for resultsNo need to poll for information or wait for results
–– Latest information as long as connection to server is availableLatest information as long as connection to server is available
–– Application still works even if connection to server not availabApplication still works even if connection to server not availablele
Push Design ChoicesPush Design Choices
•• Periodic Poll with Offline ApplicationPeriodic Poll with Offline Application
–– High overhead (connect, login, sync, logout)High overhead (connect, login, sync, logout)
–– May be acceptable for some usersMay be acceptable for some users
–– Simple to implement if you already have the offline appSimple to implement if you already have the offline app
•• Notify and Online SyncNotify and Online Sync
–– If client has data to sendIf client has data to send
•• If a session exists then client sends the data to the serverIf a session exists then client sends the data to the server
•• Else client flags the data as dirty in the cacheElse client flags the data as dirty in the cache
–– If server has data to send it notifies the clientIf server has data to send it notifies the client
•• If a session exists then client retrieves the data from the servIf a session exists then client retrieves the data from the serverer
•• Else client establishes a new session and sync the cacheElse client establishes a new session and sync the cache
•• True PushTrue Push
–– If server has data to send, it sends the data to the clientIf server has data to send, it sends the data to the client
–– Optionally, if client has data to send, it sends it to the serveOptionally, if client has data to send, it sends it to the serverr
Implementation Choices (Contd.)Implementation Choices (Contd.)
•• Notification Protocol ChoicesNotification Protocol Choices
–– OMA EMN, OMA DSOMA EMN, OMA DS SyncMLSyncML Server Alerted Notification (SAN),Server Alerted Notification (SAN),
IETF SIP Notification, IMAP IDLE, PIETF SIP Notification, IMAP IDLE, P--IMAP S2C Notification,IMAP S2C Notification,
Lemonade S2S, SNAP: Smart Notification and Alarm Protocol,Lemonade S2S, SNAP: Smart Notification and Alarm Protocol,
Web Service Notification (WSN), HTTP Asynchronous ClientWeb Service Notification (WSN), HTTP Asynchronous Client
Notifications, UDP or TCP/IP Notifications,Notifications, UDP or TCP/IP Notifications, MoMMoM andand
Asynchronous Queues, Programmatic notifications, WAP PushAsynchronous Queues, Programmatic notifications, WAP Push
•• Wireless Bearer ChoicesWireless Bearer Choices
–– SMS, GPRS,SMS, GPRS, WiFiWiFi, and others, and others
•• Device Management ChoicesDevice Management Choices
–– OTA, via desktopOTA, via desktop
•• SecuritySecurity
–– Device securityDevice security
–– Communication security may depend on protocol choiceCommunication security may depend on protocol choice
–– Preventing malicious usePreventing malicious use
Push Design IssuesPush Design Issues
•• Session EstablishmentSession Establishment
–– SMS and UDP/IP do not need session, BUTSMS and UDP/IP do not need session, BUT
•• Most Access Point will not permit serverMost Access Point will not permit server--originate UDPoriginate UDP
•• ClientClient--originate UDP has short time out and differ amongoriginate UDP has short time out and differ among
operatorsoperators
–– Need to keep alive via heart beatNeed to keep alive via heart beat
–– Power consumption higher for transmit compared to receivePower consumption higher for transmit compared to receive
–– Assume that wireless transport session is unreliableAssume that wireless transport session is unreliable
•• Power consumption high for TCP/IP session establishmentPower consumption high for TCP/IP session establishment
–– Decouple application session from transport sessionDecouple application session from transport session
•• LongLong--live application (logical) session neededlive application (logical) session needed
•• Resume based on some device IDResume based on some device ID
Push Design Issues (Contd.)Push Design Issues (Contd.)
•• Battery LifeBattery Life
–– SMS based push has the best battery life, BUTSMS based push has the best battery life, BUT
•• It could be expensiveIt could be expensive
•• Will not work forWill not work for WiWi--FiFi or Wired networkor Wired network
–– IP Push requires client to listen on a port continuouslyIP Push requires client to listen on a port continuously
•• Continuous listening consumes battery powerContinuous listening consumes battery power
•• Client or server has to send heartbeat to overcome time outClient or server has to send heartbeat to overcome time out
•• Client sending heartbeat seems to consume more powerClient sending heartbeat seems to consume more power
•• Frequent attempts to establish connection can drain powerFrequent attempts to establish connection can drain power
–– Use some back off algorithm to try to reconnectUse some back off algorithm to try to reconnect
Push Design Issues (Contd.)Push Design Issues (Contd.)
•• SecuritySecurity
–– Server must have a certificateServer must have a certificate
–– Client must have a root certificate of serverClient must have a root certificate of server’’s CAs CA
–– TLS (or SSL) over TCP/IP must be used at a minimum toTLS (or SSL) over TCP/IP must be used at a minimum to
•• Authenticate the server andAuthenticate the server and
•• securely provision security parameters such as encryption key, tsecurely provision security parameters such as encryption key, token,etc.oken,etc.
–– SMS message must be encrypted using provisioned keysSMS message must be encrypted using provisioned keys
–– UDP channel must be securely established using token andUDP channel must be securely established using token and
encryptionencryption
–– Cache on device must be encryptedCache on device must be encrypted
Push Design Issues (Contd.)Push Design Issues (Contd.)
•• CostCost
–– Both SMS and GPRS could be expensiveBoth SMS and GPRS could be expensive
•• Unless the operator provides the push based serviceUnless the operator provides the push based service
–– Should support multiple bearersShould support multiple bearers
•• Choose the lowest cost bearers among those availableChoose the lowest cost bearers among those available
–– Wired via cradle or USB when in office or homeWired via cradle or USB when in office or home
–– WiWi--FiFi when availablewhen available
–– GPRS as the last resortGPRS as the last resort
Sample ImplementationSample Implementation
Local Cache Notifies
changes to push/sync agent
and applications
Push/Sync Agent sends and
receives changes if network
is up (Online for fast prop-
agation of client changes)
Store changes when network
is down and sync when it
comes up (Offline for
continuous availability)
Server pushes relevant
changes to agent (fast prop-
agation of server changes)
Receives and update
changes from agent
Manage software and device
configuration
Server 1
App 1 App n
Push/Sync
Agent 1
Push/Sync
Agent 1
Server 1
Local
Cache
API 1 API n
Transport
API 1
Transport
API n
Protocol 1 Protocol n
OnDevice
Oracle Collaboration Suite 10g
Push Mail Solution Architecture
Sample ImplementationSample Implementation
Inbox
Application
Command
Processor
OCS Push
Email Server
P-IMAP
IMAP
OCS
Mail Server
MAPI
Message
Store
Ops
OCS Push
Windows Mobile®
Email Client
Notification
Processor
SMS or
encrypted
UDP/IP
Events
Ops
Ops
Server
Message
Store
P-IMAP
Transport
Notification
Command
Processing
Service
Notification
Collection
Service
Network
Monitor
Notification
Delivery
Service
Device
Management
Service
Oracle Collaboration Suite 10g Push Mail Solution
Implementation for Windows Mobile Client
Implementing Push on OSGI PlatformImplementing Push on OSGI Platform
•• Persistence store API with callback on eventsPersistence store API with callback on events
–– Application and the Push/Sync agent can be notified of changesApplication and the Push/Sync agent can be notified of changes
made by each othermade by each other
•• Connection Manager API with callback on eventsConnection Manager API with callback on events
–– Push/Sync agent can be notified of connection availabilityPush/Sync agent can be notified of connection availability
–– Hierarchy of connections with different cost and batteryHierarchy of connections with different cost and battery
consumption characteristicsconsumption characteristics
•• SMS notification handler APISMS notification handler API
–– Needed as a last resort to notify the client to syncNeeded as a last resort to notify the client to sync
•• Device Management APIDevice Management API
–– Needed to install/upgrade/remove apps and agentsNeeded to install/upgrade/remove apps and agents
Concluding RemarksConcluding Remarks
•• Push/ Online Sync is the most usable modelPush/ Online Sync is the most usable model
–– Already proven in enterprise email applicationAlready proven in enterprise email application
•• Enterprises seeing positive ROI for mobile appsEnterprises seeing positive ROI for mobile apps
–– Spending more on mobile applicationsSpending more on mobile applications
•• Usability, security, and cost of solution are issuesUsability, security, and cost of solution are issues
–– Push based solution addresses usabilityPush based solution addresses usability
–– Short battery life could become an issueShort battery life could become an issue
•• Operators can benefit from mobile enterprise appsOperators can benefit from mobile enterprise apps
–– Must invest in pushMust invest in push--based mobile solutions nowbased mobile solutions now

Weitere ähnliche Inhalte

Was ist angesagt?

Монетизация сетевой инфраструктуры
Монетизация сетевой инфраструктурыМонетизация сетевой инфраструктуры
Монетизация сетевой инфраструктурыBAKOTECH
 
One Communications Product Portfolio
One Communications Product PortfolioOne Communications Product Portfolio
One Communications Product PortfolioDavid Santos
 
Call Centre Architecture
Call Centre ArchitectureCall Centre Architecture
Call Centre Architectureapoorva tyagi
 
Avaya Session Border Controller (SBC)
Avaya Session Border Controller (SBC)Avaya Session Border Controller (SBC)
Avaya Session Border Controller (SBC)Motty Ben Atia
 
Avaya IP Office Customer Call Reporter
Avaya IP Office Customer Call ReporterAvaya IP Office Customer Call Reporter
Avaya IP Office Customer Call ReporterMotty Ben Atia
 
Pmw2 k3ni 1-2a
Pmw2 k3ni 1-2aPmw2 k3ni 1-2a
Pmw2 k3ni 1-2ahariclant1
 
Avaya Aura Contact Center Elite
Avaya Aura Contact Center EliteAvaya Aura Contact Center Elite
Avaya Aura Contact Center EliteMotty Ben Atia
 
Avaya Aura System Manager
Avaya Aura System ManagerAvaya Aura System Manager
Avaya Aura System ManagerMotty Ben Atia
 
FTC Group Presentation
FTC Group PresentationFTC Group Presentation
FTC Group PresentationArman Nasar
 
Avaya Aura® Communication Manager Greater than 5 Nines Availability
Avaya Aura® Communication Manager Greater than 5 Nines AvailabilityAvaya Aura® Communication Manager Greater than 5 Nines Availability
Avaya Aura® Communication Manager Greater than 5 Nines AvailabilityAvaya Inc.
 
Design of small to large multi site solution, based on 8300, 8800 simplex, 88...
Design of small to large multi site solution, based on 8300, 8800 simplex, 88...Design of small to large multi site solution, based on 8300, 8800 simplex, 88...
Design of small to large multi site solution, based on 8300, 8800 simplex, 88...AURACA
 

Was ist angesagt? (20)

2012 ah vegas top10 tips from aruba tac
2012 ah vegas   top10 tips from aruba tac2012 ah vegas   top10 tips from aruba tac
2012 ah vegas top10 tips from aruba tac
 
Монетизация сетевой инфраструктуры
Монетизация сетевой инфраструктурыМонетизация сетевой инфраструктуры
Монетизация сетевой инфраструктуры
 
One Communications Product Portfolio
One Communications Product PortfolioOne Communications Product Portfolio
One Communications Product Portfolio
 
Call Centre Architecture
Call Centre ArchitectureCall Centre Architecture
Call Centre Architecture
 
04b-tyrrell
04b-tyrrell04b-tyrrell
04b-tyrrell
 
Avaya Session Border Controller (SBC)
Avaya Session Border Controller (SBC)Avaya Session Border Controller (SBC)
Avaya Session Border Controller (SBC)
 
EMEA Airheads- Instant AP- Instant AP Best Practice Configuration
EMEA Airheads- Instant AP- Instant AP Best Practice ConfigurationEMEA Airheads- Instant AP- Instant AP Best Practice Configuration
EMEA Airheads- Instant AP- Instant AP Best Practice Configuration
 
Avaya IP Office Customer Call Reporter
Avaya IP Office Customer Call ReporterAvaya IP Office Customer Call Reporter
Avaya IP Office Customer Call Reporter
 
Pmw2 k3ni 1-2a
Pmw2 k3ni 1-2aPmw2 k3ni 1-2a
Pmw2 k3ni 1-2a
 
2012 ah apj rf troubleshooting
2012 ah apj   rf troubleshooting2012 ah apj   rf troubleshooting
2012 ah apj rf troubleshooting
 
Avaya Aura Contact Center Elite
Avaya Aura Contact Center EliteAvaya Aura Contact Center Elite
Avaya Aura Contact Center Elite
 
Avaya Aura System Manager
Avaya Aura System ManagerAvaya Aura System Manager
Avaya Aura System Manager
 
FTC Group Presentation
FTC Group PresentationFTC Group Presentation
FTC Group Presentation
 
Air group configuration howto with clearpass 6 v1.2(1)
Air group configuration howto with clearpass 6 v1.2(1)Air group configuration howto with clearpass 6 v1.2(1)
Air group configuration howto with clearpass 6 v1.2(1)
 
80211ac faq 121311
80211ac faq 12131180211ac faq 121311
80211ac faq 121311
 
Avaya Aura® Communication Manager Greater than 5 Nines Availability
Avaya Aura® Communication Manager Greater than 5 Nines AvailabilityAvaya Aura® Communication Manager Greater than 5 Nines Availability
Avaya Aura® Communication Manager Greater than 5 Nines Availability
 
Avaya Aura 7.0 - What's New Webinar Slides
Avaya Aura 7.0 - What's New Webinar SlidesAvaya Aura 7.0 - What's New Webinar Slides
Avaya Aura 7.0 - What's New Webinar Slides
 
Why Do I Need an SBC
Why Do I Need an SBCWhy Do I Need an SBC
Why Do I Need an SBC
 
Enabling AirPrint & AirPlay on Your Network
Enabling AirPrint & AirPlay on Your NetworkEnabling AirPrint & AirPlay on Your Network
Enabling AirPrint & AirPlay on Your Network
 
Design of small to large multi site solution, based on 8300, 8800 simplex, 88...
Design of small to large multi site solution, based on 8300, 8800 simplex, 88...Design of small to large multi site solution, based on 8300, 8800 simplex, 88...
Design of small to large multi site solution, based on 8300, 8800 simplex, 88...
 

Andere mochten auch

Anesvad: Revista junio 2009
Anesvad: Revista junio 2009Anesvad: Revista junio 2009
Anesvad: Revista junio 2009Anesvad
 
Unidad didáctica noemy
Unidad didáctica noemyUnidad didáctica noemy
Unidad didáctica noemynoemy12gg
 
Interoperability: Research Identificaton (ORCID)
Interoperability: Research Identificaton (ORCID)Interoperability: Research Identificaton (ORCID)
Interoperability: Research Identificaton (ORCID)Christian Gutknecht
 
Integrantes del grupo
Integrantes del grupoIntegrantes del grupo
Integrantes del grupoSEBITASBUSTA
 
Catalogue toan thinh co., ltd
Catalogue   toan thinh co., ltdCatalogue   toan thinh co., ltd
Catalogue toan thinh co., ltdThoaiTan Luong
 
museumsexposee_6_web
museumsexposee_6_webmuseumsexposee_6_web
museumsexposee_6_webKarin Hutter
 
Olympian Reita Clanton
Olympian Reita ClantonOlympian Reita Clanton
Olympian Reita Clantonbenitaedwards
 
Verderflex Family of Liquid Handling Pumps
Verderflex Family of Liquid Handling PumpsVerderflex Family of Liquid Handling Pumps
Verderflex Family of Liquid Handling PumpsVerder, Inc.
 
Normas icontec (3) ykt
Normas icontec (3) yktNormas icontec (3) ykt
Normas icontec (3) yktchanci2015
 
Indistar® Success Story: Scott Dual Language Margret School
Indistar® Success Story: Scott Dual Language Margret School Indistar® Success Story: Scott Dual Language Margret School
Indistar® Success Story: Scott Dual Language Margret School Academic Development Institute
 
Levementum bright house networks – crm for telco-utilities-cable-digital ms...
Levementum   bright house networks – crm for telco-utilities-cable-digital ms...Levementum   bright house networks – crm for telco-utilities-cable-digital ms...
Levementum bright house networks – crm for telco-utilities-cable-digital ms...Geoffrey Mobisson
 
Microsoft System Center 2012 R2 Operation Manager Managing Linux Servers with...
Microsoft System Center 2012 R2 Operation Manager Managing Linux Servers with...Microsoft System Center 2012 R2 Operation Manager Managing Linux Servers with...
Microsoft System Center 2012 R2 Operation Manager Managing Linux Servers with...John Barreto Espinosa
 
Julian Beever. Dibujos en la acera
Julian Beever. Dibujos en la aceraJulian Beever. Dibujos en la acera
Julian Beever. Dibujos en la aceraMiNiBuDa
 
Revista Estrategias (Abril 2010): "Una relación de partners"
Revista Estrategias (Abril 2010): "Una relación de partners"Revista Estrategias (Abril 2010): "Una relación de partners"
Revista Estrategias (Abril 2010): "Una relación de partners"VisualMente - Virtual Events
 
Sales presentation Captive Portal Ready-series
Sales presentation Captive Portal Ready-seriesSales presentation Captive Portal Ready-series
Sales presentation Captive Portal Ready-seriesEnGenius Europe
 
Presentación open data upv, donostia
Presentación open data   upv, donostiaPresentación open data   upv, donostia
Presentación open data upv, donostiaMarc Garriga
 
RANKING NACIONAL ABSOLUTO INDIVIDUAL DE NATACIÒN 2014
RANKING NACIONAL ABSOLUTO INDIVIDUAL DE NATACIÒN 2014RANKING NACIONAL ABSOLUTO INDIVIDUAL DE NATACIÒN 2014
RANKING NACIONAL ABSOLUTO INDIVIDUAL DE NATACIÒN 2014Judith Chuquipul
 

Andere mochten auch (20)

Anesvad: Revista junio 2009
Anesvad: Revista junio 2009Anesvad: Revista junio 2009
Anesvad: Revista junio 2009
 
Unidad didáctica noemy
Unidad didáctica noemyUnidad didáctica noemy
Unidad didáctica noemy
 
März 2011
März 2011März 2011
März 2011
 
Interoperability: Research Identificaton (ORCID)
Interoperability: Research Identificaton (ORCID)Interoperability: Research Identificaton (ORCID)
Interoperability: Research Identificaton (ORCID)
 
Integrantes del grupo
Integrantes del grupoIntegrantes del grupo
Integrantes del grupo
 
Catalogue toan thinh co., ltd
Catalogue   toan thinh co., ltdCatalogue   toan thinh co., ltd
Catalogue toan thinh co., ltd
 
museumsexposee_6_web
museumsexposee_6_webmuseumsexposee_6_web
museumsexposee_6_web
 
Agustin Centelles portfolio
Agustin Centelles portfolioAgustin Centelles portfolio
Agustin Centelles portfolio
 
Olympian Reita Clanton
Olympian Reita ClantonOlympian Reita Clanton
Olympian Reita Clanton
 
Verderflex Family of Liquid Handling Pumps
Verderflex Family of Liquid Handling PumpsVerderflex Family of Liquid Handling Pumps
Verderflex Family of Liquid Handling Pumps
 
Normas icontec (3) ykt
Normas icontec (3) yktNormas icontec (3) ykt
Normas icontec (3) ykt
 
Indistar® Success Story: Scott Dual Language Margret School
Indistar® Success Story: Scott Dual Language Margret School Indistar® Success Story: Scott Dual Language Margret School
Indistar® Success Story: Scott Dual Language Margret School
 
Levementum bright house networks – crm for telco-utilities-cable-digital ms...
Levementum   bright house networks – crm for telco-utilities-cable-digital ms...Levementum   bright house networks – crm for telco-utilities-cable-digital ms...
Levementum bright house networks – crm for telco-utilities-cable-digital ms...
 
Microsoft System Center 2012 R2 Operation Manager Managing Linux Servers with...
Microsoft System Center 2012 R2 Operation Manager Managing Linux Servers with...Microsoft System Center 2012 R2 Operation Manager Managing Linux Servers with...
Microsoft System Center 2012 R2 Operation Manager Managing Linux Servers with...
 
Jamaluddin
JamaluddinJamaluddin
Jamaluddin
 
Julian Beever. Dibujos en la acera
Julian Beever. Dibujos en la aceraJulian Beever. Dibujos en la acera
Julian Beever. Dibujos en la acera
 
Revista Estrategias (Abril 2010): "Una relación de partners"
Revista Estrategias (Abril 2010): "Una relación de partners"Revista Estrategias (Abril 2010): "Una relación de partners"
Revista Estrategias (Abril 2010): "Una relación de partners"
 
Sales presentation Captive Portal Ready-series
Sales presentation Captive Portal Ready-seriesSales presentation Captive Portal Ready-series
Sales presentation Captive Portal Ready-series
 
Presentación open data upv, donostia
Presentación open data   upv, donostiaPresentación open data   upv, donostia
Presentación open data upv, donostia
 
RANKING NACIONAL ABSOLUTO INDIVIDUAL DE NATACIÒN 2014
RANKING NACIONAL ABSOLUTO INDIVIDUAL DE NATACIÒN 2014RANKING NACIONAL ABSOLUTO INDIVIDUAL DE NATACIÒN 2014
RANKING NACIONAL ABSOLUTO INDIVIDUAL DE NATACIÒN 2014
 

Ähnlich wie Issues in Designing Push Based Mobile Application Platform - Rafiul Ahad, Oracle

Architecting for the cloud scability-availability
Architecting for the cloud scability-availabilityArchitecting for the cloud scability-availability
Architecting for the cloud scability-availabilityLen Bass
 
Service Aggregation Platform for Delivery and Management of OSGi Technology B...
Service Aggregation Platform for Delivery and Management of OSGi Technology B...Service Aggregation Platform for Delivery and Management of OSGi Technology B...
Service Aggregation Platform for Delivery and Management of OSGi Technology B...mfrancis
 
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Amazon Web Services
 
Cache Security- Adding Security to Non-Secure Applications
Cache Security- Adding Security to Non-Secure ApplicationsCache Security- Adding Security to Non-Secure Applications
Cache Security- Adding Security to Non-Secure ApplicationsInterSystems Corporation
 
KKBOX WWDC17 Security - Antony
KKBOX WWDC17 Security - AntonyKKBOX WWDC17 Security - Antony
KKBOX WWDC17 Security - AntonyLiyao Chen
 
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suroDevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suroGaurav "GP" Pal
 
Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Srinivasa Addepalli
 
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...Amazon Web Services
 
Get More Data Into Your SCADA 2016
Get More Data Into Your SCADA 2016Get More Data Into Your SCADA 2016
Get More Data Into Your SCADA 2016Inductive Automation
 
Tv and video on the Internet
Tv and video on the InternetTv and video on the Internet
Tv and video on the InternetDivante
 
Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...
Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...
Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...Curiosity Software Ireland
 
Server Side Technologies
Server Side TechnologiesServer Side Technologies
Server Side Technologiestawi123
 
Migrating IBM i Systems to the Cloud: Exploring the Pros and Cons
Migrating IBM i Systems to the Cloud: Exploring the Pros and ConsMigrating IBM i Systems to the Cloud: Exploring the Pros and Cons
Migrating IBM i Systems to the Cloud: Exploring the Pros and ConsPrecisely
 
AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60PolarSeven Pty Ltd
 
Eliminate the Impact of Planned Downtime on your IBM i
Eliminate the Impact of Planned Downtime on your IBM iEliminate the Impact of Planned Downtime on your IBM i
Eliminate the Impact of Planned Downtime on your IBM iPrecisely
 

Ähnlich wie Issues in Designing Push Based Mobile Application Platform - Rafiul Ahad, Oracle (20)

Architecting for the cloud scability-availability
Architecting for the cloud scability-availabilityArchitecting for the cloud scability-availability
Architecting for the cloud scability-availability
 
Service Aggregation Platform for Delivery and Management of OSGi Technology B...
Service Aggregation Platform for Delivery and Management of OSGi Technology B...Service Aggregation Platform for Delivery and Management of OSGi Technology B...
Service Aggregation Platform for Delivery and Management of OSGi Technology B...
 
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
 
E crm m sc - warwick uni - crm solutions
E crm m sc - warwick uni - crm solutionsE crm m sc - warwick uni - crm solutions
E crm m sc - warwick uni - crm solutions
 
Cache Security- Adding Security to Non-Secure Applications
Cache Security- Adding Security to Non-Secure ApplicationsCache Security- Adding Security to Non-Secure Applications
Cache Security- Adding Security to Non-Secure Applications
 
KKBOX WWDC17 Security - Antony
KKBOX WWDC17 Security - AntonyKKBOX WWDC17 Security - Antony
KKBOX WWDC17 Security - Antony
 
Paktel
PaktelPaktel
Paktel
 
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suroDevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
 
Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2Acceleration_and_Security_draft_v2
Acceleration_and_Security_draft_v2
 
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
 
Get More Data Into Your SCADA 2016
Get More Data Into Your SCADA 2016Get More Data Into Your SCADA 2016
Get More Data Into Your SCADA 2016
 
Get More Data Into Your SCADA
Get More Data Into Your SCADAGet More Data Into Your SCADA
Get More Data Into Your SCADA
 
Tv and video on the Internet
Tv and video on the InternetTv and video on the Internet
Tv and video on the Internet
 
Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...
Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...
Curiosity and Lemontree present - Data Breaks DevOps: Why you need automated ...
 
Server Side Technologies
Server Side TechnologiesServer Side Technologies
Server Side Technologies
 
Migrating IBM i Systems to the Cloud: Exploring the Pros and Cons
Migrating IBM i Systems to the Cloud: Exploring the Pros and ConsMigrating IBM i Systems to the Cloud: Exploring the Pros and Cons
Migrating IBM i Systems to the Cloud: Exploring the Pros and Cons
 
AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60
 
Cloud computing
Cloud computing Cloud computing
Cloud computing
 
Eliminate the Impact of Planned Downtime on your IBM i
Eliminate the Impact of Planned Downtime on your IBM iEliminate the Impact of Planned Downtime on your IBM i
Eliminate the Impact of Planned Downtime on your IBM i
 
presentation slides
presentation slidespresentation slides
presentation slides
 

Mehr von mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

Mehr von mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Kürzlich hochgeladen

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 
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
 
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
 
"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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Kürzlich hochgeladen (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
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
 
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.
 
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)
 
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
 
"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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Issues in Designing Push Based Mobile Application Platform - Rafiul Ahad, Oracle

  • 1.
  • 2. Issues in Designing Push Based Mobile Application Platform Rafiul Ahad
  • 3. AgendaAgenda •• Mobile Application ModelsMobile Application Models •• Why PushWhy Push--Based Mobile ApplicationsBased Mobile Applications •• Push Design ChoicesPush Design Choices •• Push Design IssuesPush Design Issues •• An Example ImplementationAn Example Implementation •• Implementing Push on an OSGI PlatformImplementing Push on an OSGI Platform •• Concluding RemarksConcluding Remarks
  • 4. Mobile Application ModelsMobile Application Models •• Three Models of Mobile ApplicationsThree Models of Mobile Applications –– Online/Pull ModelOnline/Pull Model •• Information accessed from the server when neededInformation accessed from the server when needed –– Offline/Sync ModelOffline/Sync Model •• Information accessed from a local database which isInformation accessed from a local database which is synchronized with the server content using conventionalsynchronized with the server content using conventional synchronization techniquessynchronization techniques –– Push/Online Sync ModelPush/Online Sync Model •• Information accessed from cache on the deviceInformation accessed from cache on the device –– Server pushes new and changed data to the cacheServer pushes new and changed data to the cache –– Client tries to maintain a session and sends new and changed datClient tries to maintain a session and sends new and changed dataa to server when session is available (online sync)to server when session is available (online sync) –– Cache permits Offline use when disconnectedCache permits Offline use when disconnected –– Dirty data in the cache is synched when connection availableDirty data in the cache is synched when connection available
  • 5. Why PushWhy Push--Based Mobile ApplicationsBased Mobile Applications (Higher ARPU for Operators)(Higher ARPU for Operators) •• Push based mobile email has the highest rate ofPush based mobile email has the highest rate of adoption in enterprise (Frost & Sullivan,2005)adoption in enterprise (Frost & Sullivan,2005) •• Enterprises are beginning to see positive ROI forEnterprises are beginning to see positive ROI for mobile applications and are willing to invest moremobile applications and are willing to invest more –– Spending will triple by 2009 (Strategy Analytics, 2004)Spending will triple by 2009 (Strategy Analytics, 2004) •• Mobile enterprise applications bring higher ARPUMobile enterprise applications bring higher ARPU for operators and wireless service providersfor operators and wireless service providers –– NextelNextel –– Blackberry emailBlackberry email •• Beware of the challengesBeware of the challenges –– Usability, security, costUsability, security, cost
  • 6. Why PushWhy Push--Based Mobile ApplicationsBased Mobile Applications (Solves Usability Issues)(Solves Usability Issues) •• Usability Issues with Online and Offline ModelsUsability Issues with Online and Offline Models –– Online/Pull ModelOnline/Pull Model •• Having to constantly check for new information and thenHaving to constantly check for new information and then •• Having to wait for it due to long wireless network latency andHaving to wait for it due to long wireless network latency and •• Not being able to use it due to lack of coverageNot being able to use it due to lack of coverage –– Offline/Sync ModelOffline/Sync Model •• Information not up to date andInformation not up to date and •• High overhead of conventional sync prohibits frequent syncHigh overhead of conventional sync prohibits frequent sync •• Push/Online Sync Model Solves the Usability IssuesPush/Online Sync Model Solves the Usability Issues –– No need to poll for information or wait for resultsNo need to poll for information or wait for results –– Latest information as long as connection to server is availableLatest information as long as connection to server is available –– Application still works even if connection to server not availabApplication still works even if connection to server not availablele
  • 7. Push Design ChoicesPush Design Choices •• Periodic Poll with Offline ApplicationPeriodic Poll with Offline Application –– High overhead (connect, login, sync, logout)High overhead (connect, login, sync, logout) –– May be acceptable for some usersMay be acceptable for some users –– Simple to implement if you already have the offline appSimple to implement if you already have the offline app •• Notify and Online SyncNotify and Online Sync –– If client has data to sendIf client has data to send •• If a session exists then client sends the data to the serverIf a session exists then client sends the data to the server •• Else client flags the data as dirty in the cacheElse client flags the data as dirty in the cache –– If server has data to send it notifies the clientIf server has data to send it notifies the client •• If a session exists then client retrieves the data from the servIf a session exists then client retrieves the data from the serverer •• Else client establishes a new session and sync the cacheElse client establishes a new session and sync the cache •• True PushTrue Push –– If server has data to send, it sends the data to the clientIf server has data to send, it sends the data to the client –– Optionally, if client has data to send, it sends it to the serveOptionally, if client has data to send, it sends it to the serverr
  • 8. Implementation Choices (Contd.)Implementation Choices (Contd.) •• Notification Protocol ChoicesNotification Protocol Choices –– OMA EMN, OMA DSOMA EMN, OMA DS SyncMLSyncML Server Alerted Notification (SAN),Server Alerted Notification (SAN), IETF SIP Notification, IMAP IDLE, PIETF SIP Notification, IMAP IDLE, P--IMAP S2C Notification,IMAP S2C Notification, Lemonade S2S, SNAP: Smart Notification and Alarm Protocol,Lemonade S2S, SNAP: Smart Notification and Alarm Protocol, Web Service Notification (WSN), HTTP Asynchronous ClientWeb Service Notification (WSN), HTTP Asynchronous Client Notifications, UDP or TCP/IP Notifications,Notifications, UDP or TCP/IP Notifications, MoMMoM andand Asynchronous Queues, Programmatic notifications, WAP PushAsynchronous Queues, Programmatic notifications, WAP Push •• Wireless Bearer ChoicesWireless Bearer Choices –– SMS, GPRS,SMS, GPRS, WiFiWiFi, and others, and others •• Device Management ChoicesDevice Management Choices –– OTA, via desktopOTA, via desktop •• SecuritySecurity –– Device securityDevice security –– Communication security may depend on protocol choiceCommunication security may depend on protocol choice –– Preventing malicious usePreventing malicious use
  • 9. Push Design IssuesPush Design Issues •• Session EstablishmentSession Establishment –– SMS and UDP/IP do not need session, BUTSMS and UDP/IP do not need session, BUT •• Most Access Point will not permit serverMost Access Point will not permit server--originate UDPoriginate UDP •• ClientClient--originate UDP has short time out and differ amongoriginate UDP has short time out and differ among operatorsoperators –– Need to keep alive via heart beatNeed to keep alive via heart beat –– Power consumption higher for transmit compared to receivePower consumption higher for transmit compared to receive –– Assume that wireless transport session is unreliableAssume that wireless transport session is unreliable •• Power consumption high for TCP/IP session establishmentPower consumption high for TCP/IP session establishment –– Decouple application session from transport sessionDecouple application session from transport session •• LongLong--live application (logical) session neededlive application (logical) session needed •• Resume based on some device IDResume based on some device ID
  • 10. Push Design Issues (Contd.)Push Design Issues (Contd.) •• Battery LifeBattery Life –– SMS based push has the best battery life, BUTSMS based push has the best battery life, BUT •• It could be expensiveIt could be expensive •• Will not work forWill not work for WiWi--FiFi or Wired networkor Wired network –– IP Push requires client to listen on a port continuouslyIP Push requires client to listen on a port continuously •• Continuous listening consumes battery powerContinuous listening consumes battery power •• Client or server has to send heartbeat to overcome time outClient or server has to send heartbeat to overcome time out •• Client sending heartbeat seems to consume more powerClient sending heartbeat seems to consume more power •• Frequent attempts to establish connection can drain powerFrequent attempts to establish connection can drain power –– Use some back off algorithm to try to reconnectUse some back off algorithm to try to reconnect
  • 11. Push Design Issues (Contd.)Push Design Issues (Contd.) •• SecuritySecurity –– Server must have a certificateServer must have a certificate –– Client must have a root certificate of serverClient must have a root certificate of server’’s CAs CA –– TLS (or SSL) over TCP/IP must be used at a minimum toTLS (or SSL) over TCP/IP must be used at a minimum to •• Authenticate the server andAuthenticate the server and •• securely provision security parameters such as encryption key, tsecurely provision security parameters such as encryption key, token,etc.oken,etc. –– SMS message must be encrypted using provisioned keysSMS message must be encrypted using provisioned keys –– UDP channel must be securely established using token andUDP channel must be securely established using token and encryptionencryption –– Cache on device must be encryptedCache on device must be encrypted
  • 12. Push Design Issues (Contd.)Push Design Issues (Contd.) •• CostCost –– Both SMS and GPRS could be expensiveBoth SMS and GPRS could be expensive •• Unless the operator provides the push based serviceUnless the operator provides the push based service –– Should support multiple bearersShould support multiple bearers •• Choose the lowest cost bearers among those availableChoose the lowest cost bearers among those available –– Wired via cradle or USB when in office or homeWired via cradle or USB when in office or home –– WiWi--FiFi when availablewhen available –– GPRS as the last resortGPRS as the last resort
  • 13. Sample ImplementationSample Implementation Local Cache Notifies changes to push/sync agent and applications Push/Sync Agent sends and receives changes if network is up (Online for fast prop- agation of client changes) Store changes when network is down and sync when it comes up (Offline for continuous availability) Server pushes relevant changes to agent (fast prop- agation of server changes) Receives and update changes from agent Manage software and device configuration Server 1 App 1 App n Push/Sync Agent 1 Push/Sync Agent 1 Server 1 Local Cache API 1 API n Transport API 1 Transport API n Protocol 1 Protocol n OnDevice Oracle Collaboration Suite 10g Push Mail Solution Architecture
  • 14. Sample ImplementationSample Implementation Inbox Application Command Processor OCS Push Email Server P-IMAP IMAP OCS Mail Server MAPI Message Store Ops OCS Push Windows Mobile® Email Client Notification Processor SMS or encrypted UDP/IP Events Ops Ops Server Message Store P-IMAP Transport Notification Command Processing Service Notification Collection Service Network Monitor Notification Delivery Service Device Management Service Oracle Collaboration Suite 10g Push Mail Solution Implementation for Windows Mobile Client
  • 15. Implementing Push on OSGI PlatformImplementing Push on OSGI Platform •• Persistence store API with callback on eventsPersistence store API with callback on events –– Application and the Push/Sync agent can be notified of changesApplication and the Push/Sync agent can be notified of changes made by each othermade by each other •• Connection Manager API with callback on eventsConnection Manager API with callback on events –– Push/Sync agent can be notified of connection availabilityPush/Sync agent can be notified of connection availability –– Hierarchy of connections with different cost and batteryHierarchy of connections with different cost and battery consumption characteristicsconsumption characteristics •• SMS notification handler APISMS notification handler API –– Needed as a last resort to notify the client to syncNeeded as a last resort to notify the client to sync •• Device Management APIDevice Management API –– Needed to install/upgrade/remove apps and agentsNeeded to install/upgrade/remove apps and agents
  • 16. Concluding RemarksConcluding Remarks •• Push/ Online Sync is the most usable modelPush/ Online Sync is the most usable model –– Already proven in enterprise email applicationAlready proven in enterprise email application •• Enterprises seeing positive ROI for mobile appsEnterprises seeing positive ROI for mobile apps –– Spending more on mobile applicationsSpending more on mobile applications •• Usability, security, and cost of solution are issuesUsability, security, and cost of solution are issues –– Push based solution addresses usabilityPush based solution addresses usability –– Short battery life could become an issueShort battery life could become an issue •• Operators can benefit from mobile enterprise appsOperators can benefit from mobile enterprise apps –– Must invest in pushMust invest in push--based mobile solutions nowbased mobile solutions now