SlideShare une entreprise Scribd logo
1  sur  23
iBeans = dead-simple integration + web app development Ken Yagen Silicon Valley Code Camp, October, 2009
Agenda ,[object Object]
Demo
How it works
Using iBeans
The Future of iBeans All contents Copyright © 2009, MuleSoft Inc.
What is an iBean? ,[object Object]
A well-defined interface to a hosted service ,[object Object],[object Object]
A really easy way to create a reusable component All contents Copyright © 2009, MuleSoft Inc.
Introduction to Mule iBeans ,[object Object]
Simple API using annotations
Works with JSP, JSF, Struts, Spring, JavaScript
Task-based integration, e.g.: ,[object Object]
Subscribe to JMS queue
Poll RSS or Twitter feed
Publish REST service ,[object Object]
Based on Mule All contents Copyright © 2009, MuleSoft Inc.
Do we need another framework? ,[object Object],[object Object],[object Object]
Not much for the WebApp developers who just wants grab data quickly
Focus on:  ,[object Object]
Reuse
Task-based integration All contents Copyright © 2009, MuleSoft Inc.
Demo time All contents Copyright © 2009, MuleSoft Inc.

Contenu connexe

Tendances

Dreamforce 2013 - Heroku 5 use cases
Dreamforce 2013 - Heroku 5 use casesDreamforce 2013 - Heroku 5 use cases
Dreamforce 2013 - Heroku 5 use casesVincent Spehner
 
Architecting in the Cloud: Choosing the Right Technologies for your Solution
Architecting in the Cloud: Choosing the Right Technologies for your SolutionArchitecting in the Cloud: Choosing the Right Technologies for your Solution
Architecting in the Cloud: Choosing the Right Technologies for your SolutionJeff Douglas
 
Why mobile projects require API-led connectivity
Why mobile projects require API-led connectivityWhy mobile projects require API-led connectivity
Why mobile projects require API-led connectivityMuleSoft
 
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoftHybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoftMuleSoft
 
What is CloudSpokes?
What is CloudSpokes?What is CloudSpokes?
What is CloudSpokes?Raymond Gao
 
Integrating Force.com with Heroku
Integrating Force.com with HerokuIntegrating Force.com with Heroku
Integrating Force.com with HerokuPat Patterson
 
Connect Your Clouds with Force.com
Connect Your Clouds with Force.comConnect Your Clouds with Force.com
Connect Your Clouds with Force.comJeff Douglas
 
All About Salesforce Lightning
All About Salesforce LightningAll About Salesforce Lightning
All About Salesforce LightningJanBask
 
Product Keynote: How to Compete in the API Economy
Product Keynote: How to Compete in the API EconomyProduct Keynote: How to Compete in the API Economy
Product Keynote: How to Compete in the API EconomyMuleSoft
 
Three layer API Design Architecture
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design ArchitectureHarish Kumar
 
Integration patterns and practices for cloud and mobile computing
Integration patterns and practices for cloud and mobile computingIntegration patterns and practices for cloud and mobile computing
Integration patterns and practices for cloud and mobile computingSHAKIL AKHTAR
 
Using Node.js for Mocking Apex Web Services
Using Node.js for Mocking Apex Web ServicesUsing Node.js for Mocking Apex Web Services
Using Node.js for Mocking Apex Web ServicesJeff Douglas
 
Running and Managing Mule Applications
Running and Managing Mule ApplicationsRunning and Managing Mule Applications
Running and Managing Mule ApplicationsMuleSoft
 
Mule api and service management
Mule api and service managementMule api and service management
Mule api and service managementD.Rajesh Kumar
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comJeff Douglas
 
Connecting the New Enterprise | MuleSoft
Connecting the New Enterprise | MuleSoftConnecting the New Enterprise | MuleSoft
Connecting the New Enterprise | MuleSoftMuleSoft
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureKim Clark
 
Netsuite open air connector
Netsuite open air connectorNetsuite open air connector
Netsuite open air connectorD.Rajesh Kumar
 
Mule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesMule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesAnirudh Pandit
 

Tendances (20)

Dreamforce 2013 - Heroku 5 use cases
Dreamforce 2013 - Heroku 5 use casesDreamforce 2013 - Heroku 5 use cases
Dreamforce 2013 - Heroku 5 use cases
 
Architecting in the Cloud: Choosing the Right Technologies for your Solution
Architecting in the Cloud: Choosing the Right Technologies for your SolutionArchitecting in the Cloud: Choosing the Right Technologies for your Solution
Architecting in the Cloud: Choosing the Right Technologies for your Solution
 
