Wakanda
                        A project dedicated to creating a
                       new end-to-end JavaScript platfor...
4D
                         4D has been publishing business application
                       development tools for many ...
We are a "small-large" company based in Paris, with a
                                   presence all over the world.



l...
Inner magic

                       It's what Wakanda means in the Sioux language.

                           We intend t...
The Wakanda Team




lundi 1 février 2010
Why is JavaScript the best choice
                             for Wakanda today?

                             http://tr....
The Wakanda Project




lundi 1 février 2010
Studio
               - users & groups management
               - database / entity models design & administration
      ...
Web Admin
                       Solution, Applications, Servers, Services




lundi 1 février 2010
HTTP & JavaScript
                         Unit Testing Tool




                       HTTP test case editor in the Fireb...
HTTP & JavaScript
                       Unit Testing Tool




                       Use the Bespin JavaScript editor to
...
HTTP & JavaScript
                       Unit Testing Tool




       Test suite management - YUI test compatibility - JUn...
Remote JavaScript Debugging
                       CrossFire, v8 protocol compatibility !?!




                          ...
JSON-RPC Client & Server
                                           A simple protocol

        Request by position
       ...
JSON-RPC Client & Server
                                   Simple function declaration,
                       request va...
JSON-RPC Client & Server
                             Simple client binding declaration,


                  Client-Side

...
JSON-RPC Client & Server
                           Simple and advanced method calls,
                         request sen...
JSON-RPC Client & Server
                                 Easy way to call external Web Services
                         ...
End-to-End JavaScript

                       SquirrelFish Extreme (Nitro)



            64 bits - multi-thread - lightwe...
CommonJS
                                      Modules/1.0
                         «4D is implementing this in Wakanda»
 ...
HTTP Incoming Request JS APIs



               JSGI (0.2)
                   Jack
               Persevere
              ...
Native REST & JavaScript
                       NoSQL Data store Engine



lundi 1 février 2010
Core data store engine

                                   Entity Model support

                         64 bits - Unicod...
Core data store engine

                                         Entity Model support

                            JavaScr...
Easy way to design the Business interface




lundi 1 février 2010
Core data store engine

                                          Entity Model support

                             JavaS...
Core data store engine

                                      Entity Model support

                         JavaScript AP...
Core data store engine

                                           Entity Model support

                              Jav...
JSON View of an entity set




lundi 1 février 2010
XML View of an entity set




lundi 1 février 2010
Direct HTML interface




              • Unlimited number of entities in the datatable
              • Automatic Forms wi...
WAF adapters




lundi 1 février 2010
lundi 1 février 2010
Upcoming?




          Yours...?


lundi 1 février 2010
Summary
                  - Powerful Server Side JavaScript engine
                  - Native Business Logic abstraction
 ...
Get Involved
                       Developer preview: 1st quarter 2010
                              http://www.wakandaso...
Upcoming SlideShare
Loading in...5
×

Wakanda: a new end-to-end JavaScript platform - JSConf Berlin 2009

8,036

Published on

Wakanda is an exciting project including a server, a studio, and some useful Web tools. It helps you creating web apps that integrate nicely with a backend and a native REST and JavaScript database.
It makes REST and Entity Model, a very intuitive way to build applications. We'll see a quick but detailed rundown about its architecture: its database engine, SquirrelFish, a data provider, Ajax framework adapters (YUI, ExtJS, jQuery, ...), and a full development environment. I'll expose part of its client and server-side APIs (JSON-RPC, data services), and some innovating features like JavaScript remote debugging, or unit testing on JavaScript and HTTP using Wakanda Studio and Firefox extensions.

Published in: Technology
1 Comment
7 Likes
Statistics
Notes
  • hi! thank for visit http://dremi468.blogspot.com
    sory for missing name, I has changed it

    well. ... we know JS has very lot of ability and give more nice effect for server side programming. I like it :)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
8,036
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
91
Comments
1
Likes
7
Embeds 0
No embeds

No notes for slide

