CHAPTER 4: ARCHITECTURE AND SYSTEM DESIGN OF PROPOSED EXPERT SYSTEM: ESOA

Size: px
Start display at page:

Download "CHAPTER 4: ARCHITECTURE AND SYSTEM DESIGN OF PROPOSED EXPERT SYSTEM: ESOA"

Transcription

1 CHAPTER 4: ARCHITECTURE AND SYSTEM DESIGN OF PROPOSED EXPERT SYSTEM: ESOA Pages: From 49 to 64 This chapter presents the Architecture, frameworf^and system design of the we6-6ased expert system.

2 This chapter explains the architectural framework of the web based Expert System for Online Assessment (ESOA) of student learning. Since various types of learners are available in the ODL system, ESOA considers all the factors and constraints while conducting the assessment process. I have used a very popular expert system shell named JESS (Java Expert System Shell) in my research work. The system is designed in J2EE (Java 2 Enterprise Edition) environment using MVC (Model View Controller) paradigm. The system integrates an external relational database to store question dataset and academic/performance history of the students. The rule base of the system is designed in the form of XML files. 4.1 Rule Based System The designed expert system is a rule based system. An expert system shell is just the inference engine and other functional parts of an expert system with all the domain-specific knowledge removed. The working principles and the use of different expert system shells are discussed in Chapter 7. Most modern rule engines can be seen as more or less specialized expert system shells, with features to support operation in specific environments or programming in specific domains. A typical rule engine contains: (a) An inference engine (b) A rule base (c) A working memory The inference engine, in turn, consists of: (a) A pattern matcher Page 49

3 Chapter 4: Architecture and System Design of Proposed Expert System: ESOA (b) An agenda (c) An execution engine The above components are shown schematically in the figure 4.1 Figure 4.1: The architecture of a typical rule-based system The inference engine The primary function of a rule engine is to apply rules to data. Thus the inference engine is the core part of a rule engine.the inference engine controls the whole process of applying the rules to the working memory Page 50

4 to obtain the required outputs of the system. The inference engine works in some discrete cycles which can be explained as: (a) With the help of the pattern matcher, the rules are compared to working memory to decide which ones should be activated during this cycle. This unordered list of activated rules, together with any other rules activated in previous cycles, is called the conflict set. (b) Then the conflict set is ordered to form the agenda. The process of ordering the agenda is called conflict resolution. The conflict resolution strategy for a given rule engine will depend on many factors, only some of which will be under the programmer's control. Then the rules in the agenda are fired to complete the cycle The pattern matcher The function of the pattern matcher is to decide which rules to apply, given the current contents of the working memory. In general, this is a hard problem. If the working memory contains thousands of facts, and each rule has two or three premises, the pattern matcher might need to search through millions of combinations of facts to find those combinations that satisfy rules. Fortunately, a lot of researches have been done in this area, and very efficient ways of approaching the problem have been found. Still, for most rule-based programs, pattern matching is the most expensive part of the process. Beginning rule programmers often overlook this fact, expecting the procedural righthand sides of their rules to represent all the computational effort in their program. Often the pattern matching technique used by a particular rule engine will affect the kinds of rules we write for that Page 51

5 engine, either by limiting the possibilities or by encouraging us to write rules that would be particularly efficient The agenda Once the inference engine records out which rules should be fired, it still must decide which rule to fire first. The list of rules that could possibly fire is stored on the agenda. The agenda is responsible for using the conflict strategy to decide which of the rules, out of all those that apply, have the highest priority and should be fired first. Again, this is potentially a hard problem, and each rule engine has its own approach. Commonly, the conflict strategy might take into account the specificity or complexity of each rule and the relative age of the premises in the working memory. Rules may also have specific priorities attached to them, so that certain rules are more important and always fire first The execution engine Finally, once the rule engine decides what rule to fire, it has to execute that rule's action part. The execution engine is the component of a rule engine that fires the rules. In a classical production system, rules could do nothing but add, remove, and modify facts in the working memory. But in modern rule engines, firing a rule can have a wide range of effects. Some modern rule engines (like Jess) offer a complete programming language which we can use to define what happens when a given rule fires. The execution engine then represents the environment in which this programming language executes. For some Page 52

6 systems, the execution engine is a language interpreter; for others, it is a dispatcher that invokes compiled code The rule base The rule base contains all the rules of the system. The rules can be stored as strings of text, but most often a rule compiler processes them into some form that the inference engine can work with more efficiently. In addition, the rule compiler may add or rearrange the premises or conclusions of a rule, either to make it more efficient or to clarify its meaning for automatic execution. Depending on the particular rule engine, these changes may be invisible to the programmer. Some rule engines allow (or require) to store the rule base in an external relational database/text files or XML files and others have an integrated rule base. Storing rules in a relational database allows us to select rules to be included in a system based on criteria like date, time, and user access rights. JESS is a rule engine that supports this feature The working memory In a typical rule engine, the working memory, sometimes called the fact base, contains all the pieces of information the rule-based system is working with. The working memory can hold both the premises and the conclusions of the rules. Typically, the rule engine maintains one or more indexes, similar to those used in relational databases, to make searching operation in the working memory very fast. It's up to the designer of the rule engine to decide what kinds of things can be stored in working memory. Some working memories can hold

