43
iPhone Development and Java Web Services 101 a Practical Tour And Demo Matthew McCullough, Ambient Ideas, LLC

iPhone & Java Web Services

Embed Size (px)

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.

Citation preview

Page 1: iPhone & Java Web Services

iPhone Development and

Java Web Services 101

a Practical Tour And Demo

Matthew McCullough, Ambient Ideas, LLC

Page 2: iPhone & Java Web Services

Thanks for calling to upgrade your DSL

Page 3: iPhone & Java Web Services

What operating system do you use?

Page 4: iPhone & Java Web Services

Mac OS

Page 5: iPhone & Java Web Services

Is that before or after Vista?

Page 6: iPhone & Java Web Services

...umm

Page 7: iPhone & Java Web Services

I’d say, about 10 years after

Page 8: iPhone & Java Web Services

Ok, thanks for confirming that sir.

Page 9: iPhone & Java Web Services
Page 10: iPhone & Java Web Services

Whythe iPhone?

Page 11: iPhone & Java Web Services
Page 12: iPhone & Java Web Services
Page 13: iPhone & Java Web Services

Overtaken Blackberry

in sales

Page 14: iPhone & Java Web Services
Page 15: iPhone & Java Web Services

even Overtaken Moto RAZR in sales

Page 16: iPhone & Java Web Services

2,000,000 apps soldas of Oct 21, 2008

Page 17: iPhone & Java Web Services
Page 18: iPhone & Java Web Services

Why

Web Services?

Page 19: iPhone & Java Web Services

★Java

★.NET

★Ruby

★PHP

★Perl

★Python

★C

Web Service Languages

Page 20: iPhone & Java Web Services

Independent of platform

Consumed by any type of app

•Desktop

•RIA

•Headless

Page 21: iPhone & Java Web Services

Nearly EVERY app is becoming network aware

Page 22: iPhone & Java Web Services

iPhone Objective C

Java Web Services

SOAP/REST/HTTP

Page 23: iPhone & Java Web Services

Java Web Services

Page 24: iPhone & Java Web Services

JWS Tools•IntelliJ

•Native support

•Eclipse

•SOA Plugin

•NetBeans

•SOA Plugin

•Maven

•Axis Archetype

Page 25: iPhone & Java Web Services

RESTfulvs

SOAPful

Page 26: iPhone & Java Web Services

SOAP

Page 27: iPhone & Java Web Services

REST

http://localhost/drawing/

Page 28: iPhone & Java Web Services

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

iPhone Objective C

Page 30: iPhone & Java Web Services

iPhone Dev ProcessFree Membership

• SDK

• SimulatorPaid Membership

• Provisioning

• Deploy to Dev Device

• Digitally Sign Apps

• App Store

Page 31: iPhone & Java Web Services

iPhone Dev Tools

• Dashcode = JavaScript

•Interface Builder, NIBs

•XCode

Page 32: iPhone & Java Web Services

Objective C

• No Garbage Collector• GC only on Mac OSX Desktop

• Manual Release of Memory

•C with Objects

Page 33: iPhone & Java Web Services
Page 34: iPhone & Java Web Services
Page 35: iPhone & Java Web Services

Objective C REST

•Minimal Parsing•Text Based (Primarily)

•Simple HTTP request

•Changing of request types

•@GET, @POST, @PUT

Page 36: iPhone & Java Web Services

iPhone REST Demo

Page 37: iPhone & Java Web Services

Objective C XML

• SOAP

• Heavy Wrappers, Headers, No Libs

• Help with XML Parsing

• NSXMLParser API

Page 38: iPhone & Java Web Services

iPhone SOAP Demo

Page 39: iPhone & Java Web Services

Otherdev Tools

Page 40: iPhone & Java Web Services

•SOAPui

•Apache TCPMon

•TCPDump

•Firefox Poster

•Netbeans WS/REST Tester

Page 41: iPhone & Java Web Services

• 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

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

Q&A

Email questions to:[email protected]

Slides & Source Code at:www.AmbientIdeas.com/engineering/engineering-presentation.html