Aug 8, 2007

Ajax Frameworks

C++ Ajax Frameworks

  1. Wt : Wt (pronounce wit-ty), is a C++ library to develop web applications. The API is widget-centric, and inspired by existing C++ Graphical User Interface APIs. To the developer, it offers complete abstraction of any web-specific implementation details.

Coldfusion Ajax Frameworks

  1. AjaxCFC : AjaxCFC is a ColdFusion framework meant to speed up ajax application development and deployment by providing developers seamless integration between JavaScript and ColdFusion, and providing built-in functions, such as security and debugging etc
  2. CFAjax : CFAjax is the AJAX implementation for coldfusion. It makes coldfusion method calls on server directly from HTML page using JavaScript and return backs the result to the calling HTML page.
  3. JSMX : JSMX is an Ultra Lightweight - Language Agnostic - Ajax Framework. It is by far the easiest way to integrate Ajax into any Web Application.
  4. WDDXAJAX : wddxAjax is a ColdFusion custom tag to enable AJAX on *.cfm template.

DotNet Ajax Frameworks

  1. Ajax.NET Professional : Microsoft.NET Framework 2.0 library and examples
  2. Ajax Engine : An AJAX Framework using the standard webservice protocols SOAP and WSDL.
  3. Anthem.NET : The Anthem project adds AJAX-like features to ASP.NET.
  4. Atlas : Atlas is a free framework for building a new generation of richer, more interactive, highly personalized cross-browser web applications.
  5. ComfortASP.NET : ComfortASP.NET is an AJAX like framework for ASP.NET that doesn’t actually require you to learn any AJAX programming.
  6. EmergeTk : The emerge toolkit is a web application development framework for the 21st century. The server is written in C#, and currently runs on MS .NET. We use the wonderful dojo toolkit on the client.
  7. MagicAjax.NET : MagicAjax.NET is a free open-source framework, designed to make it easier and more intuitive for developers to integrate AJAX technology into their web pages, without replacing the ASP.NET controls and/or writing tons of javascript code.
  8. MonoRail : MonoRail (former Castle on Rails) is a MVC web framework inspired by Action Pack. The Action Pack way of development is extremely productive, very intuitive and easily testable.
  9. PowerWEB LiveControls for ASP.NET : PowerWEB LiveControls for ASP.NET is a suite of 21 Web Controls that allow you to raise server-side callbacks and update form elements without reloading the entire HTML page.
  10. radControls for .NET : telerik r.a.d.controls suite is the most innovative and comprehensive toolset for professional ASP.NET development, boasting the capabilities of AJAX, Atlas and Visual Studio .NET 2005.
  11. WebORB for .NET : WebORB Presentation Server is a platform for developing, deploying and hosting Rich Internet Applications.
  12. zumiPage : zumiPage makes it easy to build rich, interactive web-based applications. With zumiPage postbacks to the server are automatically captured on the client-side, and sent via an XmlHttp mechanism.

Flash Ajax Frameworks

  1. Flex Framework:FABridge : The Flex-Ajax Bridge (FABridge) is a small, unobtrusive library of code that you can insert into an Adobe Flex application, a Flex component, or even an empty SWF file to expose it to scripting in the browser. It is being released to the community under an open source license.

Java Ajax Frameworks

  1. AJAX Dev Library : The first visual Ajax IDE
  2. AjaxAnywhere : AjaxAnywhere is designed to turn any set of existing JSP or JSF components into AJAX-aware components without complex JavaScript coding.
  3. The AJAX JSP Tag Library : The AJAX Tag Library is a set of JSP tags that simplify the use of Asynchronous JavaScript and XML (AJAX) technology in JavaServer Pages.
  4. Java Web Parts : Java Web Parts is a project that provides small, reusable and largely independant Java components of interest to all web application developers.
  5. The AJAX-JSF : AJAX for JavaServer Faces
  6. Direct Web Remoting : DWR allows Javascript in a browser to interact with Java on a server and helps you manipulate web pages with the results. DWR is Easy Ajax for Java
  7. Echo 2 : Echo2 is the next-generation of the Echo Web Framework, a platform for developing web-based applications that approach the capabilities of rich clients.
  8. Guise : A Graphical User Interface, Simple yet Elegant - Guise is a web user interface framework for Java designed from the ground up to be both simple and elegant.
  9. JSP Controls Tag Library : JSP Controls Tag Library allows to create independent portlet-like page fragments, like login forms, checkout wizards, tabbed notebooks or image sliders.
  10. jWic : jWic is a java-based development framework for developing dynamic web applications with the convenience and familiarity of rich client style programming.
  11. SWATO : Shift Web Application TO… : Developing Web Applications Easier via AJAX
  12. Clearnova : ThinkCAP - an advanced MVC (Model, View, Controller) framework that manages the runtime layout and presentation of GUI components, state management, data binding, validation, and data persistence.
  13. ThinWire : ThinWire is a development framework that allows you to easily build applications for the web that look and feel like the desktop applications you’re familiar with.
  14. WebORB for Java : WebORB is a server technology enabling development, deployment and runtime execution of Rich Internet Applications.
  15. WidgetServer : A Unified (AJAX, RemoteSwing, XMLGui) Generic GUI Toolkit
  16. xulfaces : xulfaces adds XUL power to Java via Java Server Faces
  17. xWire Framework : The open source xWire framework is both a framework and a programmer’s toolkit and is based upon several popular open source libraries. It is generally used to build Java-based web applications.
  18. ZK : ZK is an open-source Ajax Web framework that enables rich UI for Web applications with no JavaScript and little programming.

