Health Cre

166
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY HYDERABAD E-HEALTHCARE ADVISOR A Mini Project Submitted To Jawaharlal Nehru Technological University Hyderabad In partial fulfillment of the requirements for the award of the degree of BACHELOR OF TECHNOLOGY IN INFORMATION TECHNOLOGY BY TATIKONDA RASHMI (11R11A12A6) G.SUNANDINI (11R11A1275) SAI KEERTHAN (11R11A12A0) Under The Guidance of Name of Professor (Designation) …Striving Towards Perfection i

description

Health care

Transcript of Health Cre

JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY

HYDERABAD

E-HEALTHCARE ADVISOR

A Mini Project Submitted ToJawaharlal Nehru Technological University HyderabadIn partial fulfillment of the requirements for the award of the degree of

BACHELOR OF TECHNOLOGYININFORMATION TECHNOLOGY

BY

TATIKONDA RASHMI (11R11A12A6)G.SUNANDINI (11R11A1275)SAI KEERTHAN (11R11A12A0)

Under The Guidance ofName of Professor(Designation)

Striving Towards Perfection

DEPARTMENT OF INFORMATION TECHNOLOGYGeethanjali College of Engineering and TechnologyCheeryal (V), Keesara (M), RR.Dist2011-2015

E-HEALTHCARE ADVISOR

Striving Towards Perfection

A Mini Project Report Submitted to the Faculty ofInformation Technology

Geethanjali College of Engineering and Technology

(Affiliated to J.N.T.U.H, Approved by AICTE, NEW DELHI)In partial fulfillment of the requirementsFor the award of degree of

BACHELOR OF TECHNOLOGYININFORMATION TECHNOLOGY

By

TATIKONDA RASHMI (11R11A12A6)G.SUNANDINI (11R11A1275)SAI KEERTHAN (11R11A12A0)

Under the Esteemed Guidance ofName of FacultyDesignation

Department of Information Technology

Geethanjali College of Engineering and Technology

Cheeryal (V), Keesara (M), R.R.Dist, A.P-501 301.2011-2015

A Mini Project ReportOnE-HEALTHCARE ADVISOR

Submitted To

Jawaharlal Nehru Technological University HyderabadIn partial fulfillment of the requirements for the award of the degree of

BACHELOR OF TECHNOLOGYININFORMATION TECHNOLOGY

BY

TATIKONDA RASHMI (11R11A12A6)G.SUNANDINI (11R11A1275)SAI KEERTHAN (11R11A12A0)

Striving Towards Perfection

DEPARTMENT OF INFORMATION TECHNOLOGY

Geethanjali College of Engineering And TechnologyCheeryal(V), Keesara(M), R.R.Dist2011-2015Geethanjali College of Engineering and TechnologyCheeryal (V), Keesara (M), R.R.Dist2011-2015 DEPARTMENT OF INFORMATION TECHNOLOGY

Striving Towards Perfection

Certificate

Certified that the project work entitled E-HEALTHCARE ADVISOR which is a bonafide work carried out by TATIKONDA RASHMI bearing register No. 11R11A12A6, G.SUNANDINI bearing register No. 11R11A1275, SAI KEERTHAN bearing register No. 11R11A12A0,in partial fulfillment for the award of the degree of Bachelor of Technology in Information Technology of Jawaharlal Nehru Technological University, Hyderabad during the year 2011-2015. It is certified that all corrections/suggestions indicated for internal assessment have been incorporated in the report. The project report has been approved as it satisfies the academic requirements in respect of project work prescribed for the said degree.

------------------------------ ------------------------------- Internal Guide Head of the Department

-------------------------------Examiner

ACKNOWLEDGEMENT

We would like to express our sincere thanks to Name Of H.O.D, Head of the Department of Information Technology, Geethanjali College of Engineering and Technology, Cheeryal, for providing the necessary facilities for successful completion of this work.

We would like to express our profound sense of gratitude to all for having helped us in completing this dissertation. We would like to express our deep felt gratitude and sincere thanks to our guide Internal Guide, Assistant Professor, Department of Information Technology, Geethanjali College of Engineering and Technology, Cheeryal, for his skillful guidance, timely suggestions and encouragement in completing this project.

We would like to express our sincere gratitude to our Principal Mr.Uday kumar for providing the necessary infrastructure to complete our project.

Finally, we would like to express our heartfelt thanks to our parents who were very supportive both financially and mentally and for their encouragement to achieve our set goals.

TATIKONDA RASHMI (11R11A12A6)G.SUNANDINI (11R11A1275)SAI KEERTHAN (11R11A12A0)

DECLARATION

This is to Certify that the project work entitled E-HEALTHCARE ADVISOR submitted to JNTUH in partial fulfillment of the requirement for the award of the Degree of Bachelor of Technology (B-Tech), is an original work carried out by TATIKONDA RASHMI bearing register No. 11R11A12A6, G.SUNANDINI bearing register No. 11R11A1275, SAI KEERTHAN bearing register No. 11R11A12A0 under the guidance of Faculty name Designation in the Department of Information Technology. This matter embodied in this project is a genuine work, done by the students and has not been submitted whether the university or to any other university/Institute for the fulfillment of the requirement of any course of study.

TATIKONDA RASHMI (11R11A12A6)G.SUNANDINI (11R11A1275)SAI KEERTHAN (11R11A12A0)

ABSTRACT

LIST OF SYMBOLS

Sl NoSymbol NameSymbolDescription

1Use CaseUseCaseA use case is interaction between the systems and the external environment

2Control Flow It represents the various control flow between the states

3Data Process/StageA Circle in DFD represents a state or process which has been triggered due to some event or action

4StateStateIt represents the state of a process. Each state goes through various flows.

5Actor/UserActors are users of the systems and other external entity that react with the system.

6Initial StateIt represents the initial state of the object.

7CommunicationIt is the communication between various use cases.

8TransitionIt represents any communication that occurs between the processes.

9Class Classes represents a collection of similar entities grouped together

10AssociationAssociation represents a static relationship between classes.

11AggregationAggregation is a form of association. It aggregates several classes into single class.

12Decision BoxIt represents the decision making process from a constraint.

13External EntityIt represents any external entity such as keyboard, sensors etc which are used in the system

14Object LifelineObject lifelines represents the vertical dimension that objects communicates.

15MessageIt represents the messages exchanged.

16ComponentComponents represent the physical components used in the system.

17Relation(Uses)It is used for additional process communication.

LIST OF ABBREVIATIONS

Sl NoAbbreviationDescription

1HTMLHypertext Markup Language

2WWWWorld Wide Web

3jDBCJava Databases Connectivity

4j2eeJava 2 Enterprise Edition

5RADRapid Application Development

6JSPJava Server Pages

7OSOperating System

8DFDData Flow Diagram

9DBMSDatabase Management System

10UMLUnified Modeling Language

11XMLExtensible Markup Language

12GUIGraphical User Interface

LIST OF FIGURES

Sl NoFiguresPage No

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

INDEX

Sl.No. Contents Page No. 1. Introduction 2. System Analysis. 2.1 Feasibility Study 2.1.1 Technical Feasibility 2.1.2 Economical Feasibility 2.1.3 Operational Feasibility 2.2 Existing System 2.3 Proposed System 2.4 Modules Description 2.5 Software Requirement Analysis 2.5.1 Functional Requirements 2.5.2 Non-Functional Requirements 2.6 Requirements Specification 2.6.1 Hardware Requirements Specification 2.6.2 Software Requirements Specification 3. Design Issue about System 3.1 Introduction 3.2 Software engineering paradigm applied 3.2.1 Design methodology 3.2.2 Database design 3.2.3 The Rapid Application Development model 3.2.4 Implementation 4. Design 4.1 Unified Modeling Language 4.2 UML Diagrams 4.2.1 Use-case Diagram 4.2.2 Sequence Diagram 4.2.3 Class Diagram 4.2.4 State Chart Diagram 4.3 Data Flow Diagrams 4.4 Process Logic 4.5 Data Structure 5. Technology Description 5.1 HTML 5.2 JavaScript 5.3 An Overview of J2EE 5.4 An Overview of JSP 5.5 An Overview of Servlets 5.6 An Overview of JDBC 5.7 An Overview of Web Logic Server 8.1 6. Sample Code 6.1 Coding 7. Testing.. 7.1 Introduction 7.2 Test Activities 7.3 Phases of Testing 7.4 Test cases 8. Output Screens 9. Conclusions. 9.1 Conclusion 9.2 Further Enhancements 10. Bibliography. 10.1 Books References 10.2 Websites References

