SlideShare a Scribd company logo
Building Enterprise Mobile Applications with ADEP Mete Atamel | Sr. Computer Scientist @ Adobe meteatamel.wordpress.com @meteatamel
Hand in your surveys to the room monitors One survey per session will be selected as a winner of an Adobe Press e-book or Video  Introduction to Adobe Edge Web Design with Muse (code name) from Adobe Android App Development and Design: Learn by Video Winners will be notified via e-mail at the end of each day Turn in your surveys for a chance to WIN!
Assumptions You are an enterprise Flash and/or Java developer You used (or at least heard about) Data Services (or at least BlazeDS) before You are interested in building data-intensive native mobile applications talking to some backend. 3
Demos 4
Key takeaways from the demo All client applications are native. All clients are talking to the same server. 5
Technology Overview — Data Services - Before 6 AIR Flex
Technology Overview — Data Services - Now 7 Objective-C Android HTML5/JS Flex/AIR Java
Motivation and Goal Client choice should not dictate server choice. Make sure Data Services benefits are realized in multiple types of clients natively:  Efficient data transfer Real-time connectivity Rich and easy-to-use APIs 8
Features 9
Public APIs 10
API Philosophy Keep APIs as simple as possible. Keep APIs as similar as possible across platforms but respect platform differences where it makes sense. Some differences In ActionScript, subclasses of Channel handle encoding, HTTP modes, SSL. In new clients, a single Channel handles these via properties and automatically. In ActionScript, remoting and messaging are event driven. In Java/Android client, remoting is a synchronous call whereas messaging is still event driven. In ActionScript, remoting can make calls to non-existent methods on the client to invoke remote methods on the server. In new clients, “invoke” method is called with the remote method name. 11
Code Samples – Creating Channel // ActionScript varchannel:Channel= new AMFChannel(channelId, channelUrl);  // Java/Android Channel channel = new Channel(channelId, channelUrl, httpMode, encoding, sslContext); // HTML5/JavaScript varchannel = new flex.client.channels.Channel(channelId, channelUrl, httpMode); // Objective-C DSChannel*channel = [[DSChannelalloc] initWithId:channelIdurl:channelUrlhttpMode:httpMode]; 12
Code Samples – Creating ChannelSet // ActionScript varchannelSet:ChannelSet= new ChannelSet();  channelSet.addChannel(channel); // Java/Android ChannelSetchannelSet = new ChannelSet(channels); // HTML5/JavaScript varchannelset = new flex.client.channels.ChannelSet(channels); // Objective-C DSChannelSet *channelSet = [DSChannelSetchannelSetWithChannels:[NSArrayarrayWithObjects:channels]]; 13
Code Samples – Creating RemoteObject // ActionScript varremoteObject = new RemoteObject(); remoteObject.destination= destinationId; // Java/Android RemoteObjectremoteObject= new RemoteObject(destinationId); // HTML5/JavaScript varremoteObject = new flex.client.rpc.remoting.RemoteObject(destinationId); // Objective-C DSRemoteObject *remoteObject = [[[DSRemoteObjectalloc] initWithDestinationId:destinationId]; 14
Code Samples – Invoking RemoteObject // ActionScript remoteObject.echo(“Hello World!”); // Java/Android Object result = remoteObject.invoke(“echo”, “Hello World!”); // HTML5/JavaScript remoteObject.invoke(“echo”, “Hello World!”); // Objective-C [remoteObject invoke:@”echo” args:[NSArrayarrayWithObject:@”Hello World!”] delegate:self selector:@selector(invocationResultHandler:)]; 15
Code Samples – Creating Producer // ActionScript varproducer:Producer = new Producer(); producer.destination = destinationId; // Java/Android Producer producer = new Producer(destinationId); // HTML5/JavaScript var producer = new flex.client.messaging.Producer(destiantionId); // Objective-C DSProducer *producer = [[DSProduceralloc] initWithDestinationId:destinationId]; 16
Code Samples – Sending Message // ActionScript varmessage:AsyncMessage = new AsyncMessage(); message.body = “Hello World!”; producer.send(message); // Java/Android AsyncMessage message = new AsyncMessage(); message.setBody(“Hello World!”); producer.send(message); 17
Code Samples – Creating Consumer & Subscribing // ActionScript varconsumer:Consumer = new Consumer(); consumer.destination = destinationId; consumer.subscribe(); // Java/Android Consumer consumer = new Consumer(destinationId); consumer.subscribe(); // HTML5/JavaScript var consumer = new flex.client.messaging.Consumer(destinationId); consumer.subscribe(); // Objective-C DSConsumer *consumer = [[DSConsumeralloc] initWithDestinationId:destinationId]; [consumer subscribe]; 18
Code Samples – Adding Event Listeners // ActionScript consumer.addEventListener(MessageEvent.MESSAGE, messageHandler); consumer.addEventListener(MessageFaultEvent.FAULT, faultHandler); // HTML5/JavaScript consumer.addEventListener(flex.client.messaging.events.MessageEvent.MESSAGE, messageHandler); consumer.addEventListener(flex.client.messaging.events.MessageFaultEvent.FAULT, 	faultHandler); 19
Code Samples – Receiving Message // ActionScript private function messageHandler(messageEvent:MessageEvent):void {  // Consumer received message: messageEvent.message.body; } // HTML5/JavaScript function messageHandler(messageEvent) {  // Consumer received message: messageEvent.getMessage().getBody(); } 20
Data Services 4.6 Preview Data Services 4.6 Preview Now Available on Adobe Labs: labs.adobe.com/technologies/adep_dataservices_jee 21
QUESTIONS? meteatamel.wordpress.com @meteatamel 22

