SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Use FUSE to accelerate
iPhone Web Development
FUSE Master Class Series

Roland Tritsch
Director Services EMEA
roland.tritsch@iona.com   1
Introduction
  This session will show you how to use FUSE to access SOAP/
  HTTP WebServices from the iPhone
  The code we are using in this session is available from the
  IONA FUSE demo/download area open.iona.com
  The main target audience for this session are Architects and
  Developers that want to build iPhone applications that
  integrate with the web




                                                                           2
                                                    © 2008 IONA Technologies
Agenda
 Why is this important/relevant?
 Understanding the solution
     Show the code - before and after
 Understanding the demo!
     The service interface
     The client side implementation
 The Software Development Environment
 Summary




                                                               3
                                        © 2008 IONA Technologies
Why is this important/relevant?
  With the new iPhone SDK you can implement applications
  using Objective-C or AJAX (XHTML, JavaScript, CSS)‫‏‬
  The AJAX environment is quite powerful, but writing all the
  code to send/receive (marshal/unmarshal) data using
  XmlHttpRequest is extremly tedious and errorprone
  How cool would it be, if you could use a wsdl2js or java2js
  compiler to generate a complete SOAP/HTTP client side stack
  for a given service and invoke on the operations of the service
  with a simple request-response interface?
      Hint: This stack would obviously still use XmlHttpRequest under the
      hood, but this would not bother you anymore. Plus all of the
      marshaling code is generated.




                                                                                      4
                                                               © 2008 IONA Technologies
The Service Interface
<...>
     <wsdl:operation name="sayHi">
        <soap:operation soapAction="" style="document"/>
        <wsdl:input name="sayHiRequest">
          <soap:body use="literal"/>
        </wsdl:input>
        <wsdl:output name="sayHiResponse">
          <soap:body use="literal"/>
        </wsdl:output>
      </wsdl:operation>
<...>

                                                                           5
                                                    © 2008 IONA Technologies
“Before” code
function onClickSayHi() {
  var xmlHttpRequest = GetXmlHttpRequestObject();
  // setup anonymous callback function to deal with response
  xmlHttp.onreadystatechange = function() {
    if(xmlHttp.readyState != 4) return;
    // LOTS of unmarshaling code goes here
  }
  // LOTS of marshaling code goes here
  xmlHttp.open("GET", url, true);
  xmlHttp.send(null);
}

                                                                             6
                                                      © 2008 IONA Technologies
“After” code :)‫‏‬
 function onSuccess(response) {
   var text = response.getResponseType();
 }

 function onError(error) {
   alert(error);
 }

 function onClickSayHi() {
   var service = GetGreeterService();
   service.sayHi(onSuccess, onError);
 }

                                                                   7
                                            © 2008 IONA Technologies
How to generate the code‫‏‬
  Use wsdl2js or java2js to generate the code upfront
  OR (even better) use the ...?js URL handler to generate the
  javascript on the fly




           WANNA SEE ???

                                                                            8
                                                     © 2008 IONA Technologies
Demo




                              9
       © 2008 IONA Technologies
Demo




       © 2008 IONA Technologies0
                              1
Demo




       © 2008 IONA Technologies1
                              1
Demo




       © 2008 IONA Technologies2
                              1
The Software Development Environment
  You can use what ever you want to develop the GUI
      Dashcode, Eclipse, GWTK, EMACS :)‫‏‬
  Latest version of Apache CXF
      Build it from the TRUNK or use one of the nightly builds
      Or download the next version of FUSE that will become available mid
      of May.
  iPhone simulator
      Use either the one that comes with the iPhone SDK or (if you are still
      on 10.4) the iPhoney simulator
      Windows users can download Safari 3 for Windows
  Debugging
      Dashcode, Drosera, (Firebug)‫‏‬



                                                                © 2008 IONA Technologies3
                                                                                       1