Javascript Multipurpose Frameworks

  1. ActiveWidgets : ActiveWidgets is a powerful javascript component library which makes web development easier and more productive.
  2. ajaxProject : ajaxProject is a rich client Project Management application delivered through browser.
  3. Backbase : Backbase develops and sells software that helps you to create great AJAX applications.
  4. Bindows : Bindows Framework provides you with: A class based, Object Oriented API, A complete windowing system with a wide array of supported widgets including menus, forms, grids, sliders, gauges and more.
  5. Engine for Web Applications : Engine for Web Applications is an application framework for client-side development and Web applications. It provides an environment in which to develop and run JavaScript components and applications.
  6. Freja : Framework for REstful Javascript Applications - Open-Source MVC Javascript Framework licensed under the CC-GNU LGPL.
  7. JackBe NQ Suite : JackBe’s NQ Suite is complete set of development tools that allows rapid development of sophisticated, rich-client applications using AJAX.
  8. Javeline FrameWork : With Javeline FrameWork developers can deliver applications to modern browsers on all platforms. Javeline FrameWork focusses on short development cycles and extensive functionality for the end user.
  9. jsLINB : JavaScript-based toolkit that provide complete client-side GUI solution for most modern browser.
  10. JsRIA : JsRIA is a framework enabling rich client interface development. It’s pure javascript and is completely independant of the server side technology.
  11. Macao : Macao is a framework based on JavaScript and DHTML for building animated interactive homepages and applications.
  12. MochiKit : MochiKit - makes JavaScript suck a bit less
  13. Open Rico Rico provides a very simple interface for registering Ajax request handlers as well as HTML elements or JavaScript objects as Ajax response objects. Multiple elements and/or objects may be updated as the result of one Ajax request.
  14. Plex Toolkit : The Plex Toolkit is an advanced, modular, AJAX and Rich Internet Applications framework written in JavaScript.
  15. Prototype : Prototype is a JavaScript framework that aims to ease development of dynamic web applications.
  16. qooxdoo : qooxdoo is an advanced open-source JavaScript-based GUI framework.
  17. Scriptaculous : provides you with easy-to-use, compatible and, ultimately, totally cool JavaScript libraries to make your web sites and web applications fly, Web 2.0 style.
  18. SmartClient : The SmartClient web presentation layer radically enhances the usability and performance of standards-based web applications.
  19. ThyAPI : ThyAPI is an api to allow the developement of better user interfaces for web applicaticions, Using javascript and Ajax, it allows a complete visual interface definition using CSS and encapsulates all objects data manipulateion. Build over DynApi.
  20. Interactive Website Framework : A framework for creating highly interactive websites using javascript, css, xml, and html. Includes a custom xml parser for highly readable javascript. Essentially, all the plumbing for making AJAX-based websites, with js-based GUI toolkit.
  21. TIBET : Enterprise-Class AJAX — for an Open Source world.
  22. UI4W : UI4Web (just UI4W from now) is a Java Script User Interface library, providing widgets common in desktop UIs (such as tables, trees and tabs) to the web developer toolbox in a consistent way.
  23. Zimbra : Zimbra is an open source server and client technology for next-generation enterprise messaging and collaboration.

Javascript Remoting Frameworks

  1. AjaxGear : AjaxGear is a toolkit that allows you to take advantage of the client-side technique known as AJAX.
  2. Ajax Client Engine : AJAX Client Engine (ACE) is a JavaScript component that makes it easy to develop AJAX-style Web applications.
  3. Ajax Toolbox : offers the AjaxRequest Library. It simplifies and extends the capabilities of the XMLHttpRequest object.
  4. AJFORM : AJFORM is a JavaScript toolkit which simply submits data from any given form in an HTML page, then sends the data to any specified JavaScript function.
  5. HtmlHttpRequest : This script dynamically loads remote documents for parsing and/or insertion into the current document.
  6. TelePort : Javeline TelePort is an Open Source server communication layer supporting all popular web services such as XML-RPC, SOAP, JSON, REST and Comet.
  7. JSMX : JSMX is an Ultra Lightweight - Language Agnostic - Ajax Framework.
  8. libXmlRequest : The XmlRequest library contains a two public request functions, getXml and postXml, that may be used to send synchronous and asynchronous XML Http requests from Internet Explorer and Mozilla.
  9. MAJAX : Minimalistic AJAX Client
  10. RSLite : RSLite is an extremely lightweight implementation of remote scripting which uses cookies. It is very widely browser-compatible (Opera!) but limited to single calls and small amounts of data.
  11. XHConn : simplify and unify the code necessary to successfully send and receive simple data via XMLHTTP.

Lisp Ajax Frameworks

  1. CL-Ajax : CL-AJAX is Richard Newman’s Common Lisp library to allow for remote invocation of functions through Javascript.

