What You Need to Get Started
Once the CodeCharge Studio setup is complete you are almost ready to start generating and viewing dynamic database driven web pages. To use CodeCharge Studio to produce web applications you will need the following:
Database
CodeCharge Studio works in concert with a database, which should be put in place before creating an application with CodeCharge Studio. If you have a Windows web server, the database is usually MS Access or MS SQL. If your production web server is hosted on Linux, Sun, or another UNIX flavor, then you will most likely use the popular and free database-MySQL. Although MySQL can be accessed remotely you can also install it locally on your Windows computer for testing your programs.
Test Web Server
The test web server is usually installed on the same desktop computer as CodeCharge Studio. It is used to test web pages during the web application development process. For example, when you create a new page go to Live Page to see how it works; CodeCharge Studio will generate and open the web page. You can use an externally hosted web server for testing but it's much quicker to generate programs to your local hard drive and then have a local web server run them.
Obtaining a web server is quite easy since many Windows operating system come with free IIS, while PWS (Personal Web Server) is also freely available for Windows 95, 98 and Me. Refer to "Web Servers" for more information.
Note: Some organizations also use a staging web server that allows end-users or customers to perform the final testing before approving the launch of the site. This also gives developers the ability to continue making changes and testing on the test web server. A staging web server is especially useful if there is already an existing live web site that you don't want to replace until your customer or users approve the new web site.
Production or Live Web Server
This is the main web server where you will publish your final application.
In some cases this can be the same server as the test Web Server; in most cases you'd have a separate, externally hosted Web server that is publicly accessible. There are various web hosting companies that offer Windows-based web hosting from anywhere between $10 and $50 (or more for advanced needs).
Scripting Engine
Scripting Engines, such as ASP or PHP, are usually pre-installed on most systems that have a web server. If you use a web hosting service it consists of a web server and one or more scripting engines. Check with your web hosting provider to obtain the list of supported web technologies or refer to "Choosing Web Technology" if you need help making this decision.
Wednesday, November 11, 2009
Choosing Web Technology
Choosing Web Technology
Making technology choices is one of the most difficult and critical decisions facing any organizations. After the web application is built future developments may require that the application to be converted to another programming language or integrated with software that utilizes a different technology. CodeCharge Studio makes it easier to convert a web application created with it from one language to another.
Technology decisions are often based on the available budget, the operating system preference and available database. Here we describe how these factors influence your decision. Note that the following subsections are meant for informative purposes to those who are new to web development and do not yet have a technology preference. The final decision is up to you and you should always perform proper research before making long-term decisions.
Cost
If you're looking for the most inexpensive solution then you've probably heard that Linux with the Apache web server, MySQL database, and PHP scripting engine can be obtained and installed for free. This is also the technology of choice for many small web sites, though it is also used with large web projects, such as parts of the Yahoo web site. Some flavors of Java for Linux can also be obtained at no cost, as well as PERL.
Another popular alternative is Windows with IIS and MS Access running ASP or .NET programs. This environment can be installed at a cost below $500, but at some point you could outgrow MS Access as it is a limited database sufficient for a small number of users. The CodeCharge community Website, http://www.gotocode.com successfully used MS Access for over a year. However, we found that the server occasionally crashed when more than 10 users submitted information at exactly the same time. Thus the recommended alternative for Windows users is to use MS SQL database, although this brings the cost of the system to over $1,000 and even much more if you plan on implementing a scalable, multi-server solution. If you're willing to spend the extra money then you can also consider obtaining ColdFusion or Java for either Linux or Windows.
If you do not require to have your own dedicated server, then you can easily find many web hosting companies that offer both Linux and Windows Web hosting plans for anywhere between $10 and $50, or more, for advanced needs. The price usually covers support for a variety of technologies, including PHP, Java, PERL, and ColdFusion for the Linux platform as well as ASP, .NET, Java, and ColdFusion for the Windows platform.
Operating System Preference
If you love the Linux operating system or your management requires the use of Linux for web hosting then you are most likely to use the Apache web server and a MySQL database running PHP, Java, or ColdFusion applications. Choose PHP if you're new to the web and do not have specific requirements. Otherwise, if you need to make a long-term decision, then it is important that you research all available technologies.
If you prefer the Windows operating system, or Windows is your organization's standard, then you'll most likely use it with the IIS web server and MS SQL database running ASP or .NET (C# or VB) programs. Choose ASP if you need a technology that is easy to understand and learn, but keep in mind that Microsoft's current focus is on .NET technologies, thus you should strongly consider using it sooner rather than later. It is also possible that ASP will be slowly phased out and not available in future versions of Windows. If you're already familiar with any object-oriented technologies, then .NET is probably the best choice for you anyway. C# is derived from C++, while VB.NET is derived from Visual Basic but adapted to support object-oriented programming constructs similar to C#.
Database
If you already have an existing database and want to create a web interface for it, then your technology decision may be related to the type of database. For example, if you use a Windows compatible database, such MS Access or MS SQL, you should probably consider using the ASP or .NET technology on a Windows-hosted IIS server.
If your existing database is MySQL, then you are probably already familiar with Linux and you may want to consider using it with PHP. If you do not have a database yet, then you should first become familiar with the database concepts and create your database for use with CodeCharge Studio. Choose MS Access if a visual interface and ease of use is important to you, or choose MySQL if you need better scalability and don't mind learning a little bit of SQ
Making technology choices is one of the most difficult and critical decisions facing any organizations. After the web application is built future developments may require that the application to be converted to another programming language or integrated with software that utilizes a different technology. CodeCharge Studio makes it easier to convert a web application created with it from one language to another.
Technology decisions are often based on the available budget, the operating system preference and available database. Here we describe how these factors influence your decision. Note that the following subsections are meant for informative purposes to those who are new to web development and do not yet have a technology preference. The final decision is up to you and you should always perform proper research before making long-term decisions.
Cost
If you're looking for the most inexpensive solution then you've probably heard that Linux with the Apache web server, MySQL database, and PHP scripting engine can be obtained and installed for free. This is also the technology of choice for many small web sites, though it is also used with large web projects, such as parts of the Yahoo web site. Some flavors of Java for Linux can also be obtained at no cost, as well as PERL.
Another popular alternative is Windows with IIS and MS Access running ASP or .NET programs. This environment can be installed at a cost below $500, but at some point you could outgrow MS Access as it is a limited database sufficient for a small number of users. The CodeCharge community Website, http://www.gotocode.com successfully used MS Access for over a year. However, we found that the server occasionally crashed when more than 10 users submitted information at exactly the same time. Thus the recommended alternative for Windows users is to use MS SQL database, although this brings the cost of the system to over $1,000 and even much more if you plan on implementing a scalable, multi-server solution. If you're willing to spend the extra money then you can also consider obtaining ColdFusion or Java for either Linux or Windows.
If you do not require to have your own dedicated server, then you can easily find many web hosting companies that offer both Linux and Windows Web hosting plans for anywhere between $10 and $50, or more, for advanced needs. The price usually covers support for a variety of technologies, including PHP, Java, PERL, and ColdFusion for the Linux platform as well as ASP, .NET, Java, and ColdFusion for the Windows platform.
Operating System Preference
If you love the Linux operating system or your management requires the use of Linux for web hosting then you are most likely to use the Apache web server and a MySQL database running PHP, Java, or ColdFusion applications. Choose PHP if you're new to the web and do not have specific requirements. Otherwise, if you need to make a long-term decision, then it is important that you research all available technologies.
If you prefer the Windows operating system, or Windows is your organization's standard, then you'll most likely use it with the IIS web server and MS SQL database running ASP or .NET (C# or VB) programs. Choose ASP if you need a technology that is easy to understand and learn, but keep in mind that Microsoft's current focus is on .NET technologies, thus you should strongly consider using it sooner rather than later. It is also possible that ASP will be slowly phased out and not available in future versions of Windows. If you're already familiar with any object-oriented technologies, then .NET is probably the best choice for you anyway. C# is derived from C++, while VB.NET is derived from Visual Basic but adapted to support object-oriented programming constructs similar to C#.
Database
If you already have an existing database and want to create a web interface for it, then your technology decision may be related to the type of database. For example, if you use a Windows compatible database, such MS Access or MS SQL, you should probably consider using the ASP or .NET technology on a Windows-hosted IIS server.
If your existing database is MySQL, then you are probably already familiar with Linux and you may want to consider using it with PHP. If you do not have a database yet, then you should first become familiar with the database concepts and create your database for use with CodeCharge Studio. Choose MS Access if a visual interface and ease of use is important to you, or choose MySQL if you need better scalability and don't mind learning a little bit of SQ
Architecture of Web Applications
Architecture of Web Applications
In general, web applications use the client/server architecture (i.e., two-tier) where the browser acts as a thin client. The three-tier architecture is becoming more popular and even necessary when implementing enterprise systems that require better scalability.
Application Servers
An application server is the middle tier in the three-tier architecture. Application servers process the business logic on the Web server and communicate between the web browser and the database or another system.
Web Services
Web Services are programs that do not output information to the screen or Web browser but instead send the output to other programs in the form of XML. They do not take input from users via the keyboard, but rather read the information sent to them by other Web services in XML format. Web services allow programs to exchange information across the internet and run remote applications as part of a local software system.
Cookies
Cookies are small amounts of data sent by a program to the browser and stored on the user's machine to be retrieved later. They are usually used to recognize users who come back to visit the same Website after several hours, days or months.
Session Variables
Session variables are similar to standard local variables, but are used to store information that can be retrieved by other pages during the course of a user session. Session variables usually store information in a special session file on the server. You would usually create a session variable to store the ID of users when they log in. In fact, the action of logging in often consists of creating a session variable by the server program.
Application Variables
Application variables are also available to all pages in one Web application. They can be accessed by all users, not just the current session. They are cleared when the server is restarted.
GET and POST methods
When you create Web pages that contain data entry fields, the fields should appear between the tags which make up a form. The form tag has additional attributes, one of them being Method="GET" or Method="POST". This method indicates how the information entered on the form should be submitted to the server when the user clicks the "Submit" button. The "POST" method causes the information to be sent via a data stream, invisible to the user. If "GET" method is used, the browser will redirect the page to a new URL, which will be constructed from the base URL (also specified by a form parameter), followed by a question sign (?) and all form information separated by an ampersand sign (&).
For example, if a form asks the user to provide the first name and the last name, after submitting the form, the user would be redirected to a URL like this one: http://www.mysite.com/page1.asp?first_name=James&last_name=Bond.
Users can manually emulate form submission by entering a URL into their browser that contains information similar to the one submitted via a form. The server program that is being executed should accept and process only the information that it uses. ________________________________________
In general, web applications use the client/server architecture (i.e., two-tier) where the browser acts as a thin client. The three-tier architecture is becoming more popular and even necessary when implementing enterprise systems that require better scalability.
Application Servers
An application server is the middle tier in the three-tier architecture. Application servers process the business logic on the Web server and communicate between the web browser and the database or another system.
Web Services
Web Services are programs that do not output information to the screen or Web browser but instead send the output to other programs in the form of XML. They do not take input from users via the keyboard, but rather read the information sent to them by other Web services in XML format. Web services allow programs to exchange information across the internet and run remote applications as part of a local software system.
Cookies
Cookies are small amounts of data sent by a program to the browser and stored on the user's machine to be retrieved later. They are usually used to recognize users who come back to visit the same Website after several hours, days or months.
Session Variables
Session variables are similar to standard local variables, but are used to store information that can be retrieved by other pages during the course of a user session. Session variables usually store information in a special session file on the server. You would usually create a session variable to store the ID of users when they log in. In fact, the action of logging in often consists of creating a session variable by the server program.
Application Variables
Application variables are also available to all pages in one Web application. They can be accessed by all users, not just the current session. They are cleared when the server is restarted.
GET and POST methods
When you create Web pages that contain data entry fields, the fields should appear between the tags which make up a form. The form tag has additional attributes, one of them being Method="GET" or Method="POST". This method indicates how the information entered on the form should be submitted to the server when the user clicks the "Submit" button. The "POST" method causes the information to be sent via a data stream, invisible to the user. If "GET" method is used, the browser will redirect the page to a new URL, which will be constructed from the base URL (also specified by a form parameter), followed by a question sign (?) and all form information separated by an ampersand sign (&).
For example, if a form asks the user to provide the first name and the last name, after submitting the form, the user would be redirected to a URL like this one: http://www.mysite.com/page1.asp?first_name=James&last_name=Bond.
Users can manually emulate form submission by entering a URL into their browser that contains information similar to the one submitted via a form. The server program that is being executed should accept and process only the information that it uses. ________________________________________
Benefits of Using Web Technologies
Benefits of Using Web Technologies
Web technologies confer many benefits over other technologies, including client/server. These include:
• Less Expensive Infrastructure:
Since every desktop can be equipped with a free browser, the users only need inexpensive, low maintenance computers that run the browser software.
• Rapid Software Distribution:
Thanks to the web, there is no need to distribute new software to any of the client browsers. Once programs are updated on the server, users can instantly see the changes the next time they load the page into their browser. Troubleshooting is also improved since most issues can be investigated and resolved on the server.
• Low Network Usage:
In a web environment, the client application (browser) doesn't access the database over the network to retrieve or update the data. The browser only sends instructions to the server with as much information as necessary to execute the server program. The server software is responsible for communicating with and retrieving any content from the database and composing the page to be sent back to the client; there is no need to exchange large amounts of data. This is why web applications often run faster than applications based on fat clients.
• Platform Independence:
Most web applications can be accessed through a variety of web browsers like Internet Explorer, Firefox, Netscape Navigator, Opera, and Lynx. Web browsers exist for virtually any operating system. Since they receive only the HTML document it is irrelevant if the document is being viewed on Windows, Linux/UNIX, Mac, or any other system. Additionally, certain web applications are accessible through wireless devices equipped with a browser and Internet connection.
• Usage Accounting:
Developers can find out how many times the web application is accessed, something which may not be possible when distributing standalone applications to customers. The vendor can also offer a per-usage fee structure.
Web technologies confer many benefits over other technologies, including client/server. These include:
• Less Expensive Infrastructure:
Since every desktop can be equipped with a free browser, the users only need inexpensive, low maintenance computers that run the browser software.
• Rapid Software Distribution:
Thanks to the web, there is no need to distribute new software to any of the client browsers. Once programs are updated on the server, users can instantly see the changes the next time they load the page into their browser. Troubleshooting is also improved since most issues can be investigated and resolved on the server.
• Low Network Usage:
In a web environment, the client application (browser) doesn't access the database over the network to retrieve or update the data. The browser only sends instructions to the server with as much information as necessary to execute the server program. The server software is responsible for communicating with and retrieving any content from the database and composing the page to be sent back to the client; there is no need to exchange large amounts of data. This is why web applications often run faster than applications based on fat clients.
• Platform Independence:
Most web applications can be accessed through a variety of web browsers like Internet Explorer, Firefox, Netscape Navigator, Opera, and Lynx. Web browsers exist for virtually any operating system. Since they receive only the HTML document it is irrelevant if the document is being viewed on Windows, Linux/UNIX, Mac, or any other system. Additionally, certain web applications are accessible through wireless devices equipped with a browser and Internet connection.
• Usage Accounting:
Developers can find out how many times the web application is accessed, something which may not be possible when distributing standalone applications to customers. The vendor can also offer a per-usage fee structure.
Publishing Web Content
Publishing Web Content
You will need to publish content to your web site to be viewed on the web. You can do this by copying the files you create to a specific location on your web server that is used specifically for web pages. Each web server has a configuration screen or a file where you can specify the main disk folder that maps to the root of your web site.
The files placed in the folder, or its subfolders, automatically become available on the web. For example, if you copy a file Page.html to the test sub-folder on your web server, this page should be accessible via a URL such as http://www.mydomain.com/test/Page.html, where www.mydomain.com can be replaced with your own domain name, or the IP address if desired. When users request the URL in their browser, the browser will contact the web server, which will send the contents of the corresponding file back to the browser.
You will need to publish content to your web site to be viewed on the web. You can do this by copying the files you create to a specific location on your web server that is used specifically for web pages. Each web server has a configuration screen or a file where you can specify the main disk folder that maps to the root of your web site.
The files placed in the folder, or its subfolders, automatically become available on the web. For example, if you copy a file Page.html to the test sub-folder on your web server, this page should be accessible via a URL such as http://www.mydomain.com/test/Page.html, where www.mydomain.com can be replaced with your own domain name, or the IP address if desired. When users request the URL in their browser, the browser will contact the web server, which will send the contents of the corresponding file back to the browser.
Web Servers
Web Servers
Now that you have a better understanding of Internet connectivity, you should understand how an actual web site functions on the Internet.
When you surf the Internet, your browser acts as the client that connects to various web servers and displays the information returned from a server. Your computer can also act as a web server if you install and run a web server application, such as Personal Web Server (PWS), IIS Internet Information Services) or Apache.
The web server listens for incoming Hypertext Transfer Protocol (HTTP) requests and responds by sending back the appropriate information. HTTP is an Internet protocol that defines the format used to exchange information over the Internet. HTTP requests usually come from browsers in the form of a URL, which is then used by the web server to determine which file should be sent back to the browser, such as an HTML page or an image.
Many popular web servers are freely available. You can download Apache for Linux, Windows, or another platform from http://httpd.apache.org/. IIS is included in Windows 2000 and Windows XP Professional. PWS is available for Windows 95/98 and Windows NT. Although Windows XP Professional comes with a web server, unfortunately the Standard Windows XP doesn't come with a web server and setting one up is very tricky.
Once your web server is up and running, you should be able to access it by starting the browser on the same computer and using the URL http://localhost. You can also test the server from another browser by typing your computer's IP address as the URL. If your computer is on a local network within a company, you can ask your colleagues to try typing your computer's name into the address field in their browser. This should work as well and display the default web
Now that you have a better understanding of Internet connectivity, you should understand how an actual web site functions on the Internet.
When you surf the Internet, your browser acts as the client that connects to various web servers and displays the information returned from a server. Your computer can also act as a web server if you install and run a web server application, such as Personal Web Server (PWS), IIS Internet Information Services) or Apache.
The web server listens for incoming Hypertext Transfer Protocol (HTTP) requests and responds by sending back the appropriate information. HTTP is an Internet protocol that defines the format used to exchange information over the Internet. HTTP requests usually come from browsers in the form of a URL, which is then used by the web server to determine which file should be sent back to the browser, such as an HTML page or an image.
Many popular web servers are freely available. You can download Apache for Linux, Windows, or another platform from http://httpd.apache.org/. IIS is included in Windows 2000 and Windows XP Professional. PWS is available for Windows 95/98 and Windows NT. Although Windows XP Professional comes with a web server, unfortunately the Standard Windows XP doesn't come with a web server and setting one up is very tricky.
Once your web server is up and running, you should be able to access it by starting the browser on the same computer and using the URL http://localhost. You can also test the server from another browser by typing your computer's IP address as the URL. If your computer is on a local network within a company, you can ask your colleagues to try typing your computer's name into the address field in their browser. This should work as well and display the default web
Introduction to Web Programming
Introduction to Web Programming
Many developers and programmers face the dilemma of how to begin a web development project. While many developers can create extensive desktop applications with ease, they are not well versed in creating web applications. Most developers have some level of familiarity with HTML and the deployment of static pages on web servers.
The Internet has an increased role in most application development efforts and it can be expected that there will be an increasing need for web applications. Sometimes legacy systems require the creation of a web-interface, for example, to allow a company's customers to lookup their order status online.
To assist in the transition and to understand the general architecture of the web and web applications, the following information provides an introduction to the realm of web application development for developers who are new to this field.
Many developers and programmers face the dilemma of how to begin a web development project. While many developers can create extensive desktop applications with ease, they are not well versed in creating web applications. Most developers have some level of familiarity with HTML and the deployment of static pages on web servers.
The Internet has an increased role in most application development efforts and it can be expected that there will be an increasing need for web applications. Sometimes legacy systems require the creation of a web-interface, for example, to allow a company's customers to lookup their order status online.
To assist in the transition and to understand the general architecture of the web and web applications, the following information provides an introduction to the realm of web application development for developers who are new to this field.
Subscribe to:
Posts (Atom)