52
iPhone Development Java Web Services Matthew McCullough, Ambient Ideas, LLC Take 2 and

iPhone & Java Web Services, Take 2

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: iPhone & Java Web Services, Take 2

iPhone Development

Java Web Services

Matthew McCullough, Ambient Ideas, LLC

Take 2

and

Page 2: iPhone & Java Web Services, Take 2

Why the

iPhone?

Page 3: iPhone & Java Web Services, Take 2
Page 4: iPhone & Java Web Services, Take 2
Page 5: iPhone & Java Web Services, Take 2
Page 6: iPhone & Java Web Services, Take 2

Overtaken Blackberry

in sales

Page 7: iPhone & Java Web Services, Take 2
Page 8: iPhone & Java Web Services, Take 2
Page 9: iPhone & Java Web Services, Take 2
Page 10: iPhone & Java Web Services, Take 2

even Overtaken Moto RAZR in sales

Page 11: iPhone & Java Web Services, Take 2
Page 12: iPhone & Java Web Services, Take 2
Page 13: iPhone & Java Web Services, Take 2

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

Page 14: iPhone & Java Web Services, Take 2

300,000,000

as of Dec 8, 2008

Page 15: iPhone & Java Web Services, Take 2

The world needs

your app!

Page 16: iPhone & Java Web Services, Take 2

Why

Web Services?

Page 17: iPhone & Java Web Services, Take 2

Web Service Languages

Java

Perl

.NETRuby

PHP

Python

C C#

C++

Page 18: iPhone & Java Web Services, Take 2

Consumed by any type of app

Independent of Platform

Desktop

Headless

RIA

ESB

SOA

Page 19: iPhone & Java Web Services, Take 2

Nearly EVERY app is becoming network aware

Page 20: iPhone & Java Web Services, Take 2

iPhone Objective C

Java Web Services

SOAP/REST/HTTP

Page 21: iPhone & Java Web Services, Take 2

Java Web Services

Page 22: iPhone & Java Web Services, Take 2

JWS ToolsIntelliJNative WS support

EclipseSOA Plugin

NetBeansSOA Plugin

MavenAxis ArchetypeJersey Archetype

Page 23: iPhone & Java Web Services, Take 2

RESTfulvs

SOAPful

Page 24: iPhone & Java Web Services, Take 2

SOAP

Page 25: iPhone & Java Web Services, Take 2
Page 26: iPhone & Java Web Services, Take 2

REST

http://localhost/drawing/

Page 27: iPhone & Java Web Services, Take 2

Java Web Service Servers

JAX-WSAxis

JAX-RSJSR311, Glassfish component “Jersey”

Java 6Local HTTP serverAPT, or BARE needed for SOAP

Page 28: iPhone & Java Web Services, Take 2

Java REST Demo

Page 29: iPhone & Java Web Services, Take 2

iPhone Objective C

Page 30: iPhone & Java Web Services, Take 2

iPhone Dev ProcessFree Membership

• SDK

• SimulatorPaid Membership

• Provisioning

• Deploy to Dev Device

• Digitally Sign Apps

• App Store

Page 31: iPhone & Java Web Services, Take 2

iPhone Dev Tools

• Dashcode = JavaScript

•Interface Builder, NIBs

•XCode

Page 32: iPhone & Java Web Services, Take 2

Objective C• No Garbage Collector• GC only on Mac OSX Desktop

• Manual Release of Memory

• But we can use autorelease pools

•C with Objects

Page 33: iPhone & Java Web Services, Take 2
Page 34: iPhone & Java Web Services, Take 2
Page 35: iPhone & Java Web Services, Take 2

Objective C REST

•Minimal Parsing•Text Based (Primarily)

•Simple HTTP request

•Changing of request types

•@GET, @POST, @PUT

Page 36: iPhone & Java Web Services, Take 2

iPhone REST Demo

Page 37: iPhone & Java Web Services, Take 2
Page 38: iPhone & Java Web Services, Take 2

Memory Leaks

Page 39: iPhone & Java Web Services, Take 2
Page 40: iPhone & Java Web Services, Take 2

Provisioning Annoyances

Page 41: iPhone & Java Web Services, Take 2
Page 42: iPhone & Java Web Services, Take 2

Objective C XML

• SOAP

• Heavy Wrappers, Headers, No Libs

• Help with XML Parsing

• NSXMLParser API

Page 43: iPhone & Java Web Services, Take 2

other ways to load

your App

Page 44: iPhone & Java Web Services, Take 2
Page 45: iPhone & Java Web Services, Take 2
Page 46: iPhone & Java Web Services, Take 2
Page 47: iPhone & Java Web Services, Take 2

Trench Coat App Store

SSH

Terminal

Multilanguage Dictionaries

Hacking tools

1000s of other free seedy apps

Page 48: iPhone & Java Web Services, Take 2

Otherdev Tools

Page 49: iPhone & Java Web Services, Take 2

SOAPui

Apache TCPMon

TCPDump

Firefox Poster

Netbeans WS/REST Tester

CURL

Page 50: iPhone & Java Web Services, Take 2

• Java

• Native? Sun has promised

• Flash

• Native? Adobe has pledged

• Ruby

• http://github.com/rhomobile/rhodes/tree/master

What’s next

Page 51: iPhone & Java Web Services, Take 2

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 52: iPhone & Java Web Services, Take 2

Q&ASource Code

http://g

ithub.co

m/matthe

wmccullo

ugh/

iphonean

djavaweb

services

/

Slides

http://s

lideshar

e.net/pr

ogramr

Questions?

MatthewM

@Ambient

Ideas.co

m