Upgrade and design an appointment scheduler



General background

In general definition, appointment or in other words, scheduling tasks and problems are defined as a matter of assigning limited available resources and time points regarding to a given task systematically and well planned. Basically, scheduling an appointment do exist thousands years ago, and now it becoming arise in many real world domain especially in reservation environment. For an example, appointments exist to meet the doctors, lecturers, managers, and equipments. As stated earlier, appointment is a needed when dealing with limited available resources when the demands get high. Systematic appointments scheduling will resulting in benefits such customers welfare, save time and reduce operation cost.

For theoretical definition of reservation environment, basically, it refers to a parallel-machine with n jobs available for processing. Meanwhile, the processing time of each job has to fit within a given time window and with n jobs available for processing and there may or may not be slack. As for the time window, the job is specified by a release date and a due date. In consideration, it may be the case that it is not possible to process all n jobs and the scheduler has to decide which jobs to process. As for this case, several views should be considered such as maximizing the number of job processed or maximizing the total amount of processing. Nowadays, professionals and researchers have applied agent technology to solve problems in reservation environment.

Regarding to this idea, Dr. Jordan Sparks comes out with software for appointment scheduling, Open Dental or formerly known as Free Dental. The objective of Open Dental is that to become the world standard dental software where it easy to access and share data. And right now, there are about 2000 dentists using Open Dental with an estimation of 10,000,000 patients records worldwide. Basically, it uses the open source "MYSQL" database program where access to and control over every single bit of data is held by the dentist. Any application apply in every computer will be stored in the MYSQL database. In other word, the workstation is being simplified into data base. This Open Dental software has some features likes appointment, family, account, treatment plan, chart, images and manages. For this ECC 4204: Internet Computing (2nd Semester 2009/2010), this group (Group1) has been assigned to have project regarding to appointment scheduling and analysis based on Open Dental Software.


The aim of this project is to analysis, upgrade and design an appointment scheduler on software based. This project is done through source code programming based on hyper-text mark-up language (HTML), JavaScript, and database.


The main objective of the project is that to analysis the source codes provides by the Open Dental and make at least 30 percent changes to come out with new design for appointment scheduler.

This main objective is supported by other requirements to meet the design procedure. The requirements are listed as below:-

  • Support unlimited operatories and unlimited providers
  • Customizable views, colours, default values
  • Easy to set up and modify appointments, recalls
  • Show pop-up alerts, financial and medical notes

Project Report Outline

In chapter one, a brief introduction about the project which is about appointment scheduler was carried out. The introduction includes explanations of problem statements and the solutions to the problems. Besides that, the projects aim and objective are also being discussed in this chapter.

Literature review includes discussion of several previous projects, and additional references regarding to this project. This discussion was carried out in chapter two. The important point being discussed were about the references of source code programming for pop-up alert (financial and medical notes), modification for appointment, customizable views (colours) and with unlimited operation.

Chapter three discuss the methodology used in project work. A brief explanation based on source code programming related to the objective requirements were discussed in this chapter.

Results and discussion of the projects findings were presented in chapter four. Basically, chapter four discuss on operation of the programmed source code based on its stability, custom made and operation involved in meeting the requirements stated earlier in chapter one.

Chapter five explained about the conclusion of the project. The goals for the proposed project based on the project objectives states in earlier chapter were laid out. Suggestions and recommendations for future project also discussed in this chapter.




