where developers meet development
Tuesday,September 07,2010
Vodafone Re-launches 15 Dollar Phone for Developing Countries   Vodafone is tapping emerging markets and developing markets with two...
deCarta Location-enables Opera Browsers   Location-enabled services have shown dramatic growth in the past twelve...
MSI Intros SUSE Moblin Powered Netbook   MSI has become the first original equipment manufacturer to sell a...
Boost Game Performance With Threads   This white paper explains how to use functional decomposition to get better...
Hot and Safe: a Beginner's Guide to Multithreaded Libraries   Most of the discussion of multithreading that emerges from Cilk Arts is...
8 Simple Rules for Designing Threaded Applications   Multithreaded programming is still more art than science. This white paper...
 

EXCLUSIVES 

Can Struts, Spring, jQuery or Seams Dislodge 2009 Winner Microsoft .NET?

Picture Holder1

After its conception at the end of the 1980s, object-oriented frameworks have attracted attention from many researchers and software engineers. Frameworks have been defined for a large variety of domains. In addition to the intuitive appeal of the framework concept and its simplicity from an abstract perspective, experience has shown that framework projects contribute to increased reusability and decreased development effort.


Software systems can be among the most complex constructions. As an example, it is believed that Microsoft’s Vista operating system contains over 50 million lines of code. Although most software systems are not of this size, complexity of software development can be quick to increase if they aren’t subjected to regular checks. Fortunately, several methods have been developed to make construction of large systems easier. Among these methods, the most important are the use of design patterns and frameworks.

The basic idea of frameworks is to place all common and reusable functionality in specific classes that can be reused for specific applications. The key here is to know the concerns the components being built. This is perhaps the most complex aspect when it comes to software development. Let’s take a shopping solution as an example. In this solution a web page will display product information which it retrieves from a database. There are several different points of focus within this simple task. When reading from the database the focus stays on data query. Filtering and processing the retrieved results depends on business logic, and when displaying the result is all about visual appeal. It is very likely all these tasks will be performed by a single programmer. Therefore, the programmer needs to jump from one area of focus to the next in quick succession and this can be difficult. It is also likely that the developer will make each focus dependent and highly customized to this particular application thereby reducing code reusability.

By creating frameworks, each of the above concerns is solved with reusability in mind. With regards to the example above a framework for retrieving data is created. In such a framework, data access is the only concern. For this, the developer is only concerned with data and is not concerned with particular type of data or specific product information. All components of the application can use the data framework.

Therefore, a framework can be defined as a partial design and implementation for an application in a given domain. So in a sense a framework is an incomplete system. This system can be tailored to create complete applications. Frameworks are generally used and developed when several (partly) similar applications are to be developed.

Frameworks Winner at Great Indian Developer Awards 2008: Siddharth Kapoor, Manager - Developer Audience Marketing, Microsoft India, accepting the award on behalf of the .NET Framework team

A framework implements the commonalities between those applications. Thus, a framework reduces the effort needed to build applications. We use the term framework instantiation to indicate the process of creating an application from a specific framework. The resulting application is called a framework instance.
 
Frameworks can probably be grouped into three broad categories:
  • Application frameworks: application frameworks aim to provide a full range of functionality typically needed in an application. This functionality usually involves things like a GUI, documents, databases, etc. An example of an application framework is MFC (Microsoft Foundation Classes). Another application framework is JFC (Java Foundation Classes). The latter is interesting from an object oriented design point of view.
  • Domain frameworks: these frameworks can be helpful to implement programs for a certain domain. The term domain framework is used to denote frameworks for specific domains. An example of a domain is banking or alarm systems. Domain specific software usually has to be tailored for a company or developed from scratch. Frameworks can help reduce the amount of work that needs to be done to implement such applications. This allows companies to make higher quality software for their domain while reducing the time to market.
  • Support frameworks: support frameworks typically address very specific, computer related domains such as memory management or file systems. Support for these kinds of domains is necessary to simplify program development. Support frameworks are typically used in conjunction with domain and/or application frameworks.
