President and Technology Evangelist Iqbal Khan co-founded Alachisoft to provide world class performance and scalability solutions. Thanks to our customers, Alachisoft achieved its goal with NCache, the .NET caching market leader for 13 years running. Iqbal's Master's of Computer Science from Indiana University, 25+ years of experience in software architecture, design and development, and hands-on business experience make him a great resource internally and in the Developer Community. He is a frequent speaker at industry events including DevWeek London, TechDays France, VSLive! Shows etc. plus you can find him at local .NET Code Camps and Meetups. He has written for MSDN magazine, CodeProject and Visual Studio Magazine.
Today’s applications need to scale and handle extreme levels of transaction loads. But, databases are unable to scale and therefore become a bottleneck. To resolve this, many people are turning to in-memory distributed cache because it scales linearly and removes the database bottlenecks. A distributed cache typically contains two types of data, transactional data, and…
Today many organizations use .NET and Java technologies to develop different high traffic applications. At the same time, these applications not only have a need to share data with each other, but also want to support runtime sharing of different version of the same class for backward compatibility and cost reduction. The most common way…
High traffic real time applications are widely used in the enterprise environment. In real-time applications, information is made available to you in moments it’s produced and any delay in doing so can cause a serious financial loss. The main challenge faced by these high traffic real time applications is to get notified about any changes…
Many organizations today use a variety of .NET and Java technologies to develop different high traffic applications. At the same time, these organizations have a need to share data at runtime between .NET and Java applications. One way to share data is through the database, but that is slow and also doesn’t scale very well.…
As you know, JSP applications have the concept of a Session object in order to handle multiple HTTP requests. This is because HTTP protocol is stateless and Session is used in maintaining user’s state across multiple HTTP requests. In a single web server configuration, there is no issue but as soon as you have a…
Spring is a lightweight, dependency injection and aspect-oriented development container and framework for Java. It reduces the overall complexity of J2EE development and provides high cohesion and loose coupling. Because of the benefits Spring provides, it is used by a lot of developers for creating high traffic small to enterprise level applications. But these high…
Hibernate is an Object-Relational Mapping library for Java language. It provides you mapping from Java classes to database table and reduces the overall development cycle. Because of benefits Hibernate provides, more and more high transactional applications are developed using Hibernate. Here is an example of Hibernate in a Java application.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import org.hibernate.*; public class HibernateSample { ... Session session = factory.openSession(); session = factory.openSession(); Transaction tx = session.beginTransaction(); Query query = session.createQuery("from Customer c"); Iterator it = query.list().iterator(); while (it.hasNext ()){ Customer customer = (Customer) it.next(); ... } tx.commit(); session.close(); } |
But, these high traffic…
Distributed caching has become a very important part of any high transaction application in order to ensure that the database does not become a scalability bottleneck. But, since a distributed cache keeps a copy of your application data, you must always ensure that it is kept synchronized with your database. Without this, the distributed cache…
Serialization transforms an object into a byte-stream so it can be moved out of a process either for persistence or to be sent to another process. And de-serialization is the reverse process that transforms a byte-stream back into an object. And, unlike a stand-alone cache, a distributed cache must serialize objects so it can send…