Posts

Common Web Application Architecture

Image
Web application can be accessed by the users in a web browser through the internet. When the process initialized HTTP requests will be send to the web server and the server render the web pages, return the HTML pages to the client. These pages can be display in the  browser.   As I identified these are the key components in the architecture. Let’s consider each part of  the diagram.   When describing the components, I’ve identified two major parts. They are web Server and client Web server: Presentation layer This provide the bridge into the core business logic encapsulated in the business services. Presentation layer is responsible to translate the tasks and also the results to the users in an understandable version. When we consider the web application, this layer will consists of a server side component and a client side components. If we use the techniques called AJAX with the client side, it will help to increase the user experience as well. There...

Running IdeaMart Simulator on Ubuntu

Image
After few months of silence, here I’m back :D This time I’m trying to give the explanation to one of the trending questions in ideamart Facebook group. Few of the developers recently asked questions on running the ideamart simulator in Ubuntu. First you need to download the bundle package from ideamart website and to run the simulator need to setup the java virtual environment as well. – Install Java in Linux http://www.java.com/en/download/help/linux_install.xml After Java installation the very first time when I try to run the simulator this is the response in the terminal. Since I’ve already installed java and test the environment, I’m sure the error is not related to java. :D When considering the files on 64-bit systems the 64 bit binary of the wrapper is attempted to be executed first and after this fails the 32 bit gets attempted to be loaded. But here the files were found and can’t be executed. Which means the files can’t be opened. So suddenly I remember the file permissions. Th...

Software License

Image
Software license is a legally binding agreement that specify the terms of use for an application and it defines the rights of the of the software producer and of the end user as well. A software license is a legal instrument (usually by way of contract law , with or without printed material) governing the use or redistribution of software.     Source: https://en.wikipedia.org/wiki/Software_license With the software license in contrast to proprietary software licenses, ownership of the particular copy of the software will go to the end user. It’ll not remaining with the publisher of the software. Then by default end user afforded all rights granted by copyright law to the copy owner. :) Please note the Copy owner is not the same as copyright owner . When ownership in a software copy is transferred ownership of the copyright still remains with the publisher. There are several types of the software licenses. They are Proprietary license GNU Gen...

Internet Protocol version 6 (IPv6)

Image
It’s been few weeks since my last article. So today I'll be talking about IPv6. The next generation of the internet protocol is IPv6. What is IPv6? Internet Protocol version 6 was developed by the Internet Engineering Task Force(IETF), which was starting in 1993 in response to a series of perceived problems, primarily with the exhaustion of the current, IP version 4(IPv4) address space. Simply IPv6 is the replacement internet protocol for Ipv4. With the 32 bit address format, IPv4 can handle a maximum of 4.3 billion unique IP addresses. With its 128-bit address format, IPv6 can support 3.4 x 10 38 unique IP addresses. There are different types of IPv6 addresses: Unicast, Anycast and Multicast. Unicast addresses are the well known addresses. A packet sent to a unicast address arrives exactly at the interface belonging to the address. Anycast addresses are syntactically indistinguishable from unicast addresses but they address a group of interfaces. The packet de...

CAP THEOREM

Image
What’s C, A and P? Consistency is the easiest one. It roughly means that the clients get the same view of data. By saying that a system is consistent we often mean strong consistency, but it also can come in different flavors. Availability is a property saying that every request to a non-failing node will return a (meaningful) response. The response may not contain all data (so the harvest will not be 100%), but it should be useful for the client. Partition tolerance means that the system will continue working even if any number of messages sent between nodes is lost. This can be e.g. a network failure between two data centers, where nodes in each data center form a partition. Also note that a failure of any number of nodes forms a partition (it is not possible to distinguish between a network failure and a node failing and stopping to respond to messages). The basic statement of the CAP theorem is that, given the three properties of Consistency, Availability, and Pa...

DevOps - Introduction

Image
What is DevOps? It's a movement of people who think it's time for change in the IT industry - time to stop wasting money, time to start delivering great software, and building systems that scale and last. This movement is being called Devops. It’s born of the need to improve the IT service delivery agility, and this emphasizes the communication, collaboration and integration between software developers and IT operations. Rather than seeing these two groups as silos who pass things along but don’t really work together, DevOps recognizes the interdependence of the software development and IT operations and helps an organization produce software and IT services more rapidly with frequent iteration. How does it help you? The Devops movement is built around a group of people who believe that the application of a combination of appropriate technology and attitude can revolutionize the world of software development and delivery. DevOps lifecycle The DevOps l...