diff options
author | Leon Breedt <bitserf@gmail.com> | 2005-02-19 08:29:42 +0000 |
---|---|---|
committer | Leon Breedt <bitserf@gmail.com> | 2005-02-19 08:29:42 +0000 |
commit | 418d487020d24e69b528fdbedfecb20a87f99fcb (patch) | |
tree | 1956d6982123df1638bdef8274dff50ae71b25c2 /actionwebservice/HACKING | |
parent | e7499638d06023ae493d14ec1dc4f58bad8ac168 (diff) | |
download | rails-418d487020d24e69b528fdbedfecb20a87f99fcb.tar.gz rails-418d487020d24e69b528fdbedfecb20a87f99fcb.tar.bz2 rails-418d487020d24e69b528fdbedfecb20a87f99fcb.zip |
refactoring:
* move dispatching out of the Container into Dispatcher, it makes more sense
for Container to only contain the list of web services defined
in it.
* collapse Wsdl and ActionController "routers" into
an ActionController-specific module, no advantage
to having them seperate as they were quite tightly
coupled. rename to Dispatcher, to avoi
confusion with Routing.
* add a "_thing" suffix to concept-specific filenames. this is so that
we don't end up with many soap.rb files, for example.
* remove "virtual invocation" support. adds complexity, and it doesn't
seem to add any value.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@679 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionwebservice/HACKING')
-rw-r--r-- | actionwebservice/HACKING | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/actionwebservice/HACKING b/actionwebservice/HACKING deleted file mode 100644 index 536aac7a24..0000000000 --- a/actionwebservice/HACKING +++ /dev/null @@ -1,44 +0,0 @@ -== Coding Style - -Please try to follow Rails conventions and idioms. - - -== Concepts - - * Service - A service has an associated API definition, and - implements the methods defined in the API definition - - * Container - A container contains zero or more services - - * API - An API definition defines a list of methods implemented by - a service - - * Router - A router takes raw wire requests, decodes them, performs the invocation on - the service, and generates raw wire responses from the invocation result. - A router is mixed into a container class. - - * Protocol - A protocol implementation implements the unmarshaling and marshaling of - raw wire requests and responses. Registers with router. - - -== Action Pack Integration - -For Action Pack, the ActionController is both container and router, and also contains -the protocol implementations. - - -== Adding support for a new protocol - - 1. Add an ActionWebService::Protocol::YourProtocol module and any classes you need to - perform unmarshaling/marshaling of protocol requests. See the SOAP implementation - for an example of a complex mapping, and also see - ActionWebService::Protocol::AbstractProtocol for the methods you need to implement. - - 2. Add unit tests for your new protocol. Be sure to test using a Action Pack test request - duplicating how the real requests will arrive and verify that mapping to and from Ruby - types works correctly. |