More Related Content

What's hot

Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
justmeanscsr
 
Hybrid framework for test automation
Hybrid framework for test automationHybrid framework for test automation
Hybrid framework for test automationsrivinayak
 
Test Case Creation in Katalon Studio
Test Case Creation in Katalon StudioTest Case Creation in Katalon Studio
Test Case Creation in Katalon Studio
RapidValue
 
MVC Training Part 1
MVC Training Part 1MVC Training Part 1
MVC Training Part 1
Lee Englestone
 
Ruby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich CollinsRuby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich Collins
Rich Collins
 
Why Katalon Studio?
Why Katalon Studio?Why Katalon Studio?
Why Katalon Studio?
Knoldus Inc.
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
HarshJ
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing ApproachHarshaVJoshi
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008
Caleb Jenkins
 
Introduction To Code Igniter
Introduction To Code IgniterIntroduction To Code Igniter
Introduction To Code Igniter
Amzad Hossain
 
Windows Store Apps: Tips & Tricks
Windows Store Apps: Tips & TricksWindows Store Apps: Tips & Tricks
Windows Store Apps: Tips & TricksRobert MacLean
 
Behavior Driven Development with Cucumber
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with Cucumber
Asheesh Mehdiratta
 
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBearTestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
Software Testing Solution
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presentedVijayan Reddy
 
Web II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side developmentWeb II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side development
Randy Connolly
 
Making an integration sandwich when you've run out of bread (Anorak)
Making an integration sandwich when you've run out of bread (Anorak)Making an integration sandwich when you've run out of bread (Anorak)
Making an integration sandwich when you've run out of bread (Anorak)CJ Marsh
 
ASP.NET 05 - Exception Handling And Validation Controls
ASP.NET 05 - Exception Handling And Validation ControlsASP.NET 05 - Exception Handling And Validation Controls
ASP.NET 05 - Exception Handling And Validation Controls
Randy Connolly
 
Data Driven Testing
Data Driven TestingData Driven Testing
Data Driven TestingMaveryx
 
Using galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testingUsing galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testing
Sarah Elson
 

What's hot (20)

Anupam_Resume
Anupam_ResumeAnupam_Resume
Anupam_Resume
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Hybrid framework for test automation
Hybrid framework for test automationHybrid framework for test automation
Hybrid framework for test automation
 
Test Case Creation in Katalon Studio
Test Case Creation in Katalon StudioTest Case Creation in Katalon Studio
Test Case Creation in Katalon Studio
 
MVC Training Part 1
MVC Training Part 1MVC Training Part 1
MVC Training Part 1
 
Ruby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich CollinsRuby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich Collins
 
Why Katalon Studio?
Why Katalon Studio?Why Katalon Studio?
Why Katalon Studio?
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008
 
Introduction To Code Igniter
Introduction To Code IgniterIntroduction To Code Igniter
Introduction To Code Igniter
 
Windows Store Apps: Tips & Tricks
Windows Store Apps: Tips & TricksWindows Store Apps: Tips & Tricks
Windows Store Apps: Tips & Tricks
 