Multi-Language Ajax Frameworks

  1. ARSCIF : Asynchronous Remote–Script Callback Invocation (a.k.a. remote scripting) is a technique by which ECMAScript code in a browser can connect to a server without reloading a page.
  2. CPAINT : CPAINT (Cross-Platform Asynchronous INterface Toolkit) is a multi-language toolkit that helps web developers design and implement AJAX web applications with ease and flexibility.
  3. JSON : JSON (JavaScript Object Notation) is a lightweight data-interchange format.
  4. JSON-RPC : JSON-RPC is lightweight remote procedure call protocol similar to XML-RPC.
  5. Rialto : Rialto (Rich Internet Application Toolkit) is ajax-based cross browser javascript widgets library.
  6. SAJAX : open source tool to make programming websites using the Ajax framework
  7. ZK : open-source Ajax Web framework that enables rich UI for Web applications with no JavaScript and little programming.

Multi-Platform Ajax Frameworks

  1. Taconite - Cross Browser AJAX Framwork : Taconite is a framework that simplifies the creation of Ajax enabled Web applications. It’s a very lightweight framework that automates the tedious tasks related to Ajax development, such as the creation and management of the XMLHttpRequest object and the creation of dynamic content.
  2. The haXe Programming Language : The haXe programming language is uniting server and client platforms under one language. It brings features that are making it easy to deal with a dynamic world such as DHTML or Databases, while still bringing you a full-featured type system with a compiler that will detect errors early in the development phase.
  3. Web Input Completion Kit : WICK is an evolving framework that leverages web standards such as JavaScript, DOM and CSS to facilitate textual input in form UI elements assisted by local and remote data sources. This framework strives to remain unobtrusive and preserve a form’s semantics and accessibility.

Perl Ajax Frameworks

  1. CGI::Ajax : perl + Ajax
  2. HTML::Prototype : Code generating modules for Prototype
  3. Catalyst : Catalyst is a new MVC framework for Perl.

PHP Ajax Frameworks

  1. AJASON : AJASON is a PHP 5 library and JavaScript client
  2. AjaxAC : AjaxAC is an open-source framework written in PHP
  3. Ajax Agent : powerful open source framework for rapidly building Ajax or Rich Internet Applications (RIA)
  4. Cajax : A PHP class library for writing powerfull reloadless web user interfaces using Ajax (DHTML+server-side) style
  5. CakePHP : Cake is a rapid development framework for PHP which uses commonly known design patterns like ActiveRecord, Association Data Mapping, Front Controller and MVC.
  6. Claw : a convenient and intuitive way of development of PHP5 driven object oriented applications.
  7. DutchPIPE : PHP object-oriented framework to turn sites into real-time, multi-user virtual environments:
  8. Flexible Ajax : Flexible Ajax is a handler to combine the remote scripting technology, also known as AJAX (Asynchronous Javascript and XML), with a php-based backend.
  9. Guava : Groundwork Guava is a PHP-based application framework and environment.
  10. HTML_AJAX : HTML_AJAX is a PEAR package for performing AJAX operations from PHP.
  11. HTSWaf : The HTS Web Application Framework is a PHP and Javascript based framework designed to make simple web applications easy to design and implement.
  12. My-BIC : My-BIC AJAX State of Mind for PHP harmony
  13. PAJAJ : PHP Asynchronous Javascript and JSON
  14. PAJAX : Remote (a)synchronous PHP objects in JavaScript
  15. phpAjaxTags : phpAjaxTags is a port to PHP from java tag library AjaxTags.
  16. PHPWebBuilder : PHPWebBuilder is a PHP framework designed following well-known object oriented designs and principles featuring a highly reusable components architecture, metadata based persistence and traditional GUI style programming support.
  17. Qcodo : open-source PHP 5 framework
  18. Simple AJAX : This tutorial demonstrates how to perform AJAX functionality simply and effectively, using the AJAX JSMX library, coupled with the JSON-PHP library.
  19. symfony : open-source PHP5 web framework
  20. TinyAjax : TinyAjax is a small php5 library that allows you to easily add AJAX-functionality to existing pages
  21. xajax : Ajax-enable your PHP application with a simple toolkit that gets the job done fast.
  22. XOAD : PHP based AJAX/XAP object oriented framework that allows you to create richer web applications
  23. Zoop : oop is an object oriented framework for PHP based on a front controller. It is designed to be very fast and efficient and very nice for the programmer to work with.
  24. Zephyr : zephyr is an ajax based framework for php5 developers.

Python Ajax Frameworks

  1. CherryPy : CherryPy is a pythonic, object-oriented web development framework.
  2. Django : Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
  3. Nevow : Nevow is a web application construction kit written in Python.
  4. TurboGears : Python-Based Framework for Rapid Web Development

Ruby Ajax Frameworks

  1. Ruby On Rails : Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.

Smalltalk Frameworks

  1. Seaside : Seaside is a framework for developing sophisticated web applications in Smalltalk.

Toolkit Ajax Frameworks

  1. AJAX Toolkit Framework : A technology that assists in constructing Eclipse framework support for AJAX Toolkits and provides enhanced DHTML/Javascript IDE features for AJAX developers.
API/Documentation/Tutorials on popular frameworks

  1. Bindows API
  2. Bindows Tutorials
  3. Direct Web Remoting (DWR)
  4. DOJO Toolkit
  5. DomAPI
  6. Google Web Toolkit (GWT)
  7. jQuery
  8. Orbeon
  10. Microsoft ASP.NET Atlas
  11. mootoolkit documentation (moo.fx)
  12. prototype.js (1.4.0)Developer Notes
  13. Qooxdoo
  14. Rialto Javascript
  15. Rico
  16. Ruby on Rails
  17. Scriptaculous CheatSheet
  18. Symfony
  19. Tacos Userguide
  20. Tacos Component Reference
  21. xajax documentation
  22. Wicket
