Return-Path: Delivered-To: apmail-incubator-general-archive@www.apache.org Received: (qmail 42322 invoked from network); 27 Aug 2008 16:08:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 27 Aug 2008 16:08:47 -0000 Received: (qmail 79832 invoked by uid 500); 27 Aug 2008 16:08:43 -0000 Delivered-To: apmail-incubator-general-archive@incubator.apache.org Received: (qmail 79653 invoked by uid 500); 27 Aug 2008 16:08:42 -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 79642 invoked by uid 99); 27 Aug 2008 16:08:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 27 Aug 2008 09:08:42 -0700 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [192.18.43.133] (HELO sca-es-mail-2.sun.com) (192.18.43.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 27 Aug 2008 16:07:42 +0000 Received: from fe-sfbay-09.sun.com ([192.18.43.129]) by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m7RG8CVS000361 for ; Wed, 27 Aug 2008 09:08:12 -0700 (PDT) Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007)) id <0K6900B01OPAL400@fe-sfbay-09.sun.com> (original mail from Craig.Russell@Sun.COM) for general@incubator.apache.org; Wed, 27 Aug 2008 09:08:11 -0700 (PDT) Received: from dhcp-usca14-132-111.SFBay.Sun.COM ([129.145.132.111]) by fe-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007)) with ESMTPSA id <0K690065GOTB7V20@fe-sfbay-09.sun.com> for general@incubator.apache.org; Wed, 27 Aug 2008 09:07:59 -0700 (PDT) Date: Wed, 27 Aug 2008 09:07:58 -0700 From: Craig L Russell Subject: Re: [DISCUSS] Web20Kit: A Web 2.0 technology evaluation kit In-reply-to: <16d6c6200808261951u3dd9c9e6q59ed5f35b1752fdc@mail.gmail.com> Sender: Craig.Russell@Sun.COM To: general@incubator.apache.org Message-id: MIME-version: 1.0 X-Mailer: Apple Mail (2.926) Content-type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary=Apple-Mail-46-1027910419 References: <9e3862d80808261913p64856fd7y8f32db6fa22dc603@mail.gmail.com> <16d6c6200808261951u3dd9c9e6q59ed5f35b1752fdc@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail-46-1027910419 Content-Type: text/plain; charset=WINDOWS-1252; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Hi Martin, On Aug 26, 2008, at 7:51 PM, Martin Cooper wrote: > Yeah, an association with WebKit was my first assumption as well. Agreed. New name.initiate().run(). > > > My greater concern, though, is purporting to compare technologies =20 > using one > application with a very specific purpose. Certain technologies may =20 > shine in > one application scenario and suck in others, while other =20 > technologies may > show quite the opposite characteristics. Picking one application =20 > with which > to demonstrate and, especially, compare a set of technologies =20 > doesn't tell a > particularly useful story unless you happen to be building just that =20= > type of > application. Sadly, many people don't take that into account, so =20 > that a > technology demonstration such as this may lead them in non-optimal > directions. There are at least two different objectives for the project. First is =20= to show how to build applications in different frameworks that would =20 give an idea of how the pieces are put together using the different =20 frameworks. Second is how the implementations actually work under load. What we would like to do here is to put an application together that =20 has a number of web 2.0 features and then mix and match the presented =20= load based on users' configurations. So rather than a fixed set of =20 operations that yields a single number result, varying the load would =20= allow you to compare operations that better match your application. > > > Incidentally, there also appear to be assumptions about the =20 > architecture. > For example, it looks like the use of a database is assumed, whereas =20= > in > certain applications, a content repository might be more appropriate. > Similarly, the use of a server-side web framework versus directly =20 > calling > web services. There are many, many more options to consider. These are excellent points where it would make sense to add a =20 replacement point for technology. With some skilled architects on the =20= project, defining the replacement points (architected interfaces) =20 would be a strong plus. Craig > > > -- > Martin Cooper > > > On Tue, Aug 26, 2008 at 7:13 PM, Brett Porter =20 > wrote: > >> Without too much thought into the rest of it just now, the first =20 >> thing >> I thought was that this would have something to do with WebKit, which >> it doesn't and would probably be very confusing? >> >> - Brett >> >> 2008/8/27 Craig L Russell : >>> This is a proposal to incubate >>> http://wiki.apache.org/incubator/Web20KitProposal >>> >>> We're looking for a couple more mentors. >>> >>> Web20Kit >>> >>> Abstract >>> Web20Kit is a web 2.0 toolkit to help developers evaluate the >> suitability, >>> functionality and performance of various web technologies by =20 >>> implementing >> a >>> reasonably complex application in several different technologies. >>> >>> Proposal >>> Web20Kit will develop an example application to understand the =20 >>> benefits, >>> performance, and scalability of popular web technologies. Multiple >>> implementations of the application are planned - each providing =20 >>> the same >>> functionality but staying true to the philosophy of its base >>> language/framework. >>> >>> Background >>> Most web 2.0 sites today use open source languages and frameworks =20= >>> such as >>> PHP, Ruby on Rails, and Java EE to develop their applications. >> Deployments >>> of these applications also use popular open source servers such as =20= >>> Apache >>> httpd, Tomcat, MySQL, Memcache, and Glassfish. Many other >>> servers/technologies such as lighttpd, mogileFS, mongrels, JRuby =20 >>> are also >>> gaining popularity. >>> >>> With the myriad technologies available, it is not easy to =20 >>> understand how >>> they differ, especially in terms of performance and scalability. =20 >>> With >> varied >>> levels of documentation available for some open source =20 >>> applications, it >> is >>> also quite difficult for a web 2.0 startup to understand the correct >> usage >>> of these technologies so that they don't become a bottleneck as =20 >>> their >> site >>> grows. >>> >>> Rationale >>> Web2.0kit is a toolkit that will attempt to address the above =20 >>> issues. >>> >>> What it does >>> >>> Web20Kit defines an example web 2.0 application (the initial >> implementation >>> uses an events site somewhat like yahoo.com/upcoming) and provides =20= >>> three >>> implementations: PHP, Java EE, and Ruby on Rails. The toolkit will =20= >>> also >>> define ways to drive load against the application in order to =20 >>> measure >>> performance. >>> >>> As developers join the project, they can implement the same =20 >>> application >>> using their favorite web frameworks and compare their =20 >>> implementations to >>> others. >>> >>> What you can learn from it >>> >>> a) Understand how to use various web 2.0 technologies such as AJAX, >>> memcached, mogileFS etc. in the creation of your own application. =20= >>> Use the >>> code in the application to understand the subtle complexities =20 >>> involved >> and >>> how to get around issues with these technologies. >>> >>> b) Evaluate the differences in the implementations: PHP, Ruby on =20 >>> Rails, >> Java >>> EE, and other contributed implementations to understand which =20 >>> might best >>> work for your situation. >>> >>> c) Within each language implementation, evaluate different =20 >>> infrastructure >>> technologies by changing the servers used (e.g: apache vs =20 >>> lighttpd, MySQL >> vs >>> PostgreSQL, Ruby vs Jruby etc.) >>> >>> d) Drive load against the application to evaluate the performance =20= >>> and >>> scalability of the chosen platform. >>> >>> e) Experiment with different algorithms (e.g. memcache locking, a >> different >>> DB access API) by replacing portions of code in the application. >>> >>> A robust, community-developed standard implementations of a web 2.0 >>> application using different technologies will enable developers to >> compare >>> and contrast these technologies in a manner that does not exist =20 >>> today. By >>> providing excellent sample implementations of a concrete =20 >>> application that >> is >>> available to everyone, we will enable faster and easier application >>> development for users. Although we list three implementations in =20 >>> this >>> proposal, we encourage others to come up with many more using other >> language >>> stacks and/or frameworks e.g. Spring framework, Python etc. >>> >>> Current Status >>> This is a new project with some sample not-ready-for-prime-time =20 >>> code. >>> >>> Meritocracy >>> The initial developers are very familiar with meritocratic open =20 >>> source >>> development, both at Apache and elsewhere. Apache was chosen =20 >>> specifically >>> because the initial developers want to encourage this style of >> development >>> for the project. >>> >>> Community >>> Web20Kit seeks to create developer and user communities during >> incubation. >>> >>> Core Developers >>> The initial core developers are Sun Microsystems, Inc. employees, =20= >>> and >>> faculty and students at UC Berkeley. We hope to expand this very =20 >>> quickly. >>> >>> Alignment >>> The developers of the Web20Kit want to work with the Apache Software >>> Foundation specifically because Apache has proven to provide a =20 >>> strong >>> foundation and set of practices for community-based development. >>> >>> Known RisksOrphaned products >>> This project has a lot of enthusiasm among the core developers, has >> ongoing >>> development, and is not orphaned. >>> >>> Inexperience with Open Source >>> The initial developers are well-versed in open source =20 >>> methodologies and >>> practices. >>> >>> Homogenous Developers >>> The initial group of developers is from two organizations. We =20 >>> would like >> to >>> expand this and that is a primary reason for bringing this project =20= >>> to >>> Apache. >>> >>> Reliance on Salaried Developers >>> Although part of the initial development team are students, the core >>> developers are employed by Sun Microsystems. >>> >>> Relationships with Other Apache Products >>> None in particular, except that Apache HTTPD is the most common =20 >>> place to >> run >>> PHP, and which the initial PHP implementation uses. >>> >>> A Excessive Fascination with the Apache Brand >>> We believe in the processes, systems, and framework Apache has put =20= >>> in >> place. >>> The brand is nice, but is not why we wish to come to Apache. >>> >>> DocumentationInitial Source >>> Sun Microsystems Inc. intends to donate code for their PHP =20 >>> implementation >> of >>> the sample events application as well as code to drive load =20 >>> against the >>> application. UC Berkeley intends to donate code for the Ruby on =20 >>> Rails >>> implementation. >>> >>> This code is still a work in progress and will be provided =20 >>> primarily as a >>> starting place for a much more robust, community- developed >> implementation. >>> >>> External DependenciesRequired Resources >>> Developer mailing lists >>> web20kit-dev@incubator.apache.org >>> web20kit-commits@incubator.apache.org >>> web20kit-private@incubator.apache.org >>> >>> A subversion repository >>> >>> A JIRA issue tracker >>> >>> Initial Committers >>> =95 >>> Akara Sucharitakul < >>> akara.sucharitakul@sun.com> Shanti Subramanyam < >>> shanti.subramanyam@sun.com> Binu John < >>> binu.john@sun.com> Kim Lichong < >>> kim.lichong@sun.com> William Sobel < >>> wsobel@eecs.berkeley.edu> Arthur Klepchukov < >>> arthur.klepchukov@gmail.com> Craig Russell < >>> craig.russell@sun.com> >>> SponsorsChampion >>> =95 >>> Craig Russell < >>> craig.russell@sun.com> >>> Nominated Mentors >>> =95 >>> Craig Russell < >>> craig.russell@sun.com> >>> Sponsoring Entity >>> The Apache Incubator. >>> >>> Craig L Russell >>> Architect, Sun Java Enterprise System = http://java.sun.com/products/jdo >>> 408 276-5638 mailto:Craig.Russell@sun.com >>> P.S. A good JDO? O, Gasp! >>> >>> >>> >> >> >> >> -- >> Brett Porter >> Blog: http://blogs.exist.com/bporter/ >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org >> For additional commands, e-mail: general-help@incubator.apache.org >> >> Craig L Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:Craig.Russell@sun.com P.S. A good JDO? O, Gasp! --Apple-Mail-46-1027910419 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGUDCCAwkw ggJyoAMCAQICECvOQSuIjHMvOZRC95BRg/wwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkEx JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA3MTIxMDE1MjM1MVoXDTA4MTIwOTE1MjM1 MVowbDEQMA4GA1UEBBMHUnVzc2VsbDEUMBIGA1UEKhMLQ3JhaWcgTGFpcmQxHDAaBgNVBAMTE0Ny YWlnIExhaXJkIFJ1c3NlbGwxJDAiBgkqhkiG9w0BCQEWFUNyYWlnLlJ1c3NlbGxAU3VuLkNPTTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKzqGlLUastboCRqc0iBoTz2ODcqpMpEyPUo nYtluchkSIoWzOW63AuoTczRt9sKfhwoK5mope+62B6Li06WJabm2UHqKAaNSuMHLsmyqvOdwbSt enY7/HxOSCMqVoyVBTRJc2M8feCSVgi7ptGq9cM+Maa64R1/p9zqaQNucceU/1uper90bWplsjAT rHgicgr9XJIQb6uYjhjlgxxnY/aispnCvLxMX+CiA2FWeeJTI7AiFlLwibTXYF4v12ToByvXtTiJ knuND8qpwhK3Wp0tL4ae8mZ0nlKjCuNnqh99ZyEyTFHZBfVx8WSWRXkY4qxCG/IDQUo7WUaefOQT 1mECAwEAAaMyMDAwIAYDVR0RBBkwF4EVQ3JhaWcuUnVzc2VsbEBTdW4uQ09NMAwGA1UdEwEB/wQC MAAwDQYJKoZIhvcNAQEFBQADgYEAEqfFNFoch0QPVKWJ4maAZl3MJD10yMeWt5xb+WNSkhYKHD8I 42E8tpdE3kmc5wp2cZrz9JqJF/KCQ/gI4pmDk1qpTs5pvXzFNiD5Lu5eLza4iyxSlTHUXcCnyNC6 4m0qC8p4m/51NEql5hyacj/+vdlEe5dygpyNGUCiyA/SdAswggM/MIICqKADAgECAgENMA0GCSqG SIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQH EwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZp Y2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1h aWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMw NzE3MDAwMDAwWhcNMTMwNzE2MjM1OTU5WjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3Rl IENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWls IElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMSmPFVzVftOucqZWh5owHUE cJ3f6f+jHuy9zfVb8hp2vX8MOmHyv1HOAdTlUAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/Ef kTYkKhPPK9Xzgnc9A74r/rsYPge/QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMB AAGjgZQwgZEwEgYDVR0TAQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3Js LnRoYXd0ZS5jb20vVGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYD VR0RBCIwIKQeMBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GB AEiM0VCD6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+ hLGZGwDFGguCdJ4lUJRix9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC 3CEZNd4ksdMdRv9dX2VPMYIDEDCCAwwCAQEwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIElzc3VpbmcgQ0ECECvOQSuIjHMvOZRC95BRg/wwCQYFKw4DAhoFAKCCAW8wGAYJKoZIhvcN AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDgwODI3MTYwNzU5WjAjBgkqhkiG9w0B CQQxFgQUWs6kALfIlxVyI4RPdfY3pf//30swgYUGCSsGAQQBgjcQBDF4MHYwYjELMAkGA1UEBhMC WkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0 ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhArzkEriIxzLzmUQveQUYP8MIGHBgsqhkiG 9w0BCRACCzF4oHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQ dHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAr zkEriIxzLzmUQveQUYP8MA0GCSqGSIb3DQEBAQUABIIBABLqSzj/4eo/Fn8ococubYUvVmoXJuAc SrEhMiofXxACuJrCMxPORYeKFheuOPilf1Isv8cw5gY7HBwmy9o1siuo55+aaPpSnFiXTSfS8wCP 3fJ/C1t22S0d6ji/VzQY8g47JUf1UNrDaLCic+cjm92dKwNVy6Fk44NyDNG1m4i41LW1PgJaLhJ6 L782KoXGgMmlQedg5RWdH4juXY9DKI7g8gmDY1D9/3DEBnWwtNRxT0hs3VgHOZimgXG9ju1Pqale W+Ln5DFI6TQ8Rddrg0KPIXrZUdU2jssPFdghbdgQWDlc3Qx2022WhjcgAPxJRHCWZLtitLHB/HGv Gwg/QV8AAAAAAAA= --Apple-Mail-46-1027910419--