iphone & java web services
DESCRIPTION
A first-steps intro to Java Web Services and their role with iPhone applications. We code an iPhone app and connect it to Java Web Services and discuss how they are already playing together in today's commercial iPhone app market.TRANSCRIPT
![Page 1: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/1.jpg)
iPhone Development and
Java Web Services 101
a Practical Tour And Demo
Matthew McCullough, Ambient Ideas, LLC
![Page 2: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/2.jpg)
Thanks for calling to upgrade your DSL
![Page 3: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/3.jpg)
What operating system do you use?
![Page 4: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/4.jpg)
Mac OS
![Page 5: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/5.jpg)
Is that before or after Vista?
![Page 6: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/6.jpg)
...umm
![Page 7: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/7.jpg)
I’d say, about 10 years after
![Page 8: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/8.jpg)
Ok, thanks for confirming that sir.
![Page 9: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/9.jpg)
![Page 10: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/10.jpg)
Whythe iPhone?
![Page 11: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/11.jpg)
![Page 12: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/12.jpg)
![Page 13: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/13.jpg)
Overtaken Blackberry
in sales
![Page 14: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/14.jpg)
![Page 15: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/15.jpg)
even Overtaken Moto RAZR in sales
![Page 16: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/16.jpg)
2,000,000 apps soldas of Oct 21, 2008
![Page 17: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/17.jpg)
![Page 18: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/18.jpg)
Why
Web Services?
![Page 19: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/19.jpg)
★Java
★.NET
★Ruby
★PHP
★Perl
★Python
★C
Web Service Languages
![Page 20: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/20.jpg)
Independent of platform
Consumed by any type of app
•Desktop
•RIA
•Headless
![Page 21: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/21.jpg)
Nearly EVERY app is becoming network aware
![Page 22: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/22.jpg)
iPhone Objective C
Java Web Services
SOAP/REST/HTTP
![Page 23: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/23.jpg)
Java Web Services
![Page 24: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/24.jpg)
JWS Tools•IntelliJ
•Native support
•Eclipse
•SOA Plugin
•NetBeans
•SOA Plugin
•Maven
•Axis Archetype
![Page 25: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/25.jpg)
RESTfulvs
SOAPful
![Page 26: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/26.jpg)
SOAP
![Page 28: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/28.jpg)
Java Web Service Servers• JAX-WS
• Axis
• JAX-RS
• JSR311, Glassfish component “Jersey”
• Java 6
• Local HTTP server
• APT, or BARE needed for SOAP
![Page 29: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/29.jpg)
iPhone Objective C
![Page 30: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/30.jpg)
iPhone Dev ProcessFree Membership
• SDK
• SimulatorPaid Membership
• Provisioning
• Deploy to Dev Device
• Digitally Sign Apps
• App Store
![Page 31: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/31.jpg)
iPhone Dev Tools
• Dashcode = JavaScript
•Interface Builder, NIBs
•XCode
![Page 32: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/32.jpg)
Objective C
• No Garbage Collector• GC only on Mac OSX Desktop
• Manual Release of Memory
•C with Objects
![Page 33: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/33.jpg)
![Page 34: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/34.jpg)
![Page 35: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/35.jpg)
Objective C REST
•Minimal Parsing•Text Based (Primarily)
•Simple HTTP request
•Changing of request types
•@GET, @POST, @PUT
![Page 36: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/36.jpg)
iPhone REST Demo
![Page 37: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/37.jpg)
Objective C XML
• SOAP
• Heavy Wrappers, Headers, No Libs
• Help with XML Parsing
• NSXMLParser API
![Page 38: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/38.jpg)
iPhone SOAP Demo
![Page 39: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/39.jpg)
Otherdev Tools
![Page 40: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/40.jpg)
•SOAPui
•Apache TCPMon
•TCPDump
•Firefox Poster
•Netbeans WS/REST Tester
![Page 41: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/41.jpg)
• Java
• Native? Sun has promised
• Flash
• Native? Adobe has pledged
• JavaFX
• Does anyone care
• Let’s get it on the desktop first (Dec 2)
What’s next
![Page 42: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/42.jpg)
Takeaways•iPhone Dev is Challenging
• Application process painful
• Manual memory management
• Cryptic APIs
•Java Web Services are Easy
• Minimal Gotchas
• Rest vs SOAP decisions
![Page 43: iPhone & Java Web Services](https://reader034.vdocument.in/reader034/viewer/2022052619/555087a5b4c9051e5b8b4b1e/html5/thumbnails/43.jpg)
Q&A
Email questions to:[email protected]
Slides & Source Code at:www.AmbientIdeas.com/engineering/engineering-presentation.html