Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E473375A3 for ; Mon, 1 Aug 2011 18:10:42 +0000 (UTC) Received: (qmail 53497 invoked by uid 500); 1 Aug 2011 18:10:40 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 53435 invoked by uid 500); 1 Aug 2011 18:10:40 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 53427 invoked by uid 99); 1 Aug 2011 18:10:40 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Aug 2011 18:10:39 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [209.85.161.180] (HELO mail-gx0-f180.google.com) (209.85.161.180) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Aug 2011 18:10:29 +0000 Received: by gxk10 with SMTP id 10so5680309gxk.11 for ; Mon, 01 Aug 2011 11:10:08 -0700 (PDT) MIME-Version: 1.0 Received: by 10.151.21.13 with SMTP id y13mr1026553ybi.239.1312222208824; Mon, 01 Aug 2011 11:10:08 -0700 (PDT) Received: by 10.151.50.12 with HTTP; Mon, 1 Aug 2011 11:10:08 -0700 (PDT) X-Originating-IP: [50.0.132.2] Date: Mon, 1 Aug 2011 11:10:08 -0700 Message-ID: Subject: to CouchApp or not to CouchApp From: Gregor Martynus To: user@couchdb.apache.org Content-Type: multipart/alternative; boundary=000e0cd4b31c9f95cc04a9758ad7 X-Virus-Checked: Checked by ClamAV on apache.org --000e0cd4b31c9f95cc04a9758ad7 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I had some discussions on the CouchConf last Friday about the pros & cons o= f a CouchApp vs. a traditional 3 tier architecture. I'm new to CouchDB myself= , I don't have strong opinions yet. My thoughts so far PRO 1. portability: a CouchApp has both application logic and data in the same module. Together with its replication features one could very easily take the sa= me app used for a web app and put it into a mobile phone or an enterprise intranet/extranet. 2. simplicity / reach: It empowers a lot of UI Designers/Developers to build Database backed applications. That's pretty impressive, you know jQuery? You can build couchApps. CONTRA 1. security: CouchApp comes with build in signup/signin, but what keeps users to access pages like =C2=BB/db/_all_docs?include_docs=3Dtrue=C2=AB ? There = is now way to hide documents created by User A from User B with CouchDB's build in features as far as I understand it. 2. scaleability: there are more possibilities to scale with a 3 tier architecture than there are for CouchApps What do you think? Do you have a CouchApp running today in Production? What's your experience so far? I'd be happy to summarize the opinions and put them up on the couchDB wiki so that everybody can benefit from it. --000e0cd4b31c9f95cc04a9758ad7--