<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>Notes Of Genius &#187; Oshadha Gunawardena</title>
	<atom:link href="http://notesofgenius.com/author/oshadha-gunawardena/feed/" rel="self" type="application/rss+xml" />
	<link>http://notesofgenius.com</link>
	<description>Notes of Genius is an online magazine dedicated to publish latest Technological achievements and future trends in cutting edge Technologies.</description>
	<lastBuildDate>Wed, 01 Feb 2012 17:28:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Django Web Framework</title>
		<link>http://notesofgenius.com/django-web-framework/</link>
		<comments>http://notesofgenius.com/django-web-framework/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 21:43:24 +0000</pubDate>
		<dc:creator>Oshadha Gunawardena</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://notesofgenius.com/?p=369</guid>
		<description><![CDATA[Have you ever struggled with the time and a software project’s dead line, well for sure you should have experienced this kind of situation in many times before, as a developer. In today’s software industry one of most important aspects is the time, along with the talent and skills the ability to complete a certain [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever struggled with the time and a software project’s dead line, well for sure you should have experienced this kind of situation in many times before, as a developer. In today’s software industry one of most important aspects is the time, along with the talent and skills the ability to complete a certain task within a given period is of time is crucial. This impression leads to rapid application development, which every software company strives to accomplish. So whenever you reach this kind of situation there’s always a solution under the hood and that’s the beauty of software industry. <strong>Django Web Framework</strong> is one enormous solution that you can look for rapid application development. Python’s simplicity and Django’s flexibility cover up the needs in the context of this matter.</p>
<h2><strong>Intro To Python</strong></h2>
<p>From the external glance Python is a server side scripting language like Perl, PHP. Let’s talk about this, so what is a server side scripting language and what are other scripting languages that are currently on the job other than this server side scripting languages? Well server side means that the code you write (scripting) executes on the server side (web server) rather than client side (browser). Examples for client side scripting languages are JavaScript, VB script. The specialty of python is the flexibility, lightweight, high-level and, well it can be use as an OOP (Object Oriented Programming) language. Some may refer Python as a scripting language some may refer it as a programming language anyway the context of the whole idea is still the same. Now at the inner state Python has a collectable adoption within the industry, in the early 1990 that was Guido van Rossum created the language, since then is has been grown steadily and the concentration has increased remarkably in past few years. Python is used extensively for system administration tasks (it is, for example, a vital component of several Linux distributions), but it is also used to teach programming to complete beginners. The US National Aeronautics and Space Administration (NASA) use Python both for development and as a scripting language in several of its systems. Industrial Light &amp; Magic uses Python in its production of special effects for large-budget feature films. Yahoo! uses it (among other things) to manage its discussion groups. Google has used it to implement many components of its web crawler and search engine. Python is being used in such diverse areas as computer games and bioinformatics. Google’s latest innovation, the Google Wave’s server is also implemented using Python called <a href="http://www.pygowave.net/" target="_blank">Pygowave</a>.</p>
<h2><strong>What Is Django And What’s It Origin?</strong></h2>
<p>We can simply describe that Django is a web framework that 100% built using Python. That’s it, it’s really a framework that built for convenience and to reduce the time consuming efforts. Out of the box Django is very conceptive and robust basically the environment, so the developers only have to focus on how they going to implement a certain web application using Django, main considerations that affects a web application. Let’s see how Django is invented (the origin), Django grew organically from real-world applications written by a Web-development team in Lawrence, Kansas, USA. It was born in the fall of 2003, when the Web programmers at the <em>Lawrence Journal-World </em>newspaper, Adrian Holovaty and Simon Willison, began using Python to build applications The World Online team, responsible for the production and maintenance of several local news sites, thrived in a development environment dictated by journalism deadlines. For the sites including LJWorld.com, Lawrence.com, and KUsports.com journalists (and management) demanded that features be added and entire applications be built on an intensely fast schedule, often with only days or hours notice. Thus, Simon and Adrian developed a timesaving Web-development framework out of necessity it was the only way they could build maintainable applications under the extreme deadlines. So if we look at the context of this situation, they invent this framework in order to simplify and to speed the development process of their web applications, that underline concept is the hall way to Django’s success within the industry.</p>
<p><a href="http://notesofgenius.com/media/2010/03/Django-Web-Framework.jpg"><img class="alignnone size-full wp-image-598" title="Django Web Framework" src="http://notesofgenius.com/media/2010/03/Django-Web-Framework.jpg" alt="Django Web Framework" width="640" height="250" /></a></p>
<h2><strong>Django’s Current States And Capabilities</strong></h2>
<p>Now, several years later, Django is a well-established open source project with tens of thousands of users and contributors spread across the planet. Two of the original World Online developers (the “Benevolent Dictators for Life,” Adrian and Jacob) still provide central guidance for the framework’s growth, but it’s much more of a collaborative team effort. This history is relevant because it helps explain two key things. The first is Django’s “sweet spot.” Because Django was born in a news environment, it offers several features that are particularly well suited for ecommerce site like Amazon.com, Craigslist, and The Washington Post that offer dynamic, database-driven information. Don’t let that turn you off, though, although Django is particularly good for developing those sorts of sites, that doesn’t preclude it from being an effective tool for building any sort of dynamic Web site. (There’s a difference between being <em>particularly effective </em>at something and being <em>ineffective </em>at other things.).Let’s take a look at Django’s most conceptual capabilities.</p>
<h3><strong>Based On Model View Controller (MVC) Design Pattern</strong></h3>
<p>Although Django is based on MVC design pattern the way it uses the naming for the pattern is bit different</p>
<ul>
<li><strong>Models </strong>(Model) – abstract the used data by defining classes for them and storing them on a relational database</li>
<li><strong>Views </strong>(View) – take the job of the controllers in MVC and basically define, what the user get to see. Functions (functions that changes according to the model) not classes here.</li>
<li><strong>Template </strong>(Controller) – Define how the users see the view.</li>
</ul>
<h3><strong>Division Of Easiness And Maintainability (Applications And Projects) </strong></h3>
<p>Give developer a more modularize way of manipulating the web application’s parts</p>
<ul>
<li><strong>Application </strong>– this is the point where you store actual functionality. For example a discussion forum would be an application; a weblog would be an application.</li>
<li><strong>Project </strong>– A project is for example your whole web site (entire outcome). Here you store your central configuration and general templates and images.</li>
</ul>
<p>Applications are a simple way to share common functionality between various projects.</p>
<h3><strong>Easy Start</strong></h3>
<ul>
<li>Python (Django can work above the version 2.5)</li>
<li>A text editor</li>
</ul>
<p>This is all what you need to start developing with Django frame work, because it ships with a light weight development server (NOT suitable for production environment) to play around with it.</p>
<h3><strong>Yet Flexible</strong></h3>
<ul>
<li>Fast CGI (Common Gate way interface) &#8211; <strong>C</strong>ommon <strong>G</strong>ateway <strong>I</strong>nterface, a specification for transferring information between a World Wide Web server and a CGI program. A CGI program is any program designed to accept and return data that conforms to the CGI specification. The program could be written in any programming language, including C, Perl, Java, or Visual Basic. Django itself support better processing metrology to up holds a fast CGI surrounding.</li>
<li><em>mod_python</em> &#8211; is an Apache module that embeds the Python interpreter within the server. <strong> </strong></li>
<li><em>mod_wsgi</em> – is a simple Apache module implementation which can use to host any Python application which supports the Python WSGI interface. <strong> </strong></li>
</ul>
<h3><strong>Supports Most Common Database Engines</strong></h3>
<ul>
<li>SQLit</li>
<li>MySQL</li>
<li>PostgreSQL</li>
<li>Oracle</li>
</ul>
<h3><strong>Main Features Resides On Developers Perspective</strong></h3>
<ul>
<li>A good collection of contributed applications</li>
<li>Administration interface</li>
<li>Authentication system</li>
<li>Comments system</li>
<li>Template language focused in inheritance.</li>
<li>Simple form processing.</li>
<li>Lots of fun stuff. <img src='http://notesofgenius.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<h2><strong>Summery</strong></h2>
<p>As you can see Django is a more convenient and easy to handle web framework purely built using Python, once you have mastered Django it will simply speed up your application development process and enhance the usability of your application through easy maintainability. Django can be used to develop small-scale corporate web application to expandable ecommerce web applications (this is just a surface markup which means Django can be use to develop further more complex web applications, don’t judge it from the outside view). So Django is currently available as an open source product (under BSD <a href="http://code.djangoproject.com/browser/django/trunk/LICENSE" target="_blank">license</a>) all developers, architects and fun makers are invited to use it and experience emphasize power of it.</p>
<ul>
<li>The latest official version is 1.1.1 – can download form <a href="http://www.djangoproject.com/download/" target="_blank">here</a></li>
<li>Documentation can be found in the following <a href="http://docs.djangoproject.com/en/1.1/" target="_blank">link</a> (for installation instructions and sample applications.)</li>
<li>Support + Community can be found <a href="http://www.djangoproject.com/community/" target="_blank">here</a> (also there’s a good ticketing system and IRC channel)</li>
</ul>
<h2><strong>References</strong></h2>
<ul>
<li>Holovaty, A. (2009). <em>The Definitive Guide to   Django (Second edition).</em> Apress.</li>
<li><em>Home page</em>.   (2010). Retrieved from Django project: <a href="http://www.djangoproject.com/" target="_blank">http://www.djangoproject.com/</a></li>
<li><em>TERM/C/CGI.html</em>. (2010). Retrieved from webopedia: <a href="http://www.webopedia.com/TERM/C/CGI.html" target="_blank">http://www.webopedia.com/TERM/C/CGI.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://notesofgenius.com/django-web-framework/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JAVA Enterprise Edition 6</title>
		<link>http://notesofgenius.com/java-enterprise-edition-6/</link>
		<comments>http://notesofgenius.com/java-enterprise-edition-6/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 05:50:55 +0000</pubDate>
		<dc:creator>Oshadha Gunawardena</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Enterprise Edition]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[JAVA]]></category>
		<guid isPermaLink="false">http://notesofgenius.com/?p=352</guid>
		<description><![CDATA[As you already know Java EE platform is a much more mature platform for developing distributed enterprise software applications. Since its release (in 1999) the adaption of the developers and the usability of the customers increase incredibly contrasting with the other major platforms. So far so good, different kinds of innovations were implemented such as [...]]]></description>
			<content:encoded><![CDATA[<p>As you already know <strong>Java EE </strong>platform is a much more mature platform for developing distributed enterprise software applications. Since its release (in 1999) the adaption of the developers and the usability of the customers increase incredibly contrasting with the other major platforms. So far so good, different kinds of innovations were implemented such as frameworks, tools, deployment capabilities and also the community around itself is growing day by day. So the fact that is it’s now a ground breaking technology/platform in the industry.</p>
<h2><strong>Bit Of History</strong></h2>
<p>After ten year it is in a major position to talk about of it earlier releases, namely referred as J2EE (pronounced J-two-ey). First version of J2EE is the version 1.2 developed by Sun, was released in 1999 as an umbrella specification containing ten Java Specification Requests (JSRs). At that time people were talking about CORBA, so J2EE 1.2 was created with distributed systems in mind. Enterprise Java Beans (EJBs) were introduced with support for remote stateful and stateless service objects, and optional support for persistent objects (entity beans). They were built on a transactional and distributed component model using RMI-IIOP (Remote Method Invocation–Internet Inter-ORB Protocol) as the underlying protocol. The web tier had servlets and JavaServer Pages (JSPs), and JMS was used for sending messages.</p>
<p><a href="http://notesofgenius.com/media/2010/02/JAVA-Enterprise-Edition-6.jpg"><img class="alignnone size-full wp-image-596" title="JAVA Enterprise Edition 6" src="http://notesofgenius.com/media/2010/02/JAVA-Enterprise-Edition-6.jpg" alt="JAVA Enterprise Edition 6" width="640" height="363" /></a></p>
<h2><strong>JAVA Enterprise Edition 6</strong></h2>
<h3><strong>What’s New On Java EE 6</strong></h3>
<p>The specification for the Java EE 6 was finalized on December 2009, bringing new features and constrains to the world of enterprise development. The most garrulous feature is profile based approach for development of web applications; mainly there are two profile types, <em>Web Profile </em>for development of light weight typical web applications at this stage some of the middle tire technologies such as EJB/persistence are limited and completely not applicable for the sake of ease of development and to lighter up the development/deployment process. The second profile or the Java EE 6 standard implementation is for large scale enterprise and distributed web application/solutions. Also the specification expert team has brought the ease of development form the previous version of Java EE (5.0) with the combination of plug-ability. Let’s look at the new features as a quick overview.</p>
<ul>
<li>Java API for RESTful Web Services (JAX-RS) 1.1</li>
<li>Enterprise JavaBeans 3.1 (EJB 3.1 Lite for <em>web profile</em>)</li>
<li>Java Servlet 3.0</li>
<li>JavaServer Pages 2.2/Expression Language 2.2</li>
<li>JavaServer Faces 2.0</li>
<li>Java EE Connector Architecture 1.6</li>
<li>Bean Validation 1.0</li>
<li>Dependency Injection for Java 1.0</li>
</ul>
<p>This is just a quick overview you can get the full detailed feature list and the related specifications from <a href="http://java.sun.com/javaee/technologies/" target="_blank">here</a>.</p>
<h3><strong>Glassfish v3</strong></h3>
<p>Along with Java EE 6 the topic Glassfish should be combined because it’s the first application server that released in relatively to the Java EE 6 and it’s one of two supporting application servers for the Java EE 6 platform, the other application server is called TMAX JEUS 7. As per technical experts the Glassfish development team had to rebuild the Glassfish v3 form the scratch to support Java EE 6 profile based architecture and other major capabilities like EJB 3 Lite. Glassfish has served many customers in the past and present, so this version of Glassfish will probably get the attention from the industry. Also the SUN corporate services and technical support is there for anytime to help the developers and the customers with their problems.</p>
<h2><strong>Summery</strong></h2>
<p>When a company develops a Java application and needs to add enterprise features such as transaction management, security, concurrency, or messaging, Java EE is an attractive choice. It is standard, components are deployed to different a container, which gives you many services, and it works with various protocols. Java EE 6 follows the path of its previous version by adding ease of use to the web tier. This version of the platform is lighter (thanks to pruning, profiles, and EJB Lite), easier to use (no need for interfaces on EJBs or annotations on the web tier), richer (it includes new specifications and new features), and more portable (it includes Standardized embedded EJB container and allows for JNDI names).</p>
<h2><strong>Reference</strong></h2>
<ul>
<li><em>Goncalves, A. (2009). Beginning JavaTM   EE 6 Platform with GlassFishTM 3: From Novice to Professional. Apress.</em></li>
<li><em>Java EE 6 Technologies.</em> (2010, February).   Retrieved February 2010, from Sun.com:   <a href="http://java.sun.com/javaee/technologies/" target="_blank">http://java.sun.com/javaee/technologies/</a></li>
</ul>
<p><strong> </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://notesofgenius.com/java-enterprise-edition-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

