Return-Path: Delivered-To: apmail-incubator-general-archive@www.apache.org Received: (qmail 104 invoked from network); 20 Mar 2009 04:03:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 20 Mar 2009 04:03:43 -0000 Received: (qmail 68405 invoked by uid 500); 20 Mar 2009 04:03:42 -0000 Delivered-To: apmail-incubator-general-archive@incubator.apache.org Received: (qmail 68201 invoked by uid 500); 20 Mar 2009 04:03:41 -0000 Mailing-List: contact general-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@incubator.apache.org Delivered-To: mailing list general@incubator.apache.org Received: (qmail 68190 invoked by uid 99); 20 Mar 2009 04:03:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Mar 2009 21:03:41 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of hedhman@gmail.com designates 209.85.198.241 as permitted sender) Received: from [209.85.198.241] (HELO rv-out-0708.google.com) (209.85.198.241) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 Mar 2009 04:03:31 +0000 Received: by rv-out-0708.google.com with SMTP id b17so842872rvf.0 for ; Thu, 19 Mar 2009 21:03:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to :content-type:content-transfer-encoding; bh=l9ISpkqWUGmtj+6Q2nB//Wq4NrPb/MfJuAMYV2eT2Jk=; b=mAz6MUsYkN73hE0plB5g0/vk1fDw/GsNDO/CzuEg+c7cqAzMxoqeMrHxncA1MAIlmi 4B+Ll6XFgbpChqF4YnelEQQejkZ411L7eyilFooVboaTeXJnV6ehpkyxfJCAaI4TB0iP BdeqpTFZtJEKOmjdHB8BS9g0Kpxd1UHmaRwOc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=ig/jW0Tu7p4sMbQnYg/kWK8HJIU3dd1/8B3LENMXuz25FOMhFi1qFTPUWFOXbpsM5F FqhlSSzVdT5aAIbQVYmwVxW4nuR0fQR8enju0OG8aFf5C6iE/OLNw+jIxG22IFwSzIVT prn6yCc+C3ekxOSV3COeBxqoynxgoD084QPCY= MIME-Version: 1.0 Sender: hedhman@gmail.com Received: by 10.142.72.4 with SMTP id u4mr1272661wfa.216.1237521790245; Thu, 19 Mar 2009 21:03:10 -0700 (PDT) In-Reply-To: References: <8693BD1B64D34063853DE790658FE2CD@sampaw.com> <49C235F1.1090100@it20one.at> Date: Fri, 20 Mar 2009 12:03:10 +0800 X-Google-Sender-Auth: 1eb97df16416ead0 Message-ID: Subject: Re: Starting a new incubation From: Niclas Hedhman To: general@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Outside the WS-*, JAX-WS and JAX-RS there are at least Etch and Thrift projects in a similar space. Those two projects are both high-performant, light-weight and more importantly language/platform inter-operable. Is there any particular advantage over these two projects that you can see for Jaffre? Cheers Niclas On Fri, Mar 20, 2009 at 7:05 AM, Alexander Veit wr= ote: >> Siegfried Goeschl wrote: >> could you provide some more technical background information > > The idea is quite simple and certainly not new in the Java world: method > calls and return values are considered as data structures that are being > serialized for transport. > > The data structures are > > JaffreCallFrame > =A0 flags: int > =A0 interface: Class > =A0 method: String > =A0 types: Class[] > =A0 args: Object[] > =A0 userdata: Object > > and > > JaffreReturnFrame > =A0 exception: boolean > =A0 flags: int > =A0 result: Object > =A0 userdata: Object. > > Call and return frames are analog e.g. to the request and response messag= es > in SOAP. The userdata fields can be used to transport extra data, e.g. > session cookies (SOAP headers can be seen as an analogy). > > Remote interfaces are normal Java interfaces without any decorations > (annotations or something like that). > > Clients create proxys for remote interfaces. Calls to proxys are serializ= ed > as call frames, transported, deserialized, and then routed (per > interface/method) to an appropriate service endpoint that implements the > remote interface. After the call has been performed, the result is > serialized as a return frame and then sent back to the client where the > proxy returns the deserialized result. > >> +) how does it compare to RMI, JSON or Hessian >> (http://hessian.caucho.com/) > > I'm not very familiar with RMI but I think it uses similar techniques. As > Jukka pointed out, Jaffre should be considered as a RPC mechanism rather > than a RMI mechanism. RMI is probably much more powerful than Jaffre, eve= n > though it may lack some ease of use and extensibility. > > JSON is a platform neutral web technology. It deals mainly with > interchanging data. Remote procedure calls seem to be outside the JSON sp= ec. > > Hessian is platform neutral, at least at the client side, and it uses it'= s > own wire format. So it seems to be more ambitious than Jaffre. However, I > don't know if it supports out-of-band user data and how extensible it is. > > > -- > Cheers, > Alex > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org > For additional commands, e-mail: general-help@incubator.apache.org > > --=20 http://www.qi4j.org - New Energy for Java --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org For additional commands, e-mail: general-help@incubator.apache.org