Tutorials for the various Ajax Frameworks/Toolkits

  1. Ajax Design Patterns - Using The Dojo Toolkit : at AjaxProjects
  2. Using Dojo and JSON to Build Ajax Applications : at
  3. The Idiots Guide to moo.fx : by Avinash Vora
  4. My-BIC - Tutorials and How To’s : at LitFuel
  5. Ajax Tutorial with Prototype : at PeteFreitag
  6. Developer Notes for prototype.js : by SergioPereira
  7. New Echo2 Tutorial Series : at Pathfinder
  8. Painless JavaScript Using Prototype : at SitePoint
  9. Using Ajax with PHP and Sajax : at IBM
  10. Introduction to Scriptaculous Effects : at 24Ways
  11. Learn xajax in 10 Minutes : at XajaxProject
Source :
continue reading Ajax Frameworks

Aug 6, 2007

.Net Vs Java

One of the funny things about computer technology is the bitter industry rivalries that inevitably crop up. There is probably no industry rivalry more bitter or hate-filled than that of .NET and Java.

While it is difficult to quantify definitively which platform is more flexible, easier to use, or easier to learn – we can certainly compare speed. So, havn’t you always wondered – who’s faster: .NET or Java?

Last week, Microsoft released .NET 2.0, the long-awaited major-upgrade to .NET 1.1 – coinciding with the releases of Visual Studio 2005 and SQL Server 2005. Armed with this new software, we set out to determine which is faster - .NET 2.0 or Java 1.5.

Test 1 – Selection Sort

Our first test will utilize the age-old textbook problem of computer sorting algorithms. To thoroughly stress-test the two technology platforms, we chose a highly inefficient sorting algorithm – selection sort. Selection sort is a method of sorting a list of items, typically numeric in nature, from say highest to lowest. Because Java and C# are quite similar we were able to use the same selection sort code with extremely minor modification in Java and C#.

Selection sort is considered to be an inefficient sorting algorithm because its complexity in computer science terms is order n2. This means that if you want to sort a list of 1,000 numbers it will take as many as 1,000,000 steps. We chose selection sort because of its easy portability between C# and Java and – precisely because of its inefficiency and corresponding heavy use of memory – it will help to highlight any performance differences the two platforms.

The following system was used as a testbed:




Pentium D 3.0 Ghz, 2 MB Cache



Operating System

Windows XP Professional SP2 (Latest Patches, x32)

.NET Version


Java Version

1.5.0 (J2SE)

Hard Disk (Not Important)

2x 250 GB 7200 RPM

So – you must be anxious to see the results. Below is shown the running time in milliseconds of an ascending selection sort on a set of 1,000 descending floating point (double) numbers (the same data was used for .NET and Java). Since this is running time, obviously less time is better.

Selection Sort on 1,000 Floating Point Elements, Time in MS

Now comes the interesting step – let’s scale the dataset up to 100,000 elements, pushing the complexity up to 10,000,000,000 steps:

Selection Sort on 100,000 Floating Point Elements, Time in MS

It looks like Test 1 has a clear winner - .NET 2.0. Interestingly, the same general proportions between completion times for the two platforms remains similar – hence the same proportions portrayed in the graphs, despite the drastic increase in input size. In the larger test, Java required 36,828 ms to complete the job, while .NET took 21,375 ms; .NET required only 58% of the time required by Java to complete the same task. That’s nearly 2-to-1.

Test 2 – Memory Efficiency

One feature of managed code is dynamic, and automatic, memory management. While easing the complexities of the development process by abstracting out memory management significantly, memory managers add overhead. Both .NET and Java use more memory to store the same data in RAM than the venerable C/C++.

In this test, we will pit the memory managers of Java against .NET in comparative memory allocation tasks under Windows XP.

The first comparison compares the memory required to allocate 100,000 floating point elements (double). Please note that this first test is meant more as a baseline to establish how much base memory overhead there is than as a direct comparison:

Baseline Memory Comparison

Memory was measured by computing the total amount of memory used by the process. Here, things are fairly close. The double type in Java 1.5 is a 64-bit IEEE 754 value, while in .NET the double data type is also a 64-bit IEEE-compliant value. The memory was allocated in an array structure. This array was initialized with values to ensure that real rather than "virtual" memory was allocated. Now that we have established an overhead baseline, let’s up the number of elements to 5 million:

Memory Comparison 2

Again, we have a clear winner – Java 1.5. Note that all of our graphs start at zero to give as fair a comparison as possible. .NET is using more than twice the amount of memory Java uses to store the same amount of data – 19.9 MB versus a whopping 47.8.

Test 2 – Memory Efficiency, Continued

To further experiment with memory efficiency, we expanded the memory test to include an array of classes. Classes, as you probably know, are the foundation of object oriented programming, and virtually all modern software uses them in some capacity. As .NET and Java are both heavily object-oriented, the efficiency with which the two platforms can allocate objects is very important.