7 Chapter 4: Architecture and System Design of Proposed Expert System: ESOA only objects of a specific type, and others can include, for example, Java objects. 4.2 Web Based Expert System Architecture In chapter 2, we have reviewed the advantages and challenges of Web Based Expert Systems (WBES). WBES architectures may be characterized according to where the application knowledge base resides. Applications of both client and server-sided WBES architectures appear in the literature. There are three types of WBES architecture. Figure 4.2 shows a typical client-sided architecture where the web page comes with embedded expert system (ES) application code, that is, the knowledge base and any associated code for handling supported queries. This requires the client to have a suitable interpreter for the ES language used. In possession of both application code and interpreter, the client is able to handle user queries withoutfurther reference to the server. This is a fatclient thin-server WBES architecture. Server HTMLffleswIth embedded ES application code URL Request k-- Web Page Client ES Language Interpreter Figure 4.2: Client-sided WBES architecture. Page 54

8 Chapter 4: Architecture and System Design of Proposed Expert System: ESOA Figure 4.3 shows a typical server-sided architecture where both ES application code and interpreter reside at the server. The client must refer to the server in order to handle user queries. Figure 4.3: Server-sided WBES architecture. The server-sided approach has the benefit of being able to guarantee service regardless of whether or not the client browser has the necessary software enabling it to process the ES application code. However, the quality of service may be compromised by network load and latency problems. The client-sided processing approach is not effected by network issues (once the web page is loaded) but requires specialized software at the client, which may restrict the range of browsers and devices able to receive the service. This is a fat-server thin-client WBES architecture. The most commonly used technique to develop WBESs is to use Java Expert System Shell (JESS), which interprets a CLIPS-like language and utilizes the Rete inference algorithm. Applications are server-sided, requiring Java servlets and the Tomcat Servlet Engine. A more general Page 55

9 Chapter 4: Architecture and System Design of Proposed Expert System: ESOA server-sided technique is simply to use Common Gateway Interface (CGI) programs to deliver HTML form data to an expert system (with the ES application knowledge base and inference engine) residing at the server and send the response in HTML back to the client's browser. This more general depiction of the server-side approach is illustrated in Figure 4.4. Figure 4.4: Server-sided WBES architecture with CGI The CGI program can message the form data into an appropriate query to the ES as well as convert the response into a convenient form for viewing by the user in the client browser. In a JESS implementation, this is the job of the servlet. This WBES is also a fat-server thin-client architecture and in the design of ESOA, we have used this architecture. 4.3 Design & Methodologyof ESOA The development of most expert systems (Web based or not) embodies a number of challenges that must be surmounted like: domain expert's detection and persuasion for collaboration, knowledge acquisition and knowledge representation, programming, validation, verification etc. Page 56

10 Additionally, when it comes for Web based expert systems, the extra challenges that must be surmounted are related to design construction and maintain a fairly large and possibly complex Web site/application, which includes the expert system (Dokas, 2005). In the design & development of a Web based Expert system, the web engineering approach should be used. The proposed system named ESOA, uses JSP and Servlet technology along with JESS. The whole system is designed in MVC Paradigm. 4.4 MVC Paradigm MVC' is an architectural pattern used in software engineering. The pattern isolates "domain logic" (the application logic for the user) from input and presentation (GUI), permitting independent development, maintenance and testing of each. The Model: The M in MVC refers to the data object model. The View: The view is responsible for presentation issues. It handles how the client will see the application. The Control: The control part of the paradigm deals with the business logic of the application. It handles how and when a client interacting with the view is able to access the model (McGovern at el., 2004) The Figure 4.5 shows how the three different logical functional blocks work together: Page 57

11 Figure 4.5: MVC Architecture 4.5 J2EE Framework: The J2EE platform specifies the logical application components within a system and defines the roles played in the development process. J2EE, introduced in 1998, defines a multi-tier architecture for enterprise information systems (EIS). By defining the way in which multi-tier applications should be developed, J2EE reduces the costs, in both time and money, of developing large-scale enterprise systems (McGovern et al.) Four application components are defined within the J2EE platform. They are as follows: Application clients (Standalone Java clients): Clients are generally stand-alone applications written in Java. They run within a virtual machine and can use the J2EE standard services to access components located within another tier. Page 58

