SlideShare uma empresa Scribd logo
1 de 52
Interoperable Ajax Tools and Mashups ,[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
OpenAjax Alliance ,[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups 3
Membership ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups 4
OpenAjax Alliance Scope of Activities ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
Agenda ,[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
What should be possible Interoperable Ajax Tools and Mashups (JSDT and WTP) Ajax Developer Tools: (and many more ….) Ajax Toolkits: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],(and countless more ….) Plug-and-Play Interoperability
Key IDE features to enable ,[object Object],Interoperable Ajax Tools and Mashups WYSIWYG authoring with widgets
What we have today ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
Leading developer tools came together in the OpenAjax Alliance IDE Working Group ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
Advantages of universal plug&play ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
Solution: OpenAjax Metadata ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
OpenAjax Metadata: why XML (vs JSON)? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
OpenAjax Metadata for JavaScript APIs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
OpenAjax Metadata for JavaScript APIs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
OpenAjax Metadata for JavaScript APIs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tool support (JS APIs) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups ,[object Object],[object Object]
OpenAjax Metadata for Widgets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
OpenAjax Metadata for Widgets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups <widget> is the root element.
OpenAjax Metadata for Widgets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups <library> and <require> elements identify the dependencies, such as the Ajax libraries and supplemental files (e.g., calendar.js) needed by this widget.
OpenAjax Metadata for Widgets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups <property> elements specify the list of widget parameters that should appear in property editor dialogs.  You can make the widget “mashable” by enabling cross-widget property sharing via the  ‘sharedAs’  attribute and cross-widget pubsub via the  <topic>  element (not shown).
OpenAjax Metadata for Widgets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups <content> element contains the HTML snippet for the visual rendering of the widget.
Industry support (Widgets) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
OpenAjax Metadata 1.0: current status ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
Demo: OpenAjax Sample Mashup Application ,[object Object],[object Object],[object Object]
OpenAjax Hub 1.0 – an example Interoperable Ajax Tools and Mashups OpenAjax Hub 1.0 Example This is a mockup of a Web application that uses UI controls from multiple Ajax toolkits. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example – under the hood Interoperable Ajax Tools and Mashups <html> <head> ... <script type=&quot;text/javascript&quot; src=&quot;OpenAjax.js&quot;/> <script type=&quot;text/javascript&quot; src=&quot;UTILS.js&quot;/> <script type=&quot;text/javascript&quot; src=&quot;CALENDAR.js&quot;/> <script type=&quot;text/javascript&quot; src=&quot;CHARTS.js&quot;/> <script type=&quot;text/javascript&quot; src=&quot;DATAGRID.js&quot;/> <script type=&quot;text/javascript&quot;> ... function MyCalendarCallback(...) { OpenAjax.hub.publish(&quot;myapp.newdate&quot;, newdate); } ... function NewDateCallback(eventname, publisherData, subscriberData) { ...update the given visualization widget... } OpenAjax.hub.subscribe(&quot;myapp.newdate&quot;, NewDateCallback); ... </script> </head> ...
Demo: OpenAjax Sample Mashup Pub-Sub example ,[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
Mashup Applications ,[object Object],[object Object]
Two types of mashups ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
End-user mashups – the self-service business pattern Interoperable Ajax Tools and Mashups
Business value of end-user mashups Interoperable Ajax Tools and Mashups ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mashup software Interoperable Ajax Tools and Mashups ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IBM Lotus Mashups
IBM Project “Blue Spruce” collaborative interactive mashups
Widget innovation – no shortage Interoperable Ajax Tools and Mashups ,[object Object],[object Object],[object Object],[object Object]
End-User Mashup Step 1: Widget and Feed  Discovery and Cataloging Interoperable Ajax Tools and Mashups ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Public site 1 Personal data Company site 2 Public site 2 Public site 3 Company site 1 Public site 4 Data transform Data merge and transform (Feeds are packaged as widgets)
End-user Mashup Step 2: Mashup Assembly Interoperable Ajax Tools and Mashups Widget Catalog Widget-A Widget-B Widget-C Widget-D Widget-E Widget-F etc. Web browser URL: http://example.com/mashup_builder Widget-C Widget-E Widget-A User drags widgets from widget catalog and drops onto the canvas Using the mashup tool, the mashup designer links event publishers with event subscribers.  As a result, user actions on one particular widget will cause a message to be sent to the other widgets, thereby triggering updates in those other widgets
As the mashup runs, widgets communicate with each other and with various servers Interoperable Ajax Tools and Mashups Communicates in the  background with one of the company’s web servers Company server Communicates in the  background with a  public web server Public server 1 Communicates in the  background with a  public web server Public server 2 Web browser URL: http://example.com/mashup_builder Widget-C Widget-E Widget-A Message passing between the widgets
Industry challenges ,[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
Mashup security challenge Interoperable Ajax Tools and Mashups Communicates in the  background with one of the company’s web servers Company server (trusted) Communicates in the  background with a  public web server Public server 1 (untrusted) Communicates in the  background with a  public web server Public server 2 (untrusted) Web browser URL: http://example.com/mashup_builder Widget-C Widget-E Widget-A Message passing between the widgets ,[object Object],[object Object],[object Object]
Browser Security ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
OpenAjax Hub 2.0 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
OpenAjax Hub 2.0 Security Overview Interoperable Ajax Tools and Mashups Communicates in the background with one of the company’s web servers Company server Trustworthy Public Server Communicates in background with a malicious public server Malicious Public Server Web browser URL: http://example.com/mashup_builder Widget-A Widget-B Malicious Widget Communicates in background  with a trustworthy public server OpenAjax Hub 2.0 –  Widget Isolation and Messaging Mediator Hub 2.0 only permits cross-widget communication via a mediated publish/subscribe messaging bus Hub 2.0 isolates each widget into its own sandbox
Hub 2.0 Initialization Interoperable Ajax Tools and Mashups 5 Using the Managed Hub  Load OpenAjax Hub Create a “ManagedHub” instance, identifying security manager callbacks Create containers for each component in the mashup and then load/initialize the components within those containers As application runs, components publish messages to other components Typically at initialization time, components subscribe to message topics of interest Component subscribes to message topics:  OpenAjax.hub.HubClient.subscribe(…); Component publishes messages on Hub:  OpenAjax.hub.HubClient.publish(…); Web browser URL: http://example.com/mashup_builder/my_mashup2 1 2 3 4 3 Container HubClient Component-A HTML/JavaScript Container HubClient Component-B HTML/JavaScript OpenAjax.hub ManagedHub instance 1 2 2 Security manager callbacks 3 4 5
Run-time message passing with Hub 2.0 Interoperable Ajax Tools and Mashups Managed Hub Message Passing Component-B publishes a message IFrame container marshalls the message across browser frames IFrame container sends message to Managed Hub Security manager callbacks decide whether to let the message through Component-A’s callback is invoked Message sent to Component-A’s container Web browser URL: http://example.com/mashup_builder/my_mashup2 OpenAjax.hub ManagedHub instance Security manager callbacks 1 2 3 4 5 6 4 IframeContainer HubClient Component-B HTML/JavaScript Component publishes messages on Hub:  OpenAjax.hub.HubClient.publish(…); 1 <iframe> (for component isolation) InlineContainer HubClient Component-A HTML/JavaScript Component subscribes to message topics:  function MyCallBack() {…} OpenAjax.hub.HubClient.subscribe(…); <div> (inline component) 2 6 3 5
OpenAjax Hub 2.0: current status ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
Mashup and Widget Interoperability ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
Agenda ,[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups
DaVinci builder ,[object Object]
Thank you! Any questions? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Interoperable Ajax Tools and Mashups

Mais conteúdo relacionado

Mais procurados

Ant - Another Neat Tool
Ant - Another Neat ToolAnt - Another Neat Tool
Ant - Another Neat Tool
Kanika2885
 
Secure Ftp Java Style Rev004
Secure Ftp  Java Style Rev004Secure Ftp  Java Style Rev004
Secure Ftp Java Style Rev004
Rich Helton
 
C#Web Sec Oct27 2010 Final
C#Web Sec Oct27 2010 FinalC#Web Sec Oct27 2010 Final
C#Web Sec Oct27 2010 Final
Rich Helton
 
Developing Useful APIs
Developing Useful APIsDeveloping Useful APIs
Developing Useful APIs
Dmitry Buzdin
 

Mais procurados (20)

Unified Expression Language
Unified Expression LanguageUnified Expression Language
Unified Expression Language
 
Ant - Another Neat Tool
Ant - Another Neat ToolAnt - Another Neat Tool
Ant - Another Neat Tool
 
Alive and Well with Java 8
Alive and Well with Java 8Alive and Well with Java 8
Alive and Well with Java 8
 
Bring the fun back to java
Bring the fun back to javaBring the fun back to java
Bring the fun back to java
 
Secure Ftp Java Style Rev004
Secure Ftp  Java Style Rev004Secure Ftp  Java Style Rev004
Secure Ftp Java Style Rev004
 
C#Web Sec Oct27 2010 Final
C#Web Sec Oct27 2010 FinalC#Web Sec Oct27 2010 Final
C#Web Sec Oct27 2010 Final
 
Speed up your Web applications with HTML5 WebSockets
Speed up your Web applications with HTML5 WebSocketsSpeed up your Web applications with HTML5 WebSockets
Speed up your Web applications with HTML5 WebSockets
 
Developing Useful APIs
Developing Useful APIsDeveloping Useful APIs
Developing Useful APIs
 
Advanced Java
Advanced JavaAdvanced Java
Advanced Java
 
What's New in Java 8
What's New in Java 8What's New in Java 8
What's New in Java 8
 
Adding a modern twist to legacy web applications
Adding a modern twist to legacy web applicationsAdding a modern twist to legacy web applications
Adding a modern twist to legacy web applications
 
Spring aop
Spring aopSpring aop
Spring aop
 
Alteryx SDK
Alteryx SDKAlteryx SDK
Alteryx SDK
 
Jsp 01
Jsp 01Jsp 01
Jsp 01
 
Java servlets
Java servletsJava servlets
Java servlets
 
Java servlet life cycle - methods ppt
Java servlet life cycle - methods pptJava servlet life cycle - methods ppt
Java servlet life cycle - methods ppt
 
Servlet/JSP course chapter 1: Introduction to servlets
Servlet/JSP course chapter 1: Introduction to servletsServlet/JSP course chapter 1: Introduction to servlets
Servlet/JSP course chapter 1: Introduction to servlets
 
django Forms in a Web API World
django Forms in a Web API Worlddjango Forms in a Web API World
django Forms in a Web API World
 
SoftwareUniversity seminar fast REST Api with Spring
SoftwareUniversity seminar fast REST Api with SpringSoftwareUniversity seminar fast REST Api with Spring
SoftwareUniversity seminar fast REST Api with Spring
 
I pad uicatalog_lesson02
I pad uicatalog_lesson02I pad uicatalog_lesson02
I pad uicatalog_lesson02
 

Destaque

Turkey Coffee Presentation
Turkey Coffee PresentationTurkey Coffee Presentation
Turkey Coffee Presentation
Bryan Wachs
 
The Future is Fun - Pencil Animation
The Future is Fun - Pencil AnimationThe Future is Fun - Pencil Animation
The Future is Fun - Pencil Animation
mkc8b
 
David Wei And Changhao Jiang Presentation
David Wei And Changhao Jiang PresentationDavid Wei And Changhao Jiang Presentation
David Wei And Changhao Jiang Presentation
Ajax Experience 2009
 
First Quarter Review
First Quarter ReviewFirst Quarter Review
First Quarter Review
charsh
 
Douglas Crockford Presentation Goodparts
Douglas Crockford Presentation GoodpartsDouglas Crockford Presentation Goodparts
Douglas Crockford Presentation Goodparts
Ajax Experience 2009
 
Ch 16 1 Water In Atmosphere
Ch 16 1 Water In AtmosphereCh 16 1 Water In Atmosphere
Ch 16 1 Water In Atmosphere
charsh
 
The distributive property (1)
The distributive property (1)The distributive property (1)
The distributive property (1)
Megan Woods
 

Destaque (20)

Media Ctr Presentation
Media Ctr PresentationMedia Ctr Presentation
Media Ctr Presentation
 
Turkey Coffee Presentation
Turkey Coffee PresentationTurkey Coffee Presentation
Turkey Coffee Presentation
 
Transmedia Activism And LowLifes
Transmedia Activism And LowLifesTransmedia Activism And LowLifes
Transmedia Activism And LowLifes
 
Gaza project
Gaza projectGaza project
Gaza project
 
The Future is Fun - Pencil Animation
The Future is Fun - Pencil AnimationThe Future is Fun - Pencil Animation
The Future is Fun - Pencil Animation
 
信息分类和方法
信息分类和方法信息分类和方法
信息分类和方法
 
Reported speech
Reported speech Reported speech
Reported speech
 
Rebuilding The Rockaways
Rebuilding The RockawaysRebuilding The Rockaways
Rebuilding The Rockaways
 
David Wei And Changhao Jiang Presentation
David Wei And Changhao Jiang PresentationDavid Wei And Changhao Jiang Presentation
David Wei And Changhao Jiang Presentation
 
10 Steps to a Successful Project Kickoff
10 Steps to a Successful Project Kickoff10 Steps to a Successful Project Kickoff
10 Steps to a Successful Project Kickoff
 
High Performance Green Building: What is it worth?
High Performance Green Building: What is it worth?High Performance Green Building: What is it worth?
High Performance Green Building: What is it worth?
 
Transmedia and the Independent Filmmaker
Transmedia and the Independent FilmmakerTransmedia and the Independent Filmmaker
Transmedia and the Independent Filmmaker
 
First Quarter Review
First Quarter ReviewFirst Quarter Review
First Quarter Review
 
Douglas Crockford Presentation Goodparts
Douglas Crockford Presentation GoodpartsDouglas Crockford Presentation Goodparts
Douglas Crockford Presentation Goodparts
 
Ch 16 1 Water In Atmosphere
Ch 16 1 Water In AtmosphereCh 16 1 Water In Atmosphere
Ch 16 1 Water In Atmosphere
 
Smoothwall presentation feb open day
Smoothwall presentation feb open daySmoothwall presentation feb open day
Smoothwall presentation feb open day
 
Variability
VariabilityVariability
Variability
 
The distributive property (1)
The distributive property (1)The distributive property (1)
The distributive property (1)
 
Kagaya Yutaka Art - PPS by Sonia Medeiros
Kagaya Yutaka Art - PPS by Sonia MedeirosKagaya Yutaka Art - PPS by Sonia Medeiros
Kagaya Yutaka Art - PPS by Sonia Medeiros
 
150 Slater Sublease Flyer
150 Slater Sublease Flyer150 Slater Sublease Flyer
150 Slater Sublease Flyer
 

Semelhante a Adam Peller Interoperable Ajax Tools And Mashups

Interoperable Ajax Tools And Mashups Ferraiolo
Interoperable Ajax Tools And Mashups FerraioloInteroperable Ajax Tools And Mashups Ferraiolo
Interoperable Ajax Tools And Mashups Ferraiolo
rajivmordani
 
OpenSocial Intro
OpenSocial IntroOpenSocial Intro
OpenSocial Intro
Pamela Fox
 
Jaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social WebJaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social Web
Patrick Chanezon
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathon
marvin337
 
Building Secure Mashups With OpenAjax
Building Secure Mashups With OpenAjaxBuilding Secure Mashups With OpenAjax
Building Secure Mashups With OpenAjax
elliando dias
 
Ajax with DWR
Ajax with DWRAjax with DWR
Ajax with DWR
gouthamrv
 
China Science Challenge
China Science ChallengeChina Science Challenge
China Science Challenge
remko caprio
 
Enforcing API Design Rules for High Quality Code Generation
Enforcing API Design Rules for High Quality Code GenerationEnforcing API Design Rules for High Quality Code Generation
Enforcing API Design Rules for High Quality Code Generation
Tim Burks
 

Semelhante a Adam Peller Interoperable Ajax Tools And Mashups (20)

Interoperable Ajax Tools And Mashups Ferraiolo
Interoperable Ajax Tools And Mashups FerraioloInteroperable Ajax Tools And Mashups Ferraiolo
Interoperable Ajax Tools And Mashups Ferraiolo
 
OpenSocial Intro
OpenSocial IntroOpenSocial Intro
OpenSocial Intro
 
SMI - Introduction to Java
SMI - Introduction to JavaSMI - Introduction to Java
SMI - Introduction to Java
 
Jaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social WebJaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social Web
 
.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended Resources
 
Wt unit 2 ppts client sied technology
Wt unit 2 ppts client sied technologyWt unit 2 ppts client sied technology
Wt unit 2 ppts client sied technology
 
Wt unit 2 ppts client side technology
Wt unit 2 ppts client side technologyWt unit 2 ppts client side technology
Wt unit 2 ppts client side technology
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathon
 
Ajax toolkit framework
Ajax toolkit frameworkAjax toolkit framework
Ajax toolkit framework
 
Building Secure Mashups With OpenAjax
Building Secure Mashups With OpenAjaxBuilding Secure Mashups With OpenAjax
Building Secure Mashups With OpenAjax
 
Ajax with DWR
Ajax with DWRAjax with DWR
Ajax with DWR
 
Get Hip with JHipster - GIDS 2019
Get Hip with JHipster - GIDS 2019Get Hip with JHipster - GIDS 2019
Get Hip with JHipster - GIDS 2019
 
Welcome to React.pptx
Welcome to React.pptxWelcome to React.pptx
Welcome to React.pptx
 
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitJava Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Beyond HTML: Tools for Building Web 2.0 Apps
Beyond HTML: Tools for Building Web 2.0 AppsBeyond HTML: Tools for Building Web 2.0 Apps
Beyond HTML: Tools for Building Web 2.0 Apps
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software Development
 
China Science Challenge
China Science ChallengeChina Science Challenge
China Science Challenge
 
SgCodeJam24 Workshop
SgCodeJam24 WorkshopSgCodeJam24 Workshop
SgCodeJam24 Workshop
 
Enforcing API Design Rules for High Quality Code Generation
Enforcing API Design Rules for High Quality Code GenerationEnforcing API Design Rules for High Quality Code Generation
Enforcing API Design Rules for High Quality Code Generation
 

Mais de Ajax Experience 2009

Eric Beland Ajax Load Testing Considerations
Eric Beland Ajax Load Testing ConsiderationsEric Beland Ajax Load Testing Considerations
Eric Beland Ajax Load Testing Considerations
Ajax Experience 2009
 
Chanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling PagecacheChanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling Pagecache
Ajax Experience 2009
 
Jason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.FinalJason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.Final
Ajax Experience 2009
 
Colin Clark Accessible U Is With J Query And Infusion[1]
Colin Clark Accessible U Is With J Query And Infusion[1]Colin Clark Accessible U Is With J Query And Infusion[1]
Colin Clark Accessible U Is With J Query And Infusion[1]
Ajax Experience 2009
 
Scott Isaacs Presentationajaxexperience (Final)
Scott Isaacs Presentationajaxexperience (Final)Scott Isaacs Presentationajaxexperience (Final)
Scott Isaacs Presentationajaxexperience (Final)
Ajax Experience 2009
 
Sergey Ilinsky Presentation Ample Sdk
Sergey Ilinsky Presentation Ample SdkSergey Ilinsky Presentation Ample Sdk
Sergey Ilinsky Presentation Ample Sdk
Ajax Experience 2009
 
Chris Williams Presentation Dissident
Chris Williams Presentation DissidentChris Williams Presentation Dissident
Chris Williams Presentation Dissident
Ajax Experience 2009
 
Ted Husted Presentation Testing Ajax Applications Ae2009
Ted Husted Presentation Testing Ajax Applications Ae2009Ted Husted Presentation Testing Ajax Applications Ae2009
Ted Husted Presentation Testing Ajax Applications Ae2009
Ajax Experience 2009
 
Ted Husted Api Doc Smackdown Ae2009
Ted Husted Api Doc Smackdown Ae2009Ted Husted Api Doc Smackdown Ae2009
Ted Husted Api Doc Smackdown Ae2009
Ajax Experience 2009
 
Patrick Lightbody Presentation Tae Slides
Patrick Lightbody Presentation Tae SlidesPatrick Lightbody Presentation Tae Slides
Patrick Lightbody Presentation Tae Slides
Ajax Experience 2009
 
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationLaurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus Presentation
Ajax Experience 2009
 
Jon Trelfa Presentation From Desktop To Web – Getting It Right
Jon Trelfa Presentation From Desktop To Web – Getting It RightJon Trelfa Presentation From Desktop To Web – Getting It Right
Jon Trelfa Presentation From Desktop To Web – Getting It Right
Ajax Experience 2009
 
Douglas Crockford Presentation Jsonsaga
Douglas Crockford Presentation JsonsagaDouglas Crockford Presentation Jsonsaga
Douglas Crockford Presentation Jsonsaga
Ajax Experience 2009
 
Brian Le Roux Presentation Introducing Phone Gap
Brian Le Roux Presentation Introducing Phone GapBrian Le Roux Presentation Introducing Phone Gap
Brian Le Roux Presentation Introducing Phone Gap
Ajax Experience 2009
 
Ted Husted Presentation Testing The Testers Ae2009
Ted Husted Presentation Testing The Testers Ae2009Ted Husted Presentation Testing The Testers Ae2009
Ted Husted Presentation Testing The Testers Ae2009
Ajax Experience 2009
 

Mais de Ajax Experience 2009 (19)

Eric Beland Ajax Load Testing Considerations
Eric Beland Ajax Load Testing ConsiderationsEric Beland Ajax Load Testing Considerations
Eric Beland Ajax Load Testing Considerations
 
Chanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling PagecacheChanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling Pagecache
 
Jason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.FinalJason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.Final
 
Jenny Donnelly
Jenny DonnellyJenny Donnelly
Jenny Donnelly
 
Colin Clark Accessible U Is With J Query And Infusion[1]
Colin Clark Accessible U Is With J Query And Infusion[1]Colin Clark Accessible U Is With J Query And Infusion[1]
Colin Clark Accessible U Is With J Query And Infusion[1]
 
Scott Isaacs Presentationajaxexperience (Final)
Scott Isaacs Presentationajaxexperience (Final)Scott Isaacs Presentationajaxexperience (Final)
Scott Isaacs Presentationajaxexperience (Final)
 
Sergey Ilinsky Presentation Ample Sdk
Sergey Ilinsky Presentation Ample SdkSergey Ilinsky Presentation Ample Sdk
Sergey Ilinsky Presentation Ample Sdk
 
Chris Williams Presentation Dissident
Chris Williams Presentation DissidentChris Williams Presentation Dissident
Chris Williams Presentation Dissident
 
Andrew Sutherland Presentation
Andrew Sutherland PresentationAndrew Sutherland Presentation
Andrew Sutherland Presentation
 
Bill Scott Presentation
Bill Scott PresentationBill Scott Presentation
Bill Scott Presentation
 
Ted Husted Presentation Testing Ajax Applications Ae2009
Ted Husted Presentation Testing Ajax Applications Ae2009Ted Husted Presentation Testing Ajax Applications Ae2009
Ted Husted Presentation Testing Ajax Applications Ae2009
 
Ted Husted Api Doc Smackdown Ae2009
Ted Husted Api Doc Smackdown Ae2009Ted Husted Api Doc Smackdown Ae2009
Ted Husted Api Doc Smackdown Ae2009
 
Patrick Lightbody Presentation Tae Slides
Patrick Lightbody Presentation Tae SlidesPatrick Lightbody Presentation Tae Slides
Patrick Lightbody Presentation Tae Slides
 
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationLaurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus Presentation
 
Jon Trelfa Presentation From Desktop To Web – Getting It Right
Jon Trelfa Presentation From Desktop To Web – Getting It RightJon Trelfa Presentation From Desktop To Web – Getting It Right
Jon Trelfa Presentation From Desktop To Web – Getting It Right
 
Joe Mc Cann Tae Aria Presentation
Joe Mc Cann Tae Aria PresentationJoe Mc Cann Tae Aria Presentation
Joe Mc Cann Tae Aria Presentation
 
Douglas Crockford Presentation Jsonsaga
Douglas Crockford Presentation JsonsagaDouglas Crockford Presentation Jsonsaga
Douglas Crockford Presentation Jsonsaga
 
Brian Le Roux Presentation Introducing Phone Gap
Brian Le Roux Presentation Introducing Phone GapBrian Le Roux Presentation Introducing Phone Gap
Brian Le Roux Presentation Introducing Phone Gap
 
Ted Husted Presentation Testing The Testers Ae2009
Ted Husted Presentation Testing The Testers Ae2009Ted Husted Presentation Testing The Testers Ae2009
Ted Husted Presentation Testing The Testers Ae2009
 

Último

Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
daisycvs
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
dollysharma2066
 
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Sheetaleventcompany
 
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
amitlee9823
 
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
lizamodels9
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
amitlee9823
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
lizamodels9
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
dlhescort
 

Último (20)

SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 MonthsSEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
 
Falcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in indiaFalcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in india
 
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceMalegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
 
Uneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration PresentationUneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration Presentation
 
Business Model Canvas (BMC)- A new venture concept
Business Model Canvas (BMC)-  A new venture conceptBusiness Model Canvas (BMC)-  A new venture concept
Business Model Canvas (BMC)- A new venture concept
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
 
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
 

Adam Peller Interoperable Ajax Tools And Mashups

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. Example – under the hood Interoperable Ajax Tools and Mashups <html> <head> ... <script type=&quot;text/javascript&quot; src=&quot;OpenAjax.js&quot;/> <script type=&quot;text/javascript&quot; src=&quot;UTILS.js&quot;/> <script type=&quot;text/javascript&quot; src=&quot;CALENDAR.js&quot;/> <script type=&quot;text/javascript&quot; src=&quot;CHARTS.js&quot;/> <script type=&quot;text/javascript&quot; src=&quot;DATAGRID.js&quot;/> <script type=&quot;text/javascript&quot;> ... function MyCalendarCallback(...) { OpenAjax.hub.publish(&quot;myapp.newdate&quot;, newdate); } ... function NewDateCallback(eventname, publisherData, subscriberData) { ...update the given visualization widget... } OpenAjax.hub.subscribe(&quot;myapp.newdate&quot;, NewDateCallback); ... </script> </head> ...
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. End-user mashups – the self-service business pattern Interoperable Ajax Tools and Mashups
  • 33.
  • 34.
  • 36. IBM Project “Blue Spruce” collaborative interactive mashups
  • 37.
  • 38.
  • 39. End-user Mashup Step 2: Mashup Assembly Interoperable Ajax Tools and Mashups Widget Catalog Widget-A Widget-B Widget-C Widget-D Widget-E Widget-F etc. Web browser URL: http://example.com/mashup_builder Widget-C Widget-E Widget-A User drags widgets from widget catalog and drops onto the canvas Using the mashup tool, the mashup designer links event publishers with event subscribers. As a result, user actions on one particular widget will cause a message to be sent to the other widgets, thereby triggering updates in those other widgets
  • 40. As the mashup runs, widgets communicate with each other and with various servers Interoperable Ajax Tools and Mashups Communicates in the background with one of the company’s web servers Company server Communicates in the background with a public web server Public server 1 Communicates in the background with a public web server Public server 2 Web browser URL: http://example.com/mashup_builder Widget-C Widget-E Widget-A Message passing between the widgets
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. OpenAjax Hub 2.0 Security Overview Interoperable Ajax Tools and Mashups Communicates in the background with one of the company’s web servers Company server Trustworthy Public Server Communicates in background with a malicious public server Malicious Public Server Web browser URL: http://example.com/mashup_builder Widget-A Widget-B Malicious Widget Communicates in background with a trustworthy public server OpenAjax Hub 2.0 – Widget Isolation and Messaging Mediator Hub 2.0 only permits cross-widget communication via a mediated publish/subscribe messaging bus Hub 2.0 isolates each widget into its own sandbox
  • 46. Hub 2.0 Initialization Interoperable Ajax Tools and Mashups 5 Using the Managed Hub Load OpenAjax Hub Create a “ManagedHub” instance, identifying security manager callbacks Create containers for each component in the mashup and then load/initialize the components within those containers As application runs, components publish messages to other components Typically at initialization time, components subscribe to message topics of interest Component subscribes to message topics: OpenAjax.hub.HubClient.subscribe(…); Component publishes messages on Hub: OpenAjax.hub.HubClient.publish(…); Web browser URL: http://example.com/mashup_builder/my_mashup2 1 2 3 4 3 Container HubClient Component-A HTML/JavaScript Container HubClient Component-B HTML/JavaScript OpenAjax.hub ManagedHub instance 1 2 2 Security manager callbacks 3 4 5
  • 47. Run-time message passing with Hub 2.0 Interoperable Ajax Tools and Mashups Managed Hub Message Passing Component-B publishes a message IFrame container marshalls the message across browser frames IFrame container sends message to Managed Hub Security manager callbacks decide whether to let the message through Component-A’s callback is invoked Message sent to Component-A’s container Web browser URL: http://example.com/mashup_builder/my_mashup2 OpenAjax.hub ManagedHub instance Security manager callbacks 1 2 3 4 5 6 4 IframeContainer HubClient Component-B HTML/JavaScript Component publishes messages on Hub: OpenAjax.hub.HubClient.publish(…); 1 <iframe> (for component isolation) InlineContainer HubClient Component-A HTML/JavaScript Component subscribes to message topics: function MyCallBack() {…} OpenAjax.hub.HubClient.subscribe(…); <div> (inline component) 2 6 3 5
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.