Re: web app design

2002-09-24 Thread Raúl Wild-Spain

Peter, very very very very thanks.

I needed a guide like these ...

Best Regards,

... and now to work!  ;-)

- Original Message -
From: "Hunsberger, Peter" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, September 23, 2002 6:38 PM
Subject: RE: web app design


> > This framework will be for small business or medium business and to
> > construct and publish their corporative webs.
>
> Just this constraint alone will get you a long way towards creating some
> performance targets and usages numbers:  You can make an assumption about
> the max. number of users in a company (possibly adding some users for
> extranet type usage if applicable).  From there you can make some
> assumptions about max. simultaneous users based on the application type.
> Using the first number you can make some estimates on max data based on
> application type times number of users.  Using the second number you can
> make some assumptions about bandwidth requirements (max. users times data
> sizes in play at any moment).  Now you've got some idea of your database
> size, # of simultaneous users, amount of data being accessed and
generated.
> Next you need to make some assumptions about response time.  Again, you
know
> the application type (eg. generating credit card responses is way
different
> than generating seismic analysis result sets) and should be able to come
up
> with some reasonable numbers.  This will allow you to estimate
transactions
> per sec, page views per sec. etc.
>
> What you don't know is how Cocoon maps to any performance metrics; you
can't
> do that without some real load analysis software and hardware.  But at
this
> point, that isn't really the issue:  what you really want to estimate is
> whether a processing heavy architecture can handle the transaction
> requirements on some reasonable hardware (as defined what your company is
> comfortable supporting).  If it starts to look like you've got a lot of
> transactions per second or a lot of page views per second with a lot of
data
> per page view then maybe a pure Cocoon architecture isn't the best way to
> go.  In my experience, apps targeted at small companies aren't generally
an
> issue.  App's targeted at 1000's of simultaneous users might start to get
> questionable (although that's our ball park with a mostly pure Cocoon
> architecture, albeit mixed with a good chunk of EJBs).  We're targeting a
> single large database processor, a couple of EJB' servers and in the order
> of 10 front end web/app servers as the largest possible hardware config we
> will need (a couple of years out). However, our app splits nicely into
small
> user communities that can be easily mapped to individual app servers.
(Note
> that fail over hardware is a separate issue from the hardware needed for
> performance reasons).
>
> How to start?  Create a spread sheet and fill in some guesses for max
users,
> max. simultaneous users, largest data set sizes, required transaction
> response times.  Validate the assumptions with as many people as you can.
> Now figure out, disk space usage, bandwidth, transactions per sec. etc. If
> these numbers are small, don't worry about the architecture much more.  If
> they start to imply lot's of hardware invest some more time in validating
> the numbers.  If you're still nervous after that you've got to start
> benchmarking
>
>
> -
> Please check that your question  has not already been answered in the
> FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>
>
> To unsubscribe, e-mail: <[EMAIL PROTECTED]>
> For additional commands, e-mail:   <[EMAIL PROTECTED]>
>


-
Please check that your question  has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>




RE: web app design

2002-09-23 Thread Hunsberger, Peter

> This framework will be for small business or medium business and to
> construct and publish their corporative webs.

Just this constraint alone will get you a long way towards creating some
performance targets and usages numbers:  You can make an assumption about
the max. number of users in a company (possibly adding some users for
extranet type usage if applicable).  From there you can make some
assumptions about max. simultaneous users based on the application type.
Using the first number you can make some estimates on max data based on
application type times number of users.  Using the second number you can
make some assumptions about bandwidth requirements (max. users times data
sizes in play at any moment).  Now you've got some idea of your database
size, # of simultaneous users, amount of data being accessed and generated.
Next you need to make some assumptions about response time.  Again, you know
the application type (eg. generating credit card responses is way different
than generating seismic analysis result sets) and should be able to come up
with some reasonable numbers.  This will allow you to estimate transactions
per sec, page views per sec. etc. 