Summary
 We have shown you some powerful JavaScript generation
 capabilities which can accelerate your Web-Development
 efforts dramatically
 This is especially relevant, if you want to write Web-
 Applications for the iPhone
 Check it out :)‫‏‬
    The latest version of Apache CXF supports it right now (2.1)‫‏‬
    A supported version of the feature will become available through the
    FUSE Service Framework release in May 2008
    The demo code that we used in this session is available on
    open.iona.com




                                                             © 2008 IONA Technologies4
                                                                                    1
Resources
 Download FUSE: http://open.iona.com/downloads
 Apache CXF: http://incubator.apache.org/cxf/
 iPhoney: http://www.marketcircle.com/iphoney/
 Apple SDK: http://developer.apple.com/iphone/program/

 Any questions?
    EMail me: roland.tritsch@iona.com




                                               © 2008 IONA Technologies5
                                                                      1
What next?
 Join the community at
 open.iona.com

 Learn about IONA’s
 training, consultancy &
 support offerings




                           © 2008 IONA Technologies6
                                                  1
Use FUSE to accelerate
iPhone Web Development
FUSE Master Class Series

Roland Tritsch
Director Services EMEA
roland.tritsch@iona.com   17

Weitere ähnliche Inhalte

Was ist angesagt?

On boarding Appium Open Source
On boarding Appium Open SourceOn boarding Appium Open Source
On boarding Appium Open SourceAsaf Saar
 
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014Andrew McElroy
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - AppiumMaria Machlowska
 
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Asaf Saar
 
Ti.conf titanium on firefoxos
Ti.conf titanium on firefoxosTi.conf titanium on firefoxos
Ti.conf titanium on firefoxosAlessio Ricco
 
Unikernels and another way of secure cloud computing
Unikernels and another way of secure cloud computingUnikernels and another way of secure cloud computing
Unikernels and another way of secure cloud computingMotiejus Jakštys
 
PuppetCamp Verona 2013 - Razor, Puppet & VMware
PuppetCamp Verona 2013 - Razor, Puppet & VMwarePuppetCamp Verona 2013 - Razor, Puppet & VMware
PuppetCamp Verona 2013 - Razor, Puppet & VMwaregguglie
 
Automation With Appium
Automation With AppiumAutomation With Appium
Automation With AppiumKnoldus Inc.
 
Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Zado Technologies
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automationSunny Tambi
 
OS and Application deployment using Razor and Puppet
OS and Application deployment using Razor and PuppetOS and Application deployment using Razor and Puppet
OS and Application deployment using Razor and PuppetPuppet
 
Owasp API Security top 10 - The need of enterprise solutions for managing API...
Owasp API Security top 10 - The need of enterprise solutions for managing API...Owasp API Security top 10 - The need of enterprise solutions for managing API...
Owasp API Security top 10 - The need of enterprise solutions for managing API...Tharindu Edirisinghe
 
Everything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumEverything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumLizzy Guido (she/her)
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile AppsSauce Labs
 
Mule soft munit test
Mule soft munit testMule soft munit test
Mule soft munit testSon Nguyen
 

Was ist angesagt? (17)

On boarding Appium Open Source
On boarding Appium Open SourceOn boarding Appium Open Source
On boarding Appium Open Source
 
Vision
VisionVision
Vision
 
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - Appium
 
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
 
Ti.conf titanium on firefoxos
Ti.conf titanium on firefoxosTi.conf titanium on firefoxos
Ti.conf titanium on firefoxos
 
Unikernels and another way of secure cloud computing
Unikernels and another way of secure cloud computingUnikernels and another way of secure cloud computing
Unikernels and another way of secure cloud computing
 
PuppetCamp Verona 2013 - Razor, Puppet & VMware
PuppetCamp Verona 2013 - Razor, Puppet & VMwarePuppetCamp Verona 2013 - Razor, Puppet & VMware
PuppetCamp Verona 2013 - Razor, Puppet & VMware
 
