BlazeDS vs. GraniteDS [closed] - apache-flex

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.
Anyone have any experience evaluating BlazeDS and GraniteDS? I'm curious about which is better at integrating with Spring/Hibernate.

If you are just looking for simple RPC and messaging, I would go with Blaze. The implementations are more mature and better proven, especially with respect to messaging. The messaging in Granite is based on Comet and still pretty new from what I remember. More details below...
Blaze DS is basically a stack that includes RPC and some simple messaging services over HTTP. Integration with Spring is achieved easily using the SpringFactory implementation of FlexFactory: just google the class name and you'll find the code. It doesn't offer any additional support for things Hibernate-related.
Granite DS is growing rapidly in terms of features. It competes more with LCDS than Blaze DS. It includes the ability to parse Hibernate object graphs and deal with lazy proxies in a clean fashion. They also have a tool called "Tide" that creates an analog of a Session in the Flex client to ensure uniqueness of entities. They also have explicit support for services exposed via Spring, EJB3 and Seam. Granite also has a utility for generating AS3 classes from your Java classes (although this not hard to write yourself if you want to).
I worked with Granite about a year ago and had some problems getting it properly parse object graphs; the Flash Player would throw some nasty low-level exceptions. My guess is that the documentation and implementation have matured since so that these are no longer issues. However, I'm still a bit hesitant to recommend it since I ran into issues and switching to Blaze immediately resolved them with no trouble at all.

A few side notes on Cliff's comments:
GraniteDS was created late 2006, about one year before BlazeDS. It is widely used in demanding production environments and could be at least considered as mature and proven than BlazeDS.
GraniteDS messaging was introduced in the 1.0 release (late 2007, few weeks after the first BlazeDS release), it is now very mature and proven as well in demanding production environments.
The Flash player exceptions encountered by Cliff are generally caused by failing to compile all generated AS3 classes in the SWF. It is only a matter of using a Flex compiler option that forces the inclusion of these missing classes, which are part of the data graph model and required at deserialization time but not explicitly used in the MXML/AS3 code.
Most of the GraniteDS users are coming from BlazeDS/LCDS because these two frameworks are not dealing correctly with complex data models (no or faulty lazy-loading support, bad transaction isolation, etc.)
So, IMHO, unless you are developing a small application with a rather trivial data model, you should go to GraniteDS.

Related

NODE.JS versus IIS (Why node) [closed]

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.
Whats the point of node.js creating its own server and tries listening on it, isn't IIS/apache give us all of that? I understand its based on I/O Completion but we have web-servers technology in place. Can someone explain what can be achieved via node (apart from the java script on server side, which can be also achieved via SignalR) that can't be done via ASP.NEt and why we should focus so much on node when we have a tone of technology under asp.net stack
Any classic example of node? typically for a enterprise dev. shop
Most web programming are for data display & eCommerce applications which are mostly database intensive, though lately it has been mash-up as well with web services, yes mobile web is a different game due to hardware sensors I agree but what is Node giving us which ASP.NET with SignalR can't give us?
TIA
What I find very interesting with Node is that everything is event based, which is different than programming ASP.NET or PHP where behavior is more sequential. Not a bad thing, just a different way of doing things.
You can program the server itself (as opposed to programming applications that run on the server) to do more than serving files, the typical example with Node is the chat room application where you broadcast messages to all participants and each can send messages to the server. By programming your own server events (like listen, error, connect etc) you have a lot of control over how things go server side.
Then of course npm, the node package manager, is definitely a plus over having to manually work the dependencies if you want to use 3rd party libs.
To host an ASP.NET site/app you need IIS which is a proprietary system, whereas Apache and Node are more open. Granted though, Node hosting is not as widespread as Apache based hosting.
Hope this answers some of your questions
Each technology can achieve anything. If you prefer ASP.NET over Node, use it. ASP.NET is extremely powerful and there is no reason to use Node over ASP.NET when you have the expertise and software/money to run your services. Node is just different; it has a different execution model (no threading whatsoever) and above all, it is open source and free. It is easy to get started on any OS, and easy to deploy on any OS. But in the end, it comes down to; what do you prefer?