1. INTRODUCTION 1.1 MotivationThe main aim of E-health Care is to provide Telemedicine Technology and connectivity between remote/rural hospital and super specialty hospital for Teleconsultation.

The scope of the E-Health care is as follows:The E-Healthcare has a good potential to grow since it provides specialty healthcare to the remote hospitals. The growth could be the connectivity between District hospitals/health centers and super-specialty hospitals in the cities. Communities Health Centers at block level and district hospital and Primary Health Centre at village level and community health centers for health care

1.3 Project overviewAn overall idea of what are the impacts, the system is going to have in the business activity and the expected results from the system towards managing the daily activity with the system.

1.3.1 Business impactBy making all the internal activity of a hospital towards automation is going to improve the productivity of each & every department by making the internal process faster with respect to retrieval & storage of information in organized manner, which enable the hospital to provide services to the patient in a faster way.

1.3.2 Expected Results Reduction in the time spent by the staff to gather the information & to store it in an organized manner. Also reduction in the time for generating reports related to various activity like diagnosis report, death certificates, birth certificates, fitness certificates etc.,

1.4 Limitations of the project Information retrieval is a very big process. Lack of organization of the files may effect to information loss due to accidental deletion of files. No security because the files are visible to the users. Report generation will be a big task.

2. SYSTEM ANALYSIS

2.1. FEASIBILITY STUDYAll projects are feasible given unlimited resources and infinite time! Unfortunately, the development of computer-based system or product is more likely plagued by a scarcity of resources and difficult delivery dates. It is both necessary and prudent to evaluate the feasibility of a project at the earliest possible time. Months or years of effort, thousands or millions of dollars, and untold professional embarrassment can be averted if an ill-conceived system is recognized early in the definition phase.Feasibility and risk analysis are related in many ways. If project risk is great the feasibility of producing quality software is reduced. During product engineering, however, we concentrate our attention on four primary areas of interest:2.1.1 TECHNICAL FEASIBILITY:This application in going to be used in an Internet environment called www (World Wide Web). So, it is necessary to use a technology that is capable of providing the networking facility to the application. This application as also able to work on distributed environment. Application on developed with J2EE (Java 2 Enterprise Edition platform) Technology. One major advantage in application is platform neutral. We can deploy and used it in any operating system.GUI is developed using HTML to capture the information from the customer. HTML is used to display the content on the browser. It uses TCP/IP protocol. It is an interpreted language. It is very easy to develop a page/document using HTML some RAD (Rapid Application Development) tools are provided to quickly design/develop our application. So many objects such as button, text fields, and text area etc are providing to capture the information from the customer.We can use this application in any OS. They can have their own security and transactional advantages. But are the responsible for selecting suitable and secured OS, which is suitable to our application. The back-end Oracle 8i and front-end application are platform independent. So we can port this enterprise application in any environment. Both are having their individual configuration to get better performance and backup issues.2.1.2 ECONOMIC FEASIBILITY:In present system customer need to go to billers place to pay the bill. So he/she needs to spend some time to complete this protocol. It is time consuming process sometimes customer not able to spend that much of time. In such case needs to pay some additional payment to the biller for late payment. If it is developed in electronic payment system, He can pay the bill from anywhere in the world. No need to travel to pay the bills. For doing this process electronically have to spend some time.

2.1.3 OPERATIONAL FEASIBILITY:In our application front end is developed using GUI. So it is very easy to the customer to enter the necessary information. But customer has some knowledge on using web applications before going to use our application.

2.2 Existing system

In present health care market data is handled in the form of Records and databases. Existing system focuses on security for voice recording and interacting for health care information. In Existing system chances of human errors are more while using electronic and data storing.

2.3 Proposed System

In the proposed system chances of human errors are less which also provides user friendly designing. This system is implemented using web services which are related to service oriented architecture. Using these services users and applications can perform accurately. This system provides services for patients, Physicians, nurses and pharmacists for providing better services and monitoring medicaldevices.

2.4 Modules DescriptionThe System can be divided into the following modules:

1) MASTERS Medical PractitionersFirst module includes information about doctors. It includes name of the doctor. Next his specialization of medicine, nothing but in which area he is specialized & also his address where he stays & finally his identification number is compulsory, identification number to be generated automatically. SystemsSystems are of different types General systems Respiratory systems Central nervous Cardio vascular etc CategoryCategory system is having full details of the fees structure based on the type of patients. Category screen contains the categorized the fee structure depends upon there standards.For this category system there will be special package also available, by paying certain amount they give you health cards. Depending upon health cards, consultant fees are charged. Some amount will give concessions depends upon types. This system maintains the full details of fees depend upon the category.

2) MaintenanceThis module helps to maintain the details of the following:

Patient registrationRegistration of patient is very important, which helps to identify the patient with an identification number & easy retrieval of the patient records.

ConsultationConsultation holds the details of the patients history & family history. Details of the physical exam, the investigation diagnostic, medication details & the details of the diet / exercise the patients have to follow. This gives the records in detail of patient medical history visit wise. This helps to go through easily the patients medical history. DoctorThis will hold the details of the patient problem & the related doctors who have taken care of particular patient. He has to follow the schedules given by head of the department. He has to visits wards regularly according to schedule.

Certificates It provides different varieties of certificates generally issued by the diagnostics like media fitness, birth, death etc., by showing these certificates doctor finalize that what problem they have & what to do next.

Visitor Details This is use to maintain the details of the visitors. Visiting hours have to be validated to meet the patients. Here visitors are required to visit the patients only on visiting time that is allocated. In other timings, visitors are not allowed into the premises. If compulsory, then only they are allowed into the premises.

Internet A provision of accessing the Internet directly for this software has to be facilitated. The user with login only this facility can connect to the Internet.

Doctor ScheduleThis is used to maintain the schedules of the doctor, on which the patient wants to fix up the schedule of the doctor. Schedules can be both personal & related to patients. A list of the schedules is displayed as fixed for each & every doctor day wise. This is all is maintained by your personal calendar, which help you to maintain appointments, you just have to enter you appointment the system will remind you of it. Here also we are using validators for schedules.

ReceiptsDepending upon the category the patient is registered the consultation fee is collected & the same amount has to be entered through this receivables screen. The entire incoming amount has to be maintained by submitting through this screen.

Payments Hospital accounts & necessary financial statements can be generated here. Gives the details of the amounts to be paid by the hospital towards electricity bill, telephone bill, building rent, stationary, salaries & miscellaneous expenditure.

3) Reports

Registrations This is used for patients, who are coming to the hospital for treatment; register their names in order to know patient details in better way. At the time of enquiry they are looking to the case sheet of patient can understand with what problem they joined in hospital. In this registration information we have name, fathers name, address of the patient in sequence order & also enter date, joining date & discharge date is must in order to identify in & efficient way.Here registration is a crucial part in this project. Without register the patients details we are unable to know the information.

ReceiptsDepending upon the category the patient is registered the consultation fee is collected & the same amount has to be entered through this receivables screen. The entire incoming amount has to be maintained by submitting through this screen.

Payables This will take care of your personal accounting & the details of the amounts to be paid by the hospital towards electricity bill, telephone bill, building rent, stationary, salaries & miscellaneous expenditure.In this we have total information of expenditure that we are paying to electricity department, telephone department, stationary that we have brought from that stationery shops & also salary payment to all doctors, nurses, operators, in charges, workers etc. In this module you came to know about year wise & month wise reports. Reports to be generated depending on the selection of the user form the list available. The list box contains Registrations, Receipts & Payments.

2.5 Software Requirements AnalysisThe requirements gathering process is intensified and focused specifically on software. To understand the nature of the programs to be built, the software Engineer must understand the information domain for the software, as well as required function, behavior, performance, and inter facing. Requirements for the both the system and the software are documented and reviewed with the customer. Design:Software design is actually a multi step process that focuses on four distinct attributes of a program: data structure, software architecture, interface representations, and procedural detail. The design process translates requirements into a representation of the software that can be assessed for quality before code generation begins. Like requirements the design is documented and becomes part of the software configuration.Code Generation:The design must be translated into a machine-readable form. The code generation step performs this task. If design is performed in a detailed manner, code generation can be accomplished mechanistically.Testing:Once code has been generated, program testing process focuses on the logical internals of the software, assuring that all statements have been tested, and on the functional externals that is, conducting tests to uncover errors and ensure that defined input will produce actual results that agree with required results.Maintenance:Software will undoubtedly undergo change after it is delivered to the customer. Change will occur because errors have been encountered, because the software must be adapted to accommodate changes in its external environment (e.g., a change required because of a new operating system or peripheral devices), or because the customer requires functional or performance enhancement. Software maintenance reapplies each of the preceding phases to an existing program rather than a new one.