Automation With Appium
Automation With AppiumAutomation With Appium
Automation With Appium
 
Appium & Jenkins
Appium & JenkinsAppium & Jenkins
Appium & Jenkins
 
Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automation
 
OS and Application deployment using Razor and Puppet
OS and Application deployment using Razor and PuppetOS and Application deployment using Razor and Puppet
OS and Application deployment using Razor and Puppet
 
Owasp API Security top 10 - The need of enterprise solutions for managing API...
Owasp API Security top 10 - The need of enterprise solutions for managing API...Owasp API Security top 10 - The need of enterprise solutions for managing API...
Owasp API Security top 10 - The need of enterprise solutions for managing API...
 
Everything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumEverything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and Selenium
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
 
Mule soft munit test
Mule soft munit testMule soft munit test
Mule soft munit test
 

Ähnlich wie iPhone meets SOA - 06/2008

(Christian heilman) firefox
(Christian heilman) firefox(Christian heilman) firefox
(Christian heilman) firefoxNAVER D2
 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaChristian Heilmann
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
Make the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourceMake the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourcePerfecto by Perforce
 
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureEclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureTonny Madsen
 
Cross Platform Mobile Technologies
Cross Platform Mobile TechnologiesCross Platform Mobile Technologies
Cross Platform Mobile TechnologiesTalentica Software
 
Soirée Flex/RIA au Nantes jug
Soirée Flex/RIA au Nantes jugSoirée Flex/RIA au Nantes jug
Soirée Flex/RIA au Nantes jugFrançois Le Droff
 
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioCreate Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioGuilhem Ensuque
 
Introduction to Eqela development
Introduction to Eqela developmentIntroduction to Eqela development
Introduction to Eqela developmentjobandesther
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopmentgillygize
 
Videogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha TouchVideogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha TouchAlexander Wilhelm
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to TitaniumGraham Weldon
 
Seven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseSeven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseMatt Raible
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigationoppokui
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year projectsuneel singh
 

Ähnlich wie iPhone meets SOA - 06/2008 (20)

(Christian heilman) firefox
(Christian heilman) firefox(Christian heilman) firefox
(Christian heilman) firefox
 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World Romania
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
Make the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourceMake the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open Source
 
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureEclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
 
Lamp Zend Security
Lamp Zend SecurityLamp Zend Security
Lamp Zend Security
 
Cross Platform Mobile Technologies
Cross Platform Mobile TechnologiesCross Platform Mobile Technologies
Cross Platform Mobile Technologies
 
Soirée Flex/RIA au Nantes jug
Soirée Flex/RIA au Nantes jugSoirée Flex/RIA au Nantes jug
Soirée Flex/RIA au Nantes jug
 
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS StudioCreate Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
 
Introduction to Eqela development
Introduction to Eqela developmentIntroduction to Eqela development
Introduction to Eqela development
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopment
 
Videogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha TouchVideogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha Touch
 
Codename one
Codename oneCodename one
Codename one
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
 
Seven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseSeven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuse
 
Ramji
RamjiRamji
Ramji
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigation
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year project
 
Adobe Air
Adobe AirAdobe Air
Adobe Air
 

Mehr von Roland Tritsch

Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...
Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...
Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...Roland Tritsch
 
Reactive Programming Meetup - NodeJs on K8s
Reactive Programming Meetup - NodeJs on K8sReactive Programming Meetup - NodeJs on K8s
Reactive Programming Meetup - NodeJs on K8sRoland Tritsch
 
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthrough
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthroughScala, Android & BLE - Scala Meetup Dublin - Hands on code walkthrough
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthroughRoland Tritsch
 
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?Roland Tritsch
 
Mobile Monday - WebServices on the iPhone - 05/2008
Mobile Monday - WebServices on the iPhone - 05/2008Mobile Monday - WebServices on the iPhone - 05/2008
Mobile Monday - WebServices on the iPhone - 05/2008Roland Tritsch
 
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013Roland Tritsch
 