Why mobile projects require API-led connectivity
Why mobile projects require API-led connectivityWhy mobile projects require API-led connectivity
Why mobile projects require API-led connectivity
 
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoftHybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
Hybrid Cloud Integration is Coming: Are You Ready? | MuleSoft
 
Mule esb stripe
Mule esb stripeMule esb stripe
Mule esb stripe
 
What is CloudSpokes?
What is CloudSpokes?What is CloudSpokes?
What is CloudSpokes?
 
Integrating Force.com with Heroku
Integrating Force.com with HerokuIntegrating Force.com with Heroku
Integrating Force.com with Heroku
 
Connect Your Clouds with Force.com
Connect Your Clouds with Force.comConnect Your Clouds with Force.com
Connect Your Clouds with Force.com
 
All About Salesforce Lightning
All About Salesforce LightningAll About Salesforce Lightning
All About Salesforce Lightning
 
Product Keynote: How to Compete in the API Economy
Product Keynote: How to Compete in the API EconomyProduct Keynote: How to Compete in the API Economy
Product Keynote: How to Compete in the API Economy
 
Three layer API Design Architecture
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design Architecture
 
Integration patterns and practices for cloud and mobile computing
Integration patterns and practices for cloud and mobile computingIntegration patterns and practices for cloud and mobile computing
Integration patterns and practices for cloud and mobile computing
 
Using Node.js for Mocking Apex Web Services
Using Node.js for Mocking Apex Web ServicesUsing Node.js for Mocking Apex Web Services
Using Node.js for Mocking Apex Web Services
 
Running and Managing Mule Applications
Running and Managing Mule ApplicationsRunning and Managing Mule Applications
Running and Managing Mule Applications
 
Mule api and service management
Mule api and service managementMule api and service management
Mule api and service management
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
 
Connecting the New Enterprise | MuleSoft
Connecting the New Enterprise | MuleSoftConnecting the New Enterprise | MuleSoft
Connecting the New Enterprise | MuleSoft
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture
 
Netsuite open air connector
Netsuite open air connectorNetsuite open air connector
Netsuite open air connector
 
Mule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesMule : Building Blocks for Microservices
Mule : Building Blocks for Microservices
 

Similaire à iBeans = Dead-simple integration for web app development

Ta Javaserverside Eran Toch
Ta Javaserverside Eran TochTa Javaserverside Eran Toch
Ta Javaserverside Eran TochAdil Jafri
 
Xke - Introduction to Apache Camel
Xke - Introduction to Apache CamelXke - Introduction to Apache Camel
Xke - Introduction to Apache CamelAlexis Kinsella
 
Apache Aries Blog Sample
Apache Aries Blog SampleApache Aries Blog Sample
Apache Aries Blog SampleSkills Matter
 
Building TweetEngine
Building TweetEngineBuilding TweetEngine
Building TweetEngineikailan
 
Spring training
Spring trainingSpring training
Spring trainingTechFerry
 
Interoperable Web Services with JAX-WS
Interoperable Web Services with JAX-WSInteroperable Web Services with JAX-WS
Interoperable Web Services with JAX-WSCarol McDonald
 
Introduction To ASP.NET MVC
Introduction To ASP.NET MVCIntroduction To ASP.NET MVC
Introduction To ASP.NET MVCAlan Dean
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Pythongturnquist
 
比XML更好用的Java Annotation
比XML更好用的Java Annotation比XML更好用的Java Annotation
比XML更好用的Java Annotationjavatwo2011
 
Java Technology
Java TechnologyJava Technology
Java Technologyifnu bima
 
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobileJavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobileLoiane Groner
 
A Walking Tour of (almost) all of Springdom
A Walking Tour of (almost) all of Springdom A Walking Tour of (almost) all of Springdom
A Walking Tour of (almost) all of Springdom Joshua Long
 
Automated Testing Of Web Applications Using XML
Automated  Testing Of  Web  Applications Using  XMLAutomated  Testing Of  Web  Applications Using  XML
Automated Testing Of Web Applications Using XMLdiongillard
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideSharebiyu
 
Baocao Web Tech Java Mail
Baocao Web Tech Java MailBaocao Web Tech Java Mail
Baocao Web Tech Java Mailxicot
 
Rapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesRapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesciklum_ods
 
Rich Enterprise Applications with JavaFX
Rich Enterprise Applications with JavaFXRich Enterprise Applications with JavaFX
Rich Enterprise Applications with JavaFXMax Katz
 