What you don't know is how Cocoon maps to any performance metrics; you can't
do that without some real load analysis software and hardware.  But at this
point, that isn't really the issue:  what you really want to estimate is
whether a processing heavy architecture can handle the transaction
requirements on some reasonable hardware (as defined what your company is
comfortable supporting).  If it starts to look like you've got a lot of
transactions per second or a lot of page views per second with a lot of data
per page view then maybe a pure Cocoon architecture isn't the best way to
go.  In my experience, apps targeted at small companies aren't generally an
issue.  App's targeted at 1000's of simultaneous users might start to get
questionable (although that's our ball park with a mostly pure Cocoon
architecture, albeit mixed with a good chunk of EJBs).  We're targeting a
single large database processor, a couple of EJB' servers and in the order
of 10 front end web/app servers as the largest possible hardware config we
will need (a couple of years out). However, our app splits nicely into small
user communities that can be easily mapped to individual app servers. (Note
that fail over hardware is a separate issue from the hardware needed for
performance reasons).

How to start?  Create a spread sheet and fill in some guesses for max users,
max. simultaneous users, largest data set sizes, required transaction
response times.  Validate the assumptions with as many people as you can.
Now figure out, disk space usage, bandwidth, transactions per sec. etc. If
these numbers are small, don't worry about the architecture much more.  If
they start to imply lot's of hardware invest some more time in validating
the numbers.  If you're still nervous after that you've got to start
benchmarking


-
Please check that your question  has not already been answered in the
FAQ before posting. 

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>




Re: web app design

2002-09-22 Thread Raúl Wild-Spain

Hi, Barbara! thanks a lot for your response,

One week ago I've found a list of NXDB, specifically:

http://www.rpbourret.com/xml/XMLDatabaseProds.htm#native

looking & looking for it seems that all open source solutions want to
implement XQuery in a future ... but not yet! :-(

For the time being they offer Xpath and/or proprietary solutions in
commercial cases and only various commercial solutions like
http://www.mediafusion.co.jp/usa/seihin/sekaiju/index.html   speaks about
transactions, commit, rollbacks ... so I've mentioned that it seems for the
time being NXDB uses are for limited purposes. I hope it lacks little time
to really enjoy opensource NXDB.

( I hope not to be mistaken but it is what I've deduced from all that I've
found )

thanks again,

Raúl
[EMAIL PROTECTED]



- Original Message -
From: "Barbara Post" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, September 21, 2002 6:40 PM
Subject: Re: web app design


>
> - Original Message - > As a comment to this question: For some
weeks
> I'm looking for some people
> > with experience in NXDB ( Native XML DataBases), but it seems there
aren't
> > much people working with NXDB because I have not still found anybody
...
> I
> > thought that if normally we access a relational-DB to create xml files
> from
> > our querys then to base us in a NXDB could eliminate this intermediate
> > process ... Is it possible NXDB aren't still mature so I haven't found
> > anyone or is it not so easy?.
>
> Well Raul, when you use XML native databases (since 1999 I guess, at
least)
> you have to learn the proprietary query system they have, since they
existed
> before the xquery standard was officialized. I think of Tamino, the
> "x-query" it uses is close to "xquery", and it will be closer to xquery
with
> next release next year. As for Xindice, I only had a quick look at it, it
> seems to be close to the query standard too.
>
> Managing an NXDB is not so different from a relational database. Indeed,
in
> this world of growing xml use the data format you get when querying helps.
> But when you think your system off, you have to think in terms of xml
> structure, unlike relational tables.
>
> I personally barely used relational DB, and a little NXDB, since I'm still
> young (graduating within a few months).
>
> Just my 2 cents, don't despair finding people you need, google will help
you
> ;-)
>
> Babs
> --
> website : www.babsfrance.fr.st
> ICQ : 135868405
>
>
> 
> Etudiant: Wanadoo t'offre le Pack eXtense Haut Débit soit 150,92 euros
d'économies !
> Et pour 1 euro de plus, reçois le CD-ROM du jeu Dark Age of Camelot
> + 1 mois de jeu en réseau offert !
> Clique ici : http://www.ifrance.com/_reloc/mail.etudiant
>
>
> -
> Please check that your question  has not already been answered in the
> FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>
>
> To unsubscribe, e-mail: <[EMAIL PROTECTED]>
> For additional commands, e-mail:   <[EMAIL PROTECTED]>
>


-
Please check that your question  has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>




Re: web app design

2002-09-21 Thread Barbara Post