12 Applets (Java code which executes within a browser): Applets are similar to application clients, but execute within a Web browser. Initially applets garnered extensive attention, as they were seen as a means of making Web pages more dynamic. Web components (JSPs, Servlets): Web components are serverside components, generally used to provide the presentation layer to be returned to a client. Two types of Web components exist: Java Server Pages (JSPs) and Java servlets. Server components (EJBs, J2EE API implementations): Server components come in the form of Enterprise JavaBeans (EJBs). EJBs execute within a container that manages the runtime behaviour of the EJB. EJBs are usually where the business logic for an enterprise system resides. J2EE architecture maps onto the MVC nicely. Typically, entity beans are used to provide the model logic, while a mix of entity beans and session beans are used to provide the control logic, and web components are used to implement both control and presentation logic. In practice, however, the separation of the three types of logic is not as distinct, and additional patterns are often needed to support the development cycle. 4.6 Java Expert System Shell (JESS) JESS stands for Java Expert System Shell. It is a rule engine and scripting environment written by Ernest Friedman-Hill in Java language at Sandia National Laboratories, Livermore, Canada. JESS is not an open source product but it is free for academic/research use worldwide. It is written in Java and supports Java APIs.

13 A program written in JESS may consist of rules, facts and objects. The inference engine decides which rules should be executed and when. A rule based expert system written in JESS is a data-driven program where the facts, and objects if desired, are the data that stimulate execution via the inference engine. (Menken, 2002) JESS provides support for the modular development and execution of knowledge bases with the defmodule construct. JESS modules allow a set of constructs to be grouped together such that explicit control can be maintained over restricting the access of the constructs by other modules. (Menken, 2002) Besides helping us to manage large numbers of rules, modules also provide a control mechanism: the rules in a module will fire only when that module has the focus, and only one module can be in focus at a time. (Menken, 2002). The details of JESS is explained in Chapter 7. For a rule-based expert system, facts and rules are mandatory to make decisions/inferences/results. In ESOA, facts and rules are generated dynamically according to the student's parameters and subject/paper about which the assessment will be conducted. In JESS, facts can be stored in the working memory in three forms: (a) ordered facts (b) unordered facts and (c) shadow facts. Our proposed system uses shadow facts. Shadow facts are just unordered facts that serve as "bridges" to Java objects. Shadow facts are useful as because using this Java objects can be put into the working memory of JESS. The facts for our system will be of two types: (a) student academic/performance history (student facts), (b) questions tagged Page 60

14 with different levels of toughness (question facts). All these facts are stored in MySQL database. The main reason for not storing the facts directly into the working memory of JESS is that if we do so, the facts will be static for the system. Using JSP and Servlet technology, we will integrate MySql database with JESS and generate some dynamic facts and load into the working memory of JESS. Here JavaBeans are used to implement the shadow facts. A Jess rule is something like an "if... then" statement in a procedural language, but it is not used in a procedural way. While "if... then" statements are executed at a specific time and in a specific order, according to how the programmer writes them, Jess rules are executed whenever their if parts (their left-hand-sides or LHSs) are satisfied, given only that the rule engine is running. This makes Jess rules less deterministic than a typical procedural program. In our system, the rule data are stored externally in XML files. Rules can be generated dynamically from XML files and loaded into the rule base of JESS. 4.7 Architecture of ESOA The ESOA architecture includes mainly five components: Apache Web Server: listens for web page request. «Tomcat Servlet Engine: serves dynamically generated web page using JSP and Servlet technology.

15 Chapter 4: Architecture and System Design of Proposed Expert System: ESOA MySQL Database: stores the student information and the question bank of various courses. XML: files for external Rule Base. JESS Engine: for online assessment. ESOA Figure 4.6: Architecture of ESOA Working Principle of ESOA: When the online assessment for a particular subject/paper of a programme is needed to start, the administrator will log-in through web-browser. The administrator will then request to start the pre-assessment processes with required/related inputs through web-browser. The servlet will handle the request and sends it to JSP which inturn instantiates JavaBeans for retrieving question fact data from Page 62

16 MySQL and rules from XML files and then passes them to JESS Engine. JESS Engine then loads the question facts, rules into its working memory, rule base and informs the administrator.» A student will have to log-in and request for the online assessment on the particular subject/paper of a programme through web-browser. The servlet again will handle the request and sends it to JSP which in-turn instantiates JavaBeans for retrieving student fact data and passes to JESS Engine. JESS Engine then loads the student facts into its working memory and rules into its rule base/knowledge base.» The JESS Engine then generates questions for the student based on the student academic/performance history and instantiate JavaBean to store this question set with the student identification information into MySQL database and frees memory, held by the generated question set, from the working memory. The JESS Engine then call JSP to view the question set to the student to answer and keep track of his/her answers. When the student completed his/her examination, JSP will instantiate JavaBean to load the question set given to the student and his/her respective answers from MySQL database to working memory of the JESS Engine and tells the JESS Engine to processes the assessment result. - The JESS Engine, after processing the assessment result, generates some feedbacks and instantiate JavaBean to store the Page 63

17 student's performance/given feedbacks into the MySQL database and send the result/feedbacks to JSP for the student to view. - The JESS Engine then frees the memory held by the student academic/performance history from its working memory. Pa^e 64

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1 Umair Javed 2004 J2EE Based Distributed Application Architecture Overview Lecture - 2 Distributed Software Systems Development Why J2EE? Vision of J2EE An open standard Umbrella for anything Java-related