Online appointment acts as online reception desk for the business or other application. Following the link from the company's or one web site or using the company's online appointment quick-access key, customers are routed to the web page where they can place an appointment request in less than a couple of minutes. All customers or web visitor may also take advantage of exclusive online discount offers you publish online the online appointment. Besides that, customers may monitor appointment request status on the same web site as well as request and receive confirmation and reminder e-mails. At the same time, all of authorized service personnel have access to the customer's appointment requests on the online appointment business web site, where all of the service schedules, business information and pending appointments are neatly and securely organized within the company's unique account profile. All appointment requests come with customer contact information and specific details you requested on service appointment form. Online appointment also accepts appointment requests strictly following the rules that had been set for the service schedules. Online appointment overbooking for both service and personnel is prohibited, service schedules are optimized to lessen gaps between appointments and your personnel workload is balanced. Some example of the online appointment can be seen as below [9].

  • Scheduling for education
  • Scheduling for healthcare
  • Scheduling for hair salon
  • Scheduling for beauty salon
  • Scheduling for Higher Education
  • Scheduling for Massage Therapist
  • Scheduling for Career Coach
  • Scheduling for Tanning Salon
  • Scheduling for K12 school
  • Scheduling for Spa Operator
  • Scheduling for Tax Advisor
  • Scheduling for business

Hyper Text Markup Language (HTML).

The Hyper Text Markup Language is basically known as HTML. The HTML is not the programming language but it is the predominant markup language for web pages and it basically provides a means to create structured documents by denoting structural semantics text [2]. The semantics for the text is referring to headings, paragraphs, lists as well as for links, quotes and other items. It allows images and objects to be embedded and can be used to create interactive forms. It is written in the form of HTML elements consisting of "tags" surrounded by angle brackets within the web page content [1].

HTML also can include scripts in languages such as JavaScript which affect the behavior of HTML processors like Web browsers and Cascading Style that call as CSS to define the appearance and layout of text and other material. The World Wide Web Consortium or known as W3C, maintainer of both HTML and CSS standards, encourages the use of CSS over explicit presentational markup[1].HTML markup tags are usually called HTML tags and it is are keywords that surrounds by angle brackets like . Other than that, HTML tags are normally come in pairs like and . The first tag in this pair is referring as the start tag while the second tag is the end tag. These start and end tags are also refer as opening tags and closing tags [2].

Basically, HTML documents describe web pages. In the HTML documents, it contains HTML tags and plain text. Usually, HTML documents also called as web pages. In order to see all of the web pages, the web browser are required to be installed in the computer. There are many type of the web browser that used nowadays like the Internet Explorer and Firefox. The purpose of the web browser is basically to read HTML documents and then display them as the web pages. The browser will not display the HTML tags, but it will use the tags to interpret the content of the page. The simple example of HTML tags is as below:

From the HTML tags in Figure 1 above, it can be seen that it have certain tags to describe the whole web pages. Basically, the text between and describes the web page, while the text between and is the visible page content of the web pages itself. Other than that, the text between


is displayed as a heading and the text between


is displayed as a paragraph [2]. Basically, HTML lacks some of the features found in earlier hypertext systems, such as typed links, source tracking, fat links, and more. That is because, some hypertext features that were in early versions of HTML have been ignored by most popular web browsers until recently, such as the link element and in-browser Web page editing.

Extensible Hypertext Markup Language (XHTML)

The Extensible Hypertext Markup Language is known as XHTML. XHTML is a family of XML markup languages that mirror or extend versions of the widely used Hypertext Markup Language or HTML, the language in which web pages are written as explained before. While HTML (prior to HTML5) was defined as an application of Standard Generalized Markup Language (SGML), a very flexible markup language framework, XHTML is an application of Extensible Hypertext Markup Language or known as XML, a more restrictive subset of SGML. Because XHTML documents need to be well-formed, they can be parsed using standard XML parsers which it is different with the HTML, which requires a lenient HTML that is a specific parser. Other than that, XHTML 1.0 then became a World Wide Web Consortium (W3C) Recommendation on January 26 of year 2000. The XHTML 1.1 became a W3C Recommendation on May 31 of the year 2001. XHTML5 is undergoing development as of September 2009, as part of the HTML5 specification [3].

Basically, for some purposes XHTML is too complex and it have large size, and for other purposes it is too simple. By splitting XHTML into modules, the W3C has created small and well-defined sets of XHTML elements that can be used separately for small devices, or combined with other XML standards in more complex applications. With modular XHTML, the web designers or other designer that related with XHTML application can choose the elements to be supported by a device. Other than that, the designer can simplify the XHTML for small devices. The designer also can extend XHTML for complex applications by adding new XML functionality like MathML, SVG, Voice and Multimedia. Besides that, the designer also can define XHTML profiles like XHTML Basic. The XHTML Basic is a subset of XHTML for the mobile devices [4]. The W3C has split the definition of XHTML into 28 modules as below:

In XHTML, it have some syntax rules which the attributes names must be in lower case, attributes values also must be quoted. Other than that, the attribute minimization is forbidden. The id attributes will replace the name attribute and last but not list, the XHTML DTD defines mandatory elements. The XHTML document with a minimum of required tags can be seen as below [4].

Cascading Style Sheets (CSS)

Cascading Style Sheets or known as CSS is a style sheet language that used to describe the presentation semantics of a document written in a markup language. It is the most common application is to style web pages written in HTML and XHTML. Other than that, the language can be applied to any kind of XML document, including SVG and XUL. CSS is designed primarily to enable the separation of document content from document presentation, including elements such as the layout, colors and fonts that written in HTML or a similar markup language. This separation can improve the content accessibility, provide more flexibility and also can control the specification of presentation characteristics. Another than that, it can enable multiple pages to share formatting, and reduce complexity and repetition in the structural content such as by allowing for table less web design.

CSS can also allow the same markup page to be presented in different styles for different rendering methods, such as on-screen, in print, by voice when read out by a speech-based browser or screen reader and on Braille-based, tactile devices. While the author of a document typically links that document to a CSS style sheet, readers can use a different style sheet, perhaps one on their own computer, to override the one the author has specified.CSS will specifies a priority scheme to determine which style rules apply if more than one rule matches against a particular element. In this so-called cascade, priorities or weights are calculated and assigned to rules, so that the results are predictable. The CSS specifications are maintained by the W3C. Internet media type 'text or 'CSS is registered for use with CSS by RFC2318 (March 1998) [5].


JavaScript is an object oriented scripting language that used to enable programmatic access to objects within both the client application and other applications [8]. A scripting language is a lightweight programming language [7]. It is basically primarily used in the form of client side JavaScript. It is implemented as an integrated component of the web browser in order to allowing the development of enhanced user interfaces and dynamic websites. JavaScript is a dialect of the ECMASCRIPT standard and is characterized as a dynamic, weakly typed, prototype-based language with first class functions. JavaScript was influenced by many languages and was designed to look like Java, but to be easier for non-programmers to work with JavaScript was designed to add interactivity to HTML pages [8]. Everyone can use JavaScript without purchasing a license [7].

Java and JavaScript are the different languages in both concept and design. Basically, Java is a powerful and much more complex programming language in same category as C and C++. Java is developed by Sun Microsystems [7]. JavaScript gives HTML designers a programming tool which HTML authors are normally not programmers, but JavaScript is a scripting language with a very simple syntax. Other than that, almost anyone can put small "snippets" of code into their HTML pages JavaScript can put dynamic text into an HTML page. That is because a JavaScript statement like this "document.write("

" + name + "

")" can write a variable text into an HTML page JavaScript can react to events. A JavaScript can be set to execute when something happens, like when a page has finished loading or when a user clicks on an HTML element. JavaScript also can read and write HTML elements. It JavaScript can read and change the content of an HTML element. Besides that, JavaScript can be used to validate form data before it is submitted to a server. This saves the server from extra processing. JavaScript can be used to detect the visitor's browser and create cookies. It also can be used to store and retrieve information on the visitor's computer [7].

Internet Computing

The Internet is increasingly used as a large interconnection network for deploying distributed applications to solve challenging problems in diverse areas. Application areas include Finance and E-business, Government Services, Scientific Computing and Grids, Bioinformatics, Physics, Remote Visualization, Remote Collaboration, Multimedia applications, and File Sharing. The Internet is pandemic to modern uses of technology.

There has been a significant increase in the demand for software engineers skilled in Internet computing technologies. Thats why; internet computing is one of the important courses to be taken by university students especially for those who doing study in computer and Internet field. This course covers the basic principles and practices of distributed computing over the Internet.

