Repository: incubator-juneau-website
Updated Branches:
  refs/heads/asf-site d30c0d0aa -> 96d6185d1


Info about 3rd-party proxy interfaces.

Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/commit/96d6185d
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/tree/96d6185d
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/diff/96d6185d

Branch: refs/heads/asf-site
Commit: 96d6185d12f835eae09b79e4e4a05baff240d756
Parents: d30c0d0
Author: JamesBognar <[email protected]>
Authored: Thu Apr 13 16:41:28 2017 -0400
Committer: JamesBognar <[email protected]>
Committed: Thu Apr 13 16:41:28 2017 -0400

----------------------------------------------------------------------
 content/about.html | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/96d6185d/content/about.html
----------------------------------------------------------------------
diff --git a/content/about.html b/content/about.html
index 5a30934..133f4b7 100644
--- a/content/about.html
+++ b/content/about.html
@@ -8,14 +8,16 @@
 </head>
 <body>
        <h5 class='toc'>About</h5>
+       <p>
+               A single cohesive framework consisting of the following parts:
+       </p>
        <ul class='spaced-list'>
                <li>A toolkit for marshalling POJOs to a variety of content 
types using a common framework.
                <li>A REST server API for creating Swagger-based 
self-documenting REST interfaces using POJOs.
                <li>A REST client API for interacting with REST interfaces 
using POJOs.
-               <li>A remote proxy API built on top of REST.
+               <li>A remote interface proxy API built on top of REST that 
allows you to create proxy interfaces against Juneau or 3rd-party REST 
interfaces.
                <li>A sophisticated INI config file API. 
                <li>A REST microservice API that combines all the features 
above for creating lightweight standalone REST interfaces that start up in 
milliseconds.
-               <li>JAX-RS integration support for all serializers and parsers.
        </ul>
        <p>
                Questions via email to <a class='doclink' 
href='mailto:[email protected]?Subject=Apache%20Juneau%20question'>[email protected]</a>
 are always welcome.
@@ -841,6 +843,27 @@
        </p>
        <br><br><hr>
        <p>
+               Remoteable proxies can also be used to define interface proxies 
against 3rd-party REST interfaces.
+               This is an extremely powerful feature that allows you to 
quickly define easy-to-use interfaces against virtually any REST interface.
+       </p>
+       <p>
+               Similar in concept to remoteable services defined above, but in 
this case we simply define our interface with
+               special annotations that tell us how to convert input and 
output to HTTP headers, query paramters, form post parameters, or 
request/response bodies.
+       </p>
+       <p class='bcode'>       
+       <ja>@Remoteable</ja>
+       <jk>public interface</jk> MyProxyInterface {
+               
+               <ja>@RemoteMethod</ja>(httpMethod=<js>"POST"</js>, 
path=<js>"/method"</js>)
+               String doMethod(<ja>@Header</ja>(<js>"E-Tag"</js>) UUID etag, 
<ja>@Query</ja>(<js>"debug"</js>) <jk>boolean</jk> debug, <ja>@Body</ja> MyPojo 
pojo);
+       }
+       
+       RestClient client = <jk>new</jk> RestClientBuilder().build();
+       MyProxyInterface p = 
client.getRemoteableProxy(MyProxyInterface.<jk>class</jk>, 
<js>"http://hostname/some/rest/interface";</js>);
+       String response = p.doMethod(UUID.<jsm>generate</jsm>(), <jk>true</jk>, 
<jk>new</jk> MyPojo());
+       </p>
+       <br><br><hr>
+       <p>
                The config file API allows you to interact with INI files using 
POJOs.  
                A sophisticated variable language is provided for referencing 
environment variables, system properties, other config file entries, and a host 
of other types.
        <p>

Reply via email to