In this test we allocate and initialize 500,000 objects of type DataTestObject. DataTestObject encapsulates some data about a fictional bank account. The class is simple enough that it is easily portable from C# to Java with only slight modification. We also make use of two system types – strings and times:

public class DataTestObject
public double BankBalance;
public string BankAccountID;

string CustomerFirstName;
public string CustomerLastName;

DateTime MostRecentWithdrawal;

public DataTestObject()
BankBalance = 0.0;
BankAccountID = "DHC116A-111908-5";
CustomerFirstName = "Jon";
CustomerLastName = "Doe";
MostRecentWithdrawal = DateTime.Now;

public void UpdateBalance(double d)
BankBalance += d;

This class contains two functions, which perform operations on the object, as well as five fields for storing data. An array of 500,000 of these objects is created and initialized.

Class Memory Usage
Class Memory Usage

Here we see .NET reversing the memory outlook and besting Java by a solid margin. This indicates that since .NET treats native types – such as double – as objects, that this incurs additional overhead of some form. Java, on the other hand, does not treat native types as objects and therefore can save on this overhead. However, when it comes to real-world object allocation, it appears that .NET is more efficient.


Thus, as we have seen, .NET 2.0 won 2 out of the 3 major tests – clearly besting Java 1.5 in both execution speed and real-world memory efficiency. Java did, however, manage to hold its own in the native types memory comparison by a pretty wide margin. This indicates that on the whole .NET is a more efficient platform, with perhaps at least one area for improvement – native type memory efficiency.

So now that we have seen that .NET is more efficient by what appears to be a constant factor, the question remains – does it matter? The fact is that, despite the many advantages offered by managed code platforms like .NET and Java, most applications are still written in C++/COM. Consider the following random list of popular applications:

  • Microsoft Office
  • Internet Explorer
  • iTunes
  • Windows Media Player
  • FireFox
  • Photoshop

These applications are almost completely C++ and COM – no managed code. So it’s pretty clear that companies and organizations that have invested heavily in an existing code base are not about to throw that code out the window. However, .NET and to a limited extent, Java, can interoperate with existing code and many new features and addons to popular existing software, such as those listed above, are being implemented in managed code.

Clearly, a big part of this industry-wide transition towards managed code will hinge on improvements in execution speed and memory efficiency – specifically in Java and .NET.

It appears that Microsoft .NET has not only caught up to Java in many ways, but it has surpassed it in terms of implementation efficiency. This is not surprising since Microsoft continues to prosper while Sun appears to be in a slow decline as businesses move away from expensive, proprietary systems. This is not to say that Java should be discarded completely, but we have a clear efficiency champion in .NET.

Source :

continue reading .Net Vs Java

Aug 5, 2007

Difference Between Oracle and Sql Server 2000

Platform comparison

SQL Server 2000 only works on Windows-based platforms, including Windows 9x, Windows NT, Windows 2000 and Windows CE.
In comparison with SQL Server 2000, Oracle 9i Database supports all known platforms, including Windows-based platforms, AIX-Based Systems, Compaq Tru64 UNIX, HP 9000 Series HP-UX, Linux Intel, Sun Solaris and so on.

