Web Technologies

BLOG for Web Technologies

Freewares, Free E-Books Download, SEO, Tips, Tricks, Tweaks, Latest News, .Net, PHP, ASP, ASP.Net, CSP, MS SQL Server, MySQL, Database
earnptr.com
Friday, March 30, 2007
General Information MySQL
Internals and Portability:
  • Written in C and C++.
  • Uses GNU Automake (1.4), Autoconf (Version 2.52 or newer), and Libtool for portability.
  • Works on many different platforms; APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl.
  • Fully multi-threaded using kernel threads, this means it can easily use multiple CPUs if available.
  • Very fast B-tree disk tables with index compression and thread-based memory allocation system.
  • Very fast joins using an optimised one-sweep multi-join, can mix tables from different databases in the same query.
  • In-memory hash tables which are used as temporary tables.
  • SQL functions are implemented through a highly optimised class library and should be as fast as possible!
  • Usually there isn't any memory allocation at all after query initialisation.

Security:
  • All password traffic is encrypted connecting to a server.
  • A privilege and password system that is very flexible and allows host-based verification.

Scalability and Limits:
  • Handles large databases. Maximum size for a table is 8TB (default 4GB).
  • Up to 32 indexes per table. Each index may consist of 1 to 16 columns or parts of columns.
  • The maximum index width is 500 bytes (this may be changed when compiling MySQL Server).
  • An index may use a prefix of a CHAR or VARCHAR field.

Connectivity:
  • Clients may connect to the MySQL server using TCP/IP Sockets, Unix Sockets (Unix), or Named Pipes (NT).
  • All ODBC 2.5 functions and many others.

Localisation:
  • All comparisons for normal string columns are case-insensitive.
  • The server can provide error messages to clients in many languages.
  • MySQL Server supports many different character sets that can be specified at compile and runtime.

Clients and Tools:
  • Includes myisamchk, a very fast utility for table checking, optimisation, and repair.
  • All of the functionality of myisamchk is also available through the SQL interface as well.
  • All MySQL programs can be invoked with the --help or -? options to obtain online assistance.

Comparison of MySQL and PostgreSQL
MySQL Server offers the following advantages over PostgreSQL:
  • MySQL Server is generally much faster than PostgreSQL.
  • MySQL 4.0.1 also has a query cache that can boost up the query speed for mostly-read-only sites many times.
  • MySQL Server is used more in production environments than PostgreSQL.
  • MySQL has more APIs to other languages and is supported by more existing programs than PostgreSQL.
  • MySQL Server works on 24/7 heavy-duty systems. In most circumstances you never have to run any cleanups on MySQL Server.
    PostgreSQL doesn't yet support 24/7 systems because you have to run VACUUM once in a while to reclaim space from UPDATE and DELETE commands and to perform statistics analyses that are critical to get good performance with PostgreSQL. VACUUM is also needed after adding a lot of new rows to a table. On a busy system with lots of changes, VACUUM must be run very frequently, in the worst cases even many times a day. During the VACUUM run, which may take hours if the database is big, the database is, from a production standpoint, practically dead.
    Please note: in PostgreSQL version 7.2, basic vacuuming no longer locks tables, thus allowing normal user access during the vacuum. A new VACUUM FULL command does old-style vacuum by locking the table and shrinking the on-disk copy of the table.
  • MySQL Server supports more of the standard ODBC functions than PostgreSQL.
  • MERGE tables gives a unique way to instantly make a view over a set of identical tables and use these as one. This is perfect for systems where you have log files that you order, for example, by month.
  • The option to compress read-only tables, but still have direct access to the rows in the table, gives better performance by minimising disk reads. This is very useful when you are archiving things.
  • MySQL Server is coded from the start to be multi-threaded, while PostgreSQL uses processes. Context switching and access to common storage areas is much faster between threads than between separate processes. This gives MySQL Server a big speed advantage in multi-user applications and also makes it easier for MySQL Server to take full advantage of symmetric multiprocessor (SMP) systems.
  • MySQL Server has a much more sophisticated privilege system than PostgreSQL. While PostgreSQL only supports INSERT, SELECT, and UPDATE/DELETE grants per user on a database or a table, MySQL Server allows you to define a full set of different privileges on the database, table, and column level. MySQL Server also allows you to specify the privilege on host and user combinations.
  • MySQL Server supports a compressed client/server protocol which improves performance over slow links.
  • All MySQL table types (except InnoDB) are implemented as files (one table per file), which makes it really easy to back up, move, delete, and even symlink databases and tables, even when the server is down.
  • Tools to repair and optimise MyISAM tables (the most common MySQL table type). A repair tool is only needed when a physical corruption of a datafile happens, usually from a hardware failure. It allows a majority of the data to be recovered.
  • Upgrading MySQL Server is painless.
  • You don't need to dump/restore your data, as you have to do with most PostgreSQL upgrades.