More information

A web application serving queries on renewable energy sources and energy management topics database, built on JSP technology

A web application serving queries on renewable energy sources and energy management topics database, built on JSP technology International Workshop on Energy Performance and Environmental 1 A web application serving queries on renewable energy sources and energy management topics database, built on JSP technology P.N. Christias

More information

Ch04 JavaServer Pages (JSP)

Ch04 JavaServer Pages (JSP) Ch04 JavaServer Pages (JSP) Introduce concepts of JSP Web components Compare JSP with Servlets Discuss JSP syntax, EL (expression language) Discuss the integrations with JSP Discuss the Standard Tag Library,

More information

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java COURSE DETAILS: CORE AND ADVANCE JAVA Core Java 1. Object Oriented Concept Object Oriented Programming & its Concepts Classes and Objects Aggregation and Composition Static and Dynamic Binding Abstract

More information

Distributed Multitiered Application

Distributed Multitiered Application Distributed Multitiered Application Java EE platform uses a distributed multitiered application model for enterprise applications. Logic is divided into components https://docs.oracle.com/javaee/7/tutorial/overview004.htm

More information

Introduction To Web Architecture

Introduction To Web Architecture Introduction To Web Architecture 1 Session Plan Topic Estimated Duration Distributed computing 20 min Overview of Sun Microsoft Architecture 15 min Overview of Microsoft Architecture 15 min Summary 15

More information

2005, Cornell University

2005, Cornell University Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson bh79@cornell.edu Agenda Kuali Application Architecture CATS Case Study CATS Demo CATS Source

More information

Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation

Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation Developing Java TM 2 Platform, Enterprise Edition (J2EE TM ) Compatible Applications Roles-based Training for Rapid Implementation By the Sun Educational Services Java Technology Team January, 2001 Copyright

More information

J2EE Interview Questions

J2EE Interview Questions 1) What is J2EE? J2EE Interview Questions J2EE is an environment for developing and deploying enterprise applications. The J2EE platform consists of a set of services, application programming interfaces

More information

In the most general sense, a server is a program that provides information

In the most general sense, a server is a program that provides information d524720 Ch01.qxd 5/20/03 8:37 AM Page 9 Chapter 1 Introducing Application Servers In This Chapter Understanding the role of application servers Meeting the J2EE family of technologies Outlining the major

More information

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers 1. Introduction Applications are developed to support their business operations. They take data as input; process the data based on business rules and provides data or information as output. Based on this,

More information

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format. J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using

More information

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Enterprise Java Introduction Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Course Description This course focuses on developing

More information

Chapter 10 Web-based Information Systems

Chapter 10 Web-based Information Systems Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial

More information

112. Introduction to JSP

112. Introduction to JSP 112. Introduction to JSP Version 2.0.2 This two-day module introduces JavaServer Pages, or JSP, which is the standard means of authoring dynamic content for Web applications under the Java Enterprise platform.

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

More information

112-WL. Introduction to JSP with WebLogic

112-WL. Introduction to JSP with WebLogic Version 10.3.0 This two-day module introduces JavaServer Pages, or JSP, which is the standard means of authoring dynamic content for Web applications under the Java Enterprise platform. The module begins

More information

FINALTERM EXAMINATION Spring 2009 CS506- Web Design and Development Solved by Tahseen Anwar

FINALTERM EXAMINATION Spring 2009 CS506- Web Design and Development Solved by Tahseen Anwar FINALTERM EXAMINATION Spring 2009 CS506- Web Design and Development Solved by Tahseen Anwar www.vuhelp.pk Solved MCQs with reference. inshallah you will found it 100% correct solution. Time: 120 min Marks:

More information

CS506 Web Design & Development Final Term Solved MCQs with Reference

CS506 Web Design & Development Final Term Solved MCQs with Reference with Reference I am student in MCS (Virtual University of Pakistan). All the MCQs are solved by me. I followed the Moaaz pattern in Writing and Layout this document. Because many students are familiar

More information

About the Authors. Who Should Read This Book. How This Book Is Organized

About the Authors. Who Should Read This Book. How This Book Is Organized Acknowledgments p. XXIII About the Authors p. xxiv Introduction p. XXV Who Should Read This Book p. xxvii Volume 2 p. xxvii Distinctive Features p. xxviii How This Book Is Organized p. xxx Conventions

More information

Advanced Java Programming

Advanced Java Programming Advanced Java Programming Length: 4 days Description: This course presents several advanced topics of the Java programming language, including Servlets, Object Serialization and Enterprise JavaBeans. In

More information

Chapter 6 Enterprise Java Beans

Chapter 6 Enterprise Java Beans Chapter 6 Enterprise Java Beans Overview of the EJB Architecture and J2EE platform The new specification of Java EJB 2.1 was released by Sun Microsystems Inc. in 2002. The EJB technology is widely used

More information

Oracle 10g: Build J2EE Applications