2.5.1 Functional Requirements User profile management and registrations. Patients to make online appointments look their previous health records, doctors prescriptions, view patients history. Doctors to give appointments, e-prescriptions, view patients history. In case of any medical error, patient can register a complaint patients grievance and feedback goes to admin, he can forward it to any doctor to answer. Admin to take back up of all kind of data, view log and generate system reports.2.5.2 Non-Functional RequirementsThe requirement specification for any system can be broadly stated as given below: Secure access of confidential data (users details).SSL can be used. 24X7 availability Better component design to get better the requirement performance at peak time. Flexible service based architecture will be highly desirable for future extension

2.6 Requirements Specification2.6.1 Hardware Requirements Processor: Pentium-IV (or) Higher Ram: 512MB (or) Higher Cache: 512MB Hard disk: 40GB

2.6.2 Software Requirements SpecificationOperating System : Windows XP/2003 or LinuxUser Interface : HTML,CSSClient-side Scripting : JavaScriptProgramming Language : Java Web Applications : JDBC, Servlets, JSPServer Deployment : Tomcat 6.xDatabase : Oracle 10g

3. Design Issue about System

3.1 Introduction After detailed analysis system must be designed. System Design is the crucial point for developing a system. We design the system hardware and software requirements for developing a system. Here we design the system like more structured. 3.2 Software Engineering Paradigm AppliedThere are various ways of designing the architecture; here in our project design of software involves conceiving planning out and specifying the externally observable characteristics of the software product. We have data design, architectural design and user interface design in the design process.3.2.1 Design MethodologyThe two basic modern design strategies employed in software design are: 1. Top Down Design2. Bottom Up DesignTop Down Design is basically a decomposition process, which focuses on the flow of control. At later stages it concern itself with the code production. The first step is to study the overall aspects of the tasks at hand and to break it into a number of independent modules. The second step is to break each one of these modules further into independent sub-modules. The process is:Repeated once to obtain modules, which are small enough to group mentally and to code in a straightforward manner. One important feature is that at each level the details of the design at the lower level are hidden. Only the necessary data and control that must be called back and forth over the interface are defined.In a bottom-up design one first identifies and investigates parts of design that are most difficult and necessary designed decision are made the reminder of the design is tailored to fit around the design already chose for crucial part. It vaguely represents a synthesis process explained in previous section.One storage point of the top-down method is that it postpones details of the decision until the last stage of the decision. It allows making small design changes when the design is half way through. There is danger that the specifications will be incompatible and this will not be discovered until late in the design process. By contrast the bottom-up strategy first focuses on the crucial part so that feasibility of the design is tested at early stage.In mixing top-down and bottom-up design it often appears that we start in the middle of the problem and work our way both up and down there. In a complex problem, it is often difficult to decide how to modularize the various procedures in such cases one might consider a list of system inputs and decide what functions are necessary to process these inputs. This is called back to front design. Similarly one can start with the required outputs and work backwards evolving so called front-back design. We have applied both the top down and bottom up approach in our design approach.3.2.2 Database Design:Databases are normally implemented by using a package called a Data Base Management System (DBMS). Each particular DBMS has somewhat unique characteristics, and so such, general techniques for the design of database are limited. One of the most useful methods of analyzing the data required by the system for the data dictionary has developed from research into relational database, particularly the work of E.F.Codd. This method of analyzing data is called Normalization. Unnormalized data are converted into normalized data by three stages. Each stage has a procedure to follow.NormalizationThe first stage is normalization is to reduce the data to its first normal form, by removing repeating items showing them as separate records but including in them the key fields of the original record.The next stage of reduction to the second normal form is to check that the record, which one is first normal form, all the items in each record are entirely dependent on the key of the record. If a data item is not dependent on the key of the record, but on the other data item, then it is removed with its key to form another record. This is done until each record contains data items, which are entirely dependent on the key of their record.The final stage of the analysis, the reduction of third normal form involves examining each record, which one is in second normal form to see whether any items are mutually dependent. If there are any item there are removed to a separate record leaving one of the items behind in the original record and using that as the key in the newly created record.3.2.3 The rapid application development model Rapid Application Development (RAD) is a linear sequential software development process Model that emphasizes an extremely short development cycle. The RAD model is a high speed adaptation to the linear sequential model in which rapid development is achieved by using a component-based construction approach; we have followed this RAD approach in sub modules to implement because here we can understand the requirements very easily. By this we can create a fully functional system There are various stages in applying this RAD model as. a)Business ModelingThe information flow among business function is modeled in a way that answers the following questions: what information drives the business process? What information is generated? What generate it? Where does the information go? Who process it?b) Data ModelingThe information flow defined as a process of the business modeling is refined into a set of data objects that are needed to support the business. The characteristics (called attributes) of each object are identified and relationships between these objects are defined.c)Process ModelingThe data objects defined in the data-modeling phase are transformed to achieve the information flow necessary to implement a business function. Processing description is created for addition, modifying, deleting, or retrieving a data object.3.2.4 Implementation Implementation is the stage where the theoretical design is turned into a working system. Giving confidence for the client or user that new system will work accurately. 1. Maintenance and Enhancement After the product is ready and given for the client to use it in the production server unexpected results will occur, and also to maintain the environment is very important. In this maintenance phase focus we mainly concentrated on the smooth running of the application and modifying any change request given by the client. This is categorized into 4 types. Correction Adaptation Enhancement Prevention a) Correction As our product is in the operation and if any minor changes or mistakes found then it can be taken in this phase to correct the task. We are taking only about 20 percent of all maintenance work is spent fixing mistakes. The remaining 80 percent are spent adapting existing systems to changes in their external environment, making enhancements requested by users. b) Adaptation Over time, the original environment (E.g., CPU, operating system, business rules, external product characteristics) for which the software was developed is likely to change. Adaptive maintenance results in modification to the software to accommodate change to its external environment this was planned in the initial stage when we have followed the TOP DOWN approach that even if any environment is change then also the product is compatible to that but within the guidelines of the requirements. c) Enhancement As software is used, the customer/user will recognize additional functions that will provide benefit. Perceptive maintenance extends the software beyond its original function requirements. For this kind of situations also planning was done so that it does not affect the cost or maintenance cost of the project and software. d) Prevention Computer software deteriorates due to change, and because of this, preventive maintenance, often called software re- engineering, and must be conducted to enable the software to serve the needs of its end users. In essence, preventive maintenance makes changes to computer programs so that they can be more easily corrected, adapted, and enhanced. Software configuration management (SCM) is an umbrella activity that is applied throughout the software process. SCM activities are developed to Identity change Control chug. Ensure that change is being properly implemented.

4. Design4.1 Unified Modeling LanguageAn Overview of UML

The UML is a language for

Visualizing Specifying Constructing Documenting

These are the artifacts of a software-intensive system.

A conceptual model of UML:

The three major elements of UML are The UMLs basic building blocks The rules that dictate how those building blocks may be put together. Some common mechanisms that apply throughout the UML.

Basic building blocks of the UML

The vocabulary of UML encompasses three kinds of building blocks: Things Relationships Diagrams

Things are the abstractions that are first-class citizens in a model;Relationships tie these things together;Diagrams group the interesting collection of things.

Things in UML: There are four kind of things in the UML1. Structural things2. Behavioral things.3. Grouping things4. Annotational things

These things are the basic object oriented building blocks of the UML.They are used to write well-formed models.

STRUCTURAL THINGS

Structural things are the nouns of the UML models. These are mostly static parts of the model, representing elements that are either conceptual or physical. In all, there are seven kinds of Structural things.

Class:A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics. A class implements one or more interfaces.Graphically a class is rendered as a rectangle, usually including its name, attributes and operations, as shown below.

Interface:

An interface is a collection of operations that specify a service of a class or component. An interface describes the externally visible behaviour of that element.Graphically the interface is rendered as a circle together with its name.

Collaboration:

Collaboration defines an interaction and is a society of roles and other elements that work together to provide some cooperative behavior thats bigger than the sum of all the elements.Graphically , a collavoration is rendered as an ellipse with dashed lines, usually including only its name as shown below.

Chain of Responsibility

Chain

Use Case:

Use case is a description of a set of sequence of actions that a system performs that yields an observable result of value to a particular things in a model.Graphically, Use Case is rendered as an ellipse with dashed lines, usually including only its name as shown below.

Place Order

Active Class:

An active class is a class whose objects own one or more processes or threads and therefore can initiate control activity.Graphically, an active class is rendered just like a class, but with heavy lines usually including its name, attributes and operations as shown below.

Event ManagementSuspend()Flush()