Drawbacks with MySQL Server compared to PostgreSQL:
  • The transaction support in MySQL Server is not yet as well tested as PostgreSQL's system.
  • Because MySQL Server uses threads, which are not yet flawless on many OSes, one must either use binaries or carefully follow our instructions to get an optimal binary that works in all cases.
  • Updates that run over multiple tables are harder to do in MySQL Server. This will, however, be fixed in MySQL Server 4.0.2 with multi-table UPDATE and in MySQL Server 4.1 with subselects.
  • In MySQL Server 4.0 one can use multi-table deletes to delete from many tables at the same time.

PostgreSQL currently offers the following advantages over MySQL Server:

FeaturesMySQL version
Subselects4.1
Foreign keys4.1 (3.23 with InnoDB)
Views5.0
Stored procedures5.0
Triggers5.0
Unions4.0
Full join4.1
Constraints4.1 or 5.0
Cursors4.1 or 5.0
R-trees4.1 (for MyISAM tables)
Inherited tablesNot planned
Extensible type systemNot planned

Labels:

posted by WebTeks @ 9:27 PM   0 comments
Monday, March 26, 2007
MySQL Security Overview
When should you start to worry about MySQL security? When you start to use the MySQL server over an Internet connection. Why? Because that is when your MySQL server is going to be the most vulnerable to all kinds of attacks, such as alterations and denial of service.
The security issues that we will be discussing here will relate only to the MYSQL Server, but must be taken in the context of securing the entire server host against the above mentioned attacks and others.
How does MYSQL Security Work?: MYSQL security is based on the Access Control List (or ACL) for all connections, queries and many other operations that a user can perform. What does this mean? Well, it basically means that different users will have varying levels of access to certain databases and tables and that they will be limited to performing only certain operations. For example, a user with full privileges to a database will be able to perform a range of operations such as SELECT, DELETE, UPDATE and INSERT, while a user with limited privileges would only be able to use the SELECT operation and so on.
General Guidelines for MYSQL Security: On the machine running MYSQL, go into the bin directory where mysql is installed. For example if the installation directory is "c:mysql" then go into the "c:mysqlbin" directory and type the following:
Mysql -u root
Now press enter. If you get a "Welcome to MYSQL server " message, then it means that you have successfully connected to the server WITHOUT being asked for a password. This means that anyone can access your MYSQL server as the "root" user. This status gives this user complete control over your MYSQL server. Now, I don't have to tell you what it would mean if a hacker should gain this kind of access when you are hosting databases for companies. It is THE ultimate nightmare situation for a Database Administrator.
So to avoid this scenario:
  • Check your MYSQL installation manual for setting a password for your root account. It is absolutely critical that you do this if you are going to use MYSQL over the Internet.

  • Make sure that you understand the MYSQL access privilege system. Use the GRANT and REVOKE statements to control access to your MYSQL server.
  • Use the SHOW GRANT statement to check who has access to what. And use the REVOKE statement to remove those privileges that you deem not necessary.

