iPhone & Java Web Services

Preview:

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

iPhone Development and

Java Web Services 101

a Practical Tour And Demo

Matthew McCullough, Ambient Ideas, LLC

Thanks for calling to upgrade your DSL

What operating system do you use?

Mac OS

Is that before or after Vista?

...umm

I’d say, about 10 years after

Ok, thanks for confirming that sir.

Whythe iPhone?

Overtaken Blackberry

in sales

even Overtaken Moto RAZR in sales

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

Why

Web Services?

★Java

★.NET

★Ruby

★PHP

★Perl

★Python

★C

Web Service Languages

Independent of platform

Consumed by any type of app

•Desktop

•RIA

•Headless

Nearly EVERY app is becoming network aware

iPhone Objective C

Java Web Services

SOAP/REST/HTTP

Java Web Services

JWS Tools•IntelliJ

•Native support

•Eclipse

•SOA Plugin

•NetBeans

•SOA Plugin

•Maven

•Axis Archetype

RESTfulvs

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 BARE needed for SOAP

iPhone Objective C

iPhone Dev ProcessFree Membership

• SDK

• SimulatorPaid Membership

• Provisioning

• Deploy to Dev Device

• Digitally Sign Apps

• App Store

iPhone Dev Tools

• Dashcode = JavaScript

•Interface Builder, NIBs

•XCode

Objective C

• No Garbage Collector• GC only on Mac OSX Desktop

• Manual Release of Memory

•C with Objects

Objective C REST

•Minimal Parsing•Text Based (Primarily)

•Simple HTTP request

•Changing of request types

•@GET, @POST, @PUT

iPhone REST Demo

Objective C XML

• SOAP

• Heavy Wrappers, Headers, No Libs

• Help with XML Parsing

• NSXMLParser API

iPhone SOAP Demo

Otherdev Tools

•SOAPui

•Apache TCPMon

•TCPDump

•Firefox Poster

•Netbeans WS/REST Tester

• 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

Takeaways•iPhone Dev is Challenging

• Application process painful

• Manual memory management

• Cryptic APIs

•Java Web Services are Easy

• Minimal Gotchas

• Rest vs SOAP decisions

Q&A

Email questions to:MatthewM@AmbientIdeas.com

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