This course covers all aspects of Internet computing from programming and standards to security and networking. In Internet computing, basic programming languages are such as Hyper Text Markup Language (HTML), Extensible Hypertext Markup Language (XHTML), Cascading Style Sheets (CSS) and JavaScript. Then, the extended version of programming languages and frameworks for distributed computing are such as Linda tuple space, Java Remote Method Invocation (RPI), Java Communicating Sequential Processes (CSP), Corba, Distributed Component Object Model (DCOM), Remote Procedure Call (RPC), Parallel Virtual Machine (PVM) and Message Passing Interface (MPI).

Naming and registries are also the important part of internet computing. The likes of Domain Name System (DNS), Lightweight Directory Access Protocol (LDAP) and Universal Description, Discovery and Integration (UDDI) are all covered in high level Internet computing study.

In HTML and XHTML themselves, web services-oriented architectures are covered including the web server (tomcat and IIS) and the Hypertext Transfer Protocol (HTTP). In HTML and XHTML web services, the tools and frameworks such as Simple Object Access Protocol (SOAP), Net, Axis, Web Services Description Language (WSDL) and XQuery. Besides, to enhanced web services with security, message-level security with WS-Security is introduced. Other than that, basic principles of symmetric and asymmetric cryptography, digital certificates, authentication, non-repudiation, transport-level security with HTTPS and SSL encryption, Firewalls and Tunnelling are also included in Internet security.

Web Appointment

A web based appointment management system is to utilize the web technology to manage the appointments online. Though there are some web based supports in the form of static web pages showing lecturers available time for consultation, it does not provide appointment management or any interactions with the students. Therefore, it is necessary to refer similar systems for other services in order to define the features. Based on the literature review, most of the existing appointment management systems were developed using ad-hoc approach with consideration on functionality only. There is little emphasis on the design and development process. Only few appointment management systems adopt UML, which is a widely recognized modelling standard to design system.

However, due to its complexity; UML cannot perfectly achieve the goals of web application development. Web Modelling Language (WebML) which is specified for Web application can reduce development efforts (cost and time) and allows a more structured development process. This project is to turn the traditional approach of appointment system into a web based system. It is called WBAMS and applied Web Modelling Language (WebML) and .Net four-tier architecture, so that students and lecturers can arrange meetings in an effective and efficient way.

On this system for example, lecturers can manage the consultation over the web, e.g. set up recurrent consultation time with booking restriction and maximum appointment volume by specifying dates, times, and durations. Students will be able to make appointment, login (password authentication) and cancel appointments and so on. The system provides the appointment reminder and important notice for both lecturers and students. Cancellations by both parties will cause notification in the important notice section. This project is not only to fulfil these functional requirements, but also designed to satisfy three non-functional requirements which are usability, performance, and maintainability.

A web based appointment is usually owned by a body, company or even personal to arrange meeting in effective and efficient way. In a web based appointment, there are two main parts which is the clients section and the administrations section. For the clients part, the clients have to register and retrieve the password first before log in into the web. After log in, the client can viewing, editing and deleting appointments. Registered users or clients also can change or update their account details.

While in the administrations section, they can view all the appointment whether from the past and the incoming in their system database. The web administrator then response to the appointment made by the client. The content and the interface of web page are very much dependent on how the web was programmed and designed. Web administrator can update their appointment web to provide better service to their clients.








This chapter states the conclusion from the discussion of the main finding of this study. It summarizes the overall chapter of this report from Chapter One towards Chapter Four. Generally, this chapter has discussed the analysis and implication from the project implementation on the web. The following topic is about the constraint and challenging during the project commences and finally the aspiration from the author to the new software system proposed.

This report consists of five main chapters. The five chapters are Chapter 1 (Introduction), Chapter 2 (Literature Review), Chapter 3 (Methodology), Chapter 4 (Result and Discussion) and Chapter 5 (Conclusion).