Component:

Component is a physical and replaceable part of a system that conforms to and provides the realization of a set of interfaces.Graphically, a component is rendered as a rectangle with tabs, usually including only its name, as shown below.

Node:

A Node is a physical element that exists at run time and represents a computational resource, generally having at least some memory and often, processing capability.Graphically, a node is rendered as a cube, usually including only its name, as shown below.

BEHAVIORAL THINGS

Behavioral Things are the dynamic parts of UML models. These are the verbs of a model, representing behavior over time and space.

Interaction:

An interaction is a behavior that comprises a set of messages exchanged among a set of objects within a particular context to accomplish a specific purpose.Graphically, a message is rendered as a direct line, almost always including the name if its operation, as shown below.

Display

State Machine:A state machine is a behavior that specifies the sequence of states an object ar an interaction goes through during its lifetime on response to events, together with its responses to those events.Graphically, a state is rendered as arounded rectangle usually including its name and its sub-states, if any, as shown below.

Waiting

GROUPING THINGS

Grouping things are the organizational parts of the UML models. These are the boxes into which a modl can be decomposed.

Package:A package is a general-purpose mechanism for organizing elements into groups.

ANNOTATIONAL THINGS

Annotational things are the explanatory parts of the UML models.Note:A note is simply a symbol for rendering constraints and comments attached to an element or a collection of elements.Graphically a note is rendered as a rectangle with dog-eared corner together, with a textual or graphical comment, as shown below.

RELATIONSHIPS IN THE UML:

There are four kinds of relationships in the UML:1. Dependency2. Association3. Generalization4. Realization

CLASS DIAGRAMS

Class diagrams are the most common diagrams found in modeling object-oriented systems. A class diagram shows a set of classes, interfaces, and collaborations and their relationships. Graphically, a class diagram is a collection of vertices and arcs.

Contents:Class Diagrams commonly contain the following things:ClassesInterfacesCollaborationsDependency, generalization and association relationships

USE CASESUse Case diagrams are one of the five diagrams in the UML for modeling the dynamic aspects of systems(activity diagrams, sequence diagrams, state chart diagrams and collaboration diagrams are the four other kinds of diagrams in the UML for modeling the dynamic aspects of systems). Use Case diagrams are central to modeling the behavior of the system, a sub-system, or a class. Each one shows a set of use cases and actors and relationships.

Common Properties:A Use Case diagram is just a special kind of diagram and shares the same common properties, as do all other diagrams- a name and graphical contents that are a projection into the model. What distinguishes a use case diagram from all other kinds of diagrams is its particular content.

ContentsUse Case diagrams commonly contain:Use CasesActorsDependency, generalization, and association relationships

Like all other diagrams, use case diagrams may contain notes and constraints.Use Case diagrams may also contain packages, which are used to group elements of your model into larger chunks. Occasionally, you will want to place instances of use cases in your diagrams, as well, especially when you want to visualize a specific executing system.

INTERACTION DIAGRAMS

An Interaction diagram shows an interaction, consisting of a set of objects and their relationships, including the messages that may be dispatched among them.Interaction diagrams are used for modeling the dynamic aspects of the system.

A sequence diagram is an interaction diagram that emphasizes the time ordering of the messages. Graphically, a sequence diagram is a table that shows objects arranged alongs the X-axis and messages, ordered in increasing time, along the Y-axis and messages, ordered in increasing time, along the Y-axis.

ContentsInteraction diagrams commonly contains:ObjectsLinksMessages

Like all other diagrams, interaction diagrams may contain notes and constraints.

SEQUENCE DIAGRAMS:

A sequence diagram is an interaction diagram that emphasizes the time ordering of the messages. Graphically, a sequence diagram is a table that shows objects arranged along the X-axis and messages, ordered in increasing time, along the Y-axis.Typically you place the object that initiates the interaction at the left, and increasingly more sub-routine objects to the right. Next, you place the messages that these objects send and receive along the Y-axis , in order of increasing time from top to the bottom. This gives the reader a clear visual cue to the flow of control over time.

Sequence diagrams have two interesting features:1. There is the object lifeline. An object lifeline is the vertical dashed line that represents the existence of an object over a period of time. Most objects that appear in the interaction diagrams will be in existence for the duration of the interaction, so these objects are all aligned at the top of the diagram, with their lifelines drawn from the top of the diagram to the bottom.2. There is a focus of the control. The focus of control is tall, thin rectangle that shows the period of time during which an object is performing an action, either directly or through the subordinate procedure. The top of the rectangle is alignes with the action; the bottom is aligned with its completion.

ACTIVITY DIAGRAM

An Activity Diagram is essentially a flow chart showing flow of control from activity to activity. They are used to model the dynamic aspects of as system .They can also be used to model the flow of an object as it moves from state to state at different points in the flow of control.

An activity is an ongoing non-atomic execution with in a state machine.Activities ultimately result in some action,which is made up of executable atomic computations that result in a change of state of distinguishes a usecase diagram from all other kinds of diagrams is its particular content.

ContentsUse case diagrams commonly contain:Use casesActorsDependency,generalizations,and association relationships

Like all other diagrams use case diagrams may contain notes and constraints Use case diagrams may also contain packages which are used to group elements of your model into larger chunks.Occasionally you will want to place instances of usecases of your diagrams,as well especially when you want to visualize a specific executing system.

Interaction diagramsAn interacation diagram shows an interaction,consisting of a set of objects and their relationships,including the messages that may be dispatched among them.

A sequence diagram is an interaction diagram that emphasizes the time ordering of messages.Graphically, a sequence diagram is a table that shows objects along the X-Axis and messages along the Y-Axis.

ContentsInteraction diagrams commonly contains:ObjectsLinksMessagesLike all other diagrams,interaction diagrams may contain notes and constraints.

STATE CHART DIAGRAMSA state chart diagram shows a state machine .State chart diagrams are used to model the dynamic aspects of the system.For the most part this involves modeling the behaviour of the reactive objects.A reactive object is one whose behaviour is best characterized by its response to events dispatched from outside its context.A reactive object has a clear lifeline whose current behaviour is affected by its past.

A statechart diagram show a statemachine emphasizing the flow of control from state to state.A state machine is a behaviour that specifies the sequence of states an object goes through during its life time in response to events together with its response to those events.A state is a condition in the life of the object during which it satifies some conditions,performs some activity or wait for some events. An event is a specification of a significant occurrence that has a location in time and space.

Graphically a state chart diagram is a collection of vertices and arcs. State chart diagram commonly contain:Simple states and Composite states.Transitions, including events and actions.4.2 UML Diagrams

4.2.1UseCase Diagram

4.2.2 Sequence Diagram

PayableDetailsConsultation Visitor DetailsCertificateDoctor insDataStoreVisitor DetailsGUIComponentMenuReportInputScreenDoctor SchdulSettingDataManipulatorOptions

4.2.3 Class diagram

4.2.4 State Chart diagram

( id,pwd )( ok )( id,pwd )authenticatedvalidationunauthenticated

( valid )( invalid )( username,pwd)Admin MenuValidationunauthenticated

4.3 DATA FLOW DIAGRAMS

E - Health Care

PATIENT INPATIENT OUT

Data Flow Diagram 1

Patient detailsDoctors detailsPatient detailsDoctors

Get

ConsultationDiagnosis

Medical historyGet

Medical historyStore details

Diagnostic detailsDiagnostic details

Data Flow Diagram 2

Patient details Doctor details

GetDoctorsSchedulingGet

Store p_id, d_id

Doctors schedule

Data Flow Diagram 3

Doctors detailsPatient details

PatientRegistration

PatientDiagnosis

Diagnosis details

Get patient detailsGet diagnostic details

Doctors detailsReport

Stored in db

DATA FLOW DIAGRAM 4

USER LOGIN

DoctorsScheduling

REGISTER PATIENT DETAILS

PATIENT INFORMATION

GET PATIENT INFORMATION

GET DOCTOR DETAILS

DOCTOR DETAILSGET REPORT

DIAGNOSTIC

STORE DETAILS

DOCTOR SCHEDULE

REPORT

4.4 PROCESS LOGIC

Doctors flow chart:

START

Login name& Password

Verify with existing password

Yes No

Enter doctors information

Stored in db

Output

Stop

Patient Flow Chart:

START

Login Name& Password

Verify with existing password

YesNO

Enter patient information

Stored in db

Output

Stop

Reports Flow Charts:

START

Validated

No

Yes

Login Name& Password

More than 3 failure attempt

Generate existing Report

Stored in db

Output

Stop

Doctor Schedule Flow Chart:

START

Identify with id