Similaire à iBeans = Dead-simple integration for web app development (20)

Ta Javaserverside Eran Toch
Ta Javaserverside Eran TochTa Javaserverside Eran Toch
Ta Javaserverside Eran Toch
 
Xke - Introduction to Apache Camel
Xke - Introduction to Apache CamelXke - Introduction to Apache Camel
Xke - Introduction to Apache Camel
 
Apache Aries Blog Sample
Apache Aries Blog SampleApache Aries Blog Sample
Apache Aries Blog Sample
 
Building TweetEngine
Building TweetEngineBuilding TweetEngine
Building TweetEngine
 
Spring training
Spring trainingSpring training
Spring training
 
Interoperable Web Services with JAX-WS
Interoperable Web Services with JAX-WSInteroperable Web Services with JAX-WS
Interoperable Web Services with JAX-WS
 
Introduction To ASP.NET MVC
Introduction To ASP.NET MVCIntroduction To ASP.NET MVC
Introduction To ASP.NET MVC
 
Lecture19
Lecture19Lecture19
Lecture19
 
Oredev 2009 JAX-RS
Oredev 2009 JAX-RSOredev 2009 JAX-RS
Oredev 2009 JAX-RS
 
REST made simple with Java
REST made simple with JavaREST made simple with Java
REST made simple with Java
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Python
 
比XML更好用的Java Annotation
比XML更好用的Java Annotation比XML更好用的Java Annotation
比XML更好用的Java Annotation
 
Java Technology
Java TechnologyJava Technology
Java Technology
 
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobileJavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
 
A Walking Tour of (almost) all of Springdom
A Walking Tour of (almost) all of Springdom A Walking Tour of (almost) all of Springdom
A Walking Tour of (almost) all of Springdom
 
Automated Testing Of Web Applications Using XML
Automated  Testing Of  Web  Applications Using  XMLAutomated  Testing Of  Web  Applications Using  XML
Automated Testing Of Web Applications Using XML
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideShare
 
Baocao Web Tech Java Mail
Baocao Web Tech Java MailBaocao Web Tech Java Mail
Baocao Web Tech Java Mail
 
Rapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesRapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devices
 
Rich Enterprise Applications with JavaFX
Rich Enterprise Applications with JavaFXRich Enterprise Applications with JavaFX
Rich Enterprise Applications with JavaFX
 