Oracle 10g: Build J2EE Applications Oracle University Contact Us: (09) 5494 1551 Oracle 10g: Build J2EE Applications Duration: 5 Days What you will learn Leading companies are tackling the complexity of their application and IT environments

More information

Detector controls meets JEE on the web

Detector controls meets JEE on the web Detector controls meets JEE on the web ICALEPCS 2015 Frank Glege Outline Part 1: Web based Remote access to controls systems Part 2: JEE for controls 20.10.2015 Frank Glege 2 About CERN 20.10.2015 Frank

More information

Experiment No: Group B_2

Experiment No: Group B_2 Experiment No: Group B_2 R (2) N (5) Oral (3) Total (10) Dated Sign Problem Definition: A Web application for Concurrent implementation of ODD-EVEN SORT is to be designed using Real time Object Oriented

More information

Course Content for Java J2EE

Course Content for Java J2EE CORE JAVA Course Content for Java J2EE After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? PART-1 Basics & Core Components Features and History

More information

Development of E-Institute Management System Based on Integrated SSH Framework

Development of E-Institute Management System Based on Integrated SSH Framework Development of E-Institute Management System Based on Integrated SSH Framework ABSTRACT The J2EE platform is a multi-tiered framework that provides system level services to facilitate application development.

More information

Enterprise Java Unit 1- Chapter 3 Prof. Sujata Rizal Introduction to Servlets

Enterprise Java Unit 1- Chapter 3 Prof. Sujata Rizal Introduction to Servlets 1. Introduction How do the pages you're reading in your favorite Web browser show up there? When you log into your favorite Web site, how does the Web site know that you're you? And how do Web retailers

More information

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject

More information

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 26 Java Enterprise (Part D)

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 26 Java Enterprise (Part D) Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 26 Java Enterprise (Part D) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo J2EE Application

More information

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module Java Platform, Enterprise Edition 5 (Java EE 5) Core Java EE Java EE 5 Platform Overview Java EE Platform Distributed Multi tiered Applications Java EE Web & Business Components Java EE Containers services

More information

Application Servers in E-Commerce Applications

Application Servers in E-Commerce Applications Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand

More information

Module 3 Web Component

Module 3 Web Component Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session

More information

Implementing a Numerical Data Access Service

Implementing a Numerical Data Access Service Implementing a Numerical Data Access Service Andrew Cooke October 2008 Abstract This paper describes the implementation of a J2EE Web Server that presents numerical data, stored in a database, in various

More information

SSC - Web development Model-View-Controller for Java Servlet

SSC - Web development Model-View-Controller for Java Servlet SSC - Web development Model-View-Controller for Java Servlet Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics Java Server Pages (JSP) Model-View-Controller

More information

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. Preface p. xiii Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. 11 Creating the Deployment Descriptor p. 14 Deploying Servlets

More information

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

Java- EE Web Application Development with Enterprise JavaBeans and Web Services Java- EE Web Application Development with Enterprise JavaBeans and Web Services Duration:60 HOURS Price: INR 8000 SAVE NOW! INR 7000 until December 1, 2011 Students Will Learn How to write Session, Message-Driven

More information

One application has servlet context(s).

One application has servlet context(s). FINALTERM EXAMINATION Spring 2010 CS506- Web Design and Development DSN stands for. Domain System Name Data Source Name Database System Name Database Simple Name One application has servlet context(s).

More information

COWLEY COLLEGE & Area Vocational Technical School

COWLEY COLLEGE & Area Vocational Technical School COWLEY COLLEGE & Area Vocational Technical School COURSE PROCEDURE FOR ADVANCED JAVA PROGRAMMING CIS1870 3 Credit Hours Student Level: This course is open to students on the college level in either freshman

More information

GUJARAT TECHNOLOGICAL UNIVERSITY

GUJARAT TECHNOLOGICAL UNIVERSITY 1. Learning Objectives: To learn and work with the web components of Java EE. i.e. the Servlet specification. Student will be able to learn MVC architecture and develop dynamic web application using Java

More information

Enterprise Web based Software Architecture & Design

Enterprise Web based Software Architecture & Design IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark class discussions Enterprise Web based

More information

Using JNDI from J2EE components

