iPhone Development
       and
 Java Web Services

    Take 2
             Matthew McCullough, Ambient Ideas, LLC
Why
 the

  iPhone?
Overtaken Blackberry
       in sales
even Overtaken
 Moto RAZR in sales
2,000,000 apps sold
       as of Oct 21, 2008
300,000,
  000
   as of Dec 8, 2008
s
                ed
               e
               n
            ld
          r
        o
      w
    e            !
  h...
Why
 Web Services?
Web Service Languages
                 C#
          C

                         Perl
 Python
                   C++
      ...
Independent of Platform
                         Headless
            ESB



 Consumed by any        type of app
     ktop...
network aware
Nearly EVERY app is becoming
iPhone
            SOAP/REST/HTTP
Java Web
                             Objective C
 Services
Web Services
Java
JWS Tools
IntelliJ     NetBeans
Native WS    SOA Plugin
support

Eclipse      Maven
SOA Plugin   Axis Archetype
          ...
RESTful
   vs
    SOAPful
SOAP
REST

http://localhost/drawing/
Java Web Service Servers
 JAX-WS
 Axis

 JAX-RS
 JSR311, Glassfish component “Jersey”

 Java 6
 Local HTTP server
 APT, or...
Java REST Demo
iPhone Objective C
iPhone Dev Process
Free Membership
• SDK
• Simulator
                   Paid Membership
                  • Provisioning
 ...
iPhone Dev Tools

• Dashcode = JavaScript
•Interface Builder, NIBs
•XCode
Objective C
• No Garbage Collector
 • GC only on Mac OSX Desktop
• Manual Release of Memory
 • But we can use autorelease ...
Objective C REST
• Minimal Parsing
• Text Based (Primarily)
•Simple HTTP request
• Changing of request types
 • @GET, @POS...
iPhone REST Demo
Memory Leaks
Provisioning Annoyances
Objective C XML

• SOAP
 • Heavy Wrappers, Headers, No Libs
 • Help with XML Parsing
 • NSXMLParser API
other ways to load
    your App
Trench Coat App Store
SSH
Terminal
Multilanguage Dictionaries
Hacking tools

1000s of other free seedy apps
Other
   dev Tools
SOAPui
Apache TCPMon
TCPDump
Firefox Poster
Netbeans WS/REST Tester
CURL
next
       What’s
• Java
 • Native? Sun has promised
• Flash
 • Native? Adobe has pledged
• Ruby
 • http://github.com/rho...
Takeaways
• iPhone Dev is Challenging
 • Application process painful
 • Manual memory management
 • Cryptic APIs
         ...
Q&A                                  gh/
                                        ou
                                     u...
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
iphone and Java Web Services Take 2
Upcoming SlideShare
Loading in …5
×

iphone and Java Web Services Take 2

1,393 views
1,317 views

Published on

A quick practical tour through making Java Web Services interoperate with iPhone Cocoa Applications and why this is of interest to the Java programming world.

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,393
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
51
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

iphone and Java Web Services Take 2

  1. 1. iPhone Development and Java Web Services Take 2 Matthew McCullough, Ambient Ideas, LLC
  2. 2. Why the iPhone?
  3. 3. Overtaken Blackberry in sales
  4. 4. even Overtaken Moto RAZR in sales
  5. 5. 2,000,000 apps sold as of Oct 21, 2008
  6. 6. 300,000, 000 as of Dec 8, 2008
  7. 7. s ed e n ld r o w e ! h pp T a r u yo
  8. 8. Why Web Services?
  9. 9. Web Service Languages C# C Perl Python C++ Java Ruby NET PHP .
  10. 10. Independent of Platform Headless ESB Consumed by any type of app ktop es D SOA RIA
  11. 11. network aware Nearly EVERY app is becoming
  12. 12. iPhone SOAP/REST/HTTP Java Web Objective C Services
  13. 13. Web Services Java
  14. 14. JWS Tools IntelliJ NetBeans Native WS SOA Plugin support Eclipse Maven SOA Plugin Axis Archetype Jersey Archetype
  15. 15. RESTful vs SOAPful
  16. 16. SOAP
  17. 17. REST http://localhost/drawing/
  18. 18. Java Web Service Servers JAX-WS Axis JAX-RS JSR311, Glassfish component “Jersey” Java 6 Local HTTP server APT, or BARE needed for SOAP
  19. 19. Java REST Demo
  20. 20. iPhone Objective C
  21. 21. iPhone Dev Process Free Membership • SDK • Simulator Paid Membership • Provisioning • Deploy to Dev Device • Digitally Sign Apps • App Store
  22. 22. iPhone Dev Tools • Dashcode = JavaScript •Interface Builder, NIBs •XCode
  23. 23. Objective C • No Garbage Collector • GC only on Mac OSX Desktop • Manual Release of Memory • But we can use autorelease pools •C with Objects
  24. 24. Objective C REST • Minimal Parsing • Text Based (Primarily) •Simple HTTP request • Changing of request types • @GET, @POST, @PUT
  25. 25. iPhone REST Demo
  26. 26. Memory Leaks
  27. 27. Provisioning Annoyances
  28. 28. Objective C XML • SOAP • Heavy Wrappers, Headers, No Libs • Help with XML Parsing • NSXMLParser API
  29. 29. other ways to load your App
  30. 30. Trench Coat App Store SSH Terminal Multilanguage Dictionaries Hacking tools 1000s of other free seedy apps
  31. 31. Other dev Tools
  32. 32. SOAPui Apache TCPMon TCPDump Firefox Poster Netbeans WS/REST Tester CURL
  33. 33. next What’s • Java • Native? Sun has promised • Flash • Native? Adobe has pledged • Ruby • http://github.com/rhomobile/rhodes/tree/ master
  34. 34. Takeaways • iPhone Dev is Challenging • Application process painful • Manual memory management • Cryptic APIs • Java Web Services are Easy • Minimal Gotchas • Rest vs SOAP decisions
  35. 35. Q&A gh/ ou ull cc ewm tth / /ma ces de com rvi Co thub. bse rce /gi Sou :/ awe jav amr p htt neand ogr /pr o iph net re. sha es /slide Slid :/ com p as. htt Ide ons? ent i bi uest ewM@Am Q th Mat

×