Transcript of "Wakanda: a new end-to-end JavaScript platform - JSConf Berlin 2009"

  1. 1. Wakanda A project dedicated to creating a new end-to-end JavaScript platform lundi 1 février 2010
  2. 2. 4D 4D has been publishing business application development tools for many years, with a focus on simplicity, compatibility and integration, across desktop, client-server and Web. lundi 1 février 2010
  3. 3. We are a "small-large" company based in Paris, with a presence all over the world. lundi 1 février 2010
  4. 4. Inner magic It's what Wakanda means in the Sioux language. We intend to bring our style of ease and simplicity in development to your complex business Internet applications. lundi 1 février 2010
  5. 5. The Wakanda Team lundi 1 février 2010
  6. 6. Why is JavaScript the best choice for Wakanda today? http://tr.im/javascript_rocks lundi 1 février 2010
  7. 7. The Wakanda Project lundi 1 février 2010
  8. 8. Studio - users & groups management - database / entity models design & administration - WYSIWYG editing - JSDoc / ScriptDoc (type-ahead, outline, publication) - source control - validators (JSLint, W3C, ...), ATAG conformance !?! - unit testing (TDD, TDR), client & server debugger - minifier, caching properties lundi 1 février 2010
  9. 9. Web Admin Solution, Applications, Servers, Services lundi 1 février 2010
  10. 10. HTTP & JavaScript Unit Testing Tool HTTP test case editor in the Firebug console lundi 1 février 2010
  11. 11. HTTP & JavaScript Unit Testing Tool Use the Bespin JavaScript editor to customize test cases lundi 1 février 2010
  12. 12. HTTP & JavaScript Unit Testing Tool Test suite management - YUI test compatibility - JUnit support lundi 1 février 2010
  13. 13. Remote JavaScript Debugging CrossFire, v8 protocol compatibility !?! - debug the client from the studio - debug the server from web clients breakpoint, step by step, callstack, JavaScript expression evaluation lundi 1 février 2010
  14. 14. JSON-RPC Client & Server A simple protocol Request by position --> {"jsonrpc": "2.0", "method": "subtract", "params": [42, 23], "id": 1} <-- {"jsonrpc": "2.0", "result": 19, "id": 1} Request by params --> {"jsonrpc": "2.0", "method": "subtract", "params": {"subtrahend": 23, "minuend": 42}, "id": 3} <-- {"jsonrpc": "2.0", "result": 19, "id": 3} lundi 1 février 2010
  15. 15. JSON-RPC Client & Server Simple function declaration, request validity control from JSDoc or JSON-Schema Server-Side /** * get the number of connexions on an application server * * @param {String} appName application name * @return {Number} **/ function countConnections(appName) { return applications[appName].servers.http.connections(); } lundi 1 février 2010
  16. 16. JSON-RPC Client & Server Simple client binding declaration, Client-Side <meta name="WAF.config.rpc.namespace" content="customAdmin" /> <meta name="WAF.config.rpc.methods" content="countConnections" /> or <link rel="WAF.config" href="/wafConfig.json" type="application/json" /> lundi 1 février 2010
  17. 17. JSON-RPC Client & Server Simple and advanced method calls, request sent only if parameters are valid Client-Side customAdmin. countConnections("killingApp"); customAdmin. countConnectionsAsync(showResult, "killingApp"); var infosHandlers = { onsuccess: function (result) { /* ... */}, onerror: function (error) { /* ... */} }; customAdmin. countConnectionsAsync(infosHandlers, "killingApp"); lundi 1 février 2010
  18. 18. JSON-RPC Client & Server Easy way to call external Web Services and to had client validity checking Client-Side WAF.rpc.call("otherMethod", paramA, paramB); WAF.rpc.callAsync(methodHandlers, "otherMethod", paramA, paramB); or WAF.rpc.call(otherServerConfig, "otherMethod", paramA, paramB); or var rpcOut = new WAF.classes.Rpc(otherServerConfig); rpcOut.callAsync(methodHandlers, "otherMethod", paramA, paramB); rpcOut.getInterface("otherMethod", "rpcOut"); rpcOut.otherMethodAsync(methodHandlers, paramA, paramB); lundi 1 février 2010
  19. 19. End-to-End JavaScript SquirrelFish Extreme (Nitro) 64 bits - multi-thread - lightweight - extensible - the fastest ? lundi 1 février 2010
  20. 20. CommonJS Modules/1.0 «4D is implementing this in Wakanda» http://wiki.commonjs.org/wiki/Modules/1.0 lundi 1 février 2010
  21. 21. HTTP Incoming Request JS APIs JSGI (0.2) Jack Persevere Jaxer v8cgi EJscript node.js Wakanda * http://wiki.commonjs.org/wiki/JSGI http://tr.im/http_ssjs_api lundi 1 février 2010
  22. 22. Native REST & JavaScript NoSQL Data store Engine lundi 1 février 2010
  23. 23. Core data store engine Entity Model support 64 bits - Unicode - multi-thread - multi-process Improved database engine lundi 1 février 2010
  24. 24. Core data store engine Entity Model support JavaScript API REST HTTP API Lowest level JavaScript and HTTP binding lundi 1 février 2010
  25. 25. Easy way to design the Business interface lundi 1 février 2010
  26. 26. Core data store engine Entity Model support JavaScript API REST HTTP API var emps = db.employee.all(); function hello(emp) { return ‘hello ’ + emp.name; } hello(emps.first()); Access to the Business interface layer from JavaScript lundi 1 février 2010
  27. 27. Core data store engine Entity Model support JavaScript API REST HTTP API db.employees.find("name = alex").drop(); function getWorkLocation(employee) { return employee.company.address; } lundi 1 février 2010
  28. 28. Core data store engine Entity Model support JavaScript API REST HTTP API GET /rest/employee(5) GET /rest/employee/name?$query=salary < 50000 DELETE /rest/employee("Tom Cat") * JSON or XML layout Access to the business interface layer from HTTP trough a REST API lundi 1 février 2010
  29. 29. JSON View of an entity set lundi 1 février 2010
  30. 30. XML View of an entity set lundi 1 février 2010
  31. 31. Direct HTML interface • Unlimited number of entities in the datatable • Automatic Forms with unlimited property hierarchy • Very responsive filters, server side ordering • Possibility to add, remove, and update the entities lundi 1 février 2010
  32. 32. WAF adapters lundi 1 février 2010
  33. 33. lundi 1 février 2010
  34. 34. Upcoming? Yours...? lundi 1 février 2010
  35. 35. Summary - Powerful Server Side JavaScript engine - Native Business Logic abstraction - No SQL generation - direct JavaScript interface - direct REST interface - Open Platform - Streamlined development process lundi 1 février 2010
  36. 36. Get Involved Developer preview: 1st quarter 2010 http://www.wakandasoftware.com @wakandasoftware @amorgaut @amorgaut/wakanda @amorgaut/javascript-gurus @amorgaut/accessibility http://wiki.commonjs.com http://tr.im/wtframework lundi 1 février 2010
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×