Using JNDI from J2EE components Using JNDI from J2EE components Stand-alone Java program have to specify the location of the naming server when using JNDI private static InitialContext createinitialcontext() throws NamingException {

More information

Java EE Patterns 176

Java EE Patterns 176 Java EE Patterns 176 What are Java EE Patterns?! " A collection of Java EE based solutions to common problems! " Address reoccurring problems found in enterprise class systems! " Intended to meet quality

More information

Enterprise Java and Rational Rose -- Part I

Enterprise Java and Rational Rose -- Part I Enterprise Java and Rational Rose -- Part I by Khawar Ahmed Technical Marketing Engineer Rational Software Loïc Julien Software Engineer Rational Software "We believe that the Enterprise JavaBeans component

More information

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture Preface p. xix About the Author p. xxii Introduction p. xxiii Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: WSAD. J2EE business topologies. Workbench. Project. Workbench components. Java development tools. Java projects

More information

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions 1Z0-850 Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-850 Exam on Java SE 5 and 6, Certified Associate... 2 Oracle 1Z0-850 Certification Details:...

More information

Enterprise Software Architecture & Design

Enterprise Software Architecture & Design Enterprise Software Architecture & Design Characteristics Servers application server, web server, proxy servers etc. Clients heterogeneous users, business partners (B2B) scale large number of clients distributed

More information

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV INTRODUCTION TO Object Oriented Systems 1 CHAPTER 1 Introduction to Object Oriented Systems Preview of Object-orientation. Concept of distributed object systems, Reasons to distribute for centralized objects.

More information

Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture

Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture Objectives Look at common patterns for designing Web-based presentation layer behavior Model-View-Control

More information

index_ qxd 7/18/02 11:48 AM Page 259 Index

index_ qxd 7/18/02 11:48 AM Page 259 Index index_259-265.qxd 7/18/02 11:48 AM Page 259 Index acceptance testing, 222 activity definition, 249 key concept in RUP, 40 Actor artifact analysis and iterative development, 98 described, 97 136 in the

More information

PSD1B Advance Java Programming Unit : I-V. PSD1B- Advance Java Programming

PSD1B Advance Java Programming Unit : I-V. PSD1B- Advance Java Programming PSD1B Advance Java Programming Unit : I-V PSD1B- Advance Java Programming 1 UNIT I - SYLLABUS Servlets Client Vs Server Types of Servlets Life Cycle of Servlets Architecture Session Tracking Cookies JDBC

More information

VALLIAMMAI ENGINEERING COLLEGE

VALLIAMMAI ENGINEERING COLLEGE VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 0 0 DEPARTMENT OF COMPUTERAPPLICATIONS QUESTION BANK V SEMESTER MC70- Web Application Development Regulation 0 Academic Year 07 8 Prepared by Mr.M.AsanNainar,

More information

Web Application Architecture (based J2EE 1.4 Tutorial)

Web Application Architecture (based J2EE 1.4 Tutorial) Web Application Architecture (based J2EE 1.4 Tutorial) Dr. Kanda Runapongsa (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University 1 Agenda Web application, components and container

More information

Introduction to componentbased software development

Introduction to componentbased software development Introduction to componentbased software development Nick Duan 8/31/09 1 Overview What is a component? A brief history of component software What constitute the component technology? Components/Containers/Platforms

More information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently. Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise

More information

Components and Application Frameworks

Components and Application Frameworks CHAPTER 1 Components and Application Frameworks 1.1 INTRODUCTION Welcome, I would like to introduce myself, and discuss the explorations that I would like to take you on in this book. I am a software developer,

More information

Introduction. This course Software Architecture with Java will discuss the following topics:

Introduction. This course Software Architecture with Java will discuss the following topics: Introduction This course Software Architecture with Java will discuss the following topics: Java servlets Java Server Pages (JSP s) Java Beans JDBC, connections to RDBMS and SQL XML and XML translations

More information

Over All Idea about MVC: How to use Model- View-Controller (MVC)

Over All Idea about MVC: How to use Model- View-Controller (MVC) Over All Idea about MVC: How to use Model- View-Controller (MVC) Parth Jivani B. H. Gardividyapith Engg. &Tech. Chhaya Chopara B. H. Gardividyapith Engg. & Tech. Mehta Prashant B. H. Gardividyapith Engg.

More information

J2EE Technologies. Industrial Training

J2EE Technologies. Industrial Training COURSE SYLLABUS J2EE Technologies Industrial Training (4 MONTHS) PH : 0481 2411122, 09495112288 Marette Tower E-Mail : info@faithinfosys.com Near No. 1 Pvt. Bus Stand Vazhoor Road Changanacherry-01 www.faithinfosys.com

More information

(C) Global Journal of Engineering Science and Research Management

(C) Global Journal of Engineering Science and Research Management ANDROID BASED SECURED PHOTO IDENTIFICATION SYSTEM USING DIGITAL WATERMARKING Prof.Abhijeet A.Chincholkar *1, Ms.Najuka B.Todekar 2, Ms.Sunita V.Ghai 3 *1 M.E. Digital Electronics, JCOET Yavatmal, India.

More information

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition

CMP 436/774. Introduction to Java Enterprise Edition. Java Enterprise Edition CMP 436/774 Introduction to Java Enterprise Edition Fall 2013 Department of Mathematics and Computer Science Lehman College, CUNY 1 Java Enterprise Edition Developers today increasingly recognize the need

More information

Virtual Credit Card Processing System

Virtual Credit Card Processing System The ITB Journal Volume 3 Issue 2 Article 2 2002 Virtual Credit Card Processing System Geraldine Gray Karen Church Tony Ayres Follow this and additional works at: http://arrow.dit.ie/itbj Part of the E-Commerce

More information

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data

More information

Enterprise JavaBeans. Layer:01. Overview

Enterprise JavaBeans. Layer:01. Overview Enterprise JavaBeans Layer:01 Overview Agenda Course introduction & overview. Hardware & software configuration. Evolution of enterprise technology. J2EE framework & components. EJB framework & components.

More information

Developing a Mobile Web-based Application with Oracle9i Lite Web-to-Go

Developing a Mobile Web-based Application with Oracle9i Lite Web-to-Go Developing a Mobile Web-based Application with Oracle9i Lite Web-to-Go Christian Antognini Trivadis AG Zürich, Switzerland Introduction More and more companies need to provide their employees with full

More information

Introduction. Literature: Steelman & Murach, Murach s Java Servlets and JSP. Mike Murach & Associates Inc, 2003

Introduction. Literature: Steelman & Murach, Murach s Java Servlets and JSP. Mike Murach & Associates Inc, 2003 Introduction This course Software Architecture with Java will discuss the following topics: Java servlets Java Server Pages (JSP s) Java Beans JDBC, connections to RDBMS and SQL XML and XML translations

More information

JavaEE Interview Prep

JavaEE Interview Prep Java Database Connectivity 1. What is a JDBC driver? A JDBC driver is a Java program / Java API which allows the Java application to establish connection with the database and perform the database related

More information

ive JAVA EE C u r r i c u l u m

ive JAVA EE C u r r i c u l u m C u r r i c u l u m ive chnoworld Development Training Consultancy Collection Framework - The Collection Interface(List,Set,Sorted Set). - The Collection Classes. (ArrayList,Linked List,HashSet,TreeSet)

More information

Pervasive Web Application Architecture. History Scalability Availability Development Application Architecture

Pervasive Web Application Architecture. History Scalability Availability Development Application Architecture Pervasive Web Application Architecture History Scalability Availability Development Application Architecture It support multiple devices, such as PCs, WAP phones, PDAs and voice-only phones enables to

More information

(p t y) lt d. 1995/04149/07. Course List 2018

(p t y) lt d. 1995/04149/07. Course List 2018 JAVA Java Programming Java is one of the most popular programming languages in the world, and is used by thousands of companies. This course will teach you the fundamentals of the Java language, so that

More information

/ / JAVA TRAINING

/ / JAVA TRAINING www.tekclasses.com +91-8970005497/+91-7411642061 info@tekclasses.com / contact@tekclasses.com JAVA TRAINING If you are looking for JAVA Training, then Tek Classes is the right place to get the knowledge.

More information

SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc.

SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc. SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc. Abstract This paper provides a detailed analysis of creating static and dynamic web content using the

More information

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform Outline Introduction to Java Introduction Java 2 Platform CS 3300 Object-Oriented Concepts Introduction to Java 2 What Is Java? History Characteristics of Java History James Gosling at Sun Microsystems

More information

1Z Oracle. Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert

1Z Oracle. Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Oracle 1Z0-895 Java Platform Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-895 Answer: F QUESTION: 284 Given:

More information

Remote Health Service System based on Struts2 and Hibernate

Remote Health Service System based on Struts2 and Hibernate St. Cloud State University therepository at St. Cloud State Culminating Projects in Computer Science and Information Technology Department of Computer Science and Information Technology 5-2017 Remote Health

More information

Web-based File Upload and Download System

Web-based File Upload and Download System COMP4905 Honor Project Web-based File Upload and Download System Author: Yongmei Liu Student number: 100292721 Supervisor: Dr. Tony White 1 Abstract This project gives solutions of how to upload documents

More information

Designing a Distributed System

Designing a Distributed System Introduction Building distributed IT applications involves assembling distributed components and coordinating their behavior to achieve the desired functionality. Specifying, designing, building, and deploying

More information

TOP 50 JSP INTERVIEW QUESTIONS & ANSWERS - CAREER GURU99

TOP 50 JSP INTERVIEW QUESTIONS & ANSWERS - CAREER GURU99 PDF TOP 50 JSP INTERVIEW QUESTIONS & ANSWERS - CAREER GURU99 JSP INTERVIEW QUESTIONS - TUTORIALSPOINT 1 / 5 2 / 5 3 / 5 jsp questions and answers pdf JSP stands for Java Server Pages. It is a presentation

More information

Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions

Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions Chapter 1: Abstract The Proway System is a powerful complete system for Process and Testing Data Analysis in IC

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Deccansoft Software Services. J2EE Syllabus

Deccansoft Software Services. J2EE Syllabus Overview: Java is a language and J2EE is a platform which implements java language. J2EE standard for Java 2 Enterprise Edition. Core Java and advanced java are the standard editions of java whereas J2EE

More information

ICOM 5016 Database Systems. Database Users. User Interfaces and Tools. Chapter 8: Application Design and Development.

ICOM 5016 Database Systems. Database Users. User Interfaces and Tools. Chapter 8: Application Design and Development. Chapter 8: Application Design and Development ICOM 5016 Database Systems Web Application Amir H. Chinaei Department of Electrical and Computer Engineering University of Puerto Rico, Mayagüez User Interfaces

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Extending Web Applications with Business Logic: Introducing EJB Components...1 EJB Project type Wizards...2

More information

Exam Questions 1Z0-850

Exam Questions 1Z0-850 Exam Questions 1Z0-850 Java Standard Edition 5 and 6, Certified Associate Exam https://www.2passeasy.com/dumps/1z0-850/ 1. Which two are true? (Choose two.) A. J2EE runs on consumer and embedded devices.

More information

WAS: WebSphere Appl Server Admin Rel 6

WAS: WebSphere Appl Server Admin Rel 6 In order to learn which questions have been answered correctly: 1. Print these pages. 2. Answer the questions. 3. Send this assessment with the answers via: a. FAX to (212) 967-3498. Or b. Mail the answers

More information

JAVA Training Overview (For Demo Classes Call Us )

JAVA Training Overview (For Demo Classes Call Us ) JAVA Training Overview (For Demo Classes Call Us +91 9990173465) IT SPARK - is one of the well-known and best institutes that provide Java training courses. Working professionals from MNC's associated

More information

Implementation Architecture

Implementation Architecture Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition

More information

JAVA & J2EE UNIT -1 INTRODUCTION

JAVA & J2EE UNIT -1 INTRODUCTION JAVA & J2EE UNIT -1 INTRODUCTION 1. List and explain the java buzzwords 2. Explain different access specifires in java,with example [6 marks] 3. Explain any 5 object oriented features supported by java,

More information

Course title: ADVANCED WEB TECHNOLOGIES AND SERVICES

Course title: ADVANCED WEB TECHNOLOGIES AND SERVICES Course title: ADVANCED WEB TECHNOLOGIES AND SERVICES Lecturers Full Prof. Dragutin Kermek, Ph.D., Matija Novak, M.Inf. Language of Croatian and English instruction: Schedule: 90 teaching hours - 15 hours

More information

Appendix 3: Using the Exsys CORVID Servlet Runtime

Appendix 3: Using the Exsys CORVID Servlet Runtime Appendix 3: Using the Exsys CORVID Servlet Runtime The Exsys CORVID Ver 2 provides a powerful new way to deliver CORVID expert systems to end users. The new Exsys CORVID Servlet Runtime is a Java servlet

More information

Servlet Performance and Apache JServ

Servlet Performance and Apache JServ Servlet Performance and Apache JServ ApacheCon 1998 By Stefano Mazzocchi and Pierpaolo Fumagalli Index 1 Performance Definition... 2 1.1 Absolute performance...2 1.2 Perceived performance...2 2 Dynamic

More information

Implementation Architecture

Implementation Architecture Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2014-11-19 Roman Kern (KTI, TU Graz) Implementation Architecture 2014-11-19 1 / 53 Outline 1 Definition 2

More information

Introduction to JSP and Servlets Training 5-days

Introduction to JSP and Servlets Training 5-days QWERTYUIOP{ Introduction to JSP and Servlets Training 5-days Introduction to JSP and Servlets training course develops skills in JavaServer Pages, or JSP, which is the standard means of authoring dynamic

More information

Java 2 Platform, Enterprise Edition: Platform and Component Specifications

Java 2 Platform, Enterprise Edition: Platform and Component Specifications Table of Contents Java 2 Platform, Enterprise Edition: Platform and Component Specifications By Bill Shannon, Mark Hapner, Vlada Matena, James Davidson, Eduardo Pelegri-Llopart, Larry Cable, Enterprise

More information

JDBC Today C HAPTER 1 INTRODUCTION

JDBC Today C HAPTER 1 INTRODUCTION C HAPTER 1 JDBC Today INTRODUCTION Since its inception in 1995 the Java language has continued to grow in popularity. Originally intended as a language for embedded systems, the Java language has moved

More information

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 Developing Enterprise Applications with J2EE Enterprise Technologies Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 5 days Course Description:

More information

Multi-tier architecture performance analysis. Papers covered

Multi-tier architecture performance analysis. Papers covered Multi-tier architecture performance analysis Papers covered Emmanuel Cecchet, Julie Marguerie, Willy Zwaenepoel: Performance and Scalability of EJB Applications. OOPSLA 02 Yan Liu, Alan Fekete, Ian Gorton:

More information

CS612: IT Technology and Course Overview

CS612: IT Technology and Course Overview CS612: IT Technology and Course Overview Dr. Lixin Tao ltao@pace.edu http://csis.pace.edu/lixin Computer Science Department Pace University Outline What is New in Computing Application Environment? What

More information

Integration of distributed data sources for mobile services

Integration of distributed data sources for mobile services Integration of distributed data sources for mobile services Gianpietro Ammendola, Alessandro Andreadis, Giuliano Benelli, Giovanni Giambene Dipartimento di Ingegneria dell Informazione, Università di Siena

More information