http://code.google.com/appengine/docs/whatisgoogleappengine.html

Java is supported via Java 6 JVM and standard libs:
http://code.google.com/appengine/docs/java/gettingstarted/

My biggest question w/r/t Xwiki is AppEngine's database support:

> The Datastore
>
> App Engine provides a powerful distributed data storage service that
> features a query engine and transactions. Just as the distributed web server
> grows with your traffic, the distributed datastore grows with your data.
>
> The App Engine datastore is not like a traditional relational database.
> Data objects, or "entities," have a kind and a set of properties. Queries
> can retrieve entities of a given kind filtered and sorted by the values of
> the properties. Property values can be of any of the supported property
> value 
> types<http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html>
> .
>
> Datastore entities are "schemaless." The structure of data entities is
> provided by and enforced by your application code. The Java JDO/JPA
> interfaces and the Python datastore interface include features for applying
> and enforcing structure within your app. Your app can also access the
> datastore directly to apply as much or as little structure as it needs.
>
> The datastore is strongly 
> consistent<http://en.wikipedia.org/wiki/Consistency_model>and uses optimistic
> concurrency 
> control<http://en.wikipedia.org/wiki/Optimistic_concurrency_control>.
> An update of a entity occurs in a transaction that is retried a fixed number
> of times if other processes are trying to update the same entity
> simultaneously. Your application can execute multiple datastore operations
> in a single transaction which either all succeed or all fail, ensuring the
> integrity of your data.
>
> The datastore implements transactions across its distributed network using
> "entity groups." A transaction manipulates entities within a single group.
> Entities of the same group are stored together for efficient execution of
> transactions. Your application can assign entities to groups when the
> entities are created.
>
http://code.google.com/appengine/docs/java/gettingstarted/usingdatastore.html

> App Engine includes support for two different API standards for the
> datastore: Java Data Objects <http://java.sun.com/jdo/index.jsp> (JDO) and
> Java Persistence 
> API<http://java.sun.com/developer/technicalArticles/J2EE/jpa/>(JPA). These 
> interfaces are provided by DataNucleus
> Access Platform <http://www.datanucleus.org/>, an open source
> implementation of several Java persistence standards, with an adapter for
> the App Engine datastore.
>
..............

Question:

What would it take to make Xwiki work on Google App-engine? Is the
"datastore" google provides compatible with xwiki's database needs?

What other Java-hosting services "out there" support Xwiki? Database and
java "hosting" issues for Xwiki can be problematic, even though it makes
more sense, to public-host using a language like Java.

I think for my own situation, I would end up "hosting" Xwiki myself, as a
$500.00 box can run a few Xwiki-based sites just fine. However, for
people/customers wanting an Xwiki-based site that don't know about system
administration, JVM's, apache, etc, it would be nice if there was an easier
path to managed hosting in an "open market." This needn't limit xwiki.com's
hosting market, as much as it would open-up xwiki for wider deployment and
use, and make it competitive in situations where Php or RoR might have
easier buy-in, such as in the USA....

Imagine if in the future, one of the installers Xwiki.org offered worked
directly with http://appengine.google.com/ so that people would
actually have their own live, public xwiki sites hosted for them. There's
plenty of sites that would be happy with this level of free
service ( http://code.google.com/appengine/docs/quotas.html ):

Resource Free Default Quota Billing Enabled Quota  Daily Limit Maximum
Rate Daily
Limit Maximum Rate  Requests 1,300,000 requests 7,400 requests/minute
43,000,000
requests 30,000 requests/minute  Outgoing Bandwidth
(billable<http://code.google.com/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas>,
includes HTTPS) 1 gigabyte 56 megabytes/minute 1 gigabyte free; 1,046
gigabytes maximum 740 megabytes/minute  Incoming Bandwidth
(billable<http://code.google.com/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas>,
includes HTTPS) 1 gigabyte 56 megabytes/minute 1 gigabyte free; 1,046
gigabytes maximum 740 megabytes/minute  CPU Time
(billable<http://code.google.com/appengine/docs/quotas.html#Billable_Quotas_and_Fixed_Quotas>
) 6.5 CPU-hours 15 CPU-minutes/minute 6.5 CPU-hours free; 1,729 CPU-hours
maximum 72 CPU-minutes/minuteNiels
http://nielsmayer.com

PS: although at 1 gigabyte outgoing bandwidth, and some of the sizable
javascript libraries these days... you probably want to use
http://webmuch.com/how-why-you-should-use-google-cdn/    alongside :-)
_______________________________________________
users mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to