Dernier

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Dernier (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

iBeans = Dead-simple integration for web app development

  • 1. iBeans = dead-simple integration + web app development Ken Yagen Silicon Valley Code Camp, October, 2009
  • 2.
  • 6. The Future of iBeans All contents Copyright © 2009, MuleSoft Inc.
  • 7.
  • 8.
  • 9. A really easy way to create a reusable component All contents Copyright © 2009, MuleSoft Inc.
  • 10.
  • 11. Simple API using annotations
  • 12. Works with JSP, JSF, Struts, Spring, JavaScript
  • 13.
  • 15. Poll RSS or Twitter feed
  • 16.
  • 17. Based on Mule All contents Copyright © 2009, MuleSoft Inc.
  • 18.
  • 19. Not much for the WebApp developers who just wants grab data quickly
  • 20.
  • 21. Reuse
  • 22. Task-based integration All contents Copyright © 2009, MuleSoft Inc.
  • 23. Demo time All contents Copyright © 2009, MuleSoft Inc.
  • 24.
  • 25.
  • 26. Full support for AJAX messaging and RPC
  • 27. iBeans console used for updating and removing features
  • 28. IBean and Application annotations
  • 29. Modules for: Email, Scheduling, Atom, Jms, Rest, Ajax, Xml, Guice, Spring
  • 30. Built with the cloud in mind Tomcat/Tcat Server/Mule Mule iBeans Web App 1 Web App 2 Web App 3 Cloud and data services All contents Copyright © 2009, MuleSoft Inc. iBeans Central Update Browse
  • 31. The @Call and @UriParam Annotations public interface TwitterIBean { @Call (uri = " http://www.twitter.com/statuses/show/{id}.json ") String statusesShow( @UriParam (" id ") String id) throws CallException; } All contents Copyright © 2009, MuleSoft Inc.
  • 32. The @State Annotation public interface TwitterIBean { @State void init( @UriParam (“ format ”) String format); @Call (uri = “ http://www.twitter.com/statuses/show/{id}.{format} ”) String statusesShow( @UriParam (" id ") String id) throws CallException; } All contents Copyright © 2009, MuleSoft Inc.
  • 33. Static Defaults public interface TwitterIBean { @UriParam (“ format ”) static String DEFAULT_FORMAT = “ json ”; @State void init( @UriParam (“ format ”) String format); @Call (uri = " http://www.twitter.com/statuses/show/{id}.{format} ") String statusesShow( @UriParam (" id ") String id) throws CallException; } All contents Copyright © 2009, MuleSoft Inc.
  • 34. The @ReturnType Annotation and Generic Types public interface TwitterIBean { @UriParam (“ format ”) static String DEFAULT_FORMAT = “ json ”; @State void init( @UriParam (“ format ”) String format, @ReturnType Class retType); @Call (uri = &quot; http://www.twitter.com/statuses/show/{id}.{format} &quot;) <T>T statusesShow( @UriParam (&quot; id &quot;) String id) throws CallException; } All contents Copyright © 2009, MuleSoft Inc.
  • 35. Always provide sensible defaults public interface TwitterIBean { @UriParam (“ format ”) static String DEFAULT_FORMAT = “ json ” ; @ReturnType static Class DEFAULT_RETURN_TYPE = String. class ; @State void init( @UriParam (“ format ”) String format, @ReturnType Class retType); @Call (uri = &quot; http://www.twitter.com/statuses/show/{id}.{format} &quot;) <T>T statusesShow( @UriParam (&quot; id &quot;) String id) throws CallException; } All contents Copyright © 2009, MuleSoft Inc.
  • 36. Testing the iBean public class TwitterIBeanTest extends AbstractIBeansTestCase { @IntegrationBean private TwitterIBean twitter; public void testTwitter() throws Exception { twitter.init(“ xml ”, Document. class ); Document doc = twitter.statusesShow(“ 1234567890 ”); } } All contents Copyright © 2009, MuleSoft Inc.
  • 37. Other Annotations Annotation Description Type @HeaderParam Configures a header on the outgoing message Param, Field @PayloadParam Used for Http, configures a POST parameter Param @Payload Attaches data to the body of the message Param @State Will store values on the instance of the bean for later reference Method @PropertyParam Adds a property to the message that can be used later i.e. user/pass for authentication Param, Field All contents Copyright © 2009, MuleSoft Inc.
  • 38. Transforming Response Data public class TwitterTransformers { @Transformer protected Status twitterXmlToStatus(Document doc) { String status = selectValue(&quot; /status/text &quot;, doc); String user = selectValue(&quot; /user/name &quot;, doc); return new Status(status, user); } } All contents Copyright © 2009, MuleSoft Inc.
  • 39. public class TwitterIBeanTest extends AbstractIBeansTestCase { @IntegrationBean private TwitterIBean twitter; public void testTwitter() throws Exception { registerBeans( new TwitterTransformers()); twitter.init(“ xml ”, Status. class ); Status status = twitter.statusesShow(“ 1234567890 ”); } } Testing iBeans All contents Copyright © 2009, MuleSoft Inc.
  • 40. Application Annotations Annotation Description Type @Schedule Cron scheduling for calling a method, can be used to poll channels Method @Receive Receive Data on a channel URI Method @Send Send the return of the method on a channel URI Method @ReceiveAndReply Receive Data on a channel URI and send the return back to the caller Method All contents Copyright © 2009, MuleSoft Inc.
  • 41. @Schedule, @Send Example public class TwitterSchedule { @IntegrationBean private TwitterIBean twitter; @Schedule (interval = 5000) @Send (uri = &quot; ajax:///ibeans/ajax/twitter &quot;) public Document getTimeline() throws Exception { twitter.init(“ xml ”, Document. class ) return twitter.getPublicTimeline(); } } All contents Copyright © 2009, MuleSoft Inc.
  • 42. iBeans Console All contents Copyright © 2009, MuleSoft Inc.
  • 43.
  • 45. Get help for an iBean
  • 46. Test an ibean really quickly All contents Copyright © 2009, MuleSoft Inc.
  • 47.
  • 48.
  • 49. Authentication All contents Copyright © 2009, MuleSoft Inc.
  • 50.
  • 51. Support for scripting in the console
  • 52. Combine with Tcat for cloud development and provisioning
  • 54. Mule 3.0 will be able to host iBeans
  • 55. Support for other languages: Scala, Ruby, Clojure, etc
  • 56. Could become the WCF for the JVM… All contents Copyright © 2009, MuleSoft Inc.
  • 57.
  • 59. Company: http://mulesoft.com All contents Copyright © 2009, MuleSoft Inc.