YesNo no

Doctor scheduleDetails

Stored in db

Print

Stop

Category Flow Chart:

Start

YesNoIdentify with patient id

Generate existing fees report

Print

Stop

Diagnostic Details Flow Chart:

Start

NoYesIdentify with patient id

Patient Diagnostics details

Stored in db

Print

Stop

Medical reports flow charts:

Start

Login name & password

IfExists

NoNoYes

Diagnosis detailsPatient medical details

Stored in db

Print

Stop

4.5 Data Structures

LOGICAL DATABASE STRUCTURE

DOCTOR DETAILSFieldDescriptionData type/notes

D_ idDoctor identification NumberThis is the mandatory field, should start with D followed by serial number & should be 5 digits. it should be unique

DnameDoctor nameThis field should be character only. Maximum 25 characters, this should be mandatory

SpecializationSpecialist This filed contains characters only. Maximum 50 characters

AddressDoctor addressThis field contains alpha numeric. Maximum 100 characters can enter

PATIENT DETAILS

FieldsDescriptionData type/notes

P_ idPatient identification numberThis is mandatory field, it should start with P followed by serial number & should be 5 digits, it should be a unique id.

P_namePatient nameThis field should be character only. Maximum 25 characters, this should be mandatory.

F_nameFathers nameThis should contain characters only. Maximum 25 characters.

AgeAgeThis should contain integer only. Maximum 3 characters.

AddressPatient addressThis should be an alpha numeric.Maximum 100 characters.

P_problemPatient problemThis should be a character only. Maximum 1000 characters can enter.

DojDate of JoiningThis should be date format only

MEDICAL HISTORY

FieldsDescriptionData type/notes

P_historyPatient historyThis field should be characters only. Maximum 200 characters

F_historyFamily historyThis filed should be character only. Maximum 200 characters can enter.

Ph_examPhysical examThis field should be alpha numeric. Maximum 50 characters

Diet /exercisesDiet of exercisesThis field should be characters only. Maximum 50 characters.

Inv_diagInvestigation diagnosticsThis filed should be character only. Maximum 50 characters can enter.

Med_detailsMedication detailsThis field should be characters only. Maximum 200 characters can enter.

CERTIFICATES DETAILSFieldsDescriptionData types/notes

M_fitnessMedia fitnessThis filed should be in characters only, maximum 100 characters can enter.

BirthBirth dateThis field should be in date format.

DeathDeath dateThis field should be in date format.

D_idDoctor identificationThis field should be mandatory field. It should start with D & followed with serial number. Maximum 5 characters. it is unique

DIAGNOSTICS DETAILS

FieldDescriptionData types/notes

DnameDiagnostic nameThis field should be characters only. Maximum 50 characters

D_idDiagnostic identificationThis field should be mandatory field. It should start with D & followed with serial number. Maximum 5 characters. It should be unique

ReportsReportsThis field should be characters only. Maximum 200 characters

DateDateThis filed should be in date format only.

D_idDoctor identificationThis field should be mandatory field. It should start with D & followed with serial number. Maximum 5 characters. it should be unique

P_idPatient identificationThis field should be mandatory field. It should start with P & followed with serial number. Maximum 5 characters. it should be unique

DOCTOR SCHEDULE

FieldsDescriptionData type/notes

D_idDoctor identificationThis field should be mandatory field. It should start with D & followed with serial number. Maximum 5 characters. it should be unique

P_idPatient identificationThis field should be mandatory field. It should start with P & followed with serial number. Maximum 5 characters. It should beUnique.

S_timeSchedule timeThis filed should be integer only. Maximum 10 characters.

A_descActivity descriptionThis field should be characters only. Maximum 200 characters.

PAYABLES:

FieldsDescriptionData types/notes

E_billElectricity billThis field should be integer type.

T_billTelephone billThis field should also be an integer type

B_rentBuilding rentThis field should also be an integer type. This rent is continuing up to the agreement follows. Maximum 6 characters

StStationeryThis field contains integer type. Maximum 6 characters

SalSalariesThis field should contain an integer type. Maximum 6 characters

5. Technology Description5.1 HTML Hyper Text Markup LanguageHypertext Markup Language(HTML), the languages of the World Wide Web (WWW), allows users to produces Web pages that include text, graphics and pointer to other Web pages(Hyperlinks).HTML can be used to display any type of document the host computer, which can be geographically at a different location. It is a versatile language and can be used on any platform or desktop.

Contains all tags and text in the HTML Document. Creates text. Encloses a fill-out form. Contains tags that specify information about a document. Contains all other HTML tags.. Contains client-side or server-side script Creates a table

Advantages A HTML document is small and hence easy to send over the net. It is small because it does not include formatted information. HTML is platform independent. HTML tags are not case-sensitive.

5.2 JavaScript JavaScript supports both client and server Web programming, we prefer JavaScript at Client side programming since most of the browsers supports it. JavaScript is almost as easy to learn as HTML, and JavaScript statements can be included in HTML documents by enclosing the statements between a pair of scripting tags ... JavaScript statements JavaScript Vs JavaJavaScript and Java are entirely different languages. A few of the most glaring differences are: Java applets are generally displayed in a box within the web document;JavaScript can affect any part of the Web document itself. While JavaScript is best suited to simple applications and adding interactive.

PortabilityFor programs to be dynamically downloaded to all the various types of platform connected to the Internet, some means of generating portable executable code is needed. As you will see, the same mechanism that helps ensure security also helps create portability

The Byte code

The key that allows the Java to solve the security and portability problems is that the output of Java compiler is Byte code.Byte code is a highly optimized set of instructions designed to be executed by the Java run-time system,which is called the Java Virtual Machine(JVM).That is, in its standard form, the JVM is an interpreter for byte code.

Java Virtual Machine (JVM)Beyond the language, there is the Java virtual machine.The Java virtual machine is an important element of the Java technology.The virtual machine can be embedded within a web browser or an operating system executing of Java code.

Java Architecture Java Architecture provides a portable, robust, high performing environment for development. Java provides portability by compiling the byte codes for the Java Virtual Machine, which is then interpreted on each platform by the run-time environment. Java was designed to be easy for the Professional programmer to learn and to use effectively. If you are an experienced C++ programmer, learning Java will be even easier.

Java ArchitectureObject-OrientedJava was not designed to be source-code compatible with any other language.This allowed the Java team the freedom to design with a blank slate.

5.3. An Overview of J2EE

The following topics describe the J2EE Platform requirements for each kind of J2EE platform element.

J2EE Application Components

The J2EE runtime environment defines four application component types that a J2EE product must support: Application clients are Java programming language programs that are typically GUI programs that execute on a desktop computer. Application clients offer a user experience similar to that of native applications, and have access to all of the facilities of the J2EE middle tier.

Applets are GUI components that typically execute in a web browser, but can execute in a variety of other applications or devices that support the applet-programming model. Applets can be used to provide a powerful user interface for J2EE applications. Servlets, JSP pages, filters, and web event listeners typically execute in a web container and may respond to HTTP requests from web clients. Servlets, JSP pages, and filters may be used to generate HTML pages that are an applications user interface. They may also be used to generate XML or other format data that is consumed by other application components. A special kind of servlet provides support for web services using the SOAP/HTTP protocol. Servlets, pages created with the JavaServer Pages technology, web filters, and web event listeners are referred to collectively in this specification as web components. Web applications are composed of web components and other data such as HTML pages. Web components execute in a web container. A web server includes a web container and other protocol support, security support, and so on, as required by J2EE specifications. Enterprise JavaBeans (EJB) components execute in a managed environment that supports transactions. Enterprise beans typically contain the business logic for a J2EE application. Enterprise beans may directly provide web services using the SOAP/HTTP protocol.

J2EE Server Support for Application Components

The J2EE servers provide deployment, management, and execution support for conforming application components. Application components can be divided into three categories according to their dependence on a J2EE server:Components that are deployed, managed, and executed on a J2EE server. These components include web components and Enterprise JavaBeans components. See the separate specifications for these components.

Components that are deployed and managed on a J2EE server, but are loaded to and executed on a client machine. These components include web resources such as HTML pages and applets embedded in HTML pages.

Components deployment and management is not completely defined by this specification. Application Clients fall into this category. Future versions of this specification may more fully define deployment and management of Application Clients.

J2EE Containers

Containers provide the runtime support for J2EE application components. Containers provide a federated view of the underlying J2EE APIs to the application components. J2EE application components never interact directly with other J2EE application components.

J2EE Servers

Underlying a J2EE container is the server of which it is a part. A J2EE Product Provider typically implements the J2EE server-side functionality using an existing transaction processing infrastructure in combination with Java 2 Platform, Standard Edition (J2SE) technology. The J2EE client functionality is typically built on J2SE technology.