Behavior Driven Development with Cucumber
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with Cucumber
 
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBearTestComplete – A Sophisticated Automated Testing Tool by SmartBear
TestComplete – A Sophisticated Automated Testing Tool by SmartBear
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presented
 
Web II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side developmentWeb II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side development
 
Making an integration sandwich when you've run out of bread (Anorak)
Making an integration sandwich when you've run out of bread (Anorak)Making an integration sandwich when you've run out of bread (Anorak)
Making an integration sandwich when you've run out of bread (Anorak)
 
ASP.NET 05 - Exception Handling And Validation Controls
ASP.NET 05 - Exception Handling And Validation ControlsASP.NET 05 - Exception Handling And Validation Controls
ASP.NET 05 - Exception Handling And Validation Controls
 
Data Driven Testing
Data Driven TestingData Driven Testing
Data Driven Testing
 
Using galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testingUsing galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testing
 

Viewers also liked

Sharing the latest research on social media and the communications industry (...
Sharing the latest research on social media and the communications industry (...Sharing the latest research on social media and the communications industry (...
Sharing the latest research on social media and the communications industry (...
WBandAMktRes
 
Capitol Communicator/WB&A Market Research - Intelligent Insights - Green Atti...
Capitol Communicator/WB&A Market Research - Intelligent Insights - Green Atti...Capitol Communicator/WB&A Market Research - Intelligent Insights - Green Atti...
Capitol Communicator/WB&A Market Research - Intelligent Insights - Green Atti...
WBandAMktRes
 
Intelligent Insights: consumer perceptions of responsibility for the economy
Intelligent Insights: consumer perceptions of responsibility for the economyIntelligent Insights: consumer perceptions of responsibility for the economy
Intelligent Insights: consumer perceptions of responsibility for the economyWBandAMktRes
 
Hands-on v. Hands-off, Rembrandt rule
Hands-on v. Hands-off, Rembrandt rule Hands-on v. Hands-off, Rembrandt rule
Hands-on v. Hands-off, Rembrandt rule
publichumanities
 
The Communications Industry Survey of Washington DC and Baltimore 2013 Report
The Communications Industry Survey of Washington DC and Baltimore 2013 ReportThe Communications Industry Survey of Washington DC and Baltimore 2013 Report
The Communications Industry Survey of Washington DC and Baltimore 2013 Report
WBandAMktRes
 
2012 DC & Baltimore Communications Industry Survey & Optimism Index
2012 DC & Baltimore Communications Industry Survey & Optimism Index2012 DC & Baltimore Communications Industry Survey & Optimism Index
2012 DC & Baltimore Communications Industry Survey & Optimism IndexWBandAMktRes
 
Fall 2013 m becker
Fall 2013   m beckerFall 2013   m becker
Fall 2013 m beckerMABecker11
 
The rural university
The rural universityThe rural university
The rural universityKaren Valdez
 
Mark's Holiday Gift Guide
Mark's Holiday Gift GuideMark's Holiday Gift Guide
Mark's Holiday Gift GuideMABecker11
 
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Peter Tripp
 
Metodos de estimacion de la demanda de transito
Metodos de estimacion de la demanda de transitoMetodos de estimacion de la demanda de transito
Metodos de estimacion de la demanda de transito
Jean Carlos Ramirez Ramirez
 
Señalizacion y seguridad vial
Señalizacion y seguridad vialSeñalizacion y seguridad vial
Señalizacion y seguridad vial
Jean Carlos Ramirez Ramirez
 
Triz- Presentation
Triz- PresentationTriz- Presentation
Triz- Presentation
Ayu Andini
 
Childhood Obesity Powerpoint
Childhood Obesity PowerpointChildhood Obesity Powerpoint
Childhood Obesity Powerpointgr4358
 

Viewers also liked (14)

Sharing the latest research on social media and the communications industry (...
Sharing the latest research on social media and the communications industry (...Sharing the latest research on social media and the communications industry (...
Sharing the latest research on social media and the communications industry (...
 
Capitol Communicator/WB&A Market Research - Intelligent Insights - Green Atti...
Capitol Communicator/WB&A Market Research - Intelligent Insights - Green Atti...Capitol Communicator/WB&A Market Research - Intelligent Insights - Green Atti...
Capitol Communicator/WB&A Market Research - Intelligent Insights - Green Atti...
 
Intelligent Insights: consumer perceptions of responsibility for the economy
Intelligent Insights: consumer perceptions of responsibility for the economyIntelligent Insights: consumer perceptions of responsibility for the economy
Intelligent Insights: consumer perceptions of responsibility for the economy
 
Hands-on v. Hands-off, Rembrandt rule
Hands-on v. Hands-off, Rembrandt rule Hands-on v. Hands-off, Rembrandt rule
Hands-on v. Hands-off, Rembrandt rule
 
The Communications Industry Survey of Washington DC and Baltimore 2013 Report
The Communications Industry Survey of Washington DC and Baltimore 2013 ReportThe Communications Industry Survey of Washington DC and Baltimore 2013 Report
The Communications Industry Survey of Washington DC and Baltimore 2013 Report
 
2012 DC & Baltimore Communications Industry Survey & Optimism Index
2012 DC & Baltimore Communications Industry Survey & Optimism Index2012 DC & Baltimore Communications Industry Survey & Optimism Index
2012 DC & Baltimore Communications Industry Survey & Optimism Index
 
Fall 2013 m becker
Fall 2013   m beckerFall 2013   m becker
Fall 2013 m becker
 
The rural university
The rural universityThe rural university
The rural university
 
Mark's Holiday Gift Guide
Mark's Holiday Gift GuideMark's Holiday Gift Guide
Mark's Holiday Gift Guide
 
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
 
Metodos de estimacion de la demanda de transito
Metodos de estimacion de la demanda de transitoMetodos de estimacion de la demanda de transito
Metodos de estimacion de la demanda de transito
 
Señalizacion y seguridad vial
Señalizacion y seguridad vialSeñalizacion y seguridad vial
Señalizacion y seguridad vial
 
Triz- Presentation
Triz- PresentationTriz- Presentation
Triz- Presentation
 
Childhood Obesity Powerpoint
Childhood Obesity PowerpointChildhood Obesity Powerpoint
Childhood Obesity Powerpoint
 

Similar to Max2011 Building Enterprise Mobile Apps With Adep

Porting an Open Source Lp Solver to Web Assembly
 Porting an Open Source Lp Solver to Web Assembly Porting an Open Source Lp Solver to Web Assembly
Porting an Open Source Lp Solver to Web Assembly
Fabion Kauker
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.net
Pankaj Kushwaha
 
Neha Arora_Resume
Neha Arora_ResumeNeha Arora_Resume
Neha Arora_ResumeNeha Arora
 
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit sessionDevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
Sanjeev Sharma
 
Zero to Portlet in 20 minutes or less
Zero to Portlet in 20 minutes or lessZero to Portlet in 20 minutes or less
Zero to Portlet in 20 minutes or less
Davalen LLC
 
Industrial training project ppt of online shopping
Industrial training project ppt of online  shoppingIndustrial training project ppt of online  shopping
Industrial training project ppt of online shopping
anil kumar
 
Clear AppSec Visibility with AppSpider and ThreadFix
 Clear AppSec Visibility with AppSpider and ThreadFix Clear AppSec Visibility with AppSpider and ThreadFix
Clear AppSec Visibility with AppSpider and ThreadFix
Denim Group
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGap
Dotitude
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
IBM UrbanCode Products
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in Bluemix
IBM
 
Syllabus for Technical courses
Syllabus for Technical coursesSyllabus for Technical courses
Syllabus for Technical coursesMontek1Learning
 
Rajeev Ranjan_CV (Java Fullstack)
Rajeev Ranjan_CV (Java Fullstack)Rajeev Ranjan_CV (Java Fullstack)
Rajeev Ranjan_CV (Java Fullstack)Rajeev Singh
 
Delivering Applications Continuously to Cloud
Delivering Applications Continuously to CloudDelivering Applications Continuously to Cloud
Delivering Applications Continuously to Cloud
IBM UrbanCode Products
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
Sachin Walvekar
 
Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applications
Jack-Junjie Cai
 
VMworld 2013: Developer Services on vCloud Hybrid Services
VMworld 2013: Developer Services on vCloud Hybrid Services VMworld 2013: Developer Services on vCloud Hybrid Services
VMworld 2013: Developer Services on vCloud Hybrid Services
VMworld
 
Dineshotham Kumar Khambhammettu
Dineshotham Kumar KhambhammettuDineshotham Kumar Khambhammettu
Dineshotham Kumar Khambhammettu
Dineshotham Kumar Khambhammettu
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)Rahul Singh
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...WSPDC & FEDSPUG
 

Similar to Max2011 Building Enterprise Mobile Apps With Adep (20)

Porting an Open Source Lp Solver to Web Assembly
 Porting an Open Source Lp Solver to Web Assembly Porting an Open Source Lp Solver to Web Assembly
Porting an Open Source Lp Solver to Web Assembly
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.net
 
Neha Arora_Resume
Neha Arora_ResumeNeha Arora_Resume
Neha Arora_Resume
 
KumarG-CV
KumarG-CVKumarG-CV
KumarG-CV
 
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit sessionDevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
 
Zero to Portlet in 20 minutes or less
Zero to Portlet in 20 minutes or lessZero to Portlet in 20 minutes or less
Zero to Portlet in 20 minutes or less
 
Industrial training project ppt of online shopping
Industrial training project ppt of online  shoppingIndustrial training project ppt of online  shopping
Industrial training project ppt of online shopping
 
Clear AppSec Visibility with AppSpider and ThreadFix
 Clear AppSec Visibility with AppSpider and ThreadFix Clear AppSec Visibility with AppSpider and ThreadFix
Clear AppSec Visibility with AppSpider and ThreadFix
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGap
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in Bluemix
 
Syllabus for Technical courses
Syllabus for Technical coursesSyllabus for Technical courses
Syllabus for Technical courses
 
Rajeev Ranjan_CV (Java Fullstack)
Rajeev Ranjan_CV (Java Fullstack)Rajeev Ranjan_CV (Java Fullstack)
Rajeev Ranjan_CV (Java Fullstack)
 
Delivering Applications Continuously to Cloud
Delivering Applications Continuously to CloudDelivering Applications Continuously to Cloud
Delivering Applications Continuously to Cloud
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
 
Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applications
 
VMworld 2013: Developer Services on vCloud Hybrid Services
VMworld 2013: Developer Services on vCloud Hybrid Services VMworld 2013: Developer Services on vCloud Hybrid Services
VMworld 2013: Developer Services on vCloud Hybrid Services
 
Dineshotham Kumar Khambhammettu
Dineshotham Kumar KhambhammettuDineshotham Kumar Khambhammettu
Dineshotham Kumar Khambhammettu
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 

Recently uploaded

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Breaking the Ruby Performance Barrier with YJIT
Breaking the Ruby Performance Barrier with YJITBreaking the Ruby Performance Barrier with YJIT
Breaking the Ruby Performance Barrier with YJIT
maximechevalierboisv1
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 

Recently uploaded (20)

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Breaking the Ruby Performance Barrier with YJIT
Breaking the Ruby Performance Barrier with YJITBreaking the Ruby Performance Barrier with YJIT
Breaking the Ruby Performance Barrier with YJIT
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 

Max2011 Building Enterprise Mobile Apps With Adep

  • 1. Building Enterprise Mobile Applications with ADEP Mete Atamel | Sr. Computer Scientist @ Adobe meteatamel.wordpress.com @meteatamel
  • 2. Hand in your surveys to the room monitors One survey per session will be selected as a winner of an Adobe Press e-book or Video Introduction to Adobe Edge Web Design with Muse (code name) from Adobe Android App Development and Design: Learn by Video Winners will be notified via e-mail at the end of each day Turn in your surveys for a chance to WIN!
  • 3. Assumptions You are an enterprise Flash and/or Java developer You used (or at least heard about) Data Services (or at least BlazeDS) before You are interested in building data-intensive native mobile applications talking to some backend. 3
  • 5. Key takeaways from the demo All client applications are native. All clients are talking to the same server. 5
  • 6. Technology Overview — Data Services - Before 6 AIR Flex
  • 7. Technology Overview — Data Services - Now 7 Objective-C Android HTML5/JS Flex/AIR Java
  • 8. Motivation and Goal Client choice should not dictate server choice. Make sure Data Services benefits are realized in multiple types of clients natively: Efficient data transfer Real-time connectivity Rich and easy-to-use APIs 8
  • 11. API Philosophy Keep APIs as simple as possible. Keep APIs as similar as possible across platforms but respect platform differences where it makes sense. Some differences In ActionScript, subclasses of Channel handle encoding, HTTP modes, SSL. In new clients, a single Channel handles these via properties and automatically. In ActionScript, remoting and messaging are event driven. In Java/Android client, remoting is a synchronous call whereas messaging is still event driven. In ActionScript, remoting can make calls to non-existent methods on the client to invoke remote methods on the server. In new clients, “invoke” method is called with the remote method name. 11
  • 12. Code Samples – Creating Channel // ActionScript varchannel:Channel= new AMFChannel(channelId, channelUrl); // Java/Android Channel channel = new Channel(channelId, channelUrl, httpMode, encoding, sslContext); // HTML5/JavaScript varchannel = new flex.client.channels.Channel(channelId, channelUrl, httpMode); // Objective-C DSChannel*channel = [[DSChannelalloc] initWithId:channelIdurl:channelUrlhttpMode:httpMode]; 12
  • 13. Code Samples – Creating ChannelSet // ActionScript varchannelSet:ChannelSet= new ChannelSet(); channelSet.addChannel(channel); // Java/Android ChannelSetchannelSet = new ChannelSet(channels); // HTML5/JavaScript varchannelset = new flex.client.channels.ChannelSet(channels); // Objective-C DSChannelSet *channelSet = [DSChannelSetchannelSetWithChannels:[NSArrayarrayWithObjects:channels]]; 13
  • 14. Code Samples – Creating RemoteObject // ActionScript varremoteObject = new RemoteObject(); remoteObject.destination= destinationId; // Java/Android RemoteObjectremoteObject= new RemoteObject(destinationId); // HTML5/JavaScript varremoteObject = new flex.client.rpc.remoting.RemoteObject(destinationId); // Objective-C DSRemoteObject *remoteObject = [[[DSRemoteObjectalloc] initWithDestinationId:destinationId]; 14
  • 15. Code Samples – Invoking RemoteObject // ActionScript remoteObject.echo(“Hello World!”); // Java/Android Object result = remoteObject.invoke(“echo”, “Hello World!”); // HTML5/JavaScript remoteObject.invoke(“echo”, “Hello World!”); // Objective-C [remoteObject invoke:@”echo” args:[NSArrayarrayWithObject:@”Hello World!”] delegate:self selector:@selector(invocationResultHandler:)]; 15
  • 16. Code Samples – Creating Producer // ActionScript varproducer:Producer = new Producer(); producer.destination = destinationId; // Java/Android Producer producer = new Producer(destinationId); // HTML5/JavaScript var producer = new flex.client.messaging.Producer(destiantionId); // Objective-C DSProducer *producer = [[DSProduceralloc] initWithDestinationId:destinationId]; 16
  • 17. Code Samples – Sending Message // ActionScript varmessage:AsyncMessage = new AsyncMessage(); message.body = “Hello World!”; producer.send(message); // Java/Android AsyncMessage message = new AsyncMessage(); message.setBody(“Hello World!”); producer.send(message); 17
  • 18. Code Samples – Creating Consumer & Subscribing // ActionScript varconsumer:Consumer = new Consumer(); consumer.destination = destinationId; consumer.subscribe(); // Java/Android Consumer consumer = new Consumer(destinationId); consumer.subscribe(); // HTML5/JavaScript var consumer = new flex.client.messaging.Consumer(destinationId); consumer.subscribe(); // Objective-C DSConsumer *consumer = [[DSConsumeralloc] initWithDestinationId:destinationId]; [consumer subscribe]; 18
  • 19. Code Samples – Adding Event Listeners // ActionScript consumer.addEventListener(MessageEvent.MESSAGE, messageHandler); consumer.addEventListener(MessageFaultEvent.FAULT, faultHandler); // HTML5/JavaScript consumer.addEventListener(flex.client.messaging.events.MessageEvent.MESSAGE, messageHandler); consumer.addEventListener(flex.client.messaging.events.MessageFaultEvent.FAULT, faultHandler); 19
  • 20. Code Samples – Receiving Message // ActionScript private function messageHandler(messageEvent:MessageEvent):void { // Consumer received message: messageEvent.message.body; } // HTML5/JavaScript function messageHandler(messageEvent) { // Consumer received message: messageEvent.getMessage().getBody(); } 20
  • 21. Data Services 4.6 Preview Data Services 4.6 Preview Now Available on Adobe Labs: labs.adobe.com/technologies/adep_dataservices_jee 21

Editor's Notes

  1. This slide will be sent to all speakers as a separate attachment. If you could please include as your final slide in your presentations, this will help get more attendees to respond.
  2. Make things appear as you talk through them