- Original Message - > As a comment to this question: For some weeks
I'm looking for some people
> with experience in NXDB ( Native XML DataBases), but it seems there aren't
> much people working with NXDB because I have not still found anybody  ...
I
> thought that if normally we access a relational-DB to create xml files
from
> our querys then to base us in a NXDB could eliminate this intermediate
> process ... Is it possible NXDB aren't still mature so I haven't found
> anyone or is it not so easy?.

Well Raul, when you use XML native databases (since 1999 I guess, at least)
you have to learn the proprietary query system they have, since they existed
before the xquery standard was officialized. I think of Tamino, the
"x-query" it uses is close to "xquery", and it will be closer to xquery with
next release next year. As for Xindice, I only had a quick look at it, it
seems to be close to the query standard too.

Managing an NXDB is not so different from a relational database. Indeed, in
this world of growing xml use the data format you get when querying helps.
But when you think your system off, you have to think in terms of xml
structure, unlike relational tables.

I personally barely used relational DB, and a little NXDB, since I'm still
young (graduating within a few months).

Just my 2 cents, don't despair finding people you need, google will help you
;-)

Babs
--
website : www.babsfrance.fr.st
ICQ : 135868405



Etudiant: Wanadoo t'offre le Pack eXtense Haut Débit soit 150,92 euros d'économies !
Et pour 1 euro de plus, reçois le CD-ROM du jeu Dark Age of Camelot
+ 1 mois de jeu en réseau offert ! 
Clique ici : http://www.ifrance.com/_reloc/mail.etudiant 


-
Please check that your question  has not already been answered in the
FAQ before posting. 

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>




Re: web app design

2002-09-21 Thread Raúl Wild-Spain


I'm sorry, Peter, but although I know it's important I've not quantified yet
questions as users max or transactions per second. I'm not accustomed nor
have experience in performance metrics. I've docs about engineering studies
for these practices and the only one I've deduced is that I will need a
special tool to simulate scenarios and detect my critical parameters that
will govern the application's overall performance and then to simulate
alternatives architectures ... is it completely correct?

for the time being I only understand that I should orient designs (in this
case) to minimize metrics as transaction delay, data delivery time for  good
user experiences. I know it's little or undefined but it's my starting
point.   :-(

 Thus, I only can respond the following questions:

> how dynamic the data is and where it is sourced:  is every page built
> dynamically, or are pages mostly static?  Is the data all XML, is some of
it relational DB, or does some come from
> other systems via EJBs?

Pages are mostly dinamic, from xml files and also stored in relational-DB.

As a comment to this question: For some weeks I'm looking for some people
with experience in NXDB ( Native XML DataBases), but it seems there aren't
much people working with NXDB because I have not still found anybody  ... I
thought that if normally we access a relational-DB to create xml files from
our querys then to base us in a NXDB could eliminate this intermediate
process ... Is it possible NXDB aren't still mature so I haven't found
anyone or is it not so easy?.

This framework will be for small business or medium business and to
construct and publish their corporative webs.

As you're suggested to me, I'll looking for in the mail archive.

thanks a lot for your help and guidelines, Peter
;-)






-
Please check that your question  has not already been answered in the
FAQ before posting. 

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>




RE: web app design

2002-09-20 Thread Hunsberger, Peter

> My webapp is a vertical app on cocoon, specifically only oriented for
> Businesses who wants to base their e-comm-activity in CRM. 

You still didn't tell us your performance requirements, but this would
suggest that the user community is small, or can at least be physically
partitioned.  As such, a pure Cocoon architecture should be viable.

> In this sense, the result should be a Cocoon but with enhanced services
for
> the purposes mentioned, strongly based in cocoon but with developing
> future-jobs parallel to Cocoon because her high-specificity.

There are people creating web services on top of Cocoon.  There are also
people creating publishing frameworks on top of Cocoon. Again search the
mail list archives for these discussions. Neither of these areas are
particularly mature in Cocoon (but then again, where are they?), so you'll
likely run into some problems if you try to extend other initiatives. The
one thing that it sounds like you will need  is custom Cocoon serializers
and transformers.  A serializer or a transformer can grab the results of a
transformation and do with it as it pleases.  As such, they can, in a sense,
replace the requirement for components implemented directly on Avalon...

