Professional Documents
Culture Documents
ABSTRACT
Brainstorming can assist organizations in generating creative ideas using teamwork and collaboration. It is the best known tools for creative problem solving. Brainstorming can simply be defined as a group process for generating ideas by using the four divergent thinking guidelines, namely, deferring judgment (the process of stopping to judge ideas and options until after there are many ideas generated), striving for quantity (more ideas generated leads to higher quality ideas), freewheeling (giving participants the opportunity to be playful and to strive for imagination), and seeking combinations (creating ideas that are based upon previously stated ideas). That is, an idea from one participant can trigger a new idea in another participant, who would otherwise not have been produced the idea. This paper integrates the unique association thinking of humans with an intelligent agent technique to devise an automated decision agent called the Semantic Ideation Learning Agent (SILA) that can represent a session participant who is actively participating in brainstorming.
TABLE OF CONTENTS ACKNOWLEDGEMENT ABSTRACT LIST OF FIGURES CHAPTER 1. TITLE INTRODUCTION 1.1 EXISTING SYSTEM 1.2 PROPOSED SYSTEM 1.3 PURPOSE OF THE PROJECT 1.4 FEASIBILITY STUDY 1.5 SYSTEM REQUIREMENTS LITERATURE REVIEW DATA MINING 3.1 DATABASE 3.2 DATA MINING (DM) 3.3 ARCHITECTURE 3.4 KNOWLEDGE DISCOVERY IN DATABASE ONTOLOGIES 4.1 WEB SERVICE 4.2 WEB SERVICES DESCRIPTION LANGUAGE (WSDL) 4.3 SIMPLE OBJECT ACESSS PROTOCOL (SOAP) SERVICE ORIENTED ARCHITECTURE 5.1 DEFINITION 5.2 SERVICE ARCHITECTURE 5.3 SOA INFRASTRUCTURE IMPLEMENTATION 1 3 PAGE NO
2. 3.
4.
5.
6.
6.1 STEPS 6.2 DATA FLOW DIAGRAM 7. MODULES DESCRIPTION 7.1 UI MODULE 7.2 COLLECTIVE BRAINSTORMING BLACKBOARD 7.3 SEMANTIC IDEATION LEARNING AGENT 7.4 PROFILE MODULE 7.5 IDEA CHOSEN MODULE 8. TESTING 8.1 SOFTWARE TESTING 8.2 UNIT TESTING 8.3 INTEGRATION TESTING 8.4 WHITEBOX TESTING 8.5 BLACKBOX TESTING 9. 10. 11. SCREENSHOTS CONCLUSION 10.1 FUTURE ENHANCEMENTS REFERENCES APPENDIX 1.1 APPENDIX 1.2 APPENDIX 1.3 APPENDIX 1.4
CHAPTER-1 INTRODUCTION
BRAINSTORMING is an effective means of getting a large number of ideas from a small number of people in a short time. Brainstorming can help organizations and individuals in generating creative ideas through teamwork and collaboration. Creativity then refers to the ability of bringing something new into being for some purpose. In this paper, we shared a definition of creativity developed by the organizational psychologist Reginald Talbot, who defined creativity as making a change that sticks. The word making indicates that creativity is about bringing something into being. The word change means the introduction of something new, which can fall anywhere along the continuum from continuous change (that is, incremental improvement) to discontinuous change (that is, paradigm breaking). The phrase that sticks then indicates that the creative product or idea serves some need or purpose. E-brainstorming is a form of brainstorming that employs computer-mediated electronic communication to replace verbal communications. E-brainstorming often utilizes special software that gathers employees ideas and shares them with other group members to encourage faster collaboration. In general, e-brainstorming generates more ideas than verbal brainstorming groups. This improvement of e-brainstorming over the conventional brainstorming process comes from factors such as production blocking and evaluation apprehension. Furthermore, the number of ideas generated has been viewed as the dominant measure of ebrainstorming effectiveness. (The issue of opportunities to build relationships with other people or individual growth is beyond the scope of this study.) This work seeks to consider whether the effectiveness of e-brainstorming could further be enhanced. Furthermore, aside from improving group creativity, this study explores the application of idea generation to the era of the service economy. This study seeks to better understand humans capabilities in generating ideas and attempts to devise an architecture and inference mechanism adopted by intelligent agents in order to achieve effective e-brainstorming (which might be useful to some intelligent e-services). This study develops an inference mechanism of
Semantic Ideation Learning Agent (SILA, which performs idea associations and generation, and an architecture of Collective Brainstorming Decision System (CBDS), which provides an environment where SILAs could learn and share their knowledge. These intelligent agents could not only represent the session participants and attend brainstorming session when they could not be present but also report the session process and productions to their clients after completing the brainstorming discussion.
Most ideation research either implicitly or explicitly conjecture that if people generate more ideas, then they will produce more good ideas. Previous ideation literatures were inconsistent in the arguments.
Use it when new ideas are required, to generate a large list of possibilities. Use it when a solution to a problem cannot be logically deduced. Use it when information about a problem is confused and spread across several
bind together.
The following feasibility studies were performed to gauge the Feasibility of the system.
OPERATIONAL FEASIBILITY In this test the operational scope of the system is checked. The system under consideration should have enough operational reach. This E-Brainstorming Project is very user friendly. Users generally have to find it easier to get accomplish tasks that require fewer actions on their part. Every thing to one page also reduces user interactions since there is no clicking or typing to get to another page.
TECHNICAL FEASIBILITY The technology is the first step of feasibility for a project. This test includes the study of Function, Performance and Constraints that may affect the ability to achieve an acceptable system. This test begins with an assessment of the technical viability of the proposed project. One of the main factors to be accessed is implementation of the proposed project. The technology should be within the state art, where the defect can be reduced to a level matching the application.
ECONOMICAL FEASIBILITY The development of the E-Brainstorming project can be completed at an affordable cost which any client can afford. The E-Brainstorming is very much financially feasible. Transfer of data from source to sinks can be carried out at a faster rate when compared to the existing one. The organizations must have all the resources to acquire this system.
PRODUCT PERSPECTIVE
This System use of semantic ideation agents (SILAs) in the e-brainstorming process in order to reach automatic collective decisions by e-brainstorming. In this process, SILAs collaborate with CBDS e-brainstorming system architecture. Although a big gap still exists between artificial brainstorming and creative human brainstorming, this study advances existing e-brainstorming research by crossing the three key boundaries of the human ideation capability (understanding, cognition, and endurance). The proposed agent-based e-brainstorming
system improves e-service recommendation and delivery by creating a novel reasoning process for recommender systems, focusing on producing creative recommendations.Fig.1 shows the overall System architecture.
CBDS
Fig. 1
Windows Operating System 2000 and above. Jdk1.5 and above. Apache Tomcat 6.0. Spring Java Server Pages Oracle 10G/Derby Ontology JES
CHAPTER-2 LITERATURE REVIEW 2.1 Bounded Ideation Theory: A New Model of the Relationship
Electronic Brainstorming (EBS) is designed to change the behavior of groups. It is designed to help employees communicate effectively during meetings in a painless and efficient way.
Electronic brainstorming is used as part of a regular organizational meeting process. It gives organizations the opportunity to efficiently gather ideas, organize those ideas, and to later make decisions.
It speeds the meeting process at which it is used, increases productivity, and allows the focus to remain on the ideas rather than on the people who spawned them. When members run out of ideas, they access the ideas produced by the group.
Electronic brainstorming (EBS) has recently been introduced into organizations as a means of generating ideas; it makes use of computers to allow members to interact and to exchange ideas.
Electronic brainstorming is a form of brainstorming that makes use of computermediated electronic communication in order to replace verbal communications.
CHAPTER-3
The other name for data mining is clustering. Clustering is a data mining (machine learning) technique used to place data elements into related groups without advance knowledge of the group definitions.
Other definitions
The nontrivial extraction of implicit, previously unknown, and potentially useful information from data. The science of extracting useful information from large data sets or databases.
Regression
Regression is the oldest and most well-known statistical technique that the data mining community utilizes. Basically, regression takes a numerical dataset and develops a mathematical formula that fits the data.
Classification
Working with categorical data or a mixture of continuous numeric.
hardware platforms, and can be implemented on new systems as existing platforms are upgraded and new products developed. When data mining tools are implemented on high performance parallel processing systems, they can analyze massive databases in minutes. Faster processing means that users can automatically experiment with more models to understand complex data. High speed makes it practical for users to analyze huge quantities of data. Larger databases, in turn, yield improved predictions.
More columns. Analysts must often limit the number of variables they examine
when doing hands-on analysis due to time constraints. Yet variables that are discarded because they seem unimportant may carry information about unknown patterns. High performance data mining allows users to explore the full depth of a database, without preselecting a subset of variables.
More rows. Larger samples yield lower estimation errors and variance, and allow users to make inferences about small but important segments of a population. A recent Gartner Group Advanced Technology Research Note listed data mining and
artificial intelligence at the top of the five key technology areas that will clearly have a major impact across a wide range of industries within the next 3 to 5 years.2 Gartner also listed parallel architectures and data mining as two of the top 10 new technologies in which companies will invest during the next 5 years. According to a recent Gartner HPC Research
Rule induction: The extraction of useful if-then rules from data based on
statistical significance. Many of these technologies have been in use for more than a decade in specialized
analysis tools that work with relatively small volumes of data. These capabilities are now evolving to integrate directly with industry-standard data warehouse and OLAP platforms. The appendix to this white paper provides a glossary of data mining terms.
mining software on the computer must run through that data and distill the characteristics of the data that should go into the model. Once the model is built it can then be used in similar situations where you dont know the answer.
3.3 Architecture
This design represents a fundamental shift from conventional decision support systems. Rather than simply delivering data to the end user through query and reporting software, the Advanced Analysis Server applies users business models directly to the warehouse and returns a proactive analysis of the most relevant information. These results enhance the metadata in the OLAP Server by providing a dynamic metadata layer that represents a distilled view of the data. Reporting, visualization, and other analysis tools can then be applied to plan future actions and confirm the impact of those plans.
Basic Definitions:
and the relevant prior knowledge and identifying the goal of the KDD process from the customers viewpoint.
Data Mining: Matching the goals of the KDD process (step 1) to a particular
data-mining method. For example, summarization, classification, regression, clustering, and so on.
CHAPTER-4 ONTOLOGIES
Ontologies are used to capture knowledge about some domain of interest. Ontology describes the concepts in the domain and also the relationships that hold between those concepts. Different ontology languages provide different facilities. The most recent development in standard ontology languages is OWL from the World Wide Web Consortium (W3C). Like Protege OWL makes it possible to describe concepts but it also provides new facilities. It has a richer set of operators - e.g. and, or and negation. It is based on a different logical model which makes it possible for concepts to be defined as well as described. Complex concepts can therefore be built up in definitions out of simpler concepts. Furthermore, the logical model allows the use of a reasoner which can check whether or not all of the statements and definitions in the ontology are mutually consistent and can also recognise which concepts fit under which definitions. The reasoner can therefore help to maintain the hierarchy correctly. This is particularly useful when dealing with cases where classes can have more than one parent. 3.1 The Three Species of OWL
OWL ontologies may be categorised into three species or sub-languages: OWL-Lite, OWL-DL and OWL- Full. A defining feature of each sub-language is its expressiveness. OWL-Lite is the least expressive sub-langauge. OWL-Full is the most expressive sublanguage. The expressiveness of OWL-DL falls between that of OWL-Lite and OWL-Full. OWL-DL may be considered as an extension of OWL-Lite and OWL-Full an extension of OWL-DL. 3.1.1 OWL-Lite OWL-Lite is the syntactically simplest sub-language. It is intended to be used in situations where only a simple class hierarchy and simple constraints are needed. For example, it is envisaged that OWL-Lite will provide a quick migration path for existing thesauri and other conceptually simple hierarchies. 3.1.2 OWL-DL OWL-DL is much more expressive than OWL-Lite and is based on Description Logics (hence the suffix DL). Description Logics are a decidable fragment of First Order Logic2 and are therefore amenable to automated reasoning. It is therefore possible to automatically compute the classification hierarchy3 and check for inconsistencies in an ontology that conforms to OWL-DL. This tutorial focuses on OWL- DL. 3.1.3 OWL-Full OWL-Full is the most expressive OWL sub-language. It is intended to be used in situations where very high expressiveness is more important than being able to guarantee the decidability or computational completeness of the language. It is therefore not possible to perform automated reasoning on OWL-Full ontologies. 3.1.4 Choosing the Sub-Language to Use For a more detailed synopsis of the three OWL sub-languages see the OWL Web Ontology Language Overview4. Although many factors come into deciding the appropriate sublanguage to use, there are some simple rules of thumb.
The choice between OWL-Lite and OWL-DL may be based upon whether the simple constructs of OWL-Lite are sufficient or not. The choice between OWL-DL and OWL-Full may be based upon whether it is important to be able to carry out automated reasoning on the ontology or whether it is important to be able to use highly expressive and powerful modelling facilities such as meta-classes (classes of classes). 3.2 Components of OWL Ontologies OWL ontologies have similar components to Protege frame based ontologies. However, the terminology used to describe these components is slightly different from that used in Protege. OWL ontology consists of Individuals, Properties, and Classes, which roughly correspond to Protege Instances, Slots and Classes.
Figure: Representation of Individuals 3.2.1 Individuals Individuals, represent objects in the domain that we are interested in5. An important difference between Protege and OWL is that OWL does not use the Unique Name Assumption (UNA). This means that two different names could actually refer to the same individual. For example, Queen Elizabeth, The Queen and Elizabeth Windsor might all refer to the same individual. In OWL, it must be explicitly stated that individuals are the same as each other, or different to each other otherwise they might be the same as each other, or they might be different to each other. Figure shows a representation of some individuals in some domain in this tutorial we represent individuals as diamonds in
diagrams. Individuals are also known as instances. Individuals can be referred to as being instances of classes. 3.2.2 Properties Properties are binary relations6 on individuals - i.e. properties link two individuals together7. For example, the property hasSibling might link the individual Matthew to the individual Gemma, or the property hasChild might link the individual Peter to the individual Matthew. Properties can have inverses. For example, the inverse of hasOwner is isOwnedBy. Properties can be limited to having a single value i.e. to being functional. They can also be either transitive or symmetric. These property characteristics are explained in detail section 4.8. Figure shows a representation of some properties linking some individuals together. Properties are roughly equivalent to slots in Protege . They are also known as roles in description logics and relations in UML and other object oriented notions. In GRAIL and some
Figure: Representation Of Classes (Containing Individuals) 3.2.3 Classes OWL classes are interpreted as sets that contain individuals. They are described using formal (mathematical) descriptions that state precisely the requirements for membership of the class. For example, the class Cat would contain all the individuals that are cats in our domain of interest.8 Classes may be organised into a superclass-subclass hierarchy, which is also known as taxonomy. Subclasses specialize (are subsumed by) their superclasses. For example consider the classes Animal and Cat Cat might be a subclass of Animal (so Animal is the superclass of Cat). This says that, All cats are animals, All members of the class Cat are members of the class Animal, Being a Cat implies that youre an Animal, and Cat is subsumed by Animal. One of the key features of OWL-DL is that these superclass-subclass relationships (subsumption relationships) can be computed automatically by a reasoner more on this later. Figure shows a representation of some classes containing individuals classes are represented as circles or ovals, rather like sets in Venn diagrams. The word concept is sometimes used in place of class. Classes are a concrete representation of concepts. In OWL classes are built up of descriptions that
specify the conditions that must be satisfied by an individual for it to be a member of the class.
Java has been around since 1991, developed by a small team of Sun Microsystems developers in a project originally called the Green project. The intent of the project was to develop a platform-independent software technology that would be used in the consumer electronics industry. The language that the team created was originally called Oak.
The first implementation of Oak was in a PDA-type device called Star Seven (*7) that consisted of the Oak language, an operating system called GreenOS, a user interface, and hardware. The name *7 was derived from the telephone sequence that was used in the team's office and that was dialed in order to answer any ringing telephone from any other phone in the office. Around the time the First Person project was floundering in consumer electronics, a new craze was gaining momentum in America; the craze was called "Web surfing." The World Wide Web, a name applied to the Internet's millions of linked HTML documents was suddenly becoming popular for use by the masses. The reason for this was the introduction of a graphical Web browser called Mosaic, developed by ncSA. The browser simplified Web browsing by combining text and graphics into a single interface to eliminate the need for users to learn many confusing UNIX and DOS commands. Navigating around the Web was much easier using Mosaic. It has only been since 1994 that Oak technology has been applied to the Web. In 1994, two Sun developers created the first version of Hot Java, and then called Web Runner, which is a graphical browser for the Web that exists today. The browser was coded entirely in the Oak language, by this time called Java. Soon after, the Java compiler was rewritten in the Java language from its original C code, thus proving that Java could be used effectively as an application language. Sun introduced Java in May 1995 at the Sun World 95 convention. Web surfing has become an enormously popular practice among millions of computer users. Until Java, however, the content of information on the Internet has been a bland series of HTML documents. Web users are hungry for applications that are interactive, that users can execute no matter what hardware or software platform they are using, and that travel across heterogeneous networks and do not spread viruses to their computers. Java can create such applications.
CHAPTER-6 IMPLEMENTATION
Participant
Level 1:
Request Send
Idea Ontology
Output to client
Level 3: Request User/Input Collective Brainstor ming Blackboar d. Semantic Ideation Learning Agent
Participant Idea Knowledge Base OutputChosen Idea to client Module Idea Ontology User Profile
Response
Sequence Diagram
Usecase Diagram
Activity Diagram
CHAPTER-7
MODULES
Brainstorming is one of the best known tools for creative problem solving. The term brainstorming was first used by Osborn. Brainstorming can simply be defined as a group process for generating ideas by using the four divergent thinking guidelines, namely, deferring judgment (the process of stopping to judge ideas and options until after there are many ideas generated), striving for quantity (more ideas generated leads to higher quality ideas), freewheeling (giving participants the opportunity to be playful and to strive for imagination), and seeking combinations (creating ideas that are based upon previously stated ideas). Accordingly, brainstorming engenders synergy; that is, an idea from one participant can trigger a new idea in another participant, who would otherwise not have been produced the idea. E-brainstorming utilizes electronic communication to replace verbal communications and thus eliminates problems such as production blocking. For example, group support systems (GSSs) have been applied to assist in the idea generation process. A GSS is a suite of collaborative software tools that operates over a computer network and allows people to anonymously contribute ideas. Some works have revealed that the application of GSS in idea generation improves both the quantity and the quality of ideas generated. Further indicated that the types of ideas generated are affected by the stimulus contained within a GSS group memory.
7.1 UI Module:
This module has two components. First one is Open Problem & Participants component. The Open Problem and Participants Component represent the given open problem and the participants and send two input parameters. Second one is Valued Ideas Notification Component. This receives the set of valued ideas and the ideation map from the Idea Chosen Module and delivers them to the session participants. Input: Enter the open problem Choose participant
Bookkeeping Agents, the knowledge of SILAs can also be learned and evolved with the feedback (that is, ranking of the value ideas) collected from the clients, and their Idea Knowledge Base can also be updated. Input: Input Ideation Output: Generated Idea from idea Ontology
7.5 Idea Chosen Module: The Idea-Chosen Module can perform a valued idea selection according to a userset criterion after a brainstorming process finishes. For instance, a creative idea is selected as a valued idea if its Idea Chosen Value (IEV) is over a particular bound. Input: Generated Idea from blackboard. Output: Sorted Valued Idea.
Steps in testing:
Requirements Analysis: Testing should begin in the requirements phase of the software development life cycle. During the design phase, testers work with developers in determining what aspects of a design are testable and under what parameter those tests work. Test Planning: Test Strategy, Test Plan(s), Test Bed creation. Test Development: Test Procedures, Test Scenarios, Test Cases, and Test Scripts to use in testing software. Test Execution: Testers execute the software based on the plans and tests and report any errors found to the development team. Test Reporting: Once testing is completed, testers generate metrics and make final reports on their test effort and whether or not the software tested is ready for release. Retesting the Defects
programming a unit may be an individual program, function, procedure, web page, menu etc, while in object-oriented programming, the smallest unit is always a Class; which may be a base/super class, abstract class or derived/child class. Units are distinguished from modules in that modules are typically made up of units.
CHAPTER-10 CONCLUSION
This paper presents the use of semantic ideation agents (SILAs) in the ebrainstorming process in order to reach automatic collective decisions by e-brainstorming. In this process, SILAs collaborate with CBDS e-brainstorming system architecture. Although a big gap still exists between artificial brainstorming and creative human brainstorming, this study advances existing e-brainstorming research by crossing the three key boundaries of the human ideation capability (understanding, cognition, and endurance). The proposed agent-based e-brainstorming system improves e-service recommendation and delivery by creating a novel reasoning process for recommender systems, focusing on producing creative recommendations.
Dynamic Ideation
Important keywords are store in database When two staffs are in discussion, at that time system monitor them and check, in which domain their discussion is going and match their domain with database and store their discussion. Discussions are done by Mail or Instant Messaging.
CODINGS
Knowldegecenter.jsp <%@ include file="/client/include.jsp" %> <%@ include file="/client/Menu.jsp" %> <html> <head> <meta http-equiv="Content-Language" content="en-us"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>New Page 1</title> <style> <!-p.MsoNormal {mso-style-parent:""; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman"; margin-left:0mm; margin-right:0mm; margin-top:0mm} -->
</style> <script> function showSettings(){ var divArea = document.getElementById("divsettings"); if (document.getElementById("ownsettings").checked){ divArea .style.visibility = 'visible'; } else{ divArea .style.visibility = 'hidden'; } } function SelectSubCat(){ removeAllOptions(document.knowledgeCenterFrm.subTopic); if(document.knowledgeCenterFrm.topic.value == 'java'){ addOption(document.knowledgeCenterFrm.subTopic,"jsp", "JSP"); addOption(document.knowledgeCenterFrm.subTopic,"servlet", "Servlet"); addOption(document.knowledgeCenterFrm.subTopic,"ejb", "EJB"); } if(document.knowledgeCenterFrm.topic.value == 'MS'){
addOption(document.knowledgeCenterFrm.subTopic,"asp", "ASP"); addOption(document.knowledgeCenterFrm.subTopic,"Cricket", "VB"); addOption(document.knowledgeCenterFrm.subTopic,"net", ".net"); } } ////////////////// function removeAllOptions(selectbox) { var i; for(i=selectbox.options.length-1;i>=0;i--) { //selectbox.options.remove(i); selectbox.remove(i); } } function addOption(selectbox, value, text ) { var optn = document.createElement("OPTION"); optn.text = text;
optn.value = value; selectbox.options.add(optn); } </script> </head> <body bgcolor="#808080"> <form method="POST" action="KnowledgeCenter.htm" name="knowledgeCenterFrm"> <font size="4"> </font><u><b><font size="4">Knowledge center</font></b></u> <p class="MsoNormal" align="left"> <u><font size="3"><b>Add New Entry</b></font></u></p> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="50%" id="AutoNumber1"> <tr> <td width="50%">Topic</td> <td width="50%"><select size="1" name="topic" id="topic" onChange="SelectSubCat()"> <option selected value="java">Java</option> <option value="MS">Microsoft</option>
</select></td> </tr> <tr> <td width="50%">Sub Topic</td> <td width="50%"><select size="1" name="subTopic"> <option selected value="jsp">JSP</option> <option value="servlet">Servlet</option> <option value="ejb">EJB</option> </select></td> </tr> <tr> <td width="50%">Document Type</td> <td width="50%"><select size="1" name="docType"> <option selected>PDF</option> <option>DOC</option> <option>Flat File</option> </select></td> </tr> <tr>
<td width="50%">Location</td> <td width="50%"><input type="text" name="docLocation" size="20"></td> </tr> <tr> <td width="50%"> <p class="MsoNormal">Short Description</td> <td width="50%"><textarea rows="2" name="shortDesc" cols="20"></textarea></td> </tr> <tr> <td width="50%"> </td> <td width="50%"> </td> </tr> </table>
<p>Personal knowledge <input type="checkbox" name="ownsettings" id ="ownsettings"value="ON" onclick="showSettings()"></p> <div id = "divsettings" style="width: 900; height: 133"> <p> <b><u>Update Own Knowledge Center</u></b></p>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="50%" id="AutoNumber2" height="65"> <tr> <td width="50%" height="22"> <p class="MsoNormal">Department</td> <td width="50%" height="22"><select size="1" name="department"> <option selected value="hrdep">HR</option> <option value="dev">Development</option> </select></td> </tr> <tr> <td width="50%" height="42"> <p class="MsoNormal">Interest</p> <p class="MsoNormal"> </td> <td width="50%" height="42"><textarea rows="2" name="interest" cols="27"></textarea></td> </tr> </table> </div>
<c:forEach items="${model.knowledge}" var="knowledge"> </c:forEach> <p align="center"><input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p> <table boder="1"> <tr> <td> Select </td> <td>topic </td> <td>subTopic </td> <td>docType</td> <td>docLocation</td> <td>shortDesc</td> <td>department</td> <td>interest</td> </tr> <c:forEach items="${model.knowledge}" var="knowledge"> <tr> <td><input type ="checkbox" name="ad_mark" value=<c:out value='$ {knowledge.emp_id}'/>/> <td> <c:out value="${knowledge.topic}"/> </td>
<td> <c:out value="${knowledge.subTopic}"/> </td> <td> <c:out value="${knowledge.docType}"/> </td> <td> <c:out value="${knowledge.docLocation}"/> </td> <td> <c:out value="${knowledge.shortDesc}"/> </td> <td> <c:out value="${knowledge.department}"/> </td> <td> <c:out value="${knowledge.interest}"/> </td> </tr> </c:forEach> </table> </form> </body> </html>
SEARCHSUBMITCONTROLLER.JAVA package com.gts.brainstorm.controller; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter;
import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.output.XMLOutputter; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; import com.gts.brainstorm.search.util.FindKnowledgeUtil; public class SearchSubmitController implements Controller{ public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res) throws Exception {
String xmlStr=BuildInputXML(req);
String stringToReverse = URLEncoder.encode("INBA", "UTF-8"); String proxy = findProxy(req.getParameter("searchKey"),req.getParameter("keyoptions")); HttpSession session = req.getSession(); if(proxy!=null && proxy.equals("")){ session.setAttribute("resultHtml", "Proxy Not Found"); return new ModelAndView("SearchResults","resultHtml","Proxy Not Found"); } URL url = new URL("http://"+proxy+":8080/bs/UnitController"); URLConnection connection = url.openConnection(); connection.setDoOutput(true); OutputStreamWriter out = new OutputStreamWriter( connection.getOutputStream()); out.write(xmlStr); out.close();
String decodedString=""; String tempstr=""; while ((decodedString = in.readLine()) != null) { tempstr=decodedString; } in.close(); session = req.getSession(); session.setAttribute("resultHtml", tempstr); return new ModelAndView("SearchResults","resultHtml",decodedString); }
private String BuildInputXML(HttpServletRequest req) throws JDOMException, IOException{ String searchText=req.getParameter("txtmsg"); String recipients=req.getParameter("txtrecipients"); String globalSsearch=req.getParameter("globalsch"); String advSearch=req.getParameter("advsch"); String searchKey=req.getParameter("searchKey"); String optionKey=req.getParameter("keyoptions");
Element root = new Element("Search"); Document doc = new Document(root); Element input =new Element("input"); Element e_searchText =new Element("key"); e_searchText.addContent(searchText); Element e_recipients = new Element("recipients"); e_recipients.addContent(recipients); Element e_global = new Element("global"); e_global.addContent(globalSsearch); Element e_adv_search = new Element("advSearch"); e_adv_search.addContent(advSearch); Element e_searchKey = new Element("key"); e_searchKey.addContent(searchKey); Element e_optionKey = new Element("option"); e_optionKey.addContent(optionKey);
input.addContent(e_searchText);
input.addContent(e_recipients); input.addContent(e_global); input.addContent(e_adv_search); input.addContent(e_searchKey); input.addContent(e_optionKey); root.addContent(input); XMLOutputter outputter = new XMLOutputter(); String hello = outputter.outputString(doc); return hello; } private String findProxy(String dep,String subTopic){ int depId = FindKnowledgeUtil.findDepId(dep); int knowledgeId=-1; ArrayList<String> depIdList = new ArrayList<String>(); ArrayList<String> proxyList = null; if(depId != -1){ knowledgeId = FindKnowledgeUtil.getKnowledgeId(dep, subTopic); }
CHAPTER-11
REFERENCES
[1] J. Geoffrey Rawlinson, Creative Thinking and Brainstorming. Halsted Press, 1981. [2] R.J. Talbot, Taking Style on Board, Creativity and Innovation Management, vol. 6, no. 3, pp. 177-184, 1997. [3] G. Kay, Effective Meetings through Electronic Brainstorming, Management Quarterly, vol. 35, no. 4, pp. 15-26, 1995. [4] R.B. Gallupe, L.M. Bastianutti, and W.H. Copper, Unblocking Brainstorming, J. Applied Psychology, vol. 76, no. 21, pp. 137-142, 1991. [5] A.R. Dennis and B. Reinicke, Beta vs. VHS and the Acceptance of Electronic Brainstorming Technology, MIS Quarterly, vol. 28, no. 1, pp. 1-20, 2004. [6] M.J. Garfield, N.J. Taylor, A.R. Dennis, and J.W. Satzinger, Modifying Paradigms: Individual Differences, Creativity Techniques and Exposure to Ideas in Group Idea Generation, Information Systems Research, vol. 12, no. 3, pp. 322-333, 2001. [7] A.R. Dennis and M.L. Williams, Electronic Brainstorming: Theory, Research, and Future Directions, Group Creativity, Oxford Univ. Press, 2003. [8] A.R. Dennis, A. Pinsonneault, K.M. Hilmer, H. Barki, R.B. Gallupe, M. Huber, and F. Bellavance, Patterns in Electronic Brainstorming: The effects of Synergy and Social Loafing on Group Idea Generation, Intl J. e-Collaboration, vol. 1, no. 4, pp. 38-57, 2005. [9] W.-L. Chang and S.-T. Yuan, iCare Home Portal: A Quest for Quality Aging eService Delivery, Proc. First Workshop Ubiquitous and Pervasive Health Care (UbiCare 06), 2006. [10] A.F. Osborn, Applied Imagination: Principles and Procedures of Creative ProblemSolving, Creative Education Foundation, third revised ed., 1993.
APPENDIX-1.1
Appendix A: Glossary
IEEE HTML HTTP SRS OWL SB RFC J2EE JSP FP6 OS The Institute of Electrical and Electronics Engineers, Inc. Hyper Text Markup Language Hyper Text Transport Protocol Software Requirements Specification Web Ontology Language Semantic Broker Request For Comments Java 2 Platform Enterprise Edition Java Server Page Sixth Framework Program Operating System
Table Design 1) Table Name: bs_addressbook Column Name bs_first_name bs_last_name bs_phone_number bs_email_id bs_department bs_interest 2) Table Name: bs_user_knowledge Column Name bs_topic bs_sub_topic bs_doc_type bs_doc_location bs_short_desc bs_department bs_interest Data Type varchar(30) varchar(30) varchar(20) varchar(100) varchar(250) varchar(20) varchar(250) Data Type varchar(15) varchar(15) varchar(15) varchar(15) varchar(15) varchar(15)
3) Table Name: org_details Column Name Org_name org_address1 org_address2 org_street1 org_street2 org_city org_nation org_zip_code org_phone1 org_phone2 org_email1 org_email2 Data Type varchar(30) varchar(30) varchar(30) varchar(30) varchar(30) varchar(30) varchar(30) varchar(30) varchar(30) varchar(30) varchar(30) varchar(30)
4) Table Name: org_dep_details Column Name dep_id dep_short dep_long dep_display 5) Table Name: dep_knowledge_info Column Name dep_id knowledge_id 6) Table Name: knowledge_info Column Name Knowledge_id bs_topic bs_sub_topic1 bs_sub_topic2 bs_topic_desc bs_topic_display_name Data Type Integer NOT NULL(PK) varchar(100) varchar(100) varchar(100) varchar(500) varchar(300) Data Type Integer Not Null Integer Data Type Integer Not Null(PK) varchar(10) varchar(30) varchar(100)
7) Table Name: opposite_knowledge_info Column Name opposite_knowledge_id knowledge_id topic_display_name 8) Table Name: dep_knowledge_controller_map Column Name dep_id controller_id controller_name controller_ip controller_system_name controller port_number 9) Table Name: org_emp_details Column Name emp_id emp_dep_id emp_name emp_mid_name emp_last_name emp_phone_no emp_email_id 10) Table Name: emp_interest Column Name bs_emp_id knowledge_id 11) Table Name: user_knoledge_info Column Name user_knowledge_doc_id user_id knowledge_id doc_type_id doc_location user_doc_desc Data Type Integer Not Null(PK) Integer Integer Integer varchar(300) varchar(500) Data Type Integer Integer Data Type Integer Not Null(PK) Integer varchar(15) varchar(10) varchar(15) varchar(30) varchar(30) Data Type Integer Integer varchar(50) varchar(30) varchar(50) Integer Data Type Integer Not Null(PK) Integer varchar(300)
12) Table Name: bs_doc_map Column Name doc_type_id doc_type_short_name doc_type_long_name doc_display_name 13) Table Name: search_trace Column Name knowledge_id user_knowledge_doc_id hit_count user_rating Data Type Integer Integer Integer Integer Data Type Integer Not Null(PK) varchar(10) varchar(30) varchar(100)
SCREENSHOTS
63