background preloader

Fallacies of Distributed Computing - Wikipedia, the free encyclo

Fallacies of Distributed Computing - Wikipedia, the free encyclo
The Fallacies of Distributed Computing are a set of assumptions that L. Peter Deutsch and others at Sun Microsystems (now Oracle Corporation) originally asserted programmers new to distributed applications invariably make. These assumptions ultimately prove false, resulting either in the failure of the system, a substantial reduction in system scope, or in large, unplanned expenses required to redesign the system to meet its original goals.[citation needed] The fallacies[edit] The fallacies are summarized below:[1] Effects of the fallacies[edit] History[edit] See also[edit] References[edit] External links[edit] Related:  Java

Better Java Web Frameworks I have been doing web application framework development for a long time. In my first experience, we developed a “Web Application Framework“, to ease development so that even a business user could write an application. As the years passed, I never saw any business user writing applications because of the fact that this job belongs to programmers. Today some 4GL or DSL tools are still on the search of the same promise. Before writing our own framework, we had used WebObjects development tools, for Java web development. It was a very good platform that allowed front-end GUI development from a GUI editor with a component model. Web Application Frameworks meet the web application requirements. The power of Java and richness of web technologies have produced many web frameworks (and that's not even considering internal frameworks). Choosing A Java Web Framework: A Comparison Choosing a JVM Web Framework The API Field of Dreams – Too Much Stuff! This feature list is application-centric.

web development - The Definitive Guide To Forms based Website Authentication Threading lightly, Part 2: Reducing contention When we say a program is "too slow," we are generally referring to one of two performance attributes -- latency or scalability. Latency describes how long it takes for a given task to complete, whereas scalability describes how a program's performance varies under increasing load or given increased computing resources. A high degree of contention is bad for both latency and scalability. Why contention is such a problem Contended synchronizations are slow because they involve multiple thread switches and system calls. When multiple threads contend for the same monitor, the JVM has to maintain a queue of threads waiting for that monitor (and this queue must be synchronized across processors), which means more time spent in the JVM or OS code and less time spent in your program code. If we want to write scalable multithreaded programs, we must reduce contention for critical resources. Back to top Technique 1: Get in, get out Listing 1 demonstrates this technique. Listing 1. Listing 2.

24 Ejemplos de HTML5 & jQuery & CSS3… Alucinante !!! | Blog de Diseño Web 24 Ejemplos de HTML5 & jQuery & CSS3… Alucinante !!! El diseño webestá en constante evolución. La aparición hace unos años del jQuery y CSS3, unido a las mejoras introducidas (aunque todavía ridículas) en las velocidades de conexión, han supuesto un cambio radical en la concepción de diseños web. Ahora con la implantación cada vez mayor de las webs hechas con HTML5, llegamos a un periodo en el que “todo es posible“. Con un poco de imaginación y atractivos diseños, vamos a ver una total revolución en el diseño web, sobre todo en la usabilidad. A continuación os dejo con 24 ejmplos de páginas web realizadas en HTML5, jQuery y CSS3, que me han sorprendido mucho, estamos entrando en una nueva fase de diseño y usabilidad, en la que ya no hace falta pulsar sobre un botón para realizar una acción, en la que podremos interactuar mucho más con la web y dejar de ser meros espectadores.

Blog Xebia France - Chroniques de la performance : J’ai été, il y a peu, confronté à un problème de performances que l’on peut qualifier d’intéressant – dans la bouche d’un expert technique, ce mot a généralement tendance à provoquer une bouffée de panique chez les plus chevronnés des managers. Je vous explique. Le programme consiste à appliquer massivement un traitement identique à un volume important de données – bref, c’est un batch. Objectif opérationnel : assurer la capacité du système à traiter 50000 dossiers par heure. L’architecture d’exécution de ce batch est relativement classique : un contrôleur est chargé d’obtenir auprès d’un service métier une liste de dossiers à traiter, de segmenter cette liste en lots, puis de soumettre les lots à un pool de threads qui vont réaliser les traitements en parallèle – chaque lot est traité dans une transaction distincte. Le traitement unitaire d’un dossier est relativement long, de l’ordre de 2 secondes ; les lots sont donc petits – 4 dossiers – pour limiter la durée des transactions. Bien.

Useful Coding Tools and JavaScript Libraries For Web Developers - Smashing Magazine Advertisement Everyone who is a regular Smashing Magazine reader will know that we have a traditional habit of regularly researching the latest resources, tools and services out there on the Web, as productivity is a crucial asset of professional Web designers and developers. We could, and should, all integrate workflow optimization into our working practices. Perhaps we should warn you upfront for the long compilation, but what can we say — there are so many excellent tools out there which deserve attention of the community, yet unfortunately remain obscure way too often. We love all the designers and developers out there for releasing and producing useful, valuable resources for all of us to use! We, for one, surely sincerely appreciate it in the name of the Web design community. Useful Coding and Workflow Tools Stripe: Easy Credit-Card Processing For Online StoresA website owner has many options for accepting credit card payments. Last Click Stay Tuned! You won’t regret it. It's done.

Proposed Asynchronous Servlet API With Java NIO, you can theoretically manage 10,000 read, write and read/write connections with a total of one thread. Yes, but it's not clear to me how you can manage this under the Servlet API. With a custom non-servlet server, then sure, assuming the request processing for each channel is lightweight enough. Note that the Servlet API extensions that Jetty has implemented could be standardised so that standard Servlets could work nicely with an NIO server efficiently like Jetty already has done. See the title of this thread :) But if I have an NIO front end on the server and it calls a generic servlet, the servlet is going to consume a thread and can conceptually "do anything it wants", like block on another server resource (say, a JMS synchronous getMessage() call, or a particularly long SQL query).Basically, the problem I see is I can't see the advantages that a NIO based servlet container can provide, save serving up static resources.

Tilt: Visualize your Web page in 3D Tilt is a Firefox extension that lets you visualize any web page DOM tree in 3D. It is being developed by Victor Porof (3D developer responsible with the Firefox extension itself), along with Cedric Vivier (creating a WebGL optimized equivalent to the privileged canvas.drawWindow, see #653656) and Rob Campbell (who first thought about creating a 3D visualization of a webpage). Everything started initially as a Google Summer of Code project, but now, with an enthusiastic team behind it and so many new features and ideas, it has become an active Developer Tools project. Tilt is a fun new Firefox extension focused on creating a 3D visualization of a webpage. Since the DOM is essentially a tree-like representation of a document, this tool layers each node based on the nesting in the tree, creating stacks of elements, each having a corresponding depth and being textured according to the webpage rendering itself. Based on WebGL Controls Try it Future

The network bites. Never forget it. by alexis Oct 6