A SOA for the car - 01/2009
A SOA for the car - 01/2009A SOA for the car - 01/2009
A SOA for the car - 01/2009Roland Tritsch
 
Puppet Camp Dublin - 06/2012
Puppet Camp Dublin - 06/2012Puppet Camp Dublin - 06/2012
Puppet Camp Dublin - 06/2012Roland Tritsch
 
Innovation, Gilt and Ireland - 11/2011
Innovation, Gilt and Ireland - 11/2011Innovation, Gilt and Ireland - 11/2011
Innovation, Gilt and Ireland - 11/2011Roland Tritsch
 
Teaching Functional Programming @ TCD - 11/2012
Teaching Functional Programming @ TCD - 11/2012Teaching Functional Programming @ TCD - 11/2012
Teaching Functional Programming @ TCD - 11/2012Roland Tritsch
 
"Managed Customization” in the Garment Industry - 10/2010
"Managed Customization” in the Garment Industry - 10/2010"Managed Customization” in the Garment Industry - 10/2010
"Managed Customization” in the Garment Industry - 10/2010Roland Tritsch
 
RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009Roland Tritsch
 
AJAX for Mobile Devices - 04/2009
AJAX for Mobile Devices - 04/2009AJAX for Mobile Devices - 04/2009
AJAX for Mobile Devices - 04/2009Roland Tritsch
 

Mehr von Roland Tritsch (14)

Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...
Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...
Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...
 
SMACK Stack @ Nitro
SMACK Stack @ NitroSMACK Stack @ Nitro
SMACK Stack @ Nitro
 
Reactive Programming Meetup - NodeJs on K8s
Reactive Programming Meetup - NodeJs on K8sReactive Programming Meetup - NodeJs on K8s
Reactive Programming Meetup - NodeJs on K8s
 
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthrough
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthroughScala, Android & BLE - Scala Meetup Dublin - Hands on code walkthrough
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthrough
 
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?
 
Mobile Monday - WebServices on the iPhone - 05/2008
Mobile Monday - WebServices on the iPhone - 05/2008Mobile Monday - WebServices on the iPhone - 05/2008
Mobile Monday - WebServices on the iPhone - 05/2008
 
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
 
A SOA for the car - 01/2009
A SOA for the car - 01/2009A SOA for the car - 01/2009
A SOA for the car - 01/2009
 
Puppet Camp Dublin - 06/2012
Puppet Camp Dublin - 06/2012Puppet Camp Dublin - 06/2012
Puppet Camp Dublin - 06/2012
 
Innovation, Gilt and Ireland - 11/2011
Innovation, Gilt and Ireland - 11/2011Innovation, Gilt and Ireland - 11/2011
Innovation, Gilt and Ireland - 11/2011
 
Teaching Functional Programming @ TCD - 11/2012
Teaching Functional Programming @ TCD - 11/2012Teaching Functional Programming @ TCD - 11/2012
Teaching Functional Programming @ TCD - 11/2012
 
"Managed Customization” in the Garment Industry - 10/2010
"Managed Customization” in the Garment Industry - 10/2010"Managed Customization” in the Garment Industry - 10/2010
"Managed Customization” in the Garment Industry - 10/2010
 
RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009
 
AJAX for Mobile Devices - 04/2009
AJAX for Mobile Devices - 04/2009AJAX for Mobile Devices - 04/2009
AJAX for Mobile Devices - 04/2009
 