1.Oracle runs on many platforms, SQL on Windows only
2. Oracle includes IFS (Internet File System), Java integration, SQL is more of a pure database
3. Oracle requires client install and setup (Not difficult, but very UNIX-like for Windows users)
4. SQL is #1 in Cost/Performance and overall Performance, although Oracle will refute that
5. Replication is much easier in SQL (I have been at clients where even the Oracle consultant couldn't get it working w/oracle)
6. Failover support in SQL is much, much easier
7. JDBC support is much better in Oracle, although Microsoft is working on it
8. ODBC support in both
9. SQL is ANSI-SQL '92 compliant, making it easier to convert to another ANSI compliant database, theoretically anyway (truth is every database has proprietary extensions). Oracle is generally more proprietary and their main goal is to keep their customers locked-in.
10. SQL natively supports ODBC, OLEDB, XML, XML Query, XML updates. Oracle natively supports proprietary connections, JDBC. Not sure about XML support though.
11. SQL Server is much easier to administrate, with GUI and command- line tools. Most of Oracle is command-line (Back in SQL 6.5 days I had a customer who was so proud that after a day's worth of work he had managed to script his database. I showed him how it was a 3 click operation in SQL ;-)
12. Oracle requires add-ons for transaction monitors, failover, etc. SQL has COM+, uses NT clustering and generally has everything built-in
13. SQL Analysis Services is included (A very powerful OLAP server). For Oracle it is a separate purchase.
14. Oracle will be used especially in large database. But if we use sql server in such a environment, the data processing will become very slower. Oracle database very closely supports Java rather than Sql server.
15. Oracle 7 was RDBMS, i.e it was a relation database and the one's after that i.e. 8 onwards Oracle introduced the concept of OODBMS. Which stands for Object Oriented Database Management Systems. With every major release Oracle has initiated a lot of changes for the better. Like
a. (1) Getting PL/SQL closer to ANSI SQL standards
b. (2) Automatic Management of Undo from 9i onwards
c. (3) Introduction of special Grouping operators for queries
d. (4) ISQL env for easier query processing
e. (5) RAC (I dunno much about it)
f. (6) AS(Application Server, integrated into the database)
16. SQL server GUI is easy to work. SQL serever is easy to maintain. Orcal data procssing is very good compared to SQL server
continue reading Difference Between Oracle and Sql Server 2000

Gmail Agent API v0.5 / Mail Notifier & Address Importer

What is it?

There are two distinct components here: an open source Gmail API written for the .NET framework, and a proof of concept Windows application built on top of that API that provides basic remote Gmail functions.

I developed these tools in the hopes of encouraging others to create interesting Gmail services. Admittedly, this project may not have a very long shelf life, as Sergey has intimated possible mail forwarding and RSS support, not to mention Gmail's recent listing of upcoming features (Gmail login required) that estimates a slew of features that are listed as “working on it” or “we'll try”. The address book import is currently listed as “sometime soon” but it's actually available now in the Contacts window. As Sergey mentioned, an enterprise version of Gmail would be well received, and I have no doubt that there would an API to go along with that (I recently integrated a Google Search Appliance, and can attest to its extensibility). Whether or not Google is interested in pursuing such features for the public side remains to be seen. Nonetheless, I hope to keep this project going, and wouldn't mind joining the Gmail team — there are lots of features I'd like to see implemented in Gmail.

About the Gmail Agent Applet

I'm sure most of you are more interested in the applet, so here are the features:

  • Multiple account support
  • Balloon notification of new messages with message preview
  • Address book view and import (from tab-delimited text files)

The system requirements are:

  • Windows 2000, or higher
  • Microsoft .NET Framework v1.1

I haven't tried this with Mono — I doubt it works, but if it does, please let me know. If you are interested in POP access to Gmail, check out Pop Goes the Gmail (also a .NET project).

This is a proof of concept application, and there are plenty of idiosyncrasies. It works great for me, but your results may vary. I welcome anyone who wants to contribute to polishing this app.

Connection Overview

Source :

continue reading Gmail Agent API v0.5 / Mail Notifier & Address Importer

Jul 6, 2007

Silverlight Architecture Overview

Applies to:
Silverlight Community Technology Preview (CTP) Feb 2007

Summary: This white paper provides a high-level overview of the Silverlight (formerly known as code name "WPF/E") architecture and how it fits into the Microsoft offering for building next-generation Web applications. Also, this white paper provides an architectural review of the Silverlight technology. (6 printed pages)

Silverlight as Part of a User-Experience Continuum
Silverlight Architecture
Deployment and Packaging
Scenarios for Using Silverlight


Microsoft Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications (RIAs) for the Web. Silverlight offers a flexible and consistent programming model that supports AJAX, Python, Ruby, and .NET languages such as VB and C#, and integrates with existing Web applications. Silverlight media capabilities include fast, cost-effective delivery of high-quality audio and video to all major browsers including Firefox, Safari and Internet Explorer running on the Mac or on Windows. By using Expression Studio and Visual Studio, designers and developers can collaborate more effectively using the skills they have today to create Silverlight web experience.
Silverlight as Part of a User-Experience Continuum

Now, more than ever, customers are demanding applications and online experiences that not only meet their individual needs in terms of effectiveness and efficiency, but also address the perception of satisfaction the user has with a company's products or services. In most cases, the level of satisfaction will have a network and an emotional effect, shaping perceptions of the company as a whole, and, as an extension, the perceptions of those with whom the individual comes into touch. Microsoft acknowledges this connection and has a made a renewed commitment to user experience (UX) as a part of the end-to-end experience. UX is more than a pretty UI; it is the aggregation of the interaction point of a user with an application. Our mission is thus to enable a great user experience wherever the customer needs that: on the Web, on devices, in Office, and in Windows.

Two recent examples of Microsoft's own investment in UX are Microsoft Windows Vista and Microsoft Office 2007. By focusing on the end-user experience first, subtle and somewhat radical changes were made to both products in order to address productivity and satisfaction.

* Windows Vista introduces easier ways to visualize and organize your files, media, and communications. In every case of the UI, a focus on user-centric task accomplishment and experience was put first. Other examples of focusing on UX include the new task switcher (Alt+Tab) and Wi-Fi signal notification.
* Microsoft Office 2007 has introduced the new "Ribbon" concept to replace traditional toolbars. A natural extension, the ribbon reduces time to find any given feature in an Office application to about 10 seconds.

Both of these decisions were heavily influenced by design and designers, working collaboratively with the rest of the development team. To learn more, visit

Figure1. Microsoft UX continuum

From a platform perspective, Microsoft introduces a consistent offering that uses common skills to address the different application-interaction surfaces, as indicated in Figure 1.

* ASP.NET AJAX offers the benefits of standard Microsoft support (around-the-clock support for a period of 10 years) for AJAX-enabled applications built around Web standards. It allows standard Web applications to be more effective by improving the interaction parameters of the application (such as refresh, resource usage, and navigation).
* For Web experiences that need 2-D animation, vector graphics, and high-fidelity audio and video on the Web, Silverlight is being introduced to extend the capability of the browser to render XAML in addition to HTML. By embracing Web architecture for development, including industry-standard AJAX (Asynchronous JavaScript+XML) and inline XML markup (XAML) for presentation, Microsoft is working to break rich elements on Web pages out of the "black box" that exists today. As an added benefit, content authored in Silverlight and ASP.NET AJAX becomes more discoverable while offering the benefits of being cross-platform (Windows and Macintosh) and cross-browser (Internet Explorer, Firefox, Safari).
* ASP.NET AJAX and Silverlight are designed to be complementary technologies. In the broader sense, Silverlight can interact with any AJAX application, both client- and server-side. Examples for such integration include mapping applications, video playback with rich presentation, and more.
* For connected applications on Windows, Microsoft provides the .NET Framework 3.0 programming layer (shipped in Windows Vista and available for Windows XP) that includes the Windows Presentation Foundation (WPF). By using WPF, one can create rich, immersive, connected applications and experiences that can take full advantage of the Windows platform, including UI, media, offline communication, and document support. WPF uses a superset of the same XAML that is used by Silverlight.

Figure 2. Microsoft end-to-end offering for UX

As Figure 2 shows, Silverlight is not an isolated island; it is a piece in a consistent end-to-end offering that enables taking application experiences to the next level. This offering includes server-side components, tools (Microsoft Expression and Microsoft Visual Studio), and UX technologies.
Silverlight Architecture

Silverlight has few basic properties:

* It integrates with various browsers on Windows and on the Macintosh.
* It enables rendering of richer user experiences that are defined by XAML.
* It render media (music and video).
* It enables programming that is consistent with the Web programming model.
* It is small.

Silverlight was designed to address these properties, as Figure 3 shows.

Figure 3. Silverlight architecture

* Lightweight browser plug-in—Silverlight has Windows and Macintosh modules that are designed to enhance Internet Explorer (versions 6.0 and 7.0), Firefox 2.0, and Safari browsers. The December 2006 CTP for Windows is 1.1 MB in size.
* Native presentation runtime— Software-based browser enhancement that allows rendering of XAML-based interactive 2-D graphics, text, and media, in addition to the browser native rendering of HTML. XAML can be used inline, in a file, or in a package.
* Interactive video and audio—Cross-platform independent media runtime that can render Windows Media content (WMV and WMA) in addition to MP3 (will be available after the December 2006 CTP). Video and audio are handled as a media element in XAML, enabling flexibility in their presentation. Furthermore, the media support leverages the huge infrastructure and ecosystem around Windows Media, enabling cost-effective delivery of top-quality media.
* Programming layer—In consistency with the Web architecture, Silverlight XAML is exposed using a DOM model to JavaScript. That way, AJAX programs can utilize the extended markup rendering capability using the same programming paradigms and practices (on the client and on the server). After the December 2006 CTP, we will also enable a managed code programming model using a subset of full CLR that will enhance the programmability side of the browsers to enable more performant and more scalable Web applications.

Deployment and Packaging

Content for a Web page that contains Silverlight elements can be created by using the following tactics:

* Inline XAML and JavaScript.
* External XAML files and JavaScript files.
* Compressed content package (available after the December 2006 CTP) that contains XAML, managed code, images, fonts, and media. Streaming media sources can be referenced from the XAML media elements.

Figure 4. Silverlight packaging (after Feb 2007 CTP)

We believe that the flexibility of application packaging and the consistency of the application architecture with Web standards and operations will create many opportunities for improving the impact and effectiveness of Web applications, making applications more scalable, fault-tolerant, and dynamic (they can change their markup on the fly), and making content more discoverable.

Web pages that require Silverlight can detect if the Silverlight plug-in is installed, and can direct users to download it and install it (either through a redirect or through an object tag). The Silverlight SDK has documentation on that.
Scenarios for Using Silverlight

Silverlight is perfect for the following Web application scenarios that encompass many real-world scenarios:

* Web media— Branded playback with events, video and marketing mix, dynamic videos with ads, audio playback, and so forth
* Rich islands on a page (mini apps)— Casual games and gadgets
* Web visualization elements— Navigation properties, data visualization, and ads

Silverlight is designed for Web page content that is connected to its host (it will not work offline), that deeply engages the user, and that can render on any browser.

This article provided a high-level overview of the Silverlight architecture and how it fits into the Microsoft offering for building next-generation Web applications. Silverlight is part of a larger revolution of the ways applications are designed, built, and delivered. With markup-based UI and flexible programming models, businesses will be able to offer better experiences on the right form factor for their customers.

Source :
continue reading Silverlight Architecture Overview

Jul 5, 2007

Silverlight on Linux

I found this little GEM on and just had to share this with you. The Silverlight plug-in (with .net support thanks to the Mono project) has added the power to run Silverlight applications on the desktop (not just from a Website), called Desklets..

Here's an example video of Desklets in action. This is pretty cool all in all... Also a video of the Surface technology demo running in Moonlight in Linux.

continue reading Silverlight on Linux

Jul 4, 2007

Speed up .NET Apps with Distributed Caching

NCache is a clustered in-memory object cache for mission critical .NET applications. NCache also provides a highly scalable ASP.NET Clustered Session State solution for .NET applications running in server farms. Distributed caching and session state together enable you to not only speed up your .NET application by as much as 10 times but also make it more scalable and available.
Data Caching & Clustered Object Caching

.NET Distributed Caching for Server Farms

Reduce expensive database trips by caching data close to your application. Distributed caching enables you to do this in a server farm environment. NCache provides

Dynamic clustering with Replicated and Partitioned cache topologies
Relationship management with key, file, and database dependencies
High-Performance object query for distributed cache

Clustered ASP.NET Sessions for Server Farms

Eliminate the bottlenecks of sticky sessions in load balancer or storing sessions in SQL Server. Scale up your application with extremely fast in-memory clustered sessions.

bullet Many times faster than storing your sessions in SQL Server
bullet Highly available due to dynamic clustering and no single-point-of-failure
bullet Highly scalable due to replicated and partitioning clustering topologies

Sessions Details

Source :
continue reading Speed up .NET Apps with Distributed Caching

Jul 3, 2007

Microsoft eScrum Version 1.0

eScrum is a Web-based, end-to-end project management tool for Scrum built on the Microsoft Visual Studio Team Foundation Server platform. It provides multiple ways to interact with your Scrum project: eScrum Web-based UI, Team Explorer, and Excel or Project, via Team Foundation Office Integration. In addition, it provides a single place for all Scrum artifacts such as product backlog, sprint backlog, task management, retrospective, and reports with built-in context sensitive help.

Download : Click
continue reading Microsoft eScrum Version 1.0

Jun 26, 2007

Silverlight for Linux [Moonlight Project]

Miguel de Icaza and his Mono project cohorts have quickly produced an implementation of Silverlight for Linux. The effort is called Moonlight.

Silverlight is an extended subset of the 2.0 .NET framework that can support rich media on multiple browsers and platforms.

Various developers worked intensely to create the first version of Moonlight, which de Icaza demonstrated at a European Microsoft MIX event last week.

de Icaza blog on Moonlight
Moonlight Project page
continue reading Silverlight for Linux [Moonlight Project]

Jun 25, 2007

Jcx.Software releases VS.php 2.3 for Windows Vista

Jcx.Software has announced the release of VS.Php 2.3 for Visual Studio 2005, a PHP integrated development environment (IDE) for Microsoft Visual Studio 2005.

VS.Php 2.3 adds support for Windows Vista and Visual Studio Service Pack 1 for Visual Studio 2005.

Its new features focus on providing developers with the ability to work easily on existing PHP applications hosted on remote sites.

VS.Php 2.3 has also improved support for deploying local projects in a faster and more efficient manner, including support for deploying files using FTP over SSL.

Another key feature in VS.Php 2.3 is the ability to import projects from a remote server. The wizard lets the developer download the entire Php application from a remote server and makes it possible to work on the project locally. The developer can then choose to deploy the files back to any remote server.

Jcx.Software founder J. Rivera explained: "Developers no longer have to worry about editing files over a command shell window or editing files locally and copying their changes via FTP. VS.Php lets you work on remote files as if they were local in context."

VS.Php 2.3 comes in four different editions:

  • VS.Php 2.3 Standalone Edition
  • VS.Php 2.3 for Visual Studio 2005
  • VS.Php 2.3 for Visual Studio .NET 2003
  • VS.Php 2.3 for Visual Studio .NET

Said Brian Goldfarb, group product manager in the Web/Client UX Platform & Tools Team at Microsoft Corp., "By making optimal use of Visual Studio, VS.Php provides an all-in-one IDE to PHP developers that allow them to build dynamic web applications faster and ensure quality throughout the development process."

Follow this link to visit the download page.
Read More
continue reading Jcx.Software releases VS.php 2.3 for Windows Vista

Jun 20, 2007

Introducing the Entity Framework

Databases tend to be a necessary evil to most developers. They want a way to persist data, but they do not want to deal with any of the minutiae of writing code against them. This is not a new phenomenon. I have seen commercial packages going back into the eighties that purported to make working with the database completely seamless. Whether they are called “persistence layers”, “object-relational tools” or even “data abstraction layers”; many of these tools are aimed at speed to market or rapid application development (RAD) solutions. There is no best solution here. Depending on your project or enterprise, the requirements will often dictate the right tool for the job.

When Microsoft announced they were going to release a new technology called “The Entity Framework”, it was met with interested skepticism by most of the development community. Immediately there were comparisons to popular object-relational tools (NHibernate, LLBLGen Pro, et al). What got lost in the haze of comparisons was that the Entity Framework was a completely different animal. The most important piece of information in this article is that the Entity Framework is not meant to solve the same problem that these other tools are trying to meet.

In this article I will introduce you to this new technology and try to explain the “why” and “where” of the Entity Framework. I am purposely skimping on the “how” because details of the implementation are in a constant state of flux in response to customer and community involvement.

For this article I am using the Entity Framework as it exists in the Orcas Beta 1 version delivered by Microsoft in April of 2007.

The Problem…

Teams build software, not developers. Different members of a team think of data differently. For example:

  • Developers think in class diagrams
  • Analysts think in OR diagrams
  • DBAs think in ER diagrams

There is an impedance mismatch between these different models. Developing a common language for these models is one approach to solve the mismatch, but these groups continue to think in different ways about a project’s data.

The mismatch of data model continues outside out the realm of software development teams. We have a larger set of tools and technologies that each try and develop their own models for consuming data. If we look at how our data is consumed, only some of it comes in the form of software projects. Data is mined, reported on, warehoused and exposed through interoperability points. Each of these points has their own idea of what the data looks like. This means that either the schema is exposed up through the middle tier or application models are pushed down to the middle tier. Developing a common dictionary for data model within an organization is difficult because there is not a common grammar that works across different fiefdoms.

Read Full Article : Click Here

continue reading Introducing the Entity Framework