Resource Adapters

A resource adapter is a system-level software component that implements network connectivity to an external resource manager. A resource adapter can extend the functionality of the J2EE platform either by implementing one of the J2EE standard service APIs (such as a JDBC driver), or by defining and implementing a resource adapter for a connector to an external application system.

Java Transaction API (JTA)

The Java Transaction API consists of two parts:

An application-level demarcation interface is used by the container and application components to demarcate transaction boundaries. An interface between the transaction manager and a resource manager used at the J2EE SPI level (in a future release).

RMI-IIOP

The RMI-IIOP subsystem is composed of APIs that allow for the use of RMI-style programming that is independent of the underlying protocol, as well as an implementation of those APIs that supports both the J2SE native RMI protocol (JRMP) and the CORBA IIOP protocol. J2EE applications can use RMI-IIOP, with IIOP protocol support, to access CORBA services that are compatible with the RMI programming restrictions (see the RMI-IIOP spec for details).

JDBC API

The JDBC API is the API for connectivity with relational database systems. The JDBC API has two parts: an application-level interface used by the application components to access a database, and a service provider interface to attach a JDBC driver to the J2EE platform. Support for the service provider interface is not required in J2EE products.

Java Message Service (JMS)

The Java Message Service is a standard API for messaging that supports reliable point-to-point messaging as well as the publish-subscribe model. This specification requires a JMS provider that implements both point-to-point messaging as well as publish-subscribe messaging.

Java Naming and Directory Interface (JNDI)

The JNDI API is the standard API for naming and directory access. The JNDI API has two parts: an application-level interface used by the application components to access naming and directory services and a service provider interface to attach a provider of a naming and directory service.

Java Connector Architecture

The Connector architecture is a J2EE SPI that allows resource adapters that support access to Enterprise Information Systems to be plugged in to any J2EE product. The Connector architecture defines a standard set of system-level contracts between a J2EE server and a resource adapter.

Security Services

The Java Authentication and Authorization Service (JAAS) enables services to authenticate and enforce access controls upon users. It implements a Java technology version of the standard Pluggable Authentication Module (PAM) framework, and extends the access control architecture of the Java 2 Platform in a compatible fashion to support user-based authorization. The Java Authorization Service Provider Contract for Containers (JACC) defines a contract between a J2EE application server and an authorization service provider, allowing custom authorization service providers to be plugged into any J2EE product.

Web Services

J2EE provides full support for both clients of web services as well as web service endpoints. Several Java technologies work together to provide support for web services. The Java API for XML-based RPC (JAX-RPC) provides support for web service calls using the SOAP/HTTP protocol. JAX-RPC defines the mapping between Java classes and XML as used in SOAP RPC calls. The SOAP with Attachments API for Java (SAAJ) provides support for manipulating low-level SOAP messages. The Web Services for J2EE specification fully defines the deployment of web service clients and web service endpoints in J2EE, as well as the implementation of web service endpoints using enterprise beans. The Java API for XML Registries (JAXR) provides client access to XML registry servers.

Deployment

The Java 2 Platform, Enterprise Edition Deployment Specification defines a contract between deployment tools and J2EE products. The J2EE products provide plug-in components that run in the deployment tool and allow the deployment tool to deploy applications into the J2EE product. The deployment tool provides services used by these plug-in components.

J2EE Architecture

Web Applications and Exploded Directory Format (EDF)

Overview of Web Applications

A Web application contains an applications resources, such as servlets, JavaServer Pages (JSPs), JSP tag libraries, static resources such as HTML pages and image files. A Web Application can also define links to outside resources such as Enterprise Java Beans (EJBs). Web applications deployed on WebLogic Server use a standard J2EE deployment descriptor file and Web Logic-specific deployment descriptor file to define their resources and operating attributes. JSP and HTTP servlets can access all services and APIs available in Web Logic Server. These services include EJB, database connections via Java Database Connectivity (JDBC), Java Messaging Service (JMS), XML, and more. A Web archive (WAR file) contains the files that make up a Web application (WAR file). A WAR file is deployed as a unit on one or more Web Logic Server instances. A Web archive on Web Logic Server always includes the following files: One servlet or Java Server Page (JSP), along with any helper classes. A web.xml deployment descriptor, which is a J2EE standard XML document that describes the contents of a WAR file. A weblogic.xml deployment descriptor, which is an XML document containing Web Logic Server-specific elements for Web applications. A Web archive may also include HTML or XML pages and supporting files such as image and multimedia files. The WAR file can be deployed alone or packaged in an enterprise application archive (EAR file) with other application components. If deployed alone, the archive must end with a .war extension. If deployed in an EAR file, the archive must end with an .ear extension. BEA recommends that you package and deploy your stand-alone Web applications as part of an enterprise application. This is a BEA best practice, which allows for easier application migration, additions, and changes. Also, packaging your applications as part of an enterprise application allows you to take advantage of the split development directory structure, which provides a number of benefits over the traditional single directory structure. Note: If you are deploying a directory in exploded format (not archived), do not name the directory .ear, .jar, and so o

Web Application Directory StructureWeb applications use a standard directory structure defined in the J2EE specification. You can deploy a Web application as a collection of files that use this directory structure, known as exploded directory format, or as an archived file called a WAR file. BEA recommends that you package and deploy your WAR file as part of an enterprise application. This is a BEA best practice, which allows for easier application migration, additions, and changes. Also, packaging your Web application as part of an enterprise application allows you to take advantage of the split development directory structure, which provides a number of benefits over the traditional single directory structure. Web application components are assembled in a directory in order to stage the WAR file for the jar command. HTML pages, JSP pages, and the non-Java class files they reference are accessed beginning in the top level of the staging directory. The WEB-INF directory contains the deployment descriptors for the Web application (web.xml) and weblogic.xml) and two subdirectories for storing compiled Java classes and library JAR files. These subdirectories are respectively named classes and lib. JSP taglibs are stored in the Web Applications Basics WEB-INF directory at the top level of the staging directory. The Java classes include servlets, helper classes and, if desired, precompiled JSP. The entire directory, once staged, is bundled into a WAR file using the jar command. The WAR file can be deployed alone or as part of an enterprise application (recommended) with other application components, including other Web applications, EJB components, and Web Logic Server components. JSP pages and HTTP servlets can access all services and APIs available in Web Logic Server. These services include EJBs, database connections through Java Database Connectivity (JDBC), Java Message Service (JMS), XML, and more.

Main Steps to Create a Web ApplicationThe following is an example of a Web application directory structure, in which myWebApp/ is the staging directory:Web Application Directory Structure

5.4An Overview of JSP

The Java Server Pages Technology

Java Server Pages technology is the Java technology in the J2EE platform for building applications containing dynamic Web content such as HTML, DHTML, XHTML and XML. The Java Server Pages technology enables the authoring of Web pages that create dynamic content easily but with maximum power and flexibility.

The Java Server Pages technology provides a textual description for the creation of a response from a request. The technology builds on the following concepts:

Template DataSubstantial portions of dynamic content is actually fixed. The JSP technology allow for the natural manipulation of this data.

Addition of Dynamic DataThe JSP technology allows the addition of dynamic data to the template data in a way that is simple yet powerful.

Encapsulation of FunctionalityThe JSP technology provides two related mechanisms for the encapsulation of functionality: the standard Java Beans component architecture and the tag library mechanism.

Good Tool Support

The JSP technology has features that enable the creation of good authoring tools. The result is a flexible and powerful server-side technology.Benefits of the Java Server Pages TechnologyThe Java Server Pages technology offers a number of benefits:Write Once, Run Anywhere propertiesThe Java Server Pages technology is platform independent, both in its dynamic Web pages, Web servers, and its underlying server components. You can author JSP pages on any platform, run them on any Web server or Web enabled application server, and access them from any Web browser. High quality tool supportThe Write Once, Run Anywhere properties of JSP allows the user to choose best-of-breed tools. Additionally, an explicit goal of the Java Server Pages design is to enable the creation of high quality portable tools.

Separation of RolesJSP supports the separation of roles: developers write components that interact with server-side objects.

Reuse of components and tag librariesThe Java Server Pages technology emphasizes the use of reusable components such as Java Beans components, Enterprise Java Beans components and tag libraries.

Separation of dynamic and static contentThe Java Server Pages technology enables the separation of static content from dynamic content that is inserted into the static template.

Support for scripting and actionsThe Java Server Pages technology supports scripting elements as well as actions. Actions permit the encapsulation of useful functionality in a convenient form that can also be manipulated by tools; scripts provide a mechanism to glue together this functionality in a per-page manner.

