[TYPO3-UG US] TYPO3 AJAX Interface Bounty (DYNapi)

Reuven Cohen, Enomaly ruv at enomaly.com
Fri Nov 4 20:42:14 CET 2005


I'm working on creating a TYPO3 AJAX inteface based on the DYNapi SODA 
framework. Given the more then 25 projects we have ongoing it's proving to 
be quite difficult to allocate the resources internally to get this project 
done. So I'm looking for some extra help and I'm willing to put my money 
where my mouth is via a bounty.. This may also make a good first offical 
TYPO3.us sponsored project

Heres an overview of the framework..
With DynAPI 3.0 it is now possible to easily build applications from 
component building blocks that can be shared, reused, and relocated across 
the Internet. By partitioning an application's tasks into logical tiers of 
services, it becomes possible to encapsulate business rules (or services), 
data access and user interface tasks into shared, reusable components that 
can be easily modified and distributed anywhere on the Internet.The good 
thing about DynAPI Remote Script (or Web Service) technology is that it 
works well with existing Internet technology. No need to add any new 
software or hardware because it advantage of what you already have.

Remote Scripting in DynAPI is made possible through what is called Simple 
Object and Data Access - Remote Procedure Call (SODA-RPC). SODA (for short) 
is used to convert JavaScript objects (and data types) to XML, which is sent 
via the Internet to a web server. This XML document can be parsed on both 
client and server without the need of an XML parser, thus making it possible 
for older browsers (such as NS4) to advantage of SODA-RPC.

An object sent from the client to the server is first converted to XML and 
then back to an object (or the corresponding data type) on the server. This 
makes it possible for server-side programs written in perl, php, asp, etc to 
interact with client-side objects as if they where created locally.

SODA-RPC is a protocol that provides an easy way for web applications to 
communicate with a web server. The transport uses XML to send and receive 
data to and from the server.  No XML parser is required since SODA-RPC uses 
a very simple layout to convert data variables into an XML document and 
back.

A SOAP-RPC Web Service provides another way for programmers to send and 
receive information to and from a web server, but it too requires the web 
server and browser to have special software installed to in order to 
communicate in our case TYPO3.

Key Features:

  a.. Based on XML
  b.. Works behind firewalls
  c.. Support older browsers such as NS4+ and IE4+
  d.. Doesn't require an XML parser
  e.. Doesn't require any new software on client or server
  f.. Supports Asynchronous and Synchronous calls.
  g.. Supports server-side methods and error traps
  h.. Can make multiple asynchronous/synchronous calls to the same service
  i.. Can support complex data structures (e.g. objects, arrays, etc)
  j.. Can be easily ported to any server-side language (perl, php, vbscript, 
jscript, etc)
  k.. Simplify communications between the browser and the web server
  l.. Support seven (8) data types: Undifined/null, Date, String, Integer, 
Float, Boolean, Array and Object (Associative Array)

The possibilities are endless. Just take a look at some of the application 
you can create using DynAPI Remote Scripting:

        a..  Instant Messengers - Send messages from client -> server -> 
other clients by using the server has a hub (See figure 4).
        b.. Interactive Guest Books
        c.. Point-Of-Sale Systems
        d.. Interactive Online catalogs
        e.. Interactive Online Classified Ads System
        f.. Interactive Help Desk - Chat with sales reps, support team, etc.
        g.. Interactive Customer Services
        h.. Online Gaming
        i.. Interactive slide-shows
        j.. Web based email clients
        k.. Stock tickers, news readers, etc

The SODA protocol makes it very easy for a programmer to send and receive 
JavaScript objects to and from the server without having to worry about how 
the object will be handled on the server. With each transmission the 
programmer will be able interact directly with objects and variables in the 
language they're using on the server-side.

Technical Description is available at:
http://www.enomaly.com/dynapi/docs/docs/quickref.soda.html

If your interested in getting involved. Send an email to me directly.

Reuven





More information about the TYPO3-UG-US mailing list