Chapter One explained about background of the project, problem statement of project, scope of project, objective of project, aim of project, importance of project and chapter summary. In writing a good objective and scope of the project, guidance given by the project supervisor lecturer is very helpful to ensure the objective have the good quality. A well define scope of project is a key to ensure the success of the project. Following of this is about the case study in Open Dental software development, with the statement of problem in the project outline.

The literature review which related to the study is then discussed in the Chapter Two. This chapter is divided into two main sections which the first part is concerning about the theoretical definition that being used as techniques in internet computing design. The second part is discussed about web appointment and its type in the software environment.

Next, in the Chapter Three it discussed about the methodology that are been used in the software development. In this chapter, the discussion is focusing on approach being chosen as a methodology for software development. The discussion is not only focusing on the workflow selected approach but also elaborate the details of its phases such as analysis, elaboration, construction and testing phase that are applied in this research. This chapter also discussed about the software development tools, which includes types of diagrams and notations.

The detail explanation of the data collection, the analysis and the result are discussed in the Chapter Four. Also, the system architecture and design also discussed in this chapter. All the process is illustrated in this chapter which included diagrams such as sequence diagram like flow chart. The conceptual design also discussed in this chapter. The discussion also includes its specification and requirement as stated in Chapter One. This chapter also concerning about the system implementation which includes the code design and the implementation of the system. A few snapshot of the system are showed in this chapter.

Finally, Chapter Five provides conclusion and suggestion related to the project. The detail of the project constraints and challenges are also highlight in this chapter.


Recently, several researchers have applied agent technology to such problems especially in appointment scheduling problem. Because of the widely lack of systematic scheduling appointment software, this project give the author the chance to develop and upgrade existing software for other applications. Throughout this project, new information as well as new experience in system web design such as server development, database system, PHP (hypertext preprocessor), JavaScript and other programming application.


The key constraint is time. Time is very crucial to ensure this project can be achieved. The time given to complete the project is around one month and a half and deliverables of this project is its level of difficulties which is tolerable.

Another constraint regarding to this project is the lack of knowledge in internet computing programming. With the limited knowledge and inexperience in the field of web design, it is a pleasure to finish this project towards the constraint time.


Completion of the project milestone was one of the challenges. This task was difficult to achieve mainly due to the requirement in software design that needs to be fulfilled. The challenge was to get real understanding on the source code download from the Open Dental software. This process takes about two to three weeks that was to gather all the information during the inspection analysis. After the understanding, one of the challenges was to extract and analyze the limited resources source code and placed it into upgraded programming model. This was quite a difficult process because there was a lot of unusual source code to be analyzed.

Another challenge was to understand the technique that would be applied as database system. At the first part of the project, the software programming was done without database and after upgrade process; database system was included as a part from the software development. By referencing books on internet computing and study with other experienced designers, the author managed to overcome the challenges towards the techniques.


This project aspired to achieved intended objectives agrees earlier in Chapter One. As a whole, scheduling appointment system has delivered all functionalities stated in the user requirements.

Besides that, other aspiration of this project is to ensure the user is satisfied with the requirements. By development of this new appointment scheduling software, hopefully it can give various benefits and make it possible to improve scheduling system operation, system reliability and to achieve user as well as organization satisfactions.


  1. http://en.wikipedia.org/wiki/HTML#HTML_version_timeline
  2. http://www.w3schools.com/html/html_intro.asp
  3. http://en.wikipedia.org/wiki/XHTML
  4. http://www.w3schools.com/xhtml/xhtml_modules.asp
  5. http://en.wikipedia.org/wiki/Cascading_Style_Sheets
  6. http://www.htmlhelp.com/reference/css/quick-tutorial.html
  7. http://www.w3schools.com/js/js_intro.asp
  8. http://en.wikipedia.org/wiki/JavaScript
  9. http://www.appointmentquest.com/business/works

Please be aware that the free essay that you were just reading was not written by us. This essay, and all of the others available to view on the website, were provided to us by students in exchange for services that we offer. This relationship helps our students to get an even better deal while also contributing to the biggest free essay resource in the UK!