Web access layer for N-tier enterprise application architecture(s)The Java Server Pages technology is an integral part of the Java 2 Platform Enterprise Edition (J2EE), which brings Java technology to enterprise computing.

Following diagram shows the position of JSP container and JSP files in a Web Application.

JSP Processing:The following steps explain how the web server creates the web page using JSP: As with a normal page, your browser sends an HTTP request to the web server. The web server recognizes that the HTTP request is for a JSP page and forwards it to a JSP engine. This is done by using the URL or JSP page which ends with.jspinstead of .html. The JSP engine loads the JSP page from disk and converts it into a servlet content. This conversion is very simple in which all template text is converted to println( ) statements and all JSP elements are converted to Java code that implements the corresponding dynamic behavior of the page. The JSP engine compiles the servlet into an executable class and forwards the original request to a servlet engine. A part of the web server called the servlet engine loads the Servlet class and executes it. During execution, the servlet produces an output in HTML format, which the servlet engine passes to the web server inside an HTTP response. The web server forwards the HTTP response to your browser in terms of static HTML content. Finally web browser handles the dynamically generated HTML page inside the HTTP response exactly as if it were a static page.All the above mentioned steps can be shown below in the following diagram:

5.5 An Overview of Servlets.

What is a ServletA servlet is a web component, managed by a container that generates dynamic content. Servlets are small, platform independent Java classes compiled to an architecture neutral byte code that can be loaded dynamically into and run by a web server. Servlets interact with web clients via a request response paradigm implemented by the servlet container. This request-response model is based on the behavior of the Hypertext Transfer Protocol (HTTP).

What is a Servlet Container

The servlet container, in conjunction with a web server or application server, provides the network services over which requests and responses are set, decodes MIME based requests, and formats MIME based responses. A servlet container also contains and manages servlets through their lifecycle. A servlet container can either be built into a host web server or installed as an add-on component to a Web Server via that servers native extension API. Servlet Containers can also be built into or possibly installed into web-enabled Application Servers. All servlet containers must support HTTP as a protocol for requests and responses, but may also support other request / response based protocols such as HTTPS (HTTP over SSL). The minimum required version of the HTTP specification that a container must implement is HTTP/1.0. It is strongly suggested that containers implement the HTTP/1.1 specification as well.

A Servlet Container may place security restrictions on the environment that a servlet can executed In a Java 2 Platform Standard Edition 1.2 (J2SE) or Java 2 Platform Enterprise Edition 1.3 (J2EE) environment, these restrictions should be placed using the permission architecture defined by Java 2 Platform. For example, high end application servers may limit certain action, such as the creation of a Thread object, to insure that other components of the container are not negatively impacted.

5.6 An Overview of JDBC

JDBCis a Java database connectivity technology (Java Standard Edition platform) fromOracle Corporation. This technology is an APIfor theJava programming languagethat defines how a client may access adatabase. It provides methods for querying and updating data in a database. JDBC is oriented towardsrelational databases. A JDBC-to-ODBCbridge enables connections to any ODBC-accessible data source in theJVMhost environment.

FunctionalityJDBC allows multiple implementations to exist and be used by the same application. The API provides a mechanism for dynamically loading the correct Java packages and registering them with the JDBC Driver Manager. The Driver Manager is used as a connection factory for creating JDBC connections.JDBC connections support creating and executing statements. These may be update statements such as SQL's CREATE, INSERT, UPDATE and DELETE, or they may be query statements such as SELECT. Additionally, stored procedures may be invoked through a JDBC connection. JDBC represents statements using one of the following classes: Statement the statement is sent to the database server each and every time. PreparedStatement the statement is cached and then theexecution pathis pre-determined on the database server allowing it to be executed multiple times in an efficient manner. CallableStatement used for executingstored procedureson the database.Update statements such as INSERT, UPDATE and DELETE return an update count that indicates how manyrowswere affected in the database. These statements do not return any other information.Query statements return a JDBC row result set. The row result set is used to walk over theresult set. Individualcolumnsin a row are retrieved either by name or by column number. There may be any number of rows in the result set. The row result set has metadata that describes the names of the columns and their types.There is an extension to the basic JDBC API in thejavax.sql.JDBC connections are often managed via aconnection poolrather than obtained directly from the driver. Examples of connection pools includeBoneCP,C3P0andDBCP

JDBC DriversJDBC drivers are client-sideadapters(installed on the client machine, not on the server) that convert requests from Java programs to a protocol that the DBMS can understand.

TypesThere are commercial and free drivers available for most relational database servers. These drivers fall into one of the following types: Type 1that calls native code of the locally available ODBC driver. Type 2that calls database vendor native library on a client side. This code then talks to database over network. Type 3, the pure-java driver that talks with the server-side middleware that then talks to database. Type 4, the pure-java driver that uses database native protocol.There is also a type calledinternal JDBC driver, driver embedded with JRE in Java-enabled SQL databases. It is used forJava stored procedures. This does not belong to the above classification, although it would likely be either a type 2 or type 4 driver (depending on whether the database itself is implemented in Java or not). An example of this is the KPRB driver supplied with Oracle RDBMS. "jdbc:default:connection" is a relatively standard way of referring making such a connection (at least Oracle andApache Derbysupport it). The distinction here is that the JDBC client is actually running as part of the database being accessed, so access can be made directly rather than through network protocols.

5.7 An Overview of WebLogic Server 8.1WebLogic Server provides essential features for developing and deploying mission-critical e-commerce applications across distributed, heterogeneous computing environments. These features include the following: Standards leadershipComprehensive enterprise Java support to ease the implementation and deployment of application components. WebLogic Server is the first independently developed Java application server to achieve J2EE certification. In addition, BEA actively participates in the development of J2EE and Web Services standards that drive innovation and advancement in Java and XML technology. Rich client optionsWebLogic Server supports Web browsers and other clients that use HTTP; Java clients that use RMI (Remote Method Invocation) or IIOP (Internet Inter-ORB Protocol); SOAP clients on any SOAP-enabled platform; and mobile devices that use (WAP) Wireless Access Protocol. Connectors from BEA and other companies enable virtually any client or legacy application to work with a WebLogic Server application. Flexible Web servicesWebLogic Server provides a solid platform for deploying Web services as components of a heterogeneous distributed application. Web services use a cross-platform, cross-language data model (XML) to provide interoperability among application components on diverse hardware and software platforms. Web services support user-defined data types and one-way asynchronous operations. A Web service can intercept SOAP messages for further processing. New Ant tasks automatically generate important components and package the service into a deployable EAR file. WebLogic Server uses Web Services Description Language (WSDL) 1.1, an XML-based specification, to describe Web services. WebLogic Web services support Simple Object Access Protocol (SOAP) 1.1 and 1.2 as the message format and HTTP as a connection protocol.Note: WebLogic Web services accept both SOAP 1.1 and 1.2 incoming requests, but produce only SOAP 1.1 outgoing responses. Enterprise e-business scalabilityEfficient use and high availability of critical resources are achieved through Enterprise JavaBean business components and mechanisms such as WebLogic Server clustering for dynamic Web pages, backend resource pooling, and connection sharing. Robust administrationWebLogic Server offers a Web-based Administration Console for configuring and monitoring WebLogic Server services. A command-line interface for configuration makes it convenient to administer WebLogic Servers with scripts. E-commerce-ready securityWebLogic Server provides Secure Sockets Layer (SSL) support for encrypting data transmitted across WebLogic Server, clients, and other servers. User authentication and authorization for all WebLogic Server services are provided through roles and security providers. External security stores, such as Lightweight Directory Access Protocol (LDAP) servers, can still be adapted to WebLogic realms, enabling single sign-on for the enterprise. The Security Service Provider Interface makes it possible to extend WebLogic Security services and to implement WebLogic Security features in applications. Maximum development and deployment flexibility WebLogic Server provides tight integration with and support for leading databases, development tools, and other environments. Bi-directional functional interoperability between Java/J2EE objects and Microsoft ActiveX componentsBEA WebLogic jCOM provides a run-time component that implements both Component Object Model (COM)/Distributed Component Object Model (DCOM) and Remote Method Invocation (RMI) distributed components infrastructures. This makes the objects look like native objects for each environment. Java Message Service (JMS)An enterprise messaging system, also referred to as message-oriented middleware (MOM), enables applications to communicate with one another through the exchange of messages. A message is a request, report, and/or event that contains information needed to coordinate communication between different applications. A message provides a level of abstraction, allowing you to separate the details about the destination system from the application code. The Java Message Service (JMS) is a standard API for accessing enterprise-messaging systems. Specifically, JMS enables Java applications sharing a messaging system to exchange messages, and it simplifies application development by providing a standard interface for creating, sending, and receiving messages.