Best tool: Distributed load test for asp.net applications [closed]

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.
We want a high performance testing tool for a distributed scenario
We want to collect data from clients and from server (memory usage, cpu usage, response time, .net calls etc).
Most of our applications are using .Net 4.0 or Classic Asp.
We have 4 servers. We want 1 controller and three agents working together for testing, collecting data.
What's the best tool for this scenario?
ps: We've tried Visual studio 2012 ultimate and it seems promising. I don't know other tools that fits the scenario.
Give Load Tester a try: http://www.webperformance.com/load-testing/ (disclaimer: I work there). It has a monitoring agent that will run on your Windows servers to collect the metrics you mentioned and a lot more. It also collects client-side metrics such as page load time. The LITE version is free and can run simple tests with unlimited users.
Take a look at Rational Performance Tester. I was about to purchase a license for one of our projects but didn't push through for reasons not related to the software. Looked promising back then.
I would split things up to keep it simple.
First I would check what the average requests per seconds is when using your servers to generate load. For that there is a small tool included in Apache Http Server called ab.exe. It's easy to setup to generate requests.
If you think that you get acceptable response times all is well.
If not, use something like Jetbrains DotTrace (in your app) to collect data when generating load from one server.

BreezeJS vs JayData for SPA development on ASP.NET MVC [closed]

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.
As a web developer I've discovered the joys of working with KnockoutJS lately but when it comes to working with the server I'm pretty much left on my own. I've considered BreezeJS and JayData for their CRUD capabilities and batch operations but I'm still not sure on which one suits me best.
I'm focused on ASP.NET MVC development with EF right now but I might switch to other platforms later and so I'd prefer not to be restricted to one particular framework. In this respect JayData offers a number of providers over BreezeJS like OData, webSQL, IndexedDB, localStore, Facebook and YQL which is almost overwhelming. BreezeJS does support OData however but only for consumption.
But how about ease of use, documentation and other crucial features which I might not have thought of?
Thanks for your help in helping me choose between them.
I'm member of JayData dev team, but I've tried Breeze, too.
Comparing them by the easy of use would be subjective, it depends on your taste. The intention of these libraries are the same: protect the developer from implementing protocol and concentrate on data management. But JayData isn't just a ORM library, but a unified data management paradigm and tool, which can be used on the server-side to build your own PaaS/BaaS.
As JayData was published in May 2012 with the provider-model, we had more time to implement more data providers (you missed the MongoDB on server-side and WebAPI, which will be released in few days) and support many developer platforms. I would mention the TypeScript support and the online-offline capability thanks to the unified API, which is important if you want to use the library now.
Breeze has also nice features on the roadmap and I'm sure you it will be a useful library in general, not just for consuming WebAPI services in a comfortable way.
The documentations is more or less the same, both team offer enterprise and community support.
If you only want to access WebAPI from JavaScript, I would pick the library depending on my prefered UI library/templating engine:
Breeze: Knockout, Angular, Backbone (Hopefully Breeze guys will update this with insider news)
JayData: Knockout (with dynamic queries), Angular (tutorial on the way), Handlebars, Sencha (read-only), KendoUI (comes in few days).
Both dev teams are helpful and listening to the tags, so you can ask how could these libraries solve the business problem or meet the technical requirements of your project.

