Le 2010-11-16 à 14:42, Antonio Petri a écrit :

> 
> Of course, the sad reality is that our industry loves to just syntactically 
> masturbate with different languages and pretend that we're much better for it 
> when the reality is that basically nothing has changed in 30 years in terms 
> of how we actually solve problems.
> 
> I get this as iTunes, Google and Twitter could have well been built using 
> Pascal (the language...) 

No, because Pascal is too fat :-) At least that was one of my teachers said in 
college when we had to do a DOS (!!) app to send files over a NULL modem and he 
said that we will do the project in C because Pascal is too fat...

> 
> On Nov 15, 2010, at 8:50 PM, Ian Joyner wrote:
> 
> > I agree with this too. Problem or fixed complexity must be dealt with 
> > somewhere in the system, and arguments often abound as to where that should 
> > be done (almost always without people recognizing that fact). I wrote on 
> > that recently too:
> >
> > http://www.ianjoyner.name/Ian_Joyner/Complexity.html
> >
> > so am in vehement agreement.
> >
> > It's always a problem getting something to run quickly, like Twitter, to 
> > see if it succeeds or fails, before committing significant resources, and 
> > then like Twitter maybe rewriting your message queues in Scala for speed. 
> > (Something done by WO, I think?)
> >
> > But getting something quickly done in WO, might be a problem. Pascal's 
> > words about "learning cliff" still ring in my ears ;-)
> >
> > Ian
> >
> > On 16 Nov 2010, at 12:20, Mike Schrag wrote:
> >
> >> I think you also have to weigh the dramatically more complex security and 
> >> protocol required to handle state on the client. You get a huge amount for 
> >> free with WO in terms of state transition management that you have to 
> >> build yourself if you use almost any other system. You also get a large 
> >> amount for free with WO with respect to security because you can count on 
> >> "that you called this action means you were allowed to see this action," 
> >> whereas a traditional restful system requires security enforcement for 
> >> every action. Also consider that your site isn't iTunes, Google, or 
> >> Twitter. Most applications don't have to scale all that much, and almost 
> >> certainly are within the realm of a few servers and dumping ram into your 
> >> box.
> >>
> >> I also don't care what tools and frameworks you built your system with. If 
> >> you DO become iTunes, Google, or Twitter, your app won't scale. Period. 
> >> I've never seen a system that scales without investing substantial 
> >> engineering effort in profiling and rearchitecture after deployment. If 
> >> you built your app with rest, all you're doing is shifting your load in 
> >> other ways. Like Chuck said, you get a lot of caching for free with WO 
> >> that you have to figure out how to get back with stateless architectures. 
> >> And the most common method? Shared object caches -- Memcached, Coherence, 
> >> etc. WO/EOF essentially has this architecture (on the persistence side), 
> >> but with local caches in the snapshot cache that serve whatever sessions 
> >> you send to it. With a little bit of work with sharding your users, you 
> >> can take advantage of that by routing users to appropriate instances.
> >>
> >> The moral of the story is that every technology sucks, so you might as 
> >> well just build it fast so it can suck in production faster and you can 
> >> move on with your life.
> >>
> >> ms
> >>
> >> On Nov 15, 2010, at 8:02 PM, Chuck Hill wrote:
> >>
> >>>
> >>> On Nov 15, 2010, at 4:53 PM, Ian Joyner wrote:
> >>>
> >>>> On 16 Nov 2010, at 11:35, David LeBer wrote:
> >>>>
> >>>>>
> >>>>> On 2010-11-15, at 7:09 PM, Ian Joyner wrote:
> >>>>>
> >>>>>> (Not that I'm doing any WO these days, but I still like to follow.)
> >>>>>>
> >>>>>> One thing that has always worried me about scalability is keeping the 
> >>>>>> per user "application state" on the server in WOSession. Knowing more 
> >>>>>> about REST now, this is very unrestful and not stateless, which means 
> >>>>>> will not scale.
> >>>>>
> >>>>> I don't see why something being unrestful and not stateless 
> >>>>> automatically equates to not being able to scale. Perhaps you could 
> >>>>> explain.
> >>>>
> >>>> The problem is that once you get 1000s and millions of users you have 
> >>>> the problem of memory size storing all that session information in 
> >>>> memory on the server.
> >>>
> >>> As with any system, the number of concurrent users that can be handled on 
> >>> a given server depends on both the application and the technology that it 
> >>> is built on.  I will grant you that WO probably uses more memory per user 
> >>> than many technologies.  But memory usage is only one part of the 
> >>> equation.
> >>>
> >>>
> >>>> Server must also manage all these sessions - clean them out every so 
> >>>> often. And (in middleware systems I worked on in the 80s) keep track of 
> >>>> state transitions with FSMs, etc.
> >>>>
> >>>> Yes you need session state, ie context, but it should be kept on the 
> >>>> client, which sends it along with each request. Thus user state is kept 
> >>>> only on the client which makes recoverability easier too, because if the 
> >>>> server is rebooted, client can continue oblivious to any problem.
> >>>
> >>> Yes, recoverability is a nice to have feature, but really how often is it 
> >>> actually needed?  Restarts should be planned with the instances being set 
> >>> to Refuse New Sessions so that there are no active sessions on a machine 
> >>> when it is rebooted.  So recoverability is only strictly needed for 
> >>> accidental restarts, kernel panics and such.
> >>>
> >>> The problem with keeping the WO state on the client is that WO keeps a 
> >>> LOT of state (EO, changed attributes, page cache, etc).  You would need 
> >>> to have a finely tuned way of getting that back and forth from the 
> >>> client, otherwise performance would suffer mightily.
> >>>
> >>> Chuck
> >>>
> >>>
> >>>
> >>>
> >>>>>
> >>>>>> How is this problem dealt with these days? WOnder?
> >>>>>>
> >>>>>> Thanks
> >>>>>> Ian
> >>>>>>
> >>>>>> On 16 Nov 2010, at 03:43, Greg Lappen wrote:
> >>>>>>
> >>>>>>> Hi everyone,
> >>>>>>>
> >>>>>>> Based on using WO for the last 7 years, I have observed a couple of 
> >>>>>>> things that seem to be a performance bottleneck in WebObjects.  I 
> >>>>>>> know that Apple uses WebObjects on a large scale for iTunes and 
> >>>>>>> ecommerce, so there must be solutions to these.
> >>>>>>>
> >>>>>>> #1 - Only one thread can be processing at once.  I seem to recall 
> >>>>>>> that this is a limit in EnterpriseObjects but it's been a while.
> >>>>>>>
> >>>>>>> #2 - EnterpriseObjects caches every object from the database.
> >>>>>>>
> >>>>>>> With that being said, how can you horizontally scale your application 
> >>>>>>> layer?  If you setup more instances of your app, they each have their 
> >>>>>>> own caches, which will be out of sync with each other.  Is there a 
> >>>>>>> commonly used framework for doing distributed cache management?  And 
> >>>>>>> is it possible to make your applications multithreaded so page 
> >>>>>>> requests can be processed concurrently?
> >>>>>>>
> >>>>>>> Thanks!
> >>>>>>>
> >>>>>>> Greg
> >>>>>>> _______________________________________________
> >>>>>>> Do not post admin requests to the list. They will be ignored.
> >>>>>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> >>>>>>> Help/Unsubscribe/Update your Subscription:
> >>>>>>> http://lists.apple.com/mailman/options/webobjects-dev/ianjoyner%40me.com
> >>>>>>>
> >>>>>>> This email sent to ianjoy...@me.com
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> Do not post admin requests to the list. They will be ignored.
> >>>>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> >>>>>> Help/Unsubscribe/Update your Subscription:
> >>>>>> http://lists.apple.com/mailman/options/webobjects-dev/dleber_wodev%40codeferous.com
> >>>>>>
> >>>>>> This email sent to dleber_wo...@codeferous.com
> >>>>>
> >>>>> ;david
> >>>>>
> >>>>> --
> >>>>> David LeBer
> >>>>> Codeferous Software
> >>>>> 'co-def-er-ous' adj. Literally 'code-bearing'
> >>>>> site:     http://codeferous.com
> >>>>> blog:     http://davidleber.net
> >>>>> profile:  http://www.linkedin.com/in/davidleber
> >>>>> twitter:  http://twitter.com/rebeld
> >>>>> --
> >>>>> Toronto Area Cocoa / WebObjects developers group:
> >>>>> http://tacow.org
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>> _______________________________________________
> >>>> Do not post admin requests to the list. They will be ignored.
> >>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> >>>> Help/Unsubscribe/Update your Subscription:
> >>>> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
> >>>>
> >>>> This email sent to ch...@global-village.net
> >>>
> >>> --
> >>> Chuck Hill             Senior Consultant / VP Development
> >>>
> >>> Practical WebObjects - for developers who want to increase their overall 
> >>> knowledge of WebObjects or who are trying to solve specific problems.
> >>> http://www.global-village.net/products/practical_webobjects
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Do not post admin requests to the list. They will be ignored.
> >>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> >>> Help/Unsubscribe/Update your Subscription:
> >>> http://lists.apple.com/mailman/options/webobjects-dev/mschrag%40pobox.com
> >>>
> >>> This email sent to msch...@pobox.com
> >>
> >
> > _______________________________________________
> > Do not post admin requests to the list. They will be ignored.
> > Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> > Help/Unsubscribe/Update your Subscription:
> > http://lists.apple.com/mailman/options/webobjects-dev/mschrag%40pobox.com
> >
> > This email sent to msch...@pobox.com
> 
>  _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/antonio.petri%40googlemail.com
> 
> This email sent to antonio.pe...@googlemail.com
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
> 
> This email sent to prob...@macti.ca

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to