h-ubu - An industrial-strength service-oriented component model for JavaScript applications
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

h-ubu - An industrial-strength service-oriented component model for JavaScript applications

  • 1,073 views
Uploaded on

In the last years, we developed web applications requiring a large amount of JavaScript code. These web applications present adaptation requirements. In addition to platform-centric adaptation, ...

In the last years, we developed web applications requiring a large amount of JavaScript code. These web applications present adaptation requirements. In addition to platform-centric adaptation, applications have to dynamically react to external events like connectivity disruptions. Building such applications is complex and we faced sharp maintainability challenges. This paper presents h-ubu, a service-oriented component framework for JavaScript allowing building adaptive applications. h-ubu is used in industrial web applications and mobile applications. h-ubu is available in open source, as part of the OW2 Nanoko project.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,073
On Slideshare
1,073
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. h-ubu Service-Orientation in JavaScript Clement Escoffier Philippe Lalanda Nicolas Rempulski
  • 2. JavaScript coding => or explosions ?
  • 3. var foo;   alert(foo == null); // true   alert(foo == undefined); // true   alert(foo === null); // false   alert(foo === undefined); // true
  • 4. a = 1;   (function(){     b=2;     alert(a);   })(); // 1   alert(b); //2 -> b is global
  • 5. alert(1+"10"); // 110 alert(1+”1"+1); // 111
  • 6. What would be nice ?
  • 7. Components
  • 8. Interfaces Required Provided
  • 9. Dependency Injection
  • 10. Events Received Sent
  • 11. Would it be enough ?
  • 12. Traditional Component model
  • 13. Variability Dynamic   Bootstrap   Packaging  
  • 14. Platform-based variability  
  • 15. Dynamic adaptability  
  • 16. Dynamic adaptability   X X
  • 17. Do we need this dynamism ?
  • 18. Connectivity   Device features   Sensors   User actions   Neighbors   Failures  
  • 19. Ok, but what is h-ubu ?
  • 20. h-ubu is a Service-oriented Component model
  • 21. components
  • 22. contracts (i.e. interfaces)
  • 23. dynamic services
  • 24. 1 - Publication 2 – Lookup, Notifications, Selection 3 - Binding dynamic services Registry
  • 25. Programming model   Architectural shift   Issues  
  • 26. var  provider  =  {    configure  :  function(hub,  conf)  {        hub.provideService({        component:  this,        contract:  myService      });    },    start  :  function()  {  },    stop  :  function()  {},    doSomething  :  function()  {  …  }   }   1 - Publication Registry 2 – Lookup, Notifications, Selection 3 - Binding
  • 27. var  consumer  =  {    configure  :  function(hub,  conf)  {        hub.requireService({        component:  this,        contract:  myService,        field:  "svc"      });    },    //  …    work  :  function()  {      this.svc.doSomething();    }   }   1 - Publication Registry 2 – Lookup, Notifications, Selection 3 - Binding
  • 28. Easy adoption  
  • 29. Nb of components   Time  
  • 30. JavaEE   Mobile   Mobile Web   Server   Web Desktop  
  • 31. h bu h#p://nanoko-­‐project.github.io/h-­‐ubu/snapshot/   Thanks