EX. NO.: Date: STUDY OF MULTI-TIER SOFTWARE ENVIRONMENT AIM:Study of Multi-tier software environment Environment In close relation to our testing context, Environment is defined as combination of three layers, namely Presentation Layer, Business Layer and Database Layer. Let’s understand what these layers mean how does an environment affect or testing. A tier is an abstract concept that defines a group of technologies that provides one or more services to its clients. In multi-tier architecture each tier contains services that include software object or DBMS. Multi-tier architecture is composed of clients, resources, components (service), and containers. Clients, Resources and Components A client refers to a program that requests a service from a component. A resource is anything a component needs to provide a service, and a component is part of tier that consists of a collection of classes or a program that performs a function to provide the service. A container is software that manages a component and provides a component with system services. The relationship between a container and a component is sometimes referred to as a contract, whose terms are governed by an application programming interface (API). An API defines rules a component must follow and the services a component will receive from the container. Layers & Logics : Logic: Logic is defined as ' The sequence of functions performed by hardware or software. Hardware logic is made up of circuits that perform an operation. Software logic is the sequence of instructions in a program.' Or in simple terms to understand It is the reasoning to make simple circuit components to perform some action. In general, there are three types of logics, Presentation logic generally means the user interface, business logic relates to the whole transaction between the user and the application and database logic is the design to establish proper storage and retrieval of any data whenever needed by the other two logics. Layer: It is the hardware necessity to support the functions of logic, In other terms the logics of an application need to have the layers present to perform the functions or tasks effectively. Generally the Server that is responsible for executing the functions present in the logics of the application are known as the environmental layers of the application. So like logics, there are three types of layers such as Presentation Layer, Business Layer, & Database Layer. Improvising on the previous concepts we can come to a conclusion that, Application = Presentation logic + Business logic + Database logic. Environment = Presentation layer + Business layer + Database Layer. System = Application + Environment Now that we have an idea of what an environment means in our testing scenario, let’s move and understand how many types of environmental components exist and what are the testing related environments needed to be learnt. There are primarily 4 basic environments. Standalone Environment In this type of environment all the three layers i.e., presentation, business and database will be present in one tier/block of area. (e.g. A Desktop PC or Home PC has the capacity to support all the logics of an application which are built for them, like windows operating system is providing the presentation, business and database layer support for complex applications like SQL server and Animation, photo-video editing software’s etc. ) This is also the reason why Standalone environments are also known as ' I tier or Single tier' structure. If at all the application is to be used by a single user, then this will be the best suitable environment. Client Server Environment This type of environment contains 2 tiers (sections). One is for the clients (end users) and the other is for server. Presentation layer, business layer will be present in each and every client, but the database layer will be present in the server. If at all the application or data need to be accessed in a single organization or a network located at one place, then this type of environment is most recommended. The benefits include speed and security within the network. But when the network increases geographically, then we have to go beyond this kind of ' II tier architecture' to a bigger environment. Web Environment This kind of arrangement is also known as 'III tier architecture’. One tier is provided for each kind of layer. The presentation logic will be available in the clients system, another tier will act as the application server (where updates can be quick and can be shared by every client quickly, In other terms whenever the software version changes or new features are added, you don’t need to buy a new CD or DVD, you can log on to internet, connect to the application server, and download the updated version and new features are automatically installed in your system.) If the application needs to be used all over the world by limited number of people then this is the best suited environment. It overcomes the drawback of location when compared to II tier structure. But when the users are huge in numbers then we need to opt for the next option. Figure 1.1 Tiered Architecture Distributed Environment or Multi tier or Entire Structure This is similar to the web environment but the difference is that the number of application servers is increased. Even though the number of client machines increase, the database logics also need to be increased but the entire database logics will be in on tier and all the presentation logics in one tier. To understand better let’s take this picture Figure 1.2 Multitier Thick Client & Thin Client: If the client machine has both the presentation and business logic then it is called 'thick client’. For example, Computers in a workgroup share the same application in a bank but all the customers’ data is accessible only after an authorized entry into the database server. Thin client is the system which only has the access to presentation logic of the application, most of the applications on web like talk or messenger programs have an interface which can be customized according to each user, which is the presentation logic. The secure application is present in the application server where all the changes take place in the application and data is maintained separately in a database server. Once we understand this environments chapter, we can now link the types of testing and combinations of different environmental components. Moving forward we will see the different life cycle approaches of Software Industry. J2EE ARCHITECTURE The J2EE platform uses a multitiered distributed application model. Application logic is divided into components according to function, and the various application components that make up a J2EE application are installed on different machines depending on the tier in the multitiered J2EE environment to which the application component belongs. Figure 1-1 shows two multitiered J2EE applications divided into the tiers described in the following list. The J2EE application parts shown in Figure 1-1 are presented in J2EE Components. Client-tier components run on the client machine. Web-tier components run on the J2EE server. Business-tier components run on the J2EE server. Enterprise information system (EIS)-tier software runs on the EIS server. Although a J2EE application can consist of the three or four tiers shown in Figure 1-3, J2EE multitiered applications are generally considered to be three-tiered applications because they are distributed over three different locations: client machines, the J2EE server machine, and the database or legacy machines at the back end. Three-tiered applications that run in this way extend the standard two-tiered client and server model by placing a multithreaded application server between the client application and back-end storage. Figure 1.3 - Multitiered Applications J2EE Components J2EE applications are made up of components. A J2EE component is a selfcontained functional software unit that is assembled into a J2EE application with its related classes and files and that communicates with other components. The J2EE specification defines the following J2EE components: Application clients and applets are components that run on the client. Java Servlet and JavaServer Pages (JSP ) technology components are Web components that run on the server. Enterprise JavaBeans (EJB ) components (enterprise beans) are business components that run on the server. J2EE components are written in the Java programming language and are compiled in the same way as any program in the language. The difference between J2EE components and "standard" Java classes is that J2EE components are assembled into a J2EE application, verified to be well formed and in compliance with the J2EE specification, and deployed to production, where they are run and managed by the J2EE server. J2EE Clients A J2EE client can be a Web client or an application client. Web Clients A Web client consists of two parts: dynamic Web pages containing various types of markup language (HTML, XML, and so on), which are generated by Web components running in the Web tier, and a Web browser, which renders the pages received from the server. A Web client is sometimes called a thin client. Thin clients usually do not do things like query databases, execute complex business rules, or connect to legacy applications. When you use a thin client, heavyweight operations like these are off-loaded to enterprise beans executing on the J2EE server where they can leverage the security, speed, services, and reliability of J2EE server-side technologies. Applets A Web page received from the Web tier can include an embedded applet. An applet is a small client application written in the Java programming language that executes in the Java virtual machine installed in the Web browser. However, client systems will likely need the Java Plug-in and possibly a security policy file in order for the applet to successfully execute in the Web browser. Web components are the preferred API for creating a Web client program because no plug-ins or security policy files are needed on the client systems. Also, Web components enable cleaner and more modular application design because they provide a way to separate applications programming from Web page design. Personnel involved in Web page design thus do not need to understand Java programming language syntax to do their jobs. Application Clients A J2EE application client runs on a client machine and provides a way for users to handle tasks that require a richer user interface than can be provided by a markup language. It typically has a graphical user interface (GUI) created from Swing or Abstract Window Toolkit (AWT) APIs, but a command-line interface is certainly possible. Application clients directly access enterprise beans running in the business tier. However, if application requirements warrant it, a J2EE application client can open an HTTP connection to establish communication with a servlet running in the Web tier. JavaBeans Component Architecture The server and client tiers might also include components based on the JavaBeans component architecture (JavaBeans component) to manage the data flow between an application client or applet and components running on the J2EE server or between server components and a database. JavaBeans components are not considered J2EE components by the J2EE specification. JavaBeans components have instance variables and get and set methods for accessing the data in the instance variables. JavaBeans components used in this way are typically simple in design and implementation, but should conform to the naming and design conventions outlined in the JavaBeans component architecture. J2EE Server Communications Figure 1.4 shows the various elements that can make up the client tier. The client communicates with the business tier running on the J2EE server either directly or, as in the case of a client running in a browser, by going through JSP pages or servlets running in the Web tiers. Your J2EE application uses a thin browser-based client or thick application client. In deciding which one to use, you should be aware of the trade-offs between keeping functionality on the client and close to the user (thick client) and off-loading as much functionality as possible to the server (thin client). The more functionality you off-load to the server, the easier it is to distribute, deploy, and manage the application; however, keeping more functionality on the client can make for a better perceived user experience. Figure 1.4- Server Communications Web Components J2EE Web components can be either servlets or JSP pages. Servlets are Java programming language classes that dynamically process requests and construct responses. JSP pages are text-based documents that execute as servlets but allow a more natural approach to creating static content. Static HTML pages and applets are bundled with Web components during application assembly, but are not considered Web components by the J2EE specification. Server-side utility classes can also be bundled with Web components and, like HTML pages, are not considered Web components. Like the client tier and as shown in Figure 1.5, the Web tier might include a JavaBeans component to manage the user input and send that input to enterprise beans running in the business tier for processing. Business Components Business code, which is logic that solves or meets the needs of a particular business domain such as banking, retail, or finance, is handled by enterprise beans running in the business tier. Figure 1.6 shows how an enterprise bean receives data from client programs, processes it (if necessary), and sends it to the enterprise information system tier for storage. An enterprise bean also retrieves data from storage, processes it (if necessary), and sends it back to the client program. Figure 1-5 Web Tier and J2EE Application Figure 1.6- Business and EIS Tiers There are three kinds of enterprise beans: session beans, entity beans, and message-driven beans. A session bean represents a transient conversation with a client. When the client finishes executing, the session bean and its data are gone. In contrast, an entity bean represents persistent data stored in one row of a database table. If the client terminates or if the server shuts down, the underlying services ensure that the entity bean data is saved. A message-driven bean combines features of a session bean and a Java Message Service ("JMS") message listener, allowing a business component to receive JMS messages asynchronously. This tutorial describes entity beans and session beans. For information on message-driven beans, Enterprise Information System Tier The enterprise information system tier handles enterprise information system software and includes enterprise infrastructure systems such as enterprise resource planning (ERP), mainframe transaction processing, database systems, and other legacy information systems. J2EE application components might need access to enterprise information systems for database connectivity, for example. RESULT: Thus the above study experiment was successfully studied. EX. NO. : STUDY OF WEB SERVERS/ WEB BROWSER AND TOOLS DATE: FOR ENTERPRISE DEVELOMENT AND DEPLOYMENT AIM:Study of web servers / web browser and tools for enterprise development and deployment WEB BROWSER A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier (URI) and may be a web page, image, video, or other piece of content. Hyperlinks present in resources enable users to easily navigate their browsers to related resources. Although browsers are primarily intended to access the World Wide Web, they can also be used to access information provided by Web servers in private networks or files in file systems. Some browsers can be also used to save information resources to file systems. List of Web Browsers Notable browsers :(In order of release) Worldwide Web, February 26, 1991 Mosaic, April 22, 1993 Netscape Navigator and Netscape Communicator, October 13, 1994 Internet Explorer 1, August 16, 1995 Opera, 1996, see History of the Opera Internet suite Mozilla Navigator, June 5, 2002 Safari, January 7, 2003 Mozilla Firefox, November 9, 2004 Google Chrome, September 2, 2008 Browsers for the Java platform Bitstream ThunderHawk BOLT Browser HotJava (discontinued) Lobo (formerly Warrior) Opera Mini uZard Web X-Smiles (experimental) Flying saucer, a Java library for rendering XML, XHTML, and CSS 2.1 content. UCWEB Web Page Retrieval: The browser application retrieves or fetches code, usually written in HTML (HyperText Markup Language) and/or another language, from a web server, interprets this code, and renders (displays) it as a web page for you to view. In the majority of cases, user interaction is needed to tell the browser what web site or specific web page he or she would like to view. One way this is done is via the browser's address bar. The web address or URL (Uniform Resource Locator), that you type into the browser's address bar tells the browser where to obtain a page or pages from. For example, let's say that you typed the following URL into the browser's address bar: http://about.com/compute/. In this case, you're attempting to reach the Computing & Technology section of About.com. The browser looks at this particular URL in two main sections. The first is the protocol, which in the address shown is "http://". HTTP, which stands for HyperText Transfer Protocol, is the standard protocol used to request and transmit files on the Internet, mostly web pages and their respective components. Since the browser now knows that the protocol is HTTP, it knows how to interpret everything located to the right of the forward slashes. It now looks at "about.com", which tells the browser the location of the web server it needs to retrieve the page or pages from. Next, once it reaches this web server, it retrieves the index page of the "/compute" directory. Once this page is retrieved by the browser, it is interpreted and rendered in the browser's main window for you to view. WEB SERVER A web server is a computer programs that delivers (serves) content, such as web pages, using the Hypertext Transfer Protocol (HTTP), over the World Wide Web. The term web server can also refer to the computer or virtual machine running the program. In large commercial deployments, a server computer running a web server can be rackmounted with other servers to operate a web farm. A web server is a piece of software that enables a website to be viewed using HTTP. HTTP (HyperText Transfer Protocol) is the key protocol for the transfer of data on the web. You know when you're using HTTP because the website URL begins with "http://" (for example, "http://www.quackit.com"). Some high-powered computers are referred to as web servers as they have been built with web hosting in mind. But in most cases, when someone refers to a web server, they are referring to a piece of software that you install on a computer. Advantages There are many advantages to using a web server within your development environment. Of course, in a production hosting environment, a web server is essential. And, depending on your website, a web server could indeed be essential in your development environment. Here are some advantages of using a web server within your development environment: Your local website behaves more like the live one. For example, you can configure directory security, test your custom error pages etc before committing them to the production environment. You can use server-side scripting languages such as PHP and ColdFusion. Allows you to standardize your coding. For example, you can use root-relative paths for your image references and hyperlinks (i.e. "/directory/image.gif"). In other words, your paths can represent the website structure, rather than the directory structure of your computer. Knowledge. The knowledge you gain from using your own web server will help you understand how it works in the live environment. This will most certainly help you when you need to communicate with your hosting provider - you'll be able to use terminology that makes it easier for them to understand your request/issue. Viewing HTML Files with a Web Server When you view a web page via a web server, the URL begins with "http://". Also, the URL will consist of either an IP address or a domain name/host name. Here are some examples of what the URL could look like when viewing a web page via a web server: http://127.0.0.1 http://localhost http://www.quackit.com http://dev.quackit.com Web Servers – Features There's a common set of features that you'll find on most web servers. Because web servers are built specifically to host websites, their features are typically focused around setting up and maintaining a website's hosting environment. Most web servers have features that allow you to do the following: Create one or more websites. Configure log file settings, including where the log files are saved, what data to include on the log files etc. (Log files can be used to analyze traffic etc) Configure website/directory security. For example, which user accounts are/aren't allowed viewing the website, which IP addresses are/aren’t, allowed to view the website etc. Create an FTP site. An FTP site allows users to transfer files to and from the site. Create virtual directories, and map them to physical directories Configure/nominate custom error pages. This allows you to build and display user friendly error messages on your website. For example, you can specify which page is displayed when a user tries to access a page that doesn't exist (i.e. a "404 error"). Specify default documents. Default documents are those that are displayed when no file name is specified. For example, if you open "http://localhost", which file should be displayed? This is typically "index.html" or similar but it doesn't need to be. You could nominate "index.cfm" if your website is using ColdFusion. You could also nominate a 2nd choice (in case there is no index.cfm file), and a 3rd choice, and so on. How Web Servers Work: Whenever you view a web page on the internet, you are requesting that page from a web server. When you type a URL into your browser (for example, "http://www.quackit.com/html/tutorial/index.cfm"), your browser requests the page from the web server and the web server sends the page back: The above diagram is a simplistic version of what occurs. Here's a more detailed version: 1. Your web browser first needs to know which IP address the website "www.quackit.com" resolves to. If it doesn't already have this information stored in it's cache, it requests the information from one or more DNS servers (via the internet). The DNS server tells the browser which IP address the website is located at. Note that the IP address was assigned when the website was first created on the web server. 2. Now that the web browser knows which IP address the website is located at, it can request the full URL from the web server. 3. The web server responds by sending back the requested page. If the page doesn't exist (or another error occurs), it will send back the appropriate error message. 4. Your web browser receives the page and renders it as required. When referring to web browsers and web servers in this manner, we usually refer to them as a client (web browser) and a server (web server). Multiple Websites A web server can (and usually does) contain more than one website. In fact, many hosting companies host hundreds, or even thousands of websites on a single web server. Each website is usually assigned a unique IP address which distinguishes it from other websites on the same machine. This IP address is also what the DNS server uses to resolve the domain name. It is also possible to configure multiple websites without using different IP addresses using host headers and/or different ports. This can be useful in a development environment and is quite easy to do. Page Not Found If the requested page isn't found, the web server sends the appropriate error code/message back to the client. You can create user friendly error messages, then configure your web server to display that page instead of the usual error page. This can add a nice touch to your website. How many times have you (or even worse, your visitors) encountered a plain white page with some cryptic error message on it? Default Documents If you've ever created a website, you may have found that if you have an "index" file (index.html for example), you don't need to specify the name of the file. For example, the following URLs both load the same page: 1. http://www.quackit.com/html/tutorial 2. http://www.quackit.com/html/tutorial/index.cfm In this example, "index.cfm" is the default document. You can configure your web server so that any file name can be the default document. For example, you could configure your web server to use "index.cfm" in the event no filename has been specified, or if you use PHP, "index.php". You could even specify different default documents for different directories if you like. SSL Certificates You can apply SSL certificates against a website via the web server. First you need to generate the certificate either by yourself (i.e. using a certificate generator), or by a Certificate Authority (CA). Then, once it has been generated, you apply it to your website via your web server. Applying an SSL certificate to a website is a straight forward task. Once you've applied an SSL certificate against a website, you can navigate it using HTTPS (as opposed to HTTP). HTTPS encrypts any data that is transferred over the internet. This reduces the possibility of some malicious person being able to read your users' sensitive information. Apache HTTP Server Apache HTTP Server (also referred to as simply "Apache") has, at the time of writing, been the most popular web server on the web since 1996. Apache is developed and maintained by the Apache Software Foundation, which consists of a decentralized team of developers. The software is produced under the Apache licence, which makes it free and open source. Apache is available for a range of operating systems, including Unix, Linux, Novell Netware, Windows, Mac OS X, Solaris, and FreeBSD. Microsoft Internet Information Services (IIS) IIS is, at the time of writing, the second most popular web server on the web. It is however, gaining market share, and if the current trend continues, it won't be long before it overtakes Apache. IIS comes as an optional component of most Windows operating systems. You can install IIS by using Add/Remove Windows Components from Add or Remove Programs in the Control Panel. Sun Java System Web Server Based on the Sun One Web Server, the Sun Java System Web Server is designed for medium to large business applications. Sun Java System Web Server is available for most operating systems. Tools for enterprise software Enterprise software, also known as enterprise application software (EAS), is software intended to solve an enterprise problem (rather than a departmental problem) and often written using an Enterprise Software Architecture. Due to the cost of building or buying what is often proprietary software, only large enterprises attempt to implement such enterprise software that models the entire business enterprise and is the core IT system of governing the enterprise and the core of communication within the enterprise. As business enterprises have similar departments and systems in common, enterprise software is often available as a suite of programs that have attached enterprise development tools to customize the programs to the specific enterprise. Generally, these development tools are complex enterprise programming tools that require specialist capabilities. Enterprise-level application Enterprise level software is software which provides business logic support functionality for an enterprise, typically in commercial organizations, which aims to improve the enterprise's productivity and efficiency. Services provided by enterprise software are typically business-oriented tools such as online shopping and online payment processing, interactive product catalogue, automated billing systems, security, content management, CRM, ERP, Business Intelligence, HR Management, Manufacturing, EAI, Enterprise Forms Automation etc. Characteristics of enterprise software are performance, scalability, and robustness. Enterprise software typically has interfaces to other enterprise software (for example LDAP to directory services) and is centrally managed (a single admin page for example). Enterprise Application software Enterprise application software is application software that performs business functions such as order processing, procurement, production scheduling, customer information management, accounting, etc. It is typically hosted on servers and provides simultaneous services to a large number of users, typically over a computer network. This is in contrast to single-user application that execute on a user's personal computer and serve only one user at a time. :) Enterprise software developers Major organizations in the enterprise software field include IBM, HP, JBoss (Red Hat), SAP, Microsoft, Adobe Systems, Oracle Corporation, and Computer Associates but there are thousands of competing vendors. In addition, a great deal of enterprise software is now available through the free software movement, notably operating systems, web servers and databases. Many other types of enterprise software are also being introduced, such as application servers, portal servers, and even productivity software that is well suited for large-scale adoption by enterprises. While most open source software is available freely for use and further development, several companies provide enterprises with open source enterprise software for free and charge for software maintenance, modifications, support and additional functionality. Cross-platform RAD tools Boa constructor is a cross-platform, wxPython based Python RAD IDE Code: Blocks is a cross-platform C/C++ RAD IDE using wxWidgets; the latest developmental builds have a built-in form designer wxSmith, so it's similar to Embarcadero C++ Builder and Microsoft Visual C++/MFC now. HyperNext is a freeware cross-platform software development system for Mac OS X & Mac OS 9, and Microsoft Windows XP & Vista. It has many similarities with HyperCard and can compile to both stand alone applications and stacks for the cross-platform HyperNext Player. IBM Rational Business Developer Extension is a cross-platform, Rapid Application Development IDE for creating enterprise and web applications and services for Windows, Linux, Unix (Solaris, HPUX, AIX), System z and System i IBM Rational Application Developer is a cross-platform, Rapid Application Development IDE for creating enterprise and web applications and services for Windows, Linux and Unix (Solaris, HPUX, AIX) LANSA is a development environment for generating applications on multiple platforms. One of the main features of LANSA is its high level programming language, called RDML (Rapid Development and Maintenance Language). It is classified as a 4GL (4th generation language). LANSA-developed applications run on many systems including MS Windows, IBM i and Linux. Lazarus is a cross-platform IDE similar to Embarcadero Delphi. NetBeans is a cross-platform, RAD IDE for creating visual desktop, mobile, web, and SOA applications for Linux, Windows and Mac OS X. The IDE officially supports Java, Ruby, PHP, JavaScript and C/C++ programming languages. Squeak is an open-source, cross-platform Smalltalk system which can be used to develop applications for desktop, mobile, server-based, and web platforms. Squeak supports Windows, Linux, Mac OS X, Mac OS Classic, many flavors of Unix, and a handful of other operating systems. Squeak is the home of the Seaside RAD web app framework and multiple GUI toolkits, some of which allow the building of GUIs by drag and drop. Visual FoxPro With its local cursor engine, tight coupling between language and data, and powerful features, Visual FoxPro 9.0 is a great tool for building database solutions of all sizes. Its data-centric, object-oriented language offers developers a robust set of tools for building database applications for the desktop, client–server environments, or the Web. Developers will have the necessary tools to manage data—from organizing tables of information, running queries, and creating an integrated relational database management system (DBMS) to programming a fully-developed data management application for end users. VisualWorks is a cross-platform Smalltalk RAD for creating desktop, mobile, enterprise, and web-based applications for Windows, Linux, Mac OS X, Mac OS Classic, and a number of Unix systems. The system supports popular protocols and frameworks like ODBC, Seaside, and GemStone/S. Commercial and free non-commercial versions available. Cloud Based RAD tools Coghead Wavemaker is an open-source, visual, drag and drop development studio that runs in a browser and generates standard Java applications for deployment. Cloud version is available at [Cloud]. Zoho Office Suite Desktop RAD Tools C++Builder . Clarion is a data-centric Advanced Rapid Application Development (ARAD) tool featuring roundtrip code generation that preserves all of your own hand-written code while allowing you to re-generate your application as often as needed. It provides reusable metadata to quickly create "corporate quality" applications to manage business data Delphi . Microsoft Visual Basic . Database RAD Tools Base One Foundation Component Library (BFC) is a RAD framework for building .NET applications using SQL Server, Oracle, DB2, Sybase, and MySQLdatabases. Clarion is a data-centric Advanced Rapid Application Development (ARAD) tool featuring roundtrip code generation that preserves all of your own hand-written code while allowing you to re-generate your application as often as needed. It provides reusable metadata to quickly create "corporate quality" applications to manage business data IBM Rational Application Developer supports database application development for IBM DB2, IBM Informix, Oracle database, Microsoft SQL Server and other JDBC compliant relational databases Embedded Control RAD Tools VisSim is a block diagram language for model based embedded system development LabVIEW is a graphical programming language that allows you to program embedded off-the-shelf systems, FPGAs, custom designs Web Based RAD Tools ASPRunner\PHPRunner is a data model based code generator that can generate either PHP or ASP Web pages based on the data model relationships, it also includes WYSIWYG web page customization. Caspio is a platform-as-a-service framework that uses wizards instead of coding for RAD. MyEclipse for Spring is a RAD tool for developing Java-based Spring applications. It runs within the MyEclipse IDE. Oracle Application Development Framework uses Oracle's JDeveloper a FREE IDE that supports ADF's J2EE based framework. Visual WebGui (VWG) is an open-source rapid application development (RAD) framework for AJAX & Silverlight GUIs. The platform presents a new approach to applying desktop usability to the web by viewing it as an extension to a desktop rather than web Sculpture is a 100% free .NET based Platform for designing and delivering cross platform web applications. Components based on RAD paradigm Add-in Express – Visual RAD tool for developing COM add-ins, smart tags, RTD servers and Excel user defined functions in Visual Studio .NET and Delphi. Panther is a cross-platform (Windows, UNIX, Linux; TUI, GUI, Web), crossdatabase RAD toolset for development of n-tier component based database oriented applications. It builds native components employing the same visual paradigm used for client screens. Editions for middleware from IBM, BEA and Microsoft exist (and can be combined). RESULT : Thus the above study experiment was successfully studied.