What is the best server-side programming language for large scale web applications? [closed]

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.
I have a large web application idea that I would like to work on, which will require secure database interactions, file creation and editing abilities, speed, and output html. It needs to be able to run on a webhost, not a self-run server. What would be the best programming language to use to create it? I am not looking for 'easiest', I am looking for the most useful for the type of web application I wish to develop.
EDIT:
It needs to be able to run on linux.
My pick would be ASP. NET MVC platform with Razor in-line syntax and C# for your code.
.NET ticks all your boxes, plus it has a humongous community, lots of help resources, tutorials etc. online; probably the best coding tool out there (Visual Studio 2010), easy to integrate with cutting-edge stuff like html5, jQuery, CSS3, AJAX etc.
ASP.NET is Microsoft technology, hence you will need to develop on Windows (anything from XP and above will do). C# uses similar syntax to JAVA. Razor is new and fairly easy to use. .NET works very well with most databases and you can even manage both your code and database in the same tool (Visual Studio) depending on which DBMS you'll go for.
And I guess the biggest argument, as Matteo Mosca pointed out is that this very site was built using ASP .NET MVC and, in my opinion, it does its job pretty well.
Please define "webhost". For a lot of people, that means "PHP hoster", and that sort of limits your choice of languages to 1.
For a large webapp, I would definitely take something that runs on the JVM (assuming that your definition of "webhost" includes some shop that accepts .war files for hosting - I usually self-host on virtual machines and run the Play Framework because it is so much easier). On the JVM, you have a choice of frameworks and languages - and again check out Play - and here it starts depending on language skills, specific needs, etcetera. Scala would, for a large app, definitely be on my shortlist these days.
Note that I say "JVM", not "Java". I think the JVM ecosystem rocks - you will probably find a site that takes the standard .war file format to host, if you need a library it is usually there, performance is top-of-the-line. Java as a programming language is so-so, but luckily there is choice these days.
Also, a lot depends on your skills, your preferences, etcetera. I'd say that Python, Perl, Ruby, C# all are very viable languages to build large websites. What development languages do you prefer? At the end of the day, that's a big factor in speed and ease of developement...
I personally would recommend a good structured project (n-layer approach, use of an ORM, etc) under .net 4.0, with the goodness of C# and the Mvc framework (version 3) for the UI part.
If you had bad experiences with .net web forms and you think that sucks, you're right. But the MVC framework is something else, built on the RoR approach.
That's just what I'd use anyway. Consider the power of the features of C# 4.0 (dynamic, linq, generics, etc), the fact that you will be using Visual Studio (which is commonly recognised as the best development ide around) and the great number of free components that are now available, and recently even easy to obtain and use thanks to NuGet package manager.
To give you a great example of a site made with asp.net Mvc - you are on such site right now. Stack Overflow and all the stack exchange sites are built on Asp.net Mvc, if I remember correctly. If not, somebody correct this.

Distributed Cache/Session where should I turn? [closed]

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 am currently looking at a distributed cache solution.
If money was not an issue, which would you recommend?
www.scaleoutsoftware.com
ncache
memcacheddotnet
MS Velocity
Out of your selection I've only ever attempted to use memcached, and even then it wasn't the C#/.NET libraries.
However memcached technology is fairly well proven, just look at the sites that use it:
...The system is used by several very large, well-known sites including YouTube, LiveJournal, Slashdot, Wikipedia, SourceForge, ShowClix, GameFAQs, Facebook, Digg, Twitter, Fotolog, BoardGameGeek, NYTimes.com, deviantART, Jamendo, Kayak, VxV, ThePirateBay and Netlog.
I don't really see a reason to look at the other solution's.
Good Luck,
Brian G.
One thing that people typically forget when evaluating solutions is dedicated support.
If you go with memcached then you'll get none, because you're using completely open source software that is not backed by any vendor. Yes, the core platform is well tested by virtue of age, but the C# client libraries are probably much less so. And yes, you'll probably get some help on forums and the like, but there is no guarantee responses will be fast, and no guarantee you'll get any responses at all.
I don't know what the support for NCache or the ScaleOut cache is like, but it's something that's worth finding out before choosing them. I've dealt with many companies for support over the last few years and the support is often outsourced to people who don't even work at the company (with no chance of getting to the people who do) and this means no chance of getting quality of timely support. On the other hand I've also dealt with companies who'll escalate serious issues to the right people, fix important issues very fast, and ship you a personal patch.
One of those companies is Microsoft, which is one of the reasons that we use their software as our platform. If you have a production issue, then you can rely on their support. So my inclination would be to go with Velocity largely on this basis.
Possible the most important thing though, whichever cache you choose, is to abstract it behind your own interface (e.g. ICache) which will allow you to evaluate a number of them without holding up the rest of the development process. This means that even if your initial decision turns out not to work for you, you can switch it without breaking much of the application.
(Note: I'm assuming here that all caches have sufficient features to support what you need from them, and that all caches have sufficient and broadly similar performance. This may not be a valid assumption, in which case you'll need to provide more detail in your question as to why it isn't).
You could also add Oracle Coherence to your list. It has both .NET and Java APIs.
From microsoft : App fabric
Commerical : NCache
Open source : RIAK
We tried a couple in the end we use the SQL session provider for asp.net/mvc yes there is the overhead of the connection to the DB but our DB server is very fast and the web farm has loads of capacity so not an issue.
Very interested in RIAK has .net client and used by Yahoo - can be scaled to many manu server

Resources