Passwords: When storing passwords in your database, take care not to store your passwords in plain text. If your system becomes compromised, the intruder will have a field day with your list of passwords. Encrypt them with MD5() or SHA1() or any other one way hash function, to make it hard for any intruder to get any passwords they can do anything with.
Also, make sure that you combine numbers and letters when generating a password. There are sophisticated password crackers being developed as we speak and although any password that you create can eventually be broken, you can make it difficult for intruders to do so by just making this small effort. Another method of creating memorable but difficult passwords is to think of a sentence such as "Mary had a little lamb" and take the first letter of each word in the sentence. This will give you something like this: "mhall." You can then add a memorable number to the word, and to make this even more difficult you can capitalize some of the letters. Arrange the numbers around the letters, so that it is easy to remember, but difficult to guess for someone who does not know the password.
Firewalls: You are probably sick of hearing this, but proper firewall protection is absolutely essential if you have an Internet connection. It will help keep a significant number of exploits and other attacks off your system and therefore away from your MySQL installation. So if at all possible try to install a firewall and make sure to put MySQL behind it.
Also most attacks are made possible by a port being open. A firewall blocks this kind of access, if configured to do so. After installing a firewall you can test whether the port at which MySQL listens is open or closed. You can do this with a program like Telnet. Just type:
telnet mysql 3306
If you get a reply with garbage, then the port is open and should be closed. If you do not get any reply, then the port is closed, which is what we want.
Data transmission: Do not transmit plain text (basically unencrypted) data over the Internet, because anyone who has the time and know-how will be able to intercept your communications and use them for their own purposes. A protocol such as SSL or SSH would go a long way to secure your communication over the Internet. As of version 4.0.0 MySQL supports internal SSL connections. SSH port-forwarding can be used to create an encrypted (and compressed) tunnel for the communication.
To check whether your MYSQL data streams are encrypted, use a utility like windump or tcpdump (for UNIX). Both are available at http://www.winpcap.org/ Once you have installed all the relevant DLLs and drivers, simply execute windump.exe and you should be able to see all network communications. Another good network traffic analyzer is ethereal (available at www.ethereal.com), which you can also use to see whether or not your MYSQL server data stream is encrypted.
Web Form Data: It is advisable to never trust data entered by users in your applications. Just recently I had the unfortunate experience of dealing with a security breach that was caused by a user entering "DROP DATABASE mysql;" into a form. Now, the script that was written to handle this form data was not written with security in mind, so of course the intruder succeeded.
This is but one example of why you should not trust user input to be safe. Intruders can use many other ways to trick your code into revealing more about your database. A common mistake that we programmers make is to protect only the string data when processing form data. While it is good to do this, it would be even better to check numeric or integer data as well. PHP has an is_numeric() function that you can use to make sure that numeric data is used properly. Other programming languages will have different functions to verify data. For example, if your application uses a query like
SELECT * FROM tblname WHERE ID=456
where the number 456 is entered by the user in a form, then the server will just go and retrieve that record. But a intruder can very easily fool your code by entering:
"456 OR 1=1"
This will change your query to:
SELECT * FROM tblname WHERE ID=456 OR 1=1
This will cause your query to retrieve all the records in your table and expose data that should not be exposed. In addition this kind of security breach can also cause excessive server load, making your server unresponsive or slow. The solution to this kind of attack is to use apostrophes around the numeric values. So the query would look something like this:
SELECT * FROM tblname WHERE ID='456'
So if any additional data is added to the number it will become part of the string. In a numeric context (meaning that we assume the ID field in the query above is a integer), MySQL will automatically convert this string to a number and strip any trailing non-numeric characters from it.
Testing Web Forms: Make sure that your scripts have all the safeguards in place when dealing with user input no matter how trivial the data in your database might seem. To test whether your web forms are properly protected, enter ''' into your web form. If you get any kind of MySQL error, then you should look at your scripts and try to work it out, because it may be a vulnerability that you cannot afford to have when using MySQL over the Internet.
Enter random characters, special symbols and spaces in fields that are meant to be numeric. If you see a MYSQL error, it means that your script passes unchecked values to your MySQL query. This is very dangerous and should not happen.
Data escaping and data filtering is very important when dealing with databases, and different scripting languages offer different functions to help escape form data. Some of the functions offered by PHP include mysql_escape_string(), addslashes() and stripslashes(). Other programming languages will have their own like Perl's "quote()".
Conclusion: This article talked about the general guidelines that you need to follow in order to make MySQL as safe as possible. This is by no means a exhaustive list of guidelines, but it will make your MYSQL server more secure. In future articles we will discuss the MySQL Privilege System.
DISCLAIMER: The content provided in this article is not warranted or guaranteed by Web Technologies (http://www.webteks.blogspot.com) The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware.

Labels: ,

posted by WebTeks @ 5:04 AM   0 comments
Friday, March 23, 2007
.NET Framework
The Microsoft .NET Framework is a software component that can be added to the Microsoft Windows operating system. It provides a large body of pre-coded solutions to common program requirements, and manages the execution of programs written specifically for the framework. The .NET Framework is a key Microsoft offering, and is intended to be used by most new applications created for the Windows platform.

The pre-coded solutions form the framework's class library and cover a large range of programming needs in areas including the user interface, data access, cryptography, web application development, numeric algorithms, and network communications. The functions of the class library are used by programmers who combine them with their own code to produce applications.

Programs written for the .NET Framework execute in a software environment that manages the program's runtime requirements. This runtime environment, which is also a part of the .NET Framework, is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine, so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security mechanisms, memory management, and exception handling. The class library and the CLR together compose the .NET Framework. The framework is intended to make it easier to develop computer applications and to reduce the vulnerability of applications and computers to security threats.

Download Microsoft .NET Framework 2.0 Redistributable Package
Download Microsoft .NET Framework 3.0 Redistributable Package

Labels: ,

posted by WebTeks @ 11:20 PM   0 comments
Wednesday, March 21, 2007
The Google API
Introduction: The Google API stands for ‘Application Programmable Interface’. As it’s name implies, it is an interface that queries the Google database to help programmers in the development of their applications. At this point, it is important to remember that all of Google’s APIs are only available in beta version, which means they are mostly still in their initial trial release and that there could still be a few adjustments required to some of them.

How can Google API’s be used effectively?: By definition, Google API’s consist basically of specialized Web services and programs and specialized scripts that enable Internet application developers to better find and process information on the Web. In essence, Google APIs can be used as an added resource in their applications.
In the real world, application programmers, developers and integrators write software programs that can connect remotely to the Google API’s. All data communications are executed via the ‘Simple Object Access Protocol’ (SOAP), which is a Web services standards as defined by the industry. The SOAP protocol is an XML-based technology meant to easily exchange information entered into a Web application.
Google’s API can better assist developers in easily accessing Google's web search database, empowering them in developing software that can query billions of Web documents, constantly refreshed by Google’s automated crawlers. Programmers can initiate search queries to Google's vast index of more than three billion pages and have results delivered to them as structured data that is simple to analyse and work with.

Additionally, Google API’s can seamlessly access data in the Google cache, while at the same time provide checking in the spelling of words. Google APIs will in fact implement the standardized search syntax used on many of Google’s search properties. Use of Google’s API’s in the real world. Here I will give a few examples of real-life Web applications that could effectively use Google API’s.
Currently, Google issues each programmer or developer who registers to use the API's a set limit of one thousand queries per day. Some think that number could increase in the future, but for now, that is the imposed limit at the “Googleplex”. Google’s API is an experimental program that is provided free to anybody that agrees to it’s terms. As of now, the available resources to fully implement and support the program are rather limited, which explains why there is a 1,000 queries a day limit on all accounts.

Registering yourself first: In order to be able to use and implement any Google API’s you must first agree to the terms and promise to abide by Google’s rules concerning it’s API’s. You will also have to create a Google ‘API account’. Once you have done all that, Google will email you a personal license key to use with your APIs.

Remember that when you build an application, you must integrate your API account number in your code. That way, every time your Web application makes a request or queries Google’s database, your license key is part of the query string.

More on the Google API account: Creating an API account with Google is simple. All you need to do is to go to www.google.com/apis and simply follow the easy instructions on your screen. You will be required to provide your email address and a password. Currently, Google rules and regulations forbid you from having more than one account.

One word of caution about Google API’s: remember that you cannot create or develop any industrial application or commercial querying program or software using Google’s API technology, without first obtaining a valid and written consent from Google.
References: Google Inc.

Labels: ,

posted by WebTeks @ 9:14 PM   0 comments
Tuesday, March 20, 2007
Cross Browser Compatibility
There are literally hundreds of web browsers in use around the world. All of them implement the W3C document standards a little differently. Web designers must wrestle with these differences to make a web site work. This article discusses the effect those different implementations has on design.

What is Cross Browser Compatibility?: If a web page is completely cross-browser compatible, it will look more or less the same in all of the existing web browsers. The most commonly used browsers are Internet Explorer, Netscape Navigator, Firefox and Opera.
Each one of these browser implements HTML, JavaScript and Cascading Style Sheets (CSS) a little differently. Some difference only create cosmetic difference others can break the webpage. The situation gets worse because each browser is free to implement “enhancements” to the W3C standard version of each of these formats.
Then to compound matters even more the underlying operating systems also creates difference in how the computer displays graphical elements and text differently. When you add the fact that people are also using multiple versions of each of the browsers, no wonder web designers get headaches.

So what is a web designer to do?: Obviously, 100% compatibility with all potential browsers is impossible. But it is possible to design your web page so it will work in the most popularly used browsers.
To accomplish that, a web designer must write squeaky-clean code that conforms to the W3C standards to get consistent results across all browser platforms. The whole idea behind the standards is that if each browser adheres to the same set of rules, you will get more or less consistent results in all of the existing browsers.
Conforming can be a real challenge. It will limit some of the neater effects available in specific browsers. There are online code validators available. You can validate HTML code at http://validator.w3.org, the validator can also validate your CSS and links. The service is free.
The validator checks your code based on the DOCTYPE you specify on the webpage. The DOCTYPE tells the browser which version of HTML or CSS the web page is using.

Labels: ,

posted by WebTeks @ 10:36 AM   0 comments
Sunday, March 18, 2007
CSS: an introduction
CSS stands for Cascading Style Sheets, another programming specification. CSS uses rules called styles to determine visual presentation. The style rules are integrated with the content of the web page in several ways. In this book, we will deal with style rules that are embedded in the web page itself, as well as with style rules that are linked to or imported into a web page. You will learn to write the style rules and how to import, link, or embed them in the web pages you make. In HTML, styles can be written into the flow of the HTML, or inline, as well.

CSS can also be integrated into web pages in other ways. Sometimes you have no control over these rules. Browsers allow users to set up certain CSS style rules, or user styles, according to their own preferences. The user preferences can override style rules you write. Further, all browsers come with built-in style rules. Generally the built-in styles can be overridden in your CSS style rules. Built-in browser display rules are referred to as default presentation rules. Part of what you will learn is what to expect from a browser by default, in order to develop any new CSS rules to override those default display values.

Labels:

posted by WebTeks @ 8:50 AM   0 comments
Friday, March 16, 2007
Latest on Microsoft - .NET Framework 3.5

.NET Framework 3.5 makes first appearance in CTP


This week released the Visual Studio codename "Orcas" March 2007 CTP and this is the first time that features from .NET Framework 3.5 have been included.

Brief on .NET Framework 3.5
Many ISV’s, enterprises and even Microsoft product teams are successfully building on the new features WF, WCF, WPF and CardSpace in the .NET Framework 3.0. Microsoft plans to continue to invest in the .NET Framework developer platform and in support of existing users the .NET Framework 3.5 has no serious breaking changes so existing applications built for .NET Framework 2.0 or .NET Framework 3.0 will continue to execute. The .NET Framework 3.5 adds new features in several major technology areas.
  1. Integration of Language Integrated Query (LINQ) and data awareness
  2. Support for Web 2.0 AJAX style applications and services in ASP.NET and WCF
  3. Full tooling support for WF, WCF and WPF including the new workflow-enabled services technology
  4. New classes in the base class library (BCL) for the .NET Framework 3.5 address the most common customer requests


.NET Framework 3.5 will ship with Visual Studio codename ”Orcas” and will be available for separate download from MSDN.

Just The Server Side (WF and WCF)

Here's some detail of the new things to look for from WF and WCF.
  • Workflow enabled services - process and messaging together
  • Web 2.0 AJAX friendly (works with ASP.NET AJAX Client) and REST enabled WCF services
  • New project templates and other new features in Visual Studio for WF and WCF
  • More WS-* Standards Support including WS-AtomicTransaction, WS-ReliableMessaging, WS-SecureConversation and WS-Coordination
  • RSS and ATOM Syndication Support in WCF
  • Partial Trust for WCF applications deployed through click-once
  • Rules Data Improvements

By: Paul Andrew
(Windows Workflow Foundation Technical Product Manager at Microsoft)

Labels: , ,

posted by WebTeks @ 10:45 AM   0 comments
Thursday, March 15, 2007
Operating Systems: An Intoduction
You will find a decent introduction material that should give them a good grasp on the subject of operating systems.

Topics covered include:
- key concepts, resources and sharing, resource management and spooling
- single task
- multi tasking and multi user
- processes and threads
- memory and storages, physical and virtual
- networks, services and protocols
- security, super users, firewall

View / Download A Short Introduction to Operating Systems (pdf format)

Labels: ,

posted by WebTeks @ 10:56 AM   0 comments
Tuesday, March 13, 2007
Download Free E-Books of PHP
Developing PHP Applications for IBM Data Servers
Programming PHP
A Programmer's Introduction to PHP 4.0
PHP 5 Power Programming
Practical PHP Programming

Labels: , , ,

posted by WebTeks @ 10:08 AM   0 comments
Monday, March 12, 2007
Free Java E-Books


Thinking in Java
Java Web Services Tutorial
Java Servlet Programming
Java Language Reference
Java AWT Reference
Introduction to Programming Using Java
Introduction to Computer Science using Java
Exploring Java
Essentials of the Java Programming Language - Part 1
Essentials of the Java Programming Language - Part 2
Enterprise JavaBeans

Labels: , , , ,

posted by WebTeks @ 3:10 AM   0 comments
Download free e-books
Click here to download free e-books of AJAX

Click here to download free e-books of HDD, Java, Excel, 3D Studio Max, Flash, Website Design Guide, C++, HTML, CGI

Click here - Free Computer Books, Tutorials & Lecture Notes

Labels: , , , ,

posted by WebTeks @ 2:25 AM   1 comments
Monday, March 5, 2007
New Release: .NET Framework 3.0
The Microsoft .NET Framework 3.0 (formerly WinFX), is the new managed code programming model for Windows. It combines the power of the .NET Framework 2.0 with four new technologies: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), and Windows CardSpace (WCS, formerly "InfoCard"). Use the .NET Framework 3.0 today to build applications that have visually compelling user experiences, seamless communication across technology boundaries, the ability to support a wide range of business processes, and an easier way to manage your personal information online. Now the same great WinFX technology you know and love has a new name that identifies it for exactly what it is – the next version of Microsoft’s development framework. This change does not affect the release schedule of the .NET Framework 3.0 or the technologies included as a part of the package.

The .NET Framework 3.0

Windows Communication Foundation: This suite of .NET technologies for building and running connected systems unifies a broad array of distributed systems capabilities in a composable and extensible architecture to provide secure, reliable, and transacted messaging along with interoperability.
Windows Presentation Foundation: Windows Presentation Foundation, Microsoft's technology for building applications and high fidelity experiences in Windows Vista, blending together application UI, documents, and media content, while exploiting the full power of your computer. Get hands-on labs, samples, and more.
Windows Workflow Foundation: Microsoft's new programming model, engine and tools for quickly building workflow-enabled applications on Windows. Windows Workflow Foundation includes support for both system workflow and human workflow across a wide range of scenarios.
Windows CardSpace: Build applications with Windows Cardspace (formerly "InfoCard"), Microsoft's technology for managing digital identities.

Source: www.microsoft.com

Labels: , , ,

posted by WebTeks @ 3:26 AM   0 comments
Sunday, March 4, 2007
AJAX ebook series
Ajax, or Asynchronous JavaScript and XML, exploded onto the scene in the spring of 2005 and remains the hottest story among web developers. With its rich combination of technologies, Ajax provides a strong foundation for creating interactive web applications with XML or JSON-based web services by using JavaScript in the browser to process the web server response. Ajax Design Patterns shows you best practices that can dramatically improve your web development projects. It investigates how others have successfully dealt with conflicting design principles in the past and then relays that information directly to you.

Building on what you already know, this fast-paced guide will show you exactly how to create rich, usable Internet applications. Joshua Eichorn teaches through sophisticated code examples, including extensive server-side PHP code.

This detailed guide covers the creation of connections to a MySQL database with PHP 5 via a custom Ajax engine and shows how to gracefully format the response with CSS, JavaScript, and XHTML while keeping the data tightly secure. It also covers the use of four custom Ajax-enabled components in an application and how to create each of them from scratch.

Create Web applications that act like desktop ones Brush up on JavaScript, use free Ajax frameworks, and make your sites rock What if shoppers at your online store could fill their carts without waiting for multiple page refreshes? What if searches produced instant results on the same page? With this book you won’t have to wonder “what if” - you can use Ajax to make it happen! Get the scoop on all the technologies and start cranking out great applications.

This book is for programmers who use ASP.NET and are just starting to use Ajax technologies to create more responsive, modern applications. Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.

Sams Teach Yourself Ajax in 10 Minutes is a concise introduction to the basics of building Ajax applications and the architecture and operation of these applications. You will learn the techniques employed in using Ajax, introducing Ajax and explaining how it may be used to solve realistic user interface problems. You will be able to immediately begin building web applications, and will have platform from which to explore more advanced aspects of Ajax.

Ajax Patterns and Best Practices explores dynamic web applications that combine Ajax and REST as a single solution. A major advantage of REST is that like Ajax, it can be used with today’s existing technologies.

Labels: , , ,

posted by WebTeks @ 8:06 PM   0 comments
Friday, March 2, 2007
Free AJAX Resources: Source Code, Tools, Libraries and Frameworks - II
The Code Project -Free articles & source code of Atlas and AJAX

Ajax.NET - A free library for the Microsoft .NET Framework -Examples using the free Ajax.NET library

W3Schools.com -An AJAX tutorial from the helpful people at W3Schools.

18-Week Free AJAX Programming (with Passion!) Online Course -The first session of this free online AJAX course is already underway, but there are slides and various other resources available. This is a Java site so the AJAX course ultimately involves JavaServer Faces and AJAX integration.

Creating a MySQL connection with PHP/AJAX -This is a short ajax tutorial on opening a connection to MySql using ajax.

Getting Started with Ajax -This article at A List Apart is an excerpt from the book Web Design in a Nutshell and covers using ajax with innerHTML and Nodes to manipulate page content dynamically.

SAJAX -SAJAX is an open source tool to make programming websites using the Ajax framework also known as XMLHTTPRequest or remote scripting as easy as possible. Sajax makes it easy to call PHP, Perl or Python functions from your webpages via JavaScript without performing a browser refresh.

NAJAX -This package can be used to call PHP classes on the Web server side from Javascript code in Web pages. It uses AJAX technology to submit HTTP requests from Javascript to pass call parameters and collect and process the responses.

Labels: , , , , , ,

posted by WebTeks @ 7:15 PM   0 comments
Free AJAX Resources: Source Code, Tools, Libraries and Frameworks - I
AJAX web applications, made famous by GMail and Google Maps, seem to be the flavour of the month in some circles. Using a combination of HTML/XHTML, XML, CSS, DOM scripting via JavaScript, and XMLHttpRequest (for exchanging data with a server asynchronously), AJAX allows you to do many interactive things with your website, making it appear almost like a native application running on your system. Incidentally, in case you were wondering, AJAX is an acronym for "Asynchronous JavaScript and XML".

If you are looking for a tutorial on Ajax, you might want to try the following online articles from IBM:
* Mastering Ajax, Part 1: Introduction to Ajax
* Mastering Ajax, Part 2: Making asynchronous requests with JavaScript and Ajax
* Mastering Ajax, Part 3: Advanced requests and Responses in Ajax

Free AJAX Toolkits, Frameworks, Libraries and Source Code

Google Web Toolkit - Build AJAX applications in the Java language
Google Web Toolkit helps you in developing AJAX web applications like Google Maps and Gmail by taking care of many of the browser dependencies under the hood. Your applications are built using Java, and the toolkit translates it into JavaScript and HTML that works across a number of browsers, including IE, Firefox, Opera, Mozilla and Safari. You can also intermix JavaScript into your code. Other features include the ability to create widgets and lay out widgets, debug your applications using advanced Java debugging facilities, simple remote procedure calls (RPCs), automatic management of the browser's back button, etc.

Yahoo! User Interface Library
Yahoo! supplies a number of utilities and controls for use in your AJAX and DHTML web applications. They are released under a BSD licence. The library is written in JavaScript. The library features a calendar, containers (which includes tooltips, dialogs, etc), menus, sliders, treeviews, autocomplete, a drag and drop utility, an animation utility, CSS fonts, CSS page grids, and so on.

Yahoo! Design Pattern Library
The Yahoo! Design Pattern Library features a variety of patterns, which are defined by them as optimal solutions to common problems. Each problem comes with text describing the solution. Among the many patterns described are animation transitions, collapse transitions (such as when you want to collapse an item on a page), dim transitions, expand transitions, fade-in transitions, self-healing transitions, slide transitions, spotlight transitions, page grids, tool tips, hover, etc.

Microsoft ASP.NET Atlas
Microsoft's Atlas is primarily for developers to create ASP.NET pages that use AJAX. You will need to have either Visual Studio 2005 or have the free version of Visual Studio 2005 Express.

ZK Ajax but no JavaScript
ZK allows you to create your Ajax applications using XUL and XHTML components and manipulate them by listening to events triggered by visitors to your site. Your application runs on the server side with only the visual user interface at the client side (browser). Scripting is done with Java. ZK is relased under the GPL.

Dojo, the JavaScript Toolkit
Dojo is a library for JavaScript that may help speed up your development of JavaScript web applications by providing components that you can use to add functionality to your web pages and make them more responsive and usable. It supports Safari 2.0.x+, Opera 8.5+, Firefox 1.0+ (as well as Mozilla), Konqueror 3.5+ as well as Internet Explorer 5.5+ (Windows).

Labels: , , , , ,

posted by WebTeks @ 6:42 AM   0 comments
Putting AJAX to Web Development
AJAX Definition-
AJAX (Asynchronous JavaScript and XML) is a web development technique for creating interactive web based applications that can asynchronously interchange data between server and client

How it works?
When an application uses AJAX, a new layer is added to the communication model. In the classic web application, communication between the client (the browser) and the web server were performed directly, using HTTP requests.

When the visitor requests a page, the server will send the full HTML and CSS code at once. After the visitor fills in a form and submits it, the server processes the information and rebuilds the page. It then sends the full page back to the client. And so on.

When using AJAX, the page is loaded entirely only once, the first time it is requested. Besides the HTML and CSS code that make up the page, some JavaScript files are also downloaded: the AJAX engine. All requests for data to the sever will then be sent as JavaScript calls to this engine. The AJAX engine then requests information from the web server asynchronously. Thus, only small page bits are requested and sent to the browser, as they are needed by the user. The engine then displays the information without reloading the entire page. This leads to a much more responsive interface, because only the necessary information is passed between the client and server, not the whole page. This produces the feeling that information is displayed immediately, which brings web applications closer to their desktop relatives.

Use of AJAX to reduce network traffic is spreading fast, especially in regions where customers and clients aren't always able to access applications over broadband connections.

At glance, AJAX may seem best suited for consumer-facing applications. Google Maps, Gmail, New Rediffmail, New Yahoomail are all fine examples of how AJAX can add some glitz to a Web site's UI. For enterprise applications, however, it can be difficult to see how AJAX can provide enough real benefit to offset the risks involved in adopting a new, complex form of Web development.

Labels: , ,

posted by WebTeks @ 1:28 AM   0 comments
Thursday, March 1, 2007
Introduction of DotNetNuke
DotNetNuke is an open-source Web Application Framework ideal for creating and deploying projects such as commercial websites, corporate intranets and extranets, online publishing portals, and custom vertical applications.

DotNetNuke is provided as open-source software, licensed under a BSD agreement. In general, this license grants the general public permission to obtain the software free-of-charge. It also allows individuals to do whatever they wish with the application framework, both commercially and non-commercially, with the simple requirement of giving credit back to the DotNetNuke project community.

DotNetNuke is built on a Microsoft ASP.NET (VB.NET) platform, and is easily installed and hosted. With a growing community of over 200,000 users, and a dedicated base of programming professionals, support for DotNetNuke is always close at hand.

For more information visit DotNetNuke.com

Source: www.davesabine.com

Labels: , , ,

posted by WebTeks @ 8:56 PM   0 comments
Previous Post
Archives
Links
Template by

Free Blogger Templates

BLOGGER

Subscribe in NewsGator Online Subscribe in Rojo Add to Google Add to netvibes Subscribe in Bloglines Web Developement Blogs - BlogCatalog Blog Directory Blogarama - The Blog Directory Blog Directory & Search engine Computers Blogs - Blog Top Sites Top Computers blogs