Virtual Operating System
-
Upload
saradhi-vijji -
Category
Documents
-
view
219 -
download
0
Transcript of Virtual Operating System
-
8/3/2019 Virtual Operating System
1/47
Introduction
This VirtualOperatingSystem application is a interface that is related with the
operating system and the end user. The role of the interface plays is that of a virtual
OS that comes up with commandline where a tree defined set of commands are
allowed to be executed .the commandline is similar to that of a DOS command line
where the users are allowed to type the commands.
When compared to training a end user on a package that is available across various
operating systems. The end user is initially trained in the area of the OS , and then on
the package.commands that are pertaining to the trainee are available in each OS. But
has either the parameters differing are the command itself different. For example a
command like Doskey that is available& functionally in the windows ,is unavailable
on UNIX. This problem has made the enduser to learn different commands for each
OS. The Virtual OS addresses this problem and creates a set of common commands
that are requires for the company to trained their endusers using a single or common
commands facility for providing online help and user guide is also provided.
-
8/3/2019 Virtual Operating System
2/47
Salient Features of Virtual Operating System
Environment & UserInterface
The module deals with providing security to the application and creating the
user interface. The security section identifies a valid user who is allowed to work on
the application. The user has a facility to change his password.The user interface
section is responsible to provide the required screens to allow the end user to work on
the application.It provides a shell from where the end user executes the commands..
File System maintenance Module
This module provides and organizes commands that are pertaining to the
maintenance of the files and directories. The user is allowed to execute commands
that can create, change and remove directories. A user can identify and kill the files. A
facility to rename and copy the file from the shell is also provided. Information about
the OS is also retrieved.
Command Line editor an file handler module
This module provides a facility to provide an editor from the command line
that can be able to create, edit and delete files. A sort filter is created to sort the
parameters specified. You can locate files using the file command, change the prompt
when required and retrieve date & time. A facility to display the memory settings are
also specified.
-
8/3/2019 Virtual Operating System
3/47
ANALYSISThe analysis is the process of understanding the system at a greater depth, identifying
the missing functions with an intention to improve it through better methods and procedures.The Requirement analysis is done in order to understand the problem, the Software system isto solve. Requirements analysis is on identifying what is needed from the system, not how thesystem will achieve its goals. The goal of requirements specification phase is to produce the
software requirements specification document. The person responsible for therequirements analysis is often called the analyst. this phase we study the system and observethe problem of existing system and think how to cover the problems (problem analysis).There are three major activities in this phase are Problem analysis, Feasibility study andSoftware requirement specifications. The requirement document must specify all thefunctional and Performance requirements, the formats of inputs and outputs and all designconstraints that exist due to political, economic, environment and security reasons.
The phase ends with validation of the requirements specified in the document.Validation is often done through requirement review , in which a group of people includingrepresentatives of the client critically reviews the requirement specifications.
PROBLEMANALYSIS
System analysis is the process of gathering and interpreting facts, diagnosingproblems and using the information to recommend improvements to the system. Only afterthe systems analysis we can begin to determine how and where a computer informationsystem can benefit all the users of the system. This accumulation of the system is called asystem study. In this phase we analyze the problem to get a clear understanding of the
problem. We study the existing system and observe the problems present in it, and then try torecover from them. The system that we are developing should overcome all the problems.
FEASIBILITY STUDY
The feasibility study is to determine whether the system requested is feasible or not.This is to identify the objectives of a new system. Before solving a problem one must know
what the problem is. This phase starts as soon as a user or a member of a particulardepartment recognizes a problem and initiates a request to computerize the existing manual
system or to modify the current computerized system.The study is carried out by a small group of people who are familiar with systems
analysis and design process. Fact-finding techniques are used to gather the requiredinformation.
The major purposes of this study are given below:
a) Identify the responsible user and to develop an initial scope of the system. This mayinvolve conducting a series of interviews to see which users are involved in and whichusers are affected by the proposed project.
b) Identify the current deficiencies in the users environment. This involves preparing alist of functions that are missing or operating unacceptably in the existing system.
c) Determine objectives for the new system. This involves preparing a list of existingfunctions, which are to be reimplemented and new functions that are to be added.
d) Determine whether it is feasible to automate the system. This will involves someapproximate estimates of the schedule and cost to build a new system.
-
8/3/2019 Virtual Operating System
4/47
Three key considerations are involved in the feasibility analysis:
Economic Feasibility
Economic analysis is the most frequently used method for evaluating the effectiveness of acandidate system. More commonly known as cost/benefit analysis, the procedure is to
determine the benefits and savings that are expected from a candidate system and comparethem with costs. If it benefits out weigh costs, then the decision is made to design andimplement the system. Otherwise, further justification or alterations in the proposed systemwill have to be made if it is to have a chance of being approved. This is an ongoing effortthat improves in accuracy at each phase of the system life cycle.
The current project is economically feasible because the organization, which issponsoring to develop this system, has enough funds and they are ready to release the fundsrequired by the development team and also the developers could be economically justified fortheir work.
Technical FeasibilityTechnical feasibility centers on the existing computer system (hardware, software,
etc.) and to what extent it can support the proposed addition. This involves financialconsiderations to accommodate technical enhancements. If the budget is a serious constraint,then the project is judged not feasible.
The present project is considered to the technically feasible as the technicalrequirements, which could be satisfied very easily. We have the enough technological aspectsto implement the above problem. Hence the project is technically feasible.
Operational Feasibility
Proposed projects are beneficial only if they can be tuned into information systemsthat will meet the organizations operating requirements. Simply stated, this test of feasibilityasks if the system will work when it is developed and installed. Are there major barriers toimplementation?Here are questions that will help test the operational feasibility of a project:
a) Is there sufficient support for the project from management? From users? If thecurrent system is well liked and used to the extent that persons will not be able to seereasons for change, there may be resistance.
b) Are the current business methods acceptable to the users? If they are not, users maywelcome a change that will bring about a more operational and useful systems.
c) Have the users been involved in the planning and development of the project? Earlyinvolvement reduces the chances of resistance to the system and in general andincreases the likelihood of successful projects.
d) Will the proposed system cause harm? Will it produce poorer results in any respect or
area? Will loss of control results in any area? Will accessibility of information be lost?Will individual performance be poorer after implementation than before? Willcustomers be affected in an undesirable way? Will the system slow performance in anyarea?
Issues that appear to be relatively minor in the beginning have ways of growing into major problems after implementation. Therefore, all operational aspects must be consideredcarefully.
-
8/3/2019 Virtual Operating System
5/47
We can say after studying the proposed system that the project looks operationally feasible,as there is good support from management and the users involvement in planning anddevelopment is appreciable.
Software Requirement Specification
Software requirement specification (SRS) is the starting point of the softwaredevelopment activity.The SRS means translating the ideas in the minds of the clients (theinput), into a formal document (the output of the requirements phase). Thus the output of the
phase is a set of formally specified requirements, which hopefully are complete andconsistent, while the input has none of these properties.
A procedure for identifying requirements can there for be at best set of guidelines.
The requirements specification phase consists of two basic activities.1. Problem or requirement analysis2. Requirement specification
The requirement specification phase terminates with the production of the validationsoftware requirement specification document.
Role ofSRS
Thus there are three major parties interested in a new system the client, the users,the developer. There is a communication gap between these people. A basic purpose of SRSis to bridge this communication gap. SRS is the medium through which the client and user
needs are accurately specified; indeed SRS forms the basis of software development.An important purpose of the process of developing an SRS is helping the clients to
understand their own needs.A good SRS provides many benefits. Some of the goals it accomplishes are:
a. Establishing the basis for agreement between the client and supplier on what
the software product will be reducing the development cost.b. The preparation of the SRS forces rigorous specification of the requirements before the design begins. Careful development of an SRS can revealomissions, inconsistencies and misunderstanding early in the development
cycle, which can considerably reduce cost.c. Providing a reference for validation of the final product .The SRS assists in
determining if the software meets the requirements.
Software Requirements
1. Operating System: Windows 98 or above2. Front end : HTML & JAVA SCRIPT,J2EE(JSP,servlets,Ajax),3. Back end : Oracle 8i4. Web Server: Tomcat 5.5.9
Software specification
1. Operating system : Windows 2000/XP2. Front end : HTML & XML3. Middleware : J2EE(JSP)4. Back end : Oracle 8i5. Application server : Web logic 7.0
-
8/3/2019 Virtual Operating System
6/47
Software Profile
A Brief History of Java
Java was conceived by James Gosling, Patrick Naughton, Chris Wrath, and Ed FrankSheridan at Sun Microsystems, Inc. in 1991. It took 18 months to develop the first working
version. James Gosling wanted to develop a software that is platform independent (that isarchitecture neutral) to communicate between two electronic devices for which be has startedthe work in January 1991 and completed in September 1992. The communication betweentwo electronic devices was named as set top boxes. The project was success but there was no
market. James Gosling wanted to modify the specification of set top boxes to meet therequirements of network programming, started the work to write a browser and completed inSeptember 1994. The browser was named as Hot Java. It is the first commercial product fromSun Micro systems. James Gosling wanted to register the software by the name OAK, a nameunder a coffee tree. As he found that OAK was already registered, he changed it to Java.
Features of Java
Object Oriented Programming (OOP) is way to write software that is reusable,
extensible and maintainable. Java is an Object Oriented language; i.e., it has facilities forOOP incorporated into the language. The core API is actually a collection of prefabricatedOOP components, known to object orient programmers as a class library. Class libraries give
programmers a bit head start when it comes to developing new projects.All object oriented programming languages provide mechanisms that help you
implement the object orient model. They are encapsulation. Inheritance and polymorphism inaddition to the essential element ofobject oriented programming i.e., abstraction.
Abstraction:Grouping together related data and relevant functionality and identifying the group by a
name, called the abstract name, is called abstraction.Encapsulation
Encapsulation is the mechanism that binds together code and the data it manipulates
and keeps both safe from outside interference and misuse.Inheritance:
Inheritance is the process by which one object acquires the properties of another object.It is a means to achieve the features of a parent class to the child classes.Polymorphism:
Polymorphism is feature that allows one interface to be used for a general class ofactions. The specific action is determined by the exact nature of the situation.Multi-Threaded:
Java was designed to meet the real-world requirement of creating interactive,networked programs. To accomplish this, Java supports multithreaded programming, whichallows you to write programs that do many things simultaneously.Secure:
When you use a Java compatible web browser, you can safely download Java appletswithout fear of viral infection or malicious intent. Java achieves this protection by confining aJava program to the Java execution environment and not allowing it access to other parts ofthe computer.Portability:
Java programs can be written and can be executed anywhere without recompilation.When a Java file is compiled, it creates a class file. Class file consists of byte codes. A bytecode is an instruction.
-
8/3/2019 Virtual Operating System
7/47
Introducation to JDBC
Database constitutes the primary data resource in enterprise application.TheJDBC API provides cross-vendor connectivity and data access across relational database
from different vendors.A database vendor such as oracle, Oracle is the most widely useddatabase in the world. It runs on virtually every kind of computer, from PCs and
Macintoshes, to minicomputers and Giant mainframes. It functions virtually identical on allthese machines, so when you learn it on one, you can use it on any other.
This fact makes knowledgeable Oracle users and developers very much in demandand makes your Oracle knowledge and skills very portable. Because it is not cloaked inarcane language that only system Professionals can comprehend, Oracle fundamentallychanges the nature of the relationship between system people.
Since its first release Oracle has been based on the easily understood model, sononprogrammers readily understood what Oracle did and how it did it. This model isapproachable and unimposing.Connectivity
The connectivity between the database and the front-end has been establishedusing JDBC (Java Data Base Connectivity). JDBC is a powerful database implementation
tool in Java. It is providing an easiest way to connect any DBMS and RDBMS software andallows implementing database operations. Java is using SQL for database operations. Toconnect a backend database with Java we must use Drivers. The driver indicates that we areconnecting specific backend database. The JDBC-ODBC Bridge Driver has been used in this
project.
Connecting To Databases With JDBC
It has been estimated that half of all software development involves client/serveroperations. A great promise of Java has been the ability to build platform independentclient/server database applications. In Java 1.1 this has come to fruition with Java DatabaseConnectivity (JDBC). One of the major problems with databases has been the feature war
between the database companies.There is a "standard" database language, STRUCTURED QUERY LANGUAGE
(SQL-92), but usually you must know which database vendor you're working with despitethese Standard.
JDBC is a Java API for executing Java SQL statements. It consists of set of classesand interfaces written in Java Programming Language. JDBC provides a standard API fortool/database developers and make them it possible to write database application using a pureJava API.
Using JDBC, it is easy send SQL statements to any relational database. In other words,It isn't necessary to write one program in Sybase database ,Other program to access theOracle Database and so on. One can write single program using the JDBC API, and the
program will be able to send the SQL statements to appropriate database. And, one doesn'thave to worry to about writing differentapplication to run on different platform. The combination of Java and JDBC lets
programmer write once and run anywhere.Java being robust, secure, easy to understand andautomatically downloadable on a network, is an excellent language basis for databaseapplications.
JDBC is designed to be platform-independent, so you don't need to worry about thedatabase youre using while you're programming. However, its still possible to makevendor-specific calls from JDBC so you aren't restricted from doing what you must. JDBC,
-
8/3/2019 Virtual Operating System
8/47
like many of the APIs in Java, is designed for simplicity. The method calls you makecorrespond to the logical operations you'd think of doing when gathering data from adatabase: connect to the database, create a statement and execute the query, and look at theresult set. To allow this platform independence, JDBC provides a driver manager that
dynamically maintains all the driver objects that your database queries will need. So if youhave three different kinds of vendor databases to connect to, you'll need three different driver
objects. The driver objects register themselves with the driver manager at the time of loading,and you can force the loading using Class.forName ().
To open a database, you must create a "database URL" that specifies: That you'reusing JDBC with "jdbc"
1) The "sub protocol" the name of the driver or the name of a database connectivitymechanism. Since the design of JDBC was inspired by ODBC, the first sub-protocolavailable is the "jdbc-odbc bridge", specified by "ODBC"
2) The database identifier This varies with the database driver used, but it generallyprovides a logical name that is mapped by the database administration software to a physicaldirectory where the database tables are located. For your database identifier to have anymeaning, you must register the name using your database administration software. (The
process of registration varies from platform to platform.)
All this information is combined into one string, the "database URL." For example, toconnect through the ODBC sub-protocol to a database identified as "people", the databaseURL could be:
String dbUrl = "jdbc: odbc: people";If you're connecting across a network, the database URL will also contain the information
identifying the remote machine. When you're ready to connect to the database, you call theSTATIC method DriverManager.getConnection(), passing it the database URL, the username, and a password to get into the database. You get back a Connection object that you canthen use to query and manipulate the database.
What does JDBC do?
JDBC makes it possible to do three things :1. Establish a connection with a database2. Send SQL statements3. Process the results
Microsoft 's OBDC (Open DataBase Connectivity) is the most popularly usedprogramming Interface for accessing relational database. It offers the ability to connect toalmost all databases on almost all platforms.
Two-tier and three-tier Models
The JDBC API supports both two-tier and three tier models for database access.
In two-tier architecture, a Java applet or application talks directly to the database. Thisrequires a JDBC driver that communicates with the particular database management systembeing accessed. A User's SQL statements are delivered to the database and results of thoseare sent back to the user. The database may be located on the other machine to with the useris connected via a network. This is referred to as client/server configuration, with the usermachine as client and the machine housing the database as the server.
-
8/3/2019 Virtual Operating System
9/47
In the three-tier model, commands are send to "middle tier" of services, which then
send statements to the database. The databases process the SQL statements and send theresults back to the middle tier, which send to the user. The middle tier has typically written inlanguages such as c, c++, which offers fast performance. However, with the introduction ofoptimized compiler that translates Java Byte code into efficient machine-Specific code, it is
becoming practical to implement middle-tier in Java.
Features OfSoftware
Windows 2000 AdvantagesThe computing world was presented with the first release of the totally new and
revolutionary operating system. Microsoft windows performance and features that previouslyhas been accessible only on $20,000 annotations became instantly available to anyone with a
high-end personal computer. Windows is now Microsoft Corporations premier operatingsystem. Designed around powerful and well-thought software architecture, the primaryfeatures that allow Windows to use the full power of todays processors are
Scalability:The ability to run on a single pc chip with a single user up to a multi-user
microprocessor and network installation.
The Windows GUIThe familiar graphical user interfaces it presents to the world.
Java
Application
JDBC
DBMS
Java Applet or
Browser
Application
Server (Java)
JDBC
DBMS
-
8/3/2019 Virtual Operating System
10/47
Technologies used
Web Components
They are server side components generally used to provide the presentation layer to bereturned to a client. 2 types of web components exist: Java Server Pages (JSP)
JavaServer Page (JSP)
Java Server Pages technology is the Java technology in the J2EE platform for building applications containing dynamic Web content such as HTML, DHTML,XHTML and XML. The Java Server Pages technology enables the authoring of Web
pages that create dynamic content easily but with maximum power and flexibility.
The Java Server Pages technology provides a textual description for the creation of aresponse from a request.The technology builds on the following concepts:Template Data
Substantial portions of dynamic content are actually fixed. The JSP technology allow forthe natural manipulation of this data.Addition of Dynamic Data
The JSP technology allows the addition of dynamic data to the template data in a way thatis simple yet powerful.Encapsulation of Functionality
The JSP technology provides two related mechanisms for the encapsulation offunctionality: the standard Java Beans component architecture and the tag librarymechanism.Good ToolSupport
The JSP technology has features that enable the creation of good authoring tools. Theresult is a flexible and powerful server-side technology.
Benefits of the Java Server Pages TechnologyThe Java Server Pages technology offers a number of benefits:
Write Once, Run Anywhere propertiesThe Java Server Pages technology is platform independent, both in its dynamic Web
pages, Web servers, and its underlying server components. You can author JSP pages onany platform, run them on any Web server or Web enabled application server, and accessthem from any Web browser.
High quality tool supportThe Write Once, Run Anywhere properties of JSP allows the user to choose best-of-breedtools. Additionally, an explicit goal of the Java Server Pages design is to enable thecreation of high quality portable tools.Reuse of components and tag librariesThe Java Server Pages technology emphasizes the use of reusable components such asJava Beans components, Enterprise Java Beans components and tag libraries.Separation of dynamic and static contentThe Java Server Pages technology enables the separation of static content from dynamiccontent that is inserted into the static template.Support for scripting and actions
-
8/3/2019 Virtual Operating System
11/47
The Java Server Pages technology supports scripting elements as well as actions. Actions permit the encapsulation of useful functionality in a convenient form that can also bemanipulated by tools; scripts provide a mechanism to glue together this functionality in a
per-page manner.
Web access layer for N-tier enterprise application architecture(s)The Java Server Pages technology is an integral part of the Java 2 Platform Enterprise
Edition (J2EE), which brings Java technology to enterprise computing.
It is true that both servlets and JSP pages have many features in common and can beused for serving up dynamic web content. Naturally, this may cause some confusion as towhen to opt for one of the technologies over the other. Java Server Pages provide a muchcleaner separation of presentation from logic, and are simpler to write. Together, JSPtechnology and servlets provide an attractive alternative to other types of dynamic webscripting/programming that offers platform independence, enhanced performance, separation
of logic from display, ease of administration, extensibility into the enterprise and mostimportantly, ease of use.
Server ComponentsServer components can be in form of EJBs (Enterprise Java beans). EJBs executes
within a container that manages the runtime behavior of EJBs.Working with the Model View Controller
Typically entity beans are used to provide the model logic, while a mix of entity beansand session beans are used to provide the control logic and web components are used to
Implement both control and presentation logic.The Java Beans specification allows software components to be written in java, which
encapsulates the logic behind the web application and remove the bulk of the script let codethat would otherwise clutter up the jsp. The result JSP code that is simpler, easier to maintain,and which is more readily accessible to non-programmers.
Java uses the beans specification to allow the creation of software components thatcan be used by other developers and designers to build specialist applications. Javas cross
platform nature means that the same Java bean should be reusable across any machine. Thisreally frees us from dependence on any particular platform
Database used
-
8/3/2019 Virtual Operating System
12/47
Database is a major concern in a customer support tool application. Hence, made adetailed study to find the most suitable databases for the project. The result was Oracle.
ORACLE
Oracle is a trademark of Oracle Corporation and in common usage refers to thedatabase engine (which actually looks for the data) and the range of front-end products.Oracle 8i is the largest selling SQL-based RDBMS and a most commercially useful product.
Advantage of Oracle 8i
About Oracle 8i
Oracle is an RDBMS as it stores and manages data using relational model. Oracleserver receives SQL data commands from users and executes them on the database users oforacle database use logical view of the data. Users view the total data as a collection of tableswhen each table contains rows and columns that means physical structure of database ishidden from users.
Database is a major concern in a customer support tool application. Hence, made adetailed study to find the most suitable databases for the project. The result was Oracle.
Oracle is a trademark of Oracle Corporation and in common usage refers to thedatabase engine (which actually looks for the data) and the range of front-end products.
Oracle 8i is the largest selling SQL-based RDBMS and a most commercially useful product.
Advantage of Oracle 8i
Portability
Oracle is ported for more platforms than any of its competitors running on more than100 hardware platforms and 20 Networking protocols. This makes writing an Oracleapplication fairly safe from changes of direction in hardware and operating system andtherefore a safe bet. Oracle 8i provides support for online backup and recovery and goodsoftware fault tolerance to disk failure. You can also do point-in-time recovery.
Performance
Speed of Oracle 8i database is quite well managed. Even with large database oracle 8irefers to more than 100GB databases and the performance is only raw. But includesconsideration of performance with locking and transaction control.
Multiple Database Support
Oracle 8i has superior ability to manage multiple databases within the sametransaction using a two-phase commit protocol. You can easily move were the data is actuallystored from node-to-node in a network and have a data mirror, making it easy to optimize thelocation of the data from time to time.
Compatibility
Oracle 8i software is compatible with industry standard and industry standard
operating systems. The applications developed can be used on any systems with little or nomodification.
Connect ability
Oracle 8i software allows different computers and operating systems to shareinformation across networks
-
8/3/2019 Virtual Operating System
13/47
Security
Oracle 8i provides powerful security features to limit and monitor data access. Thesefeatures make it easy to manage even the most complex design of data access.
Products of Oracle 8i
The following are some of the products of Oracle:1. SQL * PLUS2. SQL * DBA3. SQL * FORMS
Server Specification
Every inspection tool application needs an application server that provides a runtimeenvironment for them. We also needed an application server for the successful working ofour application. One reason for using J2EE as a web development tool is that variousapplication servers support it. Hence, we have a choice to select servers such as BEAWeblogic, ATG dynamic and IBM Web Sphere. Among all these, our choice was BEAWebLogic. WebLogic is an industry-leading product that gives maximum choice and
flexibility in building robust inspection tool applications that extend from web to theenterprise. It is high performance Java application server, which incorporates the mostcomprehensive implementation of the Java 2 Enterprise Edition (J2EE) standards.
WebLogic server provides the foundation for the rapid development of webapplications and the performance and reliability required for mission-critical inspection toolsites. The reasons for choosing WebLogic in our application are,
1. Java Server Pages (JSPs), Java Message Services (JMS), JavaDatabase Connectivity (JDBC) as specified by the J2EE standard.
2. Support for Oracle database.3. Multitiered JDBC which allows a Java application to access and update
database from anywhere on the network. The server includes its native
JDBC driver fro leading database product and works.
BEAWeb Logic1. Fully implements 10 of the 12Enterprise Java APIs, including JDBC,
EJB, RMI, event management, and JNDI2. Provides the most comprehensive implementation of the Enterprise
Java Beans 1.0 specification, including optional services such assession and entity beans
3. Provides tools to aid in the creation and management of EnterpriseJava Beans, permitting the hosting of both custom and off-the-shelf
business components4. Provides support for persistency to multiple databases
5. Deploys and manages applications to ensure scalability, availability, andsecurity
6. Works easily with industry-leading databases, as well as MicrosoftVisual Basic, Visual C++, Active Server Pages, and COM
7. Works easily with industry-leading development tools, includingVisual Cafe, JBuilder, Supercede, J++, and Visual Age
-
8/3/2019 Virtual Operating System
14/47
BEAServer ScalabilityA BEA WebLogic server scales to support many clients by carefully managing
threads and connections. With BEA WebLogic, a single client/server connection is sharedacross all bi-directional communications, regardless of the request type and the number of
remote objects being accessed. Database connections are also shared so that the maximumnumber of simultaneous clients can be supported. BEA WebLogic caches database query
results and can automatically update cached data in real-time as changes are made to thebacking DBMS. Standard Internet Protocols Web browsers can access the BEA WebLogicapplication server via normal HTTP requests. Forwarding capabilities, such as HTTP
proxying, enable dispatching to servers other than the original web server. For higherperformance, HTTP connections are maintained across requests.All BEA WebLogic servicesare also accessible via CORBA IIOP and TCP/sockets. Management BEA WebLogic
provides centralized management for a potentially large distributed configuration of clientsand servers through a ingle cohesive view of the overall system. Zero Administration Client(ZAC).
The BEA WebLogic application server supports the automatic distribution of Javaapplets, applications, or systems. With ZAC, program librarieseven a new BEA
Web Logic releasecan be installed entirely by an administrator. BEA Web Logic
pushes each updated component to all appropriate clients. The ZAC client itself has a verysmall footprint. Dynamic Application Partitioning The EA Web Logic application server
permits online application components to be dynamically allocated across machines.Graphical Management Console The BEA Web Logic application ever offers acomprehensive pure-Java console for remotely monitoring and updating the state of yourWebLogic application and WebLogic server cluster. Multiple clients and servers can besecurely and easily managed from a single remote console. Integrated Logging The BEAWebLogic application server automatically logs diagnostic and security audit information and
provides interfaces for applications to log their own exception conditions. Optionally, HTTPtraffic can be logged in common log format. Logs can be viewed remotely from a web
browser r from the BEA WebLogic management console.
-
8/3/2019 Virtual Operating System
15/47
Hardware specifications
1. Processor : Pentium - IV2. RAM : 128 MB3. Hard disk : 10 GB4. Monitor : SVGA Monitor (800 * 600 resolutions)
5. Keyboard : 101 keys6. Mouse : Scroll mouse7. Floppy drive : 1.44 MB
DESIGN
System design goes through two phases of development:
1) Logical design
2) physical design.
The design covers the following:
1.Review the current physical system: - its data flows, file content, volumes,frequencies etc.
2.Prepares output specifications: - that is, determines the format content andfrequency of reports, including terminal specifications and locations.
-
8/3/2019 Virtual Operating System
16/47
3. Prepares input specifications- format, content and most of the input functions.
This includes determining the flow of the document from the input data source to the actualinput location.
y Prepares edit, security and control specifications. This includes specifying the rulesfor edit correction, backup procedures and the controls that ensure processing and
file integrity.y Specifies the implementation plan.
y Prepares a logical design walkthrough of the information flow, output, input, controls and implementation plan.
y Review benefits, costs, target dates and system constraints
SystemUser
Login
Commands performed
Accept/reject
VirtualOperatingSystem
-
8/3/2019 Virtual Operating System
17/47
Overall Usecase Diagram For VOS:
FileManipulation
User
Authentication
Checking
UserInterface
NetWork Mgmt
Commandline
Surfing
Commandline
Editing
System
-
8/3/2019 Virtual Operating System
18/47
LowlevelClass Diagram of VOS:
UserInterfata : JTextArea
tf : JTextField
tz : StringTokenizer
prompt : JLabel
commandenter :
token : String
currentpath : String
UserInterface()
actionPerformed()
keyPressed()
JFram
Inherit
:UrlInfo::NetWorkm
token : String
getData()
openConnection()
invoke
UrlConnecti
-
8/3/2019 Virtual Operating System
19/47
High Level Class Diagram:
InvokesUserInterface
CommandLineSurf
CommandlineEdit
FileManip
Dir
invokes
Voskey
Editor
invokes
invokes
NetWork MgmUrlInfo
-
8/3/2019 Virtual Operating System
20/47
StateChart Diagram For VOS:
Connected to The
UserInterface
Commands Surfed
By the User
LoginRequest
Rejected
User Request For Access VOS
Valid
Invalid
CommandsSurfing
Termination
Termination by the User
Start
-
8/3/2019 Virtual Operating System
21/47
Activity Diagrams For Find & Run Commands
Find Command
Surfing
Information
About the File
UserInterface UserInterface
Run Command
Surfing
First
ProcessSecond
Process
Termination
And other
-
8/3/2019 Virtual Operating System
22/47
OverallSequenceDiagram of VOS:
:UserInterface
:Dir ::FileMani :IP: :NetWor
Mgm
:VosKey::CommadLineSur
:Edit::Comma
dlineedi
t
:Syste
1:2
3: info to
4: IP or UrlInfo 5
6: Information to UI
7:8
9: Information to I
10: 11
12: Quit on
-
8/3/2019 Virtual Operating System
23/47
Activity Diagram for VOS:
NetWorkMgmtCmds
CommandlineEditing
UserRequest
Login
AuthenticationChecking
Cm
FileManipulationCmds
Commandline Surfing
Cm
Cm
Cm
Exit
-
8/3/2019 Virtual Operating System
24/47
Data Flow Diagram (DFD)
The first step is to draw a data flow diagram (DFD). The DFD first developed by LarryConstantine as a way of expressing system requirements in a graphical form; this led to amodular form. A DFD, also known as a bubble chart has the purpose of clarifying system
requirements and identifying major transformations that will become programs in systemdesign. So it is starting point of the design phase that functionally decomposes therequirements specifications down to the lowest level of detail. A DFD consists of a series of
bubbles joined by lines. The bubbles represent data transformations and the lines representdata flows in the system.
1. In the DFD there are four symbols:
2. A square defines a source (originator) or destination of system data3. An arrow identifies data flow- data in motion. It is a pipeline through which
information flows.
4. A circle or a bubble (some use an oval bubble) represents a process thattransforms incoming data flows into outgoing data flows
5. An open rectangle is a data store- data at rest or a temporary repository of data
A DFD uses four basic elements:
1. Processes2. Files or data stores3. External entities4. Data flows
Process:
Process shows what the system does. Each process has one or more inputs and producesone or more outputs. Circles in DFD represent processes. Each process has a unique nameand number. This name and number appear inside the circle that represents the process in a
DFD.
Files or data stores:
A file or data store is a repository of data. They contain data that is retained in thesystem. Process can either enter data into a data store or retrieve data from the data store. Athin line in the DFD represents each data store and each data store has a unique name.
External entities:
External entities are outside the system, but they supply input data into the system or usethe system output. External entities are represented by a square or a rectangle. Externalentities that supply data into a system are sometimes called source.External entities that usethe system data are sometimes called sinks.
Data flows:
Data flows model passage of data in the system and are represented by lines joining
system components. An arrow indicates the direction of the flow and the line is labeled by thename of the data flow, flows of the data in the system can take place
1. Between a data store to a process2. From a process to a data store
-
8/3/2019 Virtual Operating System
25/47
3. From a process to a process; and4. From a process to a sink
We have no control flows between external entities, so we do not model them. Similarly,stores are passive and cannot have data flows between themselves.
Data Flow Diagrams
A Collection of components that work together to realize some objective is called aSystem. An information system is nothing but a system that provides information to peoplein an organization. A new system may be built afresh or by changing the existing system.Systems analysis is an important activity that takes place when new information systems are
being built or existing ones are changed. A set of steps that define how things are done iscalled as a Process. A process followed to determine what the system does and what isrequired of it is systems analysis. This is central to the whole of system development. Itincludes gathering the necessary data and developing plans for new systems.
The data flow diagram (DFD) is one of the most important
modeling tools used by the systems analysts. DFDs use a number of symbols to representsystems. There are four kinds of symbols and are used to represent four kinds of systemcomponents namely processes, data stores, data flows and external entities. DFDs are usedto illustrate how data flows in a system.
ProcessName
-
8/3/2019 Virtual Operating System
26/47
CODE
OSProcess.javacode block simulates the command prompt in a real time Operating System.
importjava.lang.*;importjava.util.*;import java.io.*;importjava.awt.*;importjava.awt.event.*;importjava.applet.*;importjavax.swing.*;import java.net.*;
public class OSProces extends JFrame{
publicJTextArea ta;publicTextFieldtf;StringTokenizertz=null;Container cp=null;
booleanfindFile;JLabel prompt;intloc=0,j;
String commandenter,token,str,currentpath,pt;String []keys=new String[50];
publicOSProces(){File f=new File("\\");currentpath=f.getAbsolutePath();
pt=currentpath;prompt=new JLabel(currentpath);
// File f=new File(arg) ;cp=getContentPane();
cp.setLayout(null);tf=new TextField(500);
ta=new JTextArea();Font k=new Font("Sans Serif",Font.PLAIN,14);
ta.setFont(k);JScrollPanejsp=new
JScrollPane(ta,ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jsp.setBounds(30,30,700,400);tf.setBounds(30,450,700,30);
prompt.setBounds(30,435,150,20);
-
8/3/2019 Virtual Operating System
27/47
ta.setBackground(Color.black);tf.setBackground(Color.black);ta.setForeground(Color.lightGray);tf.setForeground(Color.lightGray);
ta.setEditable(false);
//tf.setFocus();cp.add(tf);cp.add(jsp);cp.add(prompt);
tf.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEventke){int c=ke.getKeyCode();
if(c==ke.VK_ENTER){commandenter=tf.getText();
tz=new StringTokenizer(commandenter);token=tz.nextToken();keys[loc]=commandenter;System.out.println(keys[loc]);loc=loc+1;
j=loc;//ta.append(currentpath+commandenter+"\n");if(token.equalsIgnoreCase("find")) //FIND{Find1 ff=new Find1();str= ff.getData(commandenter);str+="\n";System.out.println(str);ta.append(str);tf.setText("");
}else if(token.equalsIgnoreCase("date")) //DATE{
date1 d=new date1();str=d.getDate();str+="\n";ta.append(str);tf.setText("");}else if(token.equalsIgnoreCase("cls")||token.equalsIgnoreCase("clear")) //CLS{
-
8/3/2019 Virtual Operating System
28/47
ta.setText(" ");tf.setText("");
}
else if(token.equalsIgnoreCase("exit")||token.equalsIgnoreCase("quit")) //EXIT{
Object[] options={"yes","cancel"};
intext =JOptionPane.showOptionDialog(null,"Do you Want toExit","Warning",JOptionPane.OK_OPTION,JOptionPane.WARNING_MESSAGE,null,options,options[0]);if(ext==0)System.exit(0);elsetf.setText("");}else if(token.equalsIgnoreCase("run")) //||token.equalsIgnoreCase("start")) //RUN{
Run r=new Run();str=r.getData(commandenter,currentpath);str+="\n";ta.append(str);tf.setText("");}else if(token.equalsIgnoreCase("start")){Start r=new Start();str=r.getData(commandenter,currentpath);str+="\n";ta.append(str);tf.setText("");}else if(token.equalsIgnoreCase("del")){Del d1=new Del();str=d1.getData(commandenter,currentpath);str+="\n";ta.append(str);tf.setText("");}/*
else if(token.equalsIgnoreCase("whois")) //WHOIS{Whois w=new Whois();str=w.getData(commandenter);str+="\n";ta.append(str);tf.setText("");}*/
-
8/3/2019 Virtual Operating System
29/47
else if(token.equalsIgnoreCase("memcheck")) //{MemCheck mc=new MemCheck();str= mc.getData(commandenter);
str+="\n";ta.append(str);
tf.setText("");}else if(token.equalsIgnoreCase("dir")) //DIR{
String filelength,info,s1;int d=0,fn=0;long bytes=0,k=0,tm=0;
File f=new File(currentpath);
info=" Directory of "+f.getPath()+"\n";
ta.append(info);String filenames[]=f.list();Runtime r=Runtime.getRuntime();tm= r.totalMemory();for(inti=0;i
-
8/3/2019 Virtual Operating System
30/47
d++;}else{
filelength=String.valueOf(f1.length());
ta.append(str1);ta.append(""+filelength);// ta.append(filelength);
ta.append("+filenames[i]);// ta.append(filenames[i]);ta.append("\n");tf.setText("");fn++;
bytes+=f1.length();
}}
k=tm-bytes;str=" "+fn+"File(s)"+""+bytes+" bytes"+"\n";str+=" d+"Dir(s)" + ""+k+" bytes are free"+"\n";ta.append(str);}else if(token.equalsIgnoreCase("md")) //MD{while(tz.hasMoreTokens()){try{token=tz.nextToken();System.out.println(token);//currentpath=currentpath+"\\"+token;File md=new File(currentpath+"/"+token);if(md.isDirectory()){ta.append("A subdirectory or file" +md.getPath()+"already exists."+"\n");tf.setText("");// break;}else{
md.mkdir();prompt.setText(currentpath);ta.append("A Directory "+md.getPath()+" Created");tf.setText("");}}catch(Exception e){System.out.println("Exception:md");}}}
-
8/3/2019 Virtual Operating System
31/47
else if(commandenter.endsWith(":")){File f=new File(tf.getText()+"\\");if(f.isDirectory())
{Object o=(Object) f;
currentpath=o.toString();pt=currentpath;prompt.setText(currentpath);tf.setText("");}else{ta.append(currentpath+"\\"+f.getPath()+"\n"+"The system cannot find the drivespecified."+"\n");tf.setText("");}}
/*else if(token.equalsIgnoreCase("e:")) //PATH E:D:....{currentpath="e:\\";
pt=currentpath;prompt.setText(currentpath);tf.setText("");}else if(token.equalsIgnoreCase("c:")){currentpath="c:\\";
pt=currentpath;prompt.setText(currentpath);tf.setText("");}else if(token.equalsIgnoreCase("d:")){currentpath="d:\\";
pt=currentpath;prompt.setText(currentpath);tf.setText("");}else if(token.equalsIgnoreCase("f:")){
currentpath="f:\\";pt=currentpath;prompt.setText(currentpath);tf.setText("");} */
-
8/3/2019 Virtual Operating System
32/47
else if(token.equalsIgnoreCase("cd")) //CD{
while(tz.hasMoreTokens())
{try
{token=tz.nextToken();if(token.equalsIgnoreCase("\\")){currentpath=pt;
prompt.setText(currentpath);tf.setText("");}else{File cd=new File(currentpath+"\\"+token);if(cd.isDirectory())
{currentpath=currentpath+"\\"+token;
prompt.setText(currentpath);tf.setText("");}else{ta.append("The system cannot find the path specified."+"\n");tf.setText("");}}}catch(Exception e){ ta.append("Exception Raised:"); }}}
else if(token.equalsIgnoreCase("manual")) //{String s;//intch;try{File man=new File("d:\\ramu\\helpfile.txt");
FileReaderfr=new FileReader(man);BufferedReaderbr=new BufferedReader(fr);while((s=br.readLine())!=null)ta.append(s+"\n");tf.setText("");}catch(Exception e){ System.out.println(e.getMessage()); }}
-
8/3/2019 Virtual Operating System
33/47
else if(token.equalsIgnoreCase("help")){Help h1=new Help();str=h1.getData(commandenter);
str+="\n";ta.append(str);
tf.setText("");}
else if(token.equalsIgnoreCase("cd\\")) //CD\{currentpath=pt;
prompt.setText(currentpath);tf.setText("");}else if(token.equalsIgnoreCase("ip")) //IP{intservererror=0;
while(tz.hasMoreTokens()){token=tz.nextToken();try{InetAddresssw[]=InetAddress.getAllByName(token);for(inti=0;i0)
-
8/3/2019 Virtual Operating System
34/47
loc--;a1=keys[loc];tf.setText(a1);// ta.append("Arrow key UP");
}if(c==ke.VK_DOWN)
{String a1;
if(loc
-
8/3/2019 Virtual Operating System
35/47
Run.javacode block takes the programs name as input and opens the corresponding processjust as similar as RUN command in WINDOWS.
import java.io.*;importjava.util.*;
importjava.awt.*;
public class Run{
String token,exception,info="",ta_Run="";StringTokenizertokenizer=null;
public Run(){}
public String getData(String tz){System.out.println("is Working?");
tokenizer=new StringTokenizer(tz);token=tokenizer.nextToken();
while(tokenizer.hasMoreTokens()){token=tokenizer.nextToken();Runtime r=Runtime.getRuntime();Process p=null;try{
p=r.exec(token);info+=token+","+"in Process"+"\n";}catch(Exception e){info="can not file";}System.out.println(info);}//while
return info;
}//method
public static void main(String args[]){Run r1=new Run();System.out.println(r1.getData("run pbrushcalc"));}
}//class
-
8/3/2019 Virtual Operating System
36/47
Testing
Types Of Testing
After a test plan has been developed, system testing begins by testing program
modules separately, followed by testing bundled modules as a unit. A program modulemay function perfectly in isolation but fail when interfaced with other modules. Theapproach is to test each entity with successively larger ones, up to the system test level.
System testing consists of the following steps1. Program(s) testing.2. String testing.3. System testing.4. System documentation.5. User acceptance testing.
Program testingA program represents the logical elements of system. For a program to run
satisfactorily, it must compile and test data correctly and tie in properly with other programs.Achieving an error-free program is the responsibility of the programmer. Program testingchecks for two types of errors: syntax and logic. A syntax error is a program statement thatviolates one or more rules of the language in which it is written. An improperly defined fielddimension or omitted key words are common syntax errors. These errors are shown through
error messages generated by syntax errors. These errors are shown through error messagesgenerated by the computer. A logic error, on the other hand, deals with incorrect data fields,
out-of range items, and invalid combinations. Since diagnostics do not detect logic errors,the programmer must examine the output carefully for them.
When a program is tested, the actual output is compared with the expected output.When there is a discrepancy, the sequence of instructions must be traced to determine the
problem. The process is facilitated by breaking the program down into self-containedportions, each of which can be checked at certain key points. The idea is to compare program
values against desk-calculated values to isolate the problem.
String TestingPrograms are invariably related to one another and interact in a total system. Each
program is tested to see whether it conforms to related programs in the system. Each portionof the system is tested against the entire module with both test and live data before the entiresystem is ready to be tested.
System TestingSystem testing is designed to uncover weaknesses that were not found in earlier tests.
This includes forced system failure and validation of the total system as it will beimplemented by its user(s) in the operational environment. Generally, it begins with low
volumes of transactions based on live data. The volume is increased until the maximum levelfor each transaction type is reached. The total system is also tested for recovery and fallback
after various major failures to ensure that no data are lost during the emergency. All this isdone with the old system still in operation. After the candidate system passes the test, the old
system is discontinued.
-
8/3/2019 Virtual Operating System
37/47
System Documentation All design and test documentation should be finalized and entered in the library for
future reference. The library is the central location for maintenance of the new system. The
format, organization, and language of each documentation should be in line with systemstandards.
User Acceptance TestingAn acceptance test has the objective of selling the user on the validity and reliability
of the system. It verifies that the systems procedures operate to system specifications andthat the integrity of vital data is maintained. Performance of an acceptance test is actually theusers show. User motivation and knowledge are critical for the successful performance ofthe system. Then a comprehensive test report is prepared. The report indicates the systemstolerance, performance range, error rate, and accuracy.
Tests Performed In The Virtual Operating System Application
String testing
All inputs to the applications are in the form of string. The strings were tested fornulls, it was tested for length as well as in data types conversions.Exceptions were handled tocheck if the above validations were performed and errors handled.
Unit testing
Every module was individually tested where each command output was checked toreceive appropriate inputs and if it generated appropriate outputs. Every command wasindividually checked to output correct data. The alignment of the data, scrolling, visibility oftext output were all checked for appropriateness.
Integrated Testing
All the modules
1. Environment and user interface module.2. File system maintenance module.3. Network management module.4. Command-line surfing module.5. Command-line editing and fille handling modulle.
were combined and then executed as a single unit . It was found to be executing in asynchronized manner. The user interface module interacted with the commands module to
provide the input, to the command module and receive the output back on the interface
module. Similarly handshaking visible between other modules.Top down Testing
The control of flow in the application was tested with that of design phase. Theapplication was top down tested to check if the sequence windows/frames that open everytime an event was executed was in sequence or not. The results obtained were found to bethat of design phase
-
8/3/2019 Virtual Operating System
38/47
Black box Testing:
In the module that handled networking commands sockets are created and queried
upon based on the commands .The inputs to the sockets ,the expected outputs visible andknown. The functional logic that was part of the data being retrieved as well as any error
resulting were not known as it was a result of incoming data from a remote machine. The userinterface module was black box tested to check the control flow .In the other modules in filesystem related commands this testing was done to check if the output returned wereappropriate.
White box TestingAs the application contains code that was mostly in the form of loops and conditions
checking every statement was necessary most often only positive conditions are checkedusing few inputs .This resulted in bypassing almost of statement which were never beingchecked. In order to verify that every statement was executed at least once inputs that werevary was executed at least once.
In the five modules
1. Environment & User Interface Module2. File System Maintenance Module3. Network Management Module4. Command-Line Surfing Module5. Command-line Editor & File Handlers
Were White box tested to remove any unexpected errors
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////import filemanip.*;import networkmgmt.*;iImport commandsurf.*;import commandedit.*;import java.lang.*;import java.util.*;import java.io.*;import java.awt.*;import java.awt.event.*;import java.applet.*;
import javax.swing.*;import java.net.*;
public class UserInterface extends JFrame{
public JTextArea ta;public TextField tf;
-
8/3/2019 Virtual Operating System
39/47
StringTokenizer tz=null;Container cp=null;
boolean findFile;JLabel prompt;
int loc=0,j;
String commandenter,token,str,currentpath,pt;String []keys=new String[50];
public UserInterface(){File f=new File("\\");currentpath=f.getAbsolutePath();
pt=currentpath;prompt=new JLabel(currentpath);
// File f=new File(arg) ;cp=getContentPane();
cp.setLayout(null);tf=new TextField(500);ta=new JTextArea();Font k=new Font("Sans Serif",Font.PLAIN,14);ta.setFont(k);JScrollPane jsp=newJScrollPane(ta,ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jsp.setBounds(30,30,700,400);tf.setBounds(30,450,700,30);
prompt.setBounds(30,435,150,20);ta.setBackground(Color.black);tf.setBackground(Color.black);ta.setForeground(Color.lightGray);tf.setForeground(Color.lightGray);ta.setEditable(false);
//tf.setFocus();cp.add(tf);cp.add(jsp);cp.add(prompt);
tf.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent ke){int c=ke.getKeyCode();
if(c==ke.VK_ENTER){commandenter=tf.getText();
-
8/3/2019 Virtual Operating System
40/47
tz=new StringTokenizer(commandenter);token=tz.nextToken();keys[loc]=commandenter;
System.out.println(keys[loc]);loc=loc+1;
j=loc;//ta.append(currentpath+commandenter+"\n");if(token.equalsIgnoreCase("find")) {Find1 ff=new Find1();ta= ff.getData(commandenter, ta);tf.setText("");
}else if(token.equalsIgnoreCase("open")||token.equalsIgnoreCase("show"))
{Open o=new Open();ta=o.getData(commandenter,currentpath, ta);
tf.setText("");}
-
8/3/2019 Virtual Operating System
41/47
Output Screens
1) Starting the VOS.
-
8/3/2019 Virtual Operating System
42/47
2) Help Manual showing various commands in VOS.
-
8/3/2019 Virtual Operating System
43/47
3) Screen showing the execution of "dir" command.
-
8/3/2019 Virtual Operating System
44/47
4) Runprocess opens "paint", "calculator", "notepad".
-
8/3/2019 Virtual Operating System
45/47
5) Changing the color of console from black to blue.
-
8/3/2019 Virtual Operating System
46/47
6) Memory check command. shows the memory status of the machine.
-
8/3/2019 Virtual Operating System
47/47
Scope1. New modules can be added to the existing modules without effecting the applications exists
in performance.
2. A graphical output can be made available rather than text output.3. You can implements windows explorer style navigation.