[Typo3-dev] TYPO3 AJAX Interface Bounty (DYNapi)

Reuven Cohen, Enomaly ruv at enomaly.com
Sat Nov 5 00:22:08 CET 2005


I originally posted this on the [TYPO3-UG US] mailing list.
-------
I've been 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 be the first offical
TYPO3.us sponsored project.The budget has yet to be decided.

Heres an overview of the framework..
With DynAPI 3.0 it is 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:

  >.. Based on XML
  >.. Works behind firewalls
  >.. Support older browsers such as NS4+ and IE4+
  >.. Doesn't require an XML parser
  >.. Doesn't require any new software on client or server
  >.. Supports Asynchronous and Synchronous calls.
  >.. Supports server-side methods and error traps
  >.. Can make multiple asynchronous/synchronous calls to the same service
  >.. Can support complex data structures (e.g. objects, arrays, etc)
  >.. Can be easily ported to any server-side language (perl, php, vbscript,
jscript, etc)
  >.. Simplify communications between the browser and the web server
  >.. 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:

        >..  Instant Messengers - Send messages from client -> server ->
other clients by using the server has a hub (See figure 4).
        >.. Interactive Guest Books
        >.. Point-Of-Sale Systems
        >.. Interactive Online catalogs
        >.. Interactive Online Classified Ads System
        >.. Interactive Help Desk - Chat with sales reps, support team, etc.
        >.. Interactive Customer Services
        >.. Online Gaming
        >.. Interactive slide-shows
        >.. Web based email clients
        >.. 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.

Note; I will be away on business until late Monday if i don't respond 
immediately.

Reuven
www.enomaly.com






More information about the TYPO3-dev mailing list