I'm not sure, but depending on your implementation time frame you might want
to consider the Cocoon 2.1 fork instead of the 2.0 versions of Cocoon.  Less
stable, but I think they might fit your requirements a little better (can
anyone validate this?).




-
Please check that your question  has not already been answered in the
FAQ before posting. 

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>




Re: web app design

2002-09-20 Thread Raúl Wild-Spain

thanks for your response, Peter ;-)

 difficult questions ...  I would like to explain my purposes a little
more ( although I don't know if it's necessary for me or for you ... I think
for me ;-)   )

My webapp is a vertical app on cocoon, specifically only oriented for
Businesses who wants to base their e-comm-activity in CRM. The architecture
of Cocoon, based entirely on XML, makes it very good for my purposes. My
problem is that I not only need to create content on Cocoon but I need to
create a new layer of services/components on Cocoon, layers nearest to
requirements for Businesses and CRM and in other concern areas different to
cocoon but  I would like to make it as Cocoon makes it (and avalon) ( here
is my problem, you know ;-)  ),

In this sense, the result should be a Cocoon but with enhanced services for
the purposes mentioned, strongly based in cocoon but with developing
future-jobs parallel to Cocoon because her high-specificity.

In a very general overview, my webapp will need to make use of cocoon
facilities and architecture, EJB and DB (and to create XML from DB) and it
should conform her as a Business2CRM Webpublishing framework (I'll try it
;-) )

Like you said me I would appreciate any article or information that can help
me to clarify my doubts concerned to Cocoon vs webapps. Also comments about
these explanations.

Also thank's a lot for your hints about XML - XSLT concerns, Peter.

Raúl Cruz
[EMAIL PROTECTED]


-
Please check that your question  has not already been answered in the
FAQ before posting. 

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>




RE: web app design

2002-09-20 Thread Hunsberger, Peter


> Related to cocoon it seems I need to do all this through generators or
> actions ( I think), but It not seems the proper way because all my
required
> process will occurs out of SAX streams or related process (or I don't
> understand how to do it). Only in the load process my components will need
> to read some specific xml data for their configuration and initialization

> Also I will need my components make use of session management, caching,
> scheduling DB access and i18n ... should it manage it directly with java?
> cocoon? and/or avalon components?

Raul,

choosing a good application architecture even using just Cocoon can be
difficult, never mind adding Avalon components to the mix.  I think you need
to tell us some of the performance criteria: how many users max?  what kind
of data set sizes?  how many transactions per second, minute or hour
(whichever is relevant)?  The other thing that helps in this decision is
knowing how dynamic the data is and where it is sourced:  is every page
built dynamically, or are pages mostly static?  Is the data all XML, is some
of it relational DB, or does some come from other systems via EJBs?

If the answer is that performance scaling is not an issue and the data is
all XML and every page is dynamic then a pure Cocoon solution would make
sense.  If the answer is that performance is going to be a big problem, the
data comes from SJBs and everything is dynamic then pure Avalon components
might make sense.  If everything is static then just Apache might make
sense...

If you go with a pure Cocoon or mostly Cocoon implementation then I would
push for a design centered around implementing business rules via XML and
XSLT separated from data presentation (also based on XML and XSLT).  This
exploits the functional programming design of XSLT and minimizes procedural
logic coding.  This can be a hard thing to understand but is extremely
powerful and flexible if you take the time to learn how to do it (a
knowledge of LISP, Prologue and/or Haskell might help).  In such a design
you extract all business rules and all data as XML from various sources and
use the business rule data to first transform the data according to the
business rules (your interface contract) and then transform the data in a
second pass as needed for presentation.  If everything is dynamic you need
to also code metadata to determine what real data must be extracted. This
eliminates the need for logic-sheets and taglibs, using XSLT to filter the
XML instead.  You do end up coding Cocoon generators and actions to
implement such a design, but they are mostly trivial; they create the XML
and pass on or filter http response data as more XML for subsequent
processing steps.

If you're interested in pursuing this approach give me a reply back and I
can likely dig up some old threads in the archives on the topic.




-
Please check that your question  has not already been answered in the
FAQ before posting. 

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>