Funnelink.com Blog

Just another WordPress weblog

A test article with local video

Cum are loc inregistrarea la serviciul Flirt?

Expediati un mesaj cu textul Flirt limba numele sexul varsta la numarul 069.[limba] – limba de comunicare (Ro sau Ru), [nume] – numele cu care veti participa, [sex] – este sexul Dvs., m – barbat, w – femeie, [varsta] – varsta participantului, cifra de la 16 la 99 ani.

Dupa aceasta veti primi o intrebare, referitoare la preferintele Dvs., referitoare la partenerul cautat (tastati m ,w sau a).

Get the Flash Player to see this player.

Youtoube video test post

CS 61B: Data Structures – Fall 2006

Instructor: Jonathan Shewchuk

Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the Java programming language.

http://www.cs.berkeley.edu

Category: Education

Tags:

Deploying a 1 Terabyte Cache using EhCache Server

Greg Luck, of the EhCache team, announced in early August the availability of SOAP and RESTful APIs for caching. As described in the documentation:

Ehcache now comes with a Cache Server, available as a WAR for most web containers, or as a standalone server. The Cache Server has two APIs: RESTful resource oriented, and SOAP. Both support clients in any programming language.

In a follow up post, Greg outlines his thoughts on deployment options for a theoretical 1 terabyte cache:

The largest ehcache single instances run at around 20GB in memory. The largest disk stores run at 100Gb each. Add nodes together, with cache data partitioned across them, to get larger sizes. 50 nodes at 20GB gets you to 1 Terabyte.

The first, and simplest, approach involves setting up several nodes running  ehcache server and have the client determine the server to use based on an object’s hashcode:

String[] cacheservers = new String[]{
  "cacheserver0.company.com",
  "cacheserver1.company.com",
  "cacheserver2.company.com",
  "cacheserver3.company.com",
  "cacheserver4.company.com",
  "cacheserver5.company.com"
};
Object key = "123231";
int hash = Math.abs(key.hashCode());
int cacheserverIndex = hash % cacheservers.length;
String cacheserver =cacheservers[cacheserverIndex];

To support redundancy, a load balancer is introduced, and each node runs two ehcache server instances, with replication between them enabled using the existing distributed caching options (RMI or JGroups). In this approach, clients would still determine their servers using the hashcode, but now failures are handled transparently behind the virtual IP assigned by the load balancer.

The third option Greg describes involves moving the responsibility for routing requests to the load balancer.

The RESTful version of the EhCache Server is based on Jersey – the JSR 311 reference implementation. Paul Sandoz, one of the Jersey developers, discussed how the client API of jersey could be used to access the cache for creating and retrieving a sample XML document:

// retrieving a node
Node n = r.accept("application/xml").get(DOMSource.class).getNode();
// creating a node
String xmlDocument = "...";
Client c = Client.create();
WebResource r = c.resource(http://localhost:8080/ehcache/rest/sampleCache2/2);
r.type("application/xml").put(xmlDocument);

So, in what scenarios would a RESTful cache be useful? James Webster reports on seeing an increase in adoption of this architectural style in large enterprises:

An architectural pattern that I have observed a few investment banks implement is a distributed memory cache accessed via a RESTful front-end over HTTP for providing access to market data (e.g.. stock prices, interest rate curves, or derived values like volatility surfaces & correlations) and static data (e.g. counterparty details, settlement defaults). The distributed cache can be ‘easily’ scaled to hold massive data sets and the front-end allows the data to be accessed in a technology agnostic fashion, as long as the client can speak HTTP.

As James points out, it will be interesting to see how long it will take commercial vendors (such as Oracle and Gigaspaces) to support RESTful interfaces in their products.

Natural Laws of Software Development – Deriving Agile Practices

Natural Laws of Software Development - Deriving Agile Practices

Summary
In this presentation filmed during Agile 2008, Ron Jeffries and Chet Hendrickson derive Agile practices from the natural laws of software development. They don’t just say “Be Agile!”, but they explain why Agile practices make perfect sense in the software development world.

Bio
Ron Jeffries, an independent consultant in XP and Agile methods, was the on-site coach for the original XP project, authored Extreme Programming Adventures in C# and other books. Chet Hendrickson is an independent Agile/XP consultant. He wrote Extreme Programming Installed.

About the conference
Agile 2008 is an exciting international industry conference that presents the latest techniques, technologies, attitudes and first-hand experience, from both a management and development perspective, for successful Agile software development.

Ut malesuada

Proin non erat. Quisque nec dui nec ipsum vulputate elementum. Maecenas pharetra. Etiam lacinia dolor sodales turpis. Curabitur enim erat, varius tincidunt, dapibus sed, aliquet sit amet, massa. Nulla faucibus pede at ipsum. Ut malesuada, augue vel interdum cursus, odio turpis accumsan nulla, eget mattis nibh lacus quis orci. Phasellus aliquam, nisi vel porttitor egestas, augue dui interdum nulla, ut lacinia quam lectus a tellus. Sed dolor ante, fermentum quis, accumsan quis, sodales ac, ipsum. Duis malesuada. Praesent vitae neque. Nulla facilisi.

Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!