Frameworks Winner at Great Indian Developer Awards 2009:  Adobe representative collects the award on behalf of the Adobe Flex Builder team

Saltmarch Media's annual Great Indian Developer Awards honors software products across 12 categories, based on their productivity, innovation excellence, universal usefulness, simplicity, functionality and most importantly on the ground feedback from India’s software developer ecosystem. In the Frameworks category, the final shortlist consists of Apache Struts, Spring Framework, jQuery, Microsoft .NET Framework 3.5 and JBoss Seams. Microsoft .NET was the first product to win in this category in 2008 followed by Adobe Flex Builder in the 2009 chapter of the same awards.


If there is a particular framework that you personally endorse to your colleagues or you evangelize about them at the first opportunity you get, here is your chance to vote for it (voting closes April 10 2010) and see it win this prestigious award. Who knows? You could win along with it too. At the end of the voting process, a lucky draw will be conducted and one person will receive a surprise gift from our prize sponsor. So visit the 2010 Great Indian Developer Awards website and cast your vote. It counts!

Picking the Right Technology for Enterprise RIA   We are entering an era of Rich Internet Applications (RIA), and many enterprise development managers are facing the dilemma - which way to go - remain with tried and true Java or .NET or...
Picking the Right Technology for Enterprise RIA   We are entering an era of Rich Internet Applications (RIA), and many enterprise development managers are facing the dilemma - which way to go - remain with tried and true Java or .NET or...
Indie Game Development is Here to Stay, says Karthik Subramaniam   Game development is heavily bound by huge capital investments by the game publisher. The term 'Indie' is commonly used in the game industry to represent a small team or an individual who...
Need More Developer Heroes for India, says Intel   Over the last few years, the defining paradigm in computing performance has shifted inexorably from raw clock speed to parallel operations and energy efficiency. Saltmarch spoke to...
Plug-in to Rapid Development on WebLogic with Eclipse   In this plenary talk, Dhiraj Bhandari of Oracle demonstrates FastSwap, an Eclipse Plug-in for faster iterative development. While the traditional JEE development cycle comprises of the...
Enhancing the Productivity of RAD Using Websphere   Rational Application Developer (RAD) v7.5 is tightly integrated with WebSphere Application Server (WAS) to provide seamless development and deployment for complex web, Java EE and SOA...
Interoperability: Opening Up Opportunities in a World of Choice and a Time of Change   In this plenary talk delivered at the Eclipse India Summit 2009, Ramkumar Kothandaram addressed the myriad new opportunities that have opened up...
Your Epitaph: India's First and Only Anthem for the IT Developer   The Developer Anthem "Your Epitaph", India's first and only anthem for the IT developer, is commisioned by Saltmarch March Media and composed and sung by Mother Jane....
To:
Name:*
E-mail address:*
Your Details:
Your name: *
E-mail address: *
Message:
Software Supportby Advanced Millennium Technologies

Advanced Millennium Technologies. Expertise in software development, offering consultancy services, Open source programming, CRM - Customer Relationship Management, CMS - Content Management System , ERP - Enterprise Resource Planning and Ecommerce development, AJAX, PHP, .NET, J2EE, SOA, XSLT, DOJO toolkit development and software testing. A robust onsite-offshore model. A well-defined global delivery model. AMT Outsourcing center. www.amt.inTAROBY - The E-Mail Dashboard for EntrepreneursTaroby is a SaaS based messaging and collaboration suite inbox that enables sharing of email accounts among team members. The unique concept of 'Team Inbox' makes Taroby an excellent enterprise collaboration suite for enterprises. Taroby is an effective tool for CEO's and entrepreneurs to manage multiple departments or manage multiple projects under them. The team inbox gives the entrepreneurs an overview of what is happening their business and give a quick snap shot of the employees who is responcible for handling the tasks/emails. For team members taroby brings in transparency and efficiency in their teams. Taroby improves the internal and external communication in an organization. Using the Taroby's Team Inbox also helps in reducing the usage of disc space and there by helping the enterprises to reduce carbon footprints.