6. Sample CodeCategory Details:package Health;import java.sql.*;public class CategoryDetails {public String errStr;public Stringpid;public Stringpname;public Stringproblem;public String type;public String fee;public String concession;public void setPid(String str){pid=str;}public void setPname(String str){pname=str;}public void setProblem(String str){problem=str;}public void setType(String str){type=str;} public void setFee(String str){fee=str;} public void setConcession(String str){concession=str;}public void SetErrStr(String str){errStr=str;}public String getErrStr(){return errStr;} public boolean categoryDetails(){ try { if(pid==null || pname==null || problem==null || type==null || fee==null || concession==null ) throw new NullValueException("All Values Are Mandatory. Empty Values are Not Allowed"); else { Connection con=Settings.getConnection(); java.text.SimpleDateFormat fmt=new java.text.SimpleDateFormat("dd-MMM-yyyy"); String setdate=fmt.format(new java.util.Date()); PreparedStatement pst=con.prepareStatement("insert into Category values(?,?,?,?,?,?,?)"); pst.setString(1,pid); pst.setString(2,pname); pst.setString(3,problem); pst.setString(4,type); pst.setInt(5,Integer.parseInt(fee)); pst.setInt(6,Integer.parseInt(concession)); pst.setString(7,setdate); int result=pst.executeUpdate(); errStr="The operation was completed successfully";return true;}}catch(Exception e){errStr=e.toString();}return false;}}

CertificateDetails:package Health;import java.sql.*;public class CertificateDetails {public String errStr;public Stringpid;public Stringdid; public Stringmfit;public Stringbdate;public Stringddate;public void setPid(String str){pid=str;}public void setDid(String str){did=str;} public void setMfit(String str){mfit=str;} public void setBdate(String str){bdate=str;} public void setDdate(String str){ddate=str;}public void SetErrStr(String str){errStr=str;}public String getErrStr(){return errStr;}public boolean certificateDetails(){try { if(pid==null || did==null || mfit==null || bdate==null || ddate==null ) throw new NullValueException("All Values Are Mandatory. Empty Values are Not Allowed"); else { Connection con=Settings.getConnection(); java.text.SimpleDateFormat fmt=new java.text.SimpleDateFormat("dd-MMM-yyyy"); String setdate=fmt.format(new java.util.Date()); PreparedStatement pst=con.prepareStatement("insert into Certificates_Details values(?,?,?,?,?,?)"); pst.setString(1,pid); pst.setString(2,did); pst.setString(3,mfit); pst.setString(4,bdate); pst.setString(5,ddate); pst.setString(6,setdate); int result=pst.executeUpdate(); errStr="The operation was completed successfully";return true;}}catch(Exception e){errStr=e.toString();}return false;}}

Consultation:package Health;import java.sql.*;public class Consultation {public String errStr;public Stringid;public Stringphistory; public Stringfhistory;public Stringpexam;public Stringdietexer;public Stringdiagnostics;public Stringmedidet;public void setid(String str){id=str;}public void setPhistory(String str){phistory=str;} public void setFhistory(String str){fhistory=str;} public void setPexam(String str){pexam=str;} public void setDietexer(String str){dietexer=str;}public void setDiagnostics(String str){diagnostics=str;}public void setMedidet(String str){medidet=str;}public String getId() {return id;}public String getPhistory(){return phistory;}public String getFhistory(){return fhistory;} public String getPexam() {return pexam;}public String getDietexer() {return dietexer;} public String getDiagnostics() {return diagnostics;}public String getMedidet() {return medidet;}public void SetErrStr(String str){errStr=str;}public String getErrStr(){return errStr;}public boolean consultStatus(){try { if(id==null || phistory==null || fhistory==null || pexam==null || dietexer==null || diagnostics==null || medidet==null ) throw new NullValueException("All Values Are Mandatory. Empty Values are Not Allowed"); else { Connection con=Settings.getConnection(); java.text.SimpleDateFormat fmt=new java.text.SimpleDateFormat("dd-MMM-yyyy"); String setdate=fmt.format(new java.util.Date()); PreparedStatement pst=con.prepareStatement("insert into medical_history values(?,?,?,?,?,?,?,?)"); pst.setString(1,id); pst.setString(2,phistory); pst.setString(3,fhistory); pst.setString(4,pexam); pst.setString(5,dietexer); pst.setString(6,diagnostics); pst.setString(7,medidet); pst.setString(8,setdate); int result=pst.executeUpdate();errStr="The operation was completed successfully";return true;}}catch(Exception e){errStr=e.toString();}return false;}}

DiagnosticDetails:package Health;import java.sql.*;public class DiagnosticDetails {public String errStr;public Stringdname;public Stringdgid; public Stringreport;public Stringddate;public Stringdid;public Stringpid;public void setDname(String str){dname=str;}public void setDgid(String str){dgid=str;} public void setReport(String str){report=str;} public void setDdate(String str){ddate=str;} public void setDid(String str){did=str;}public void setPid(String str){pid=str;}public void SetErrStr(String str){errStr=str;}public String getErrStr(){return errStr;}public boolean diagnosticDetails(){try { if(dname==null || dgid==null || report==null || ddate==null || did==null || pid==null ) throw new NullValueException("All Values Are Mandatory. Empty Values are Not Allowed"); else if(dgid.trim().length()!=5) throw new NullValueException("Sorry! Diagnostic Id Must Be Not More Than and Less than 5 digits Length"); else { Connection con=Settings.getConnection(); Statement st=con.createStatement(); String cmd="select * from Diagnostics where p_id='"+pid+"'"; ResultSet rs=st.executeQuery(cmd); if(rs.next()) throw new NullValueException("Sorry ! Patient Id Already Exists. Please Choose Another Patient For Diagnostic Details"); else{ java.text.SimpleDateFormat fmt=new java.text.SimpleDateFormat("dd-MMM-yyyy"); String setdate=fmt.format(new java.util.Date()); PreparedStatement pst=con.prepareStatement("insert into Diagnostics values(?,?,?,?,?,?,?)"); pst.setString(1,dname); pst.setString(2,"Dg"+dgid); pst.setString(3,report); pst.setString(4,ddate); pst.setString(5,did); pst.setString(6,pid); pst.setString(7,setdate); int result=pst.executeUpdate(); errStr="The operation was completed successfully";return true;}}}catch(Exception e){errStr=e.toString();}return false;}}DoctorSchedule:package Health;import java.sql.*;public class DoctorSchedule {public String errStr;public Stringdid;public Stringpid;public Stringstime;public String appoint;public void setDid(String str){did=str;}public void setPid(String str){pid=str;}public void setStime(String str){stime=str;}public void setAppoint(String str){appoint=str;}public void SetErrStr(String str){errStr=str;}public String getErrStr(){return errStr;} public boolean doctorSchedule(){ try { if(did==null || pid==null || stime==null || appoint==null ) throw new NullValueException("All Values Are Mandatory. Empty Values are Not Allowed"); else { Connection con=Settings.getConnection(); java.text.SimpleDateFormat fmt=new java.text.SimpleDateFormat("dd-MMM-yyyy"); String setdate=fmt.format(new java.util.Date()); PreparedStatement pst=con.prepareStatement("insert into Doctor_Schedule values(?,?,?,?,?)"); pst.setString(1,did); pst.setString(2,pid); pst.setString(3,stime); pst.setString(4,appoint); pst.setString(5,setdate); int result=pst.executeUpdate(); errStr="The operation was completed successfully";return true;}}catch(Exception e){errStr=e.toString();}return false;}}

InsertDocter:package Health;import java.sql.*;public class InsertDoctor {public String errStr;public Stringid;public Stringname;public Stringsystem;public Stringaddress;public void setId(String str){id=str;}public void setName(String str){name=str;}public void setSystem(String str){system=str;}public void setAddress(String str){address=str;}public void SetErrStr(String str){errStr=str;}public String getErrStr(){return errStr;}class NullValueException extends Exception {String warn; NullValueException(String msg) { warn=msg;} public String toString() { return "["+warn+"]";} }public boolean insertDoctor(){try { if(id==null || name==null || system==null || address==null) throw new NullValueException("All Values Are Mandatory. Empty Values are Not Allowed"); else if(id.trim().length()!=5) throw new NullValueException("Sorry! Id Must Be Not More Than and Less than 5 digits Length"); else { Connection con=Settings.getConnection(); java.text.SimpleDateFormat fmt=new java.text.SimpleDateFormat("