As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Are there any good books on the subject worth reading and still up-to-date with current technologies?
I'm mostly interested in back-end architecture and things I should consider choosing clustering and database solution as I plan to use GWT for the front-end therefore won't be able to control a lot there.
I'm looking for a book which will answer questions like: How to choose load balancing strategy? What DB model to choose? How to scale data? How to scale request handling? What are common problems when building web application able to handle huge traffic?
About GWT: Google Web Toolkit Applications.
In general Even faster web sites performance and Building scalable web sites are very nice.
I have heard good words on The Art of Capicity Planning too, but i don't have it, so i cannot say from first-hand experience.
Check out O'Reilly's books. Here's one on High Performance Web Sites.
Don't know about books, but if you want information regarding real world, up to the bleeding edge, scalable web applications and architecture, then highscalability is a must read.
Perfomance Analysis for Java Web Sites by Stacey Joines et al?
My take is that Ajax doesn't fundamentally affect the overall approach to scalability. It may place even greater emphasis on the intelligent use of caching, but overall everything we knew about scalabilty remains true.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I intend to create a webapp in which members of an organization will sign in, filter and search for events, and sign up to attend events. I'm just making this for one organization, but I'll most likely make it open source when I'm done.
I have my own hosting space on GoDaddy, but then I found Google's App Engine and figured it would be more efficient.
I also plan on using Twitter Bootstrap and HTML5 Boilerplate (maybe?). UI is important to me. I'll also make an iPad app with the same function that uses the same data sometime soon.
So Python or Java? What are the advantages and disadvantages for this application for each? I've learned the absolute basics of both languages but have not used either of them for the web.
I'd consider the Go Programming Language, but it doesn't look as community-supported.
TIA!
#Blender and #Barranka are right. Both languages are equally well supported on App Engine, with only very minor differences. The web client libraries you mention should integrate equally well with either, and you won't easily be able to port code to iOS in either language. (If you also plan an Android app, that might be a vote for Java, but you didn't mention that.)
So the answer is, pick the language you prefer. Both will work.
(If you don't have a preference, maybe lean toward Python, since it's higher level and supports rapid development a bit better, and Java's advantages (performance, static typing, etc.) aren't as important for what you want to build.)
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
The server will be processing large amounts of data daily and needs to be fast.
The best language is the language that you, and your team, know the best - you will do a better job writing your server in a language you are an expert in than a language you just picked up.
It also depends wildly on the details of your problem. You mentioned "lots of data", but not what that means. That could be 100MB a day, 1TB a day, 15PB a day?
Is this big batch processing, or lots of little interactive operations?
Of the three specific languages you tagged in, Java, Scala, and Ruby, all three are reasonable choices that real companies have been successful in the market.
JVM hosted languages are generally going to be "faster" than traditional MRI Ruby, and both Java and Scala are generally "faster" than JRuby, when it comes to raw CPU capabilities.
Of the three, Scala probably offers the least familiar, most challenging paradigm for developers unfamiliar with it, but also has very good parallel and concurrent programming tools available in the core compared to the other options.
Finally, your end results will be influenced as substantially, if not more so, by the rest of the ecosystem you choose - the web or message handling stack, the data storage engine, and other concerns. They, perhaps, should dictate your language more than your language dictates your ecosystem.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm starting my thesis on Agents and Smart Objects interaction and I'd like to know what's in the future for JADE, the Java Agent framework. I find the whole concept of agents, programmable behaviors, federations and their help in solving Artificial Intelligence problems very interesting but will it always be an academic field, like Haskell? What's being done with JADE?
I created a system for my PhD - using JADE as the framework - where agents played music with human musicians. There's a bit of a write up (and a link to the thesis) at http://www.mo-seph.com/academic/musicalagents
In the end, I didn't use a lot of JADE, and found it quite heavyweight for the kind of work I was doing. The communications library was useful (if a bit hard work) and the message queuing side of it worked OK. However, I quickly found that most of the behaviour I wanted to implement needed to be so heavily customised that the JADE framework only really supported the transfer of information.
I think the usefulness of the framework depends hugely on what the question is. It seems that a lot of the usefulness of JADE was around it's links to the FIPA agent communication languages (http://www.fipa.org/) and the communications infrastructure in general. If that's what you're interested in, then it might be quite useful. If you're more concerned with the intelligence in individual agents, it might be a useful framework, but it won't help much with the design of the intelligence.
Systems like JADE, Aglets etc. are "containers" as opposed to libraries.
This means that if you want to use some aspects of code mobility/mobile objects/mobile agents in your application, you basically have to design your application around these frameworks. I think this limits the applicability quite a bit.
Personally I think the ability to send mobile objects/mobile agents to remote machines is generally quite useful though. It's a very powerful idea and has applications for sure in grid computing, but also applications in areas where RPC is used right now.
So given this idea I wrote Mobility-RPC which is a way to avail of code mobility in any application, much like you would use RPC.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
What are the main advantages (and disadvantages) of using of an Application Server, comparing to a standalone application? I'm interested in Java approach mainly.
With an application server, the developer should spend time writing business logic (which delivers added-value) rather than boilerplate infrastructure code (e.g. managing transactions, configuration, security, etc.). So to me, the main argument is that using an application server should boost the productivity.
Unfortunately, the learning curve until you can unleash this productivity boost is rather long. In the worse case, misusage of application server features can even result in a productivity loss.
Also a general problem with any approach that raise the abstraction level (same with MDA, etc.), is that when something goes wrong it's harder to understand how to fix or circumvent the problem. On the other hand, if you do everything yourself at a lower abstraction level, you know how to fix problem easily but you re-invent the wheel again and again.
This is a high-level view of the concept of application server. For details about technical features of Java EE application servers, refer to the Java EE documentation or the link in the 1st comment to your question.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What are the factors in deciding framework to choose ,technology for a web application .any architect please provide a guidance.
Target devices - If your application needs to run on mobile devices, then your application needs to be lightweight on the client side (not too much complex javascript, light DOM structures...)
Visibility - Should your application's content be indexed by search engines? If yes, then you have to remember that for example AJAX and Flash based solutions won't be indexed (workarounds exist).
Usability - If your application needs a high usability, then you should consider creating desktop like applications - in other words, a Rich Internet Application (RIA)
Security - No matter what you answer on the previous points, you have to remember security. Using client centric solutions (business logic written in client code (eg. javascript)) are a major security risk. Remember that I only talk about the security of the architecture. No framework will give you security for free, ultimately, the level of security is always up to the developers.
Skill of the team
Familiarity with the similar frameworks
Power of the framework
Ease of development
Scope of the project. I mean what you need, or will need, what it offers, or not.
Community support, Books
requirements of the projectrestrictions of the environmenttime frame of the projectprevious foundational codecurrent abilities of team