iPhone meets SOA - 06/2008

  • 1. Use FUSE to accelerate iPhone Web Development FUSE Master Class Series Roland Tritsch Director Services EMEA roland.tritsch@iona.com 1
  • 2. Introduction This session will show you how to use FUSE to access SOAP/ HTTP WebServices from the iPhone The code we are using in this session is available from the IONA FUSE demo/download area open.iona.com The main target audience for this session are Architects and Developers that want to build iPhone applications that integrate with the web 2 © 2008 IONA Technologies
  • 3. Agenda Why is this important/relevant? Understanding the solution Show the code - before and after Understanding the demo! The service interface The client side implementation The Software Development Environment Summary 3 © 2008 IONA Technologies
  • 4. Why is this important/relevant? With the new iPhone SDK you can implement applications using Objective-C or AJAX (XHTML, JavaScript, CSS)‫‏‬ The AJAX environment is quite powerful, but writing all the code to send/receive (marshal/unmarshal) data using XmlHttpRequest is extremly tedious and errorprone How cool would it be, if you could use a wsdl2js or java2js compiler to generate a complete SOAP/HTTP client side stack for a given service and invoke on the operations of the service with a simple request-response interface? Hint: This stack would obviously still use XmlHttpRequest under the hood, but this would not bother you anymore. Plus all of the marshaling code is generated. 4 © 2008 IONA Technologies
  • 5. The Service Interface <...> <wsdl:operation name="sayHi"> <soap:operation soapAction="" style="document"/> <wsdl:input name="sayHiRequest"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="sayHiResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <...> 5 © 2008 IONA Technologies
  • 6. “Before” code function onClickSayHi() { var xmlHttpRequest = GetXmlHttpRequestObject(); // setup anonymous callback function to deal with response xmlHttp.onreadystatechange = function() { if(xmlHttp.readyState != 4) return; // LOTS of unmarshaling code goes here } // LOTS of marshaling code goes here xmlHttp.open("GET", url, true); xmlHttp.send(null); } 6 © 2008 IONA Technologies
  • 7. “After” code :)‫‏‬ function onSuccess(response) { var text = response.getResponseType(); } function onError(error) { alert(error); } function onClickSayHi() { var service = GetGreeterService(); service.sayHi(onSuccess, onError); } 7 © 2008 IONA Technologies
  • 8. How to generate the code‫‏‬ Use wsdl2js or java2js to generate the code upfront OR (even better) use the ...?js URL handler to generate the javascript on the fly WANNA SEE ??? 8 © 2008 IONA Technologies
  • 9. Demo 9 © 2008 IONA Technologies
  • 10. Demo © 2008 IONA Technologies0 1
  • 11. Demo © 2008 IONA Technologies1 1
  • 12. Demo © 2008 IONA Technologies2 1
  • 13. The Software Development Environment You can use what ever you want to develop the GUI Dashcode, Eclipse, GWTK, EMACS :)‫‏‬ Latest version of Apache CXF Build it from the TRUNK or use one of the nightly builds Or download the next version of FUSE that will become available mid of May. iPhone simulator Use either the one that comes with the iPhone SDK or (if you are still on 10.4) the iPhoney simulator Windows users can download Safari 3 for Windows Debugging Dashcode, Drosera, (Firebug)‫‏‬ © 2008 IONA Technologies3 1
  • 14. Summary We have shown you some powerful JavaScript generation capabilities which can accelerate your Web-Development efforts dramatically This is especially relevant, if you want to write Web- Applications for the iPhone Check it out :)‫‏‬ The latest version of Apache CXF supports it right now (2.1)‫‏‬ A supported version of the feature will become available through the FUSE Service Framework release in May 2008 The demo code that we used in this session is available on open.iona.com © 2008 IONA Technologies4 1
  • 15. Resources Download FUSE: http://open.iona.com/downloads Apache CXF: http://incubator.apache.org/cxf/ iPhoney: http://www.marketcircle.com/iphoney/ Apple SDK: http://developer.apple.com/iphone/program/ Any questions? EMail me: roland.tritsch@iona.com © 2008 IONA Technologies5 1
  • 16. What next? Join the community at open.iona.com Learn about IONA’s training, consultancy & support offerings © 2008 IONA Technologies6 1
  • 17. Use FUSE to accelerate iPhone Web Development FUSE Master Class Series Roland Tritsch Director Services EMEA roland.tritsch@iona.com 17