Database management website development applications pdf


















The token is used by the middle-tier software to restore information about a user from her previous request, such as which menu in the application she last accessed. Exchanging tokens allows stateful structure such as menus, steps, and workflow processes to be added to the application. They can also be used to prevent actions from happening more than once, time out logins after a period of inactivity, and control access to an application.

The answer mostly lies in the popularity and standardization of web browsers: any user who has a web browser can use the web database application, and usually without any restrictions. This means an application can be delivered to any number of diverse, dispersed users who use any platform, operating system, or browser software.

This advantage is so significant that our focus in this book is entirely on three-tier solutions that use a web browser as the client tier. Web browsers are thin clients. This means almost no application logic is included in the client tier.

You can thicken the client tier to put more work on the browser. Using popular technologies such as Java, JavaScript, and Macromedia Flash, you can develop application components that process data independently of the web server or preprocess data before sending it to the server.

The middle tier has many roles in a web database application. It brings together the other tiers, drives the structure and content of the data displayed to the user, provides security and authentication, and adds state to the application.

There are essentially two types of request made to a web server: the first asks for a file—often a static HTML web page or an image—to be returned, and the second asks for a program or script to be run and its output to be returned. Apache is an open source, fast, and scalable web server.

It can handle simultaneous requests from browsers and is designed to run under multitasking operating systems such as Linux, Mac OS X, and Microsoft Windows.

It has low resource requirements, can effectively handle changes in request loads, and can run fast on even modest hardware. It is widely used and tested. The current release at the time of writing is 2. The other server programs notify their availability to handle requests to the coordinating server. If too few servers are available to handle incoming requests, the coordinating server may start new servers; if too many are free, it may kill spare servers to save resources.

The server administrator controls the behavior of Apache through more than directives that affect resource requirements, response time, flexibility in dealing with request load variability, security, how HTTP requests are handled and logged, how scripting engines are used to run scripts, and most other aspects of its operation. The configuration of Apache for most web database applications is straightforward. More details on Apache configuration can be found in the resources listed in Appendix G.

PHP is the most widely supported and used web scripting language and an excellent tool for building web database applications. Community efforts to maintain and improve it are unconstrained by commercial imperatives. On the downside, this can blend the scripts with the presentation; however the template techniques described in Chapter 7 can solve most of these problems.

It is a fully featured object-oriented programming language, with more than libraries of programming functions for tasks as diverse as math, sorting, creating PDF documents, and sending email. There are over 15 libraries for native, fast access to the database tier.

Using its built-in Zend scripting engine, PHP script execution is fast and all components run within the main memory space of PHP in contrast to other scripting frameworks, in which components are in distinct modules.

Our experiments suggest that for tasks of at least moderate complexity, PHP is faster than other popular scripting tools. Apache and PHP run on many different platforms and operating systems. PHP can also be integrated with other web servers. At the time of writing, PHP4 Version 4. The scripts in this book have been developed and tested using PHP4, and testing on PHP5 has identified a few limitations.

When a feature is only available in PHP5, we tell you in the text. PHP is a major topic of this book. PHP libraries that are important to web database application development are the subject of Chapter 6 and Chapter 8 through Chapter Other pointers to web resources, books, and commercial products for PHP development are listed in Appendix G. A technical explanation of the new features of PHP5 is presented in the next section. PHP4 included the first release of the Zend engine version 1.

PHP5 includes a new Zend engine version 2. In brief, the following are the major new features in PHP5. Many of these features are explained in detail elsewhere in this book:.

All of these features are available in PHP5. Handles to objects are now passed, rather than the objects themselves. This has substantially improved the performance of PHP. Support for non-Western character sets and Unicode. This is discussed in Chapter 3. New try These are discussed in Chapter 4. This feature has been back-ported into PHP4 and is discussed in Chapter These tools have been replaced with a single new, robust framework in PHP5. The library has the significant feature that it allows an SQL query to be prepared once, and executed many times, and this substantially improves speed if a query is often used.

This library is briefly described in Chapter 6 , and is the source of many of the PHP4 and PHP5 compatibility problems described throughout in this book. The database tier stores and retrieves data. Importantly, a good database tier must allow quick and flexible access to millions upon millions of facts.

Managing data in the database tier requires complex software. Fortunately, most database management systems DBMSs or servers are designed so that the software complexities are hidden. To effectively use a database server, skills are required to design a database and formulate queries using the SQL language; SQL is discussed in Chapter 5.

An understanding of the underlying architecture of the database server is unimportant to most users. In this book, we use the MySQL server to manage data. However, there are downsides to MySQL that we discuss later in this section. The first step in successful web database application development is understanding system requirements and designing databases. We discuss techniques for modeling system requirements, converting a model into a database, and the principles of database technology in Appendix E.

In this section, we focus on the database tier and introduce database software by contrasting it with other techniques for storing data. Chapter 5 and Chapter 15 cover the standards and software we use in more detail. There are other server choices for storing data in the database tier. These include search engines, document management systems, and gateway services such as email software. Our discussions in this book focus on the MySQL server in the database tier.

A database is a collection of related data, and an application can have more than one database. A database might contain a few entries that make up a simple address book of names, addresses, and phone numbers. At the other extreme, a database can contain tens or hundreds of millions of records that describe the catalog, purchases, orders, and payroll of a large company. Most web database applications have small- to medium-size databases that store thousands, or tens of thousands, of records.

Database servers are complex software. For all but the largest applications, understanding and configuring the internals of a database server is usually unnecessary.

The database server applications interface is accessed using SQL. SQL has had a complicated life. He will be responsible for monitoring the project risks and plan strategies to mitigate the risks. Project performance such as budget, scope and milestones. The senior web programmer is an experienced professional in the field of web programming. He will take strategies to mitigate risks related to technology and web development. These risks are mainly the performance of the web site and backend programming.

The central role of risk manager will be mainly played by the Project Manager. To get desired result it is important that all the actions taken is rationalized in the meetings and other form of o u i atio. Also the p oje t is highl depe de t o the sepa ate tasks. It is also required to clarify the requirements by the next phase.

Also miscommunication can create negative impression on the stakeholders. Miscommunication can lead to outputs that are incompatible with other phases. Without good communication this type of problems has a high chance of happening. Potential Response: Arrange meetings regularly and timely. Give everyone space to present their opinion. Prepare adequate documentation to clarify the matters. Provide everyone with communications list so that anyone can connect to anyone directly.

The stakeholders will accept the project, so they needs to know what outcome will the project produce. Unless may not like the outcome.

Therefore underestimating the outcome the project team may not get adequate support, resources or time to finish task in time and with satisfactory quality. Potential Response: A direct communication option among the sponsors and project team can eliminate this risk.

Apart from that a meetings will be held to get a better communication and eliminate any misconception. These types of changes may ruin total project. As every phase of the project is linked with the previous parts. A major change may require changes that are almost impossible to do. For example, changing any functionality of the website may impact graphics design, web design, web programming, backend programming and resources needed.

These type of modification will take great toll on the project team. Potential Response: Paper works of scopes and project requirements should be documented properly and signed by stakeholders. There should be documentation for the situation if any major changes is demanded. It should state the additional time and other resources.

If any bug is discovered it can delay the completion of the website. It is also possible that a bug in the core can lead to a complete overhaul of the website.

These bugs can occur by human errors, development tools or hardware. Potential Response: The project has two main resources to do the job.

Senior Web Programmer and Tommatos technologies Ltd. Both are experienced in their field. So it is expected they have the ability to identify the problem as early as possible and fix it. It takes time and money, the project team has provisions for that. We can also appoint external programmer to assist in debugging procedures. Example of Low priority items are; wrong image, wrong description etc. On the other hand High priority items are difficult to fix and takes long time to debug e.

Responsiveness, Backend error, database problems etc. Potential Responses: To avoid these problems it is necessary to take great care while handling high priority items and consume less time on low priority items.

It is also important to identify major features of the website in planning phase and sign them by the stakeholders. The high priority items should be defined by the senior Programmer at the beginning of the project, so that persons involved in these task can be cautious while doing them.

Supervisor, Project Manager and senior web programmer are the key players. Potential Response: The team has been designed in a way that we have backup for almost e e ke pe so el. O the other hand host party can do the tasks of senior web programmer. In absence of the supervisor chairman or any faculty member can take the responsibility. To identify risks we will use Crawford Slip Method. It is very common and effective information gathering technique.

In this method a small slip is passed to the participants of the meeting and they are asked to write suggestions on a specific questions. It is important that suggestions for only one question is written on one slip. In this project at the risk assessment meeting we will use this technique to identify risks.

We will pass slips at the beginning and everyone will be asked to write as many risks they can regarding the specified topic.

Then it will be collected and presented in front of them via projector and start discussion how to eliminate these. These will also be recorded in the project plan and risk register. All the risks related to the current phase of the project is discussed in the each meeting. The project manager, senior web programmer and members will discuss the risks and their current state. Risk monitoring is a part of monitoring and controlling.

It will be continuous process over the project life. As each risk approaches it will be updated in the risk register. These items will be registered to the risk register and will be included in the risk management plan. It will provide information whether the risks are being identified in time and handled in a professional manner. It is important that current and future risks are managed within the scope, time and resources.

The project manager and senior web programmer will analyze the risks and find best way to mitigate or avoid them. If it is impossible to overcome this should be considered as constraints of the projects. To meet the project time and scope it may be necessary to add extra resources and time. This should be only done in the worst case scenario. Scope and funding should only be modified in the case where no mitigation and avoidance techniques work. After implementation of the project the results are acquired, but some task remains still working.

These small task continue to the last phase and continues until they are fully closed. At maximum it can be delayed to this closure phase, no further. Any unsettled issues or any official paper work should be done in this phase. This will help find any lacking or problem with execution of the project. It will help to organize later project. The form of the closure report is given in appendix 9. Modifications may be necessary to fit the project with the organizational structure of the Department.

Some major items has been presented in the appendix section. It has been separated from the main report for convenience of access.

It is possible to complete the project with less cost but as institution that has great reputation should not take too much risk. Buffer time and backup resource person has been considered to avoid any unwanted delay and p o le s. Larger and sensitive data will be kept at the local server for safety. It will reduce load on main site and diversify the used load on the site.

This will also ensure that external help will not be necessary. A Cpanel is makes content upgrade as easy as posting in a social network site. We will purchase a domain from a supplier who has a record for better security. Major Area : Accounting and Information Systems. C Institute : Pirojpur Govt.

Permission 4 1. Permission 2. Graphic design 19 2. Purchase 15 4. Website development 44 4. Purchase 5. Purchase Tarikul Islam 5. Testing 9 5. Website development 6. Roll out 2 6. Testing Project 7. Training 10 7. Roll out 8. Permission 4 2. Permission 3. Purchase 15 2. Website development 44 3. Graphic design 4. Purchase 6. Website development 7.

Testing 8. Permission 0 4 0 4 0 2. Graphic design 20 39 20 39 0 4. Purchase 20 35 24 39 4 5. Website development 39 83 39 83 0 6. Testing 83 92 83 92 0 7. Dept Gra. Schedule Cost M. Host 24 10 34 9 20 4. Review Final App. Test Inter. Unvail 85 6. Test 93 7. Back up Clo. Meet Support 98 2 2 1 1 END 0 96 8. These analyzed types of changes may carefully and ruin total project.

As signed by every phase of the stakeholders. If negligence or discovered in or hire any bug is discovered it human error testing or specialists can delay the informed by 3rd completion of the party website. Supervisor, missing personnel Project Manager and milestone. To quickly navigate between files that are open in the editor, press Ctrl-Tab, then select the file you are wanting. The most efficient way to implement communication between the server and database is to set up a database connection pool.

Creating a new connection for each client request can be very time-consuming, especially for applications that continuously receive a large number of requests. To remedy this, numerous connections are created and maintained in a connection pool. Likewise, when a request is completed, the connection is not closed down, but returned to the pool. After preparing the data source and connection pool for the server, you then need to instruct the application to use the data source.

If you have not already done this, or if you need help with this task, see Connecting to a MySQL Database before proceeding further. Also, your database needs to be password-protected to create a data source and work with the GlassFish server in this tutorial.

If you are using the default MySQL root account with an empty password, you can set the password from a command-line prompt. This tutorial uses nbuser as an example password. To take advantage of this, you need to configure a JDBC Java Database Connectivity data source for the server which your application can use for connection pooling.

You could configure the data source directly within the GlassFish server Admin Console, or, as described below, you can declare the resources that your application needs in a glassfish-resources. When the application is deployed, the server reads in the resource declarations, and creates the necessary resources.

The following steps demonstrate how to declare a connection pool, and a data source that relies on the connection pool. Optionally, add a description for the data source. Therefore, you need to have already created a connection to the MyNewDatabase database at this point. In Step 5, select javax. Note that the IDE extracts information from the database connection you specified in the previous step, and sets name-value properties for the new connection pool.

The wizard generates a glassfish-resources. In the Projects window, you can open the glassfish-resources. The server starts up if not already running, and the project is compiled and deployed to it. Note that the new data source and connection pool are now displayed:. You need to reference the JDBC resource you just configured from the web application.

Deployment descriptors are XML-based text files that contain information describing how an application is to be deployed to a specific environment. For example, they are normally used to specify application context parameters and behavioral patterns, security settings, as well as mappings for servlets, filters and listeners.

In the Projects window, expand the Configuration Files folder and double-click web. Type javax. Click OK. The Description field is optional, but you can enter a human-readable description of the resource, e. To verify that the resource is now added to the web. Select the GlassFish server in the left pane. Before you close the Servers manager, make a note of the path indicated in the Domains folder text field.

When you connect to the GlassFish server in the IDE, you are actually connecting to an instance of the application server. Each instance runs applications in a unique domain, and the Domain Name field indicates the name of the domain your server is using. As shown in the image above, the driver JAR file should be located within domain1 , which is the default domain created upon installing the GlassFish server.

If you do not see the driver JAR file, perform the following step. Deploy your project to the server. Returning to the index. To do so, perform the following three tasks. You can verify this by expanding the GlassFish Server node under the Libraries node in the Projects window, and searching for the javax.

Older versions of the GlassFish server use the jstl-impl. Now you can implement the code that dynamically retrieves and displays data for each page. Both pages require that you implement an SQL query that utilizes the data source created earlier in the tutorial. In order to dynamically display the contents of the form in index. In the dialog that displays, enter the following details:. The following content is generated in the index.

New content shown in bold. A taglib directive declares that the JSP page uses custom i. Run the project to see how it displays in a browser. Right-click the project node in the Projects window and choose Run. When you choose Run, the IDE deploys the project to the GlassFish server, the index page is compiled into a servlet, and the welcome page opens in your default browser.

The code generated from the DB Report item creates the following table in the welcome page. As you can see, the DB Report item enables you to quickly test your database connection, and enables you to view table data from the database in your browser.

This can be particularly useful when prototyping. The following steps demonstrate how to integrate the generated code into the HTML drop-down list you created earlier in the tutorial.

Examine the column data in the generated code. This causes the JSP container i. In this manner, data for the entire table is displayed. Changes are displayed in bold. Delete the table that was generated from the DB Report item. Deletion shown below as strike-through text. Note that the drop-down list in the browser now contains subject names that were retrieved from the database.

You do not need to redeploy your project because compile-on-save is enabled for your project by default.



0コメント

  • 1000 / 1000