Open Source Technologies First Home Work
-
Upload
narinder-pal-saini -
Category
Documents
-
view
215 -
download
0
Transcript of Open Source Technologies First Home Work
-
8/8/2019 Open Source Technologies First Home Work
1/25
ASSIGNMENT: - 1
BY: - NARINDER PAL
CLASS: - MSC (cs)
SUBJECT NAME: - Open Source Technologies
PART A Q1:- what do you understand by By term GNU. Write someapplication areas of GNU with real software packagesdeveloped with GNU.
ANS: - INTRODUCTION OF GNU :-
The GNU Project is free
software, mass collaboration project, announced on September 27,
1983, by Richard Stallman at MIT. The founding goal of the
project was, GNU is meant to be free and unrestricted by other
distributors. The GNU Project began working on an operatingsystem called GNU (GENERALY NOT UNIX).
Free software:-
-
8/8/2019 Open Source Technologies First Home Work
2/25
The GNU project uses free software which refers
to the way that it is free for users to copy, edit, and distribute. Free
refers to the freedom that the user has with the ability to use,
distribute, study, and modify the software. It is not always free in
cost but it is free in the sense that one can change the software to
however it fits one's needs.GNU has four kinds of freedom for the
software:
Freedom to run the program
Freedom to access the code Freedom to redistribute the program to anyone
Freedom to improve the software
Development OF GNU
GNU build system contains autoconf and automake Gnulib portability library designed for use with the GNU
build system GNU Binutils contains the GNU assembler (as) and the
GNU linker (ld) GNU make the Make program for GNU GNU Compiler Collection optimizing compiler for many
programming languages, including C, C++, Fortran, Ada, and
Java. GNU Debugger an advanced debugger (gdb)
-
8/8/2019 Open Source Technologies First Home Work
3/25
GNU C Library (glibc) POSIX compliant C library GNU pth software threads for POSIX-compatible
operating systems. GNU libtool Shared library support GNU libmicrohttpd embeddable HTTP server BFD object file library GNU MDK a development kit for programming in MIX GNU indent a program to indent C and C++ source code.
CLISP ANSI Common Lisp implementation (compiler,debugger, and interpreter) GNU Common Lisp an implementation of Common Lisp
APPLICATION AREAS OF GNU: -
Dot GNU is a part of the
GNU Project that aims to provide a free software replacement for
Microsoft's .NET Framework by Free Software Foundation. Other goals of
the project are better support for non-Windows platforms and support for
more processors.
Savannah and version control: -
If you are developing an official GNU package, we strongly recommend using a public source control repository on
Savannah, the GNU hosting server. To do this, first create yourself an
account and then register your GNU package. After it is created, you will be
able to choose a version control system, create web pages for your package,
-
8/8/2019 Open Source Technologies First Home Work
4/25
manage permissions for contributors to the pages, and many other features.
Mailing lists: -
We operate mailing lists for GNU software packages asneeded, including both hand- managed lists and automatically managed lists.
When a GNU package is registered on Savannah, a web interface allows
developers to create and manage mailing lists dedicated to their package.
Web pages: -
The master GNU web server is http://www.gnu.org/. We very
strongly recommend that GNU packages use
http://www.gnu.org/software/package as their primary home page. Using
Savannah, developers can create and maintain their own pages at that url via
a CVS web repository, which is separate from the package's main source
repository. More information on maintaining GNU web pages.
FTP : -
The Primary ftp site for GNU software on http://ftp.gnu.org/,
which is mirrored worldwide. We very strongly recommend that all GNU
packages upload their releases here (in addition to any other location you
find convenient).
Login accounts: -
We provide shell login access to GNU machines to people who need them for work on GNU software. Having a login account is
both a privilege and a responsibility, and they should be used only for your
work on GNU. Instructions for obtaining an account machines are written
separately.
-
8/8/2019 Open Source Technologies First Home Work
5/25
Q2: - GNU has existence in every field. How has it contributed
in developing E-Mail packages? What are the categories inwhich E-Mails can be grouped? Give at least one example of every category of email packages with features in detail.
ANS : - INTRODUCTION : -
GNU HAS A WIDE AREA. Linux comes with
various GUI based email client to stay in touch with your friends and family,and share information in newsgroups with other users. The following
software is similar to Outlook Express or Windows Live Mail and is used by
both home and office user. There are following e-mail packages developed
by GNU .
E-MAIL PACKAGES DEVELOPED BY GNU :-
Mozilla Thunderbird
Sylpheed
Claws Mail
Spicebird
Zimbra Collaboration Suite
The Explanation Of Gnu E-Mail Packages And Its Features :-
1: Mozilla Thunderbird :-
It is an e-mail and news cross-platform client
-
8/8/2019 Open Source Technologies First Home Work
6/25
software package by Mozilla Foundation. Thunderbird can manage multiple
e-mail, newsgroup and RSS accounts and supports multiple identities within
accounts. Features like quick search, saved search folders , advanced
message filtering, message grouping, and labels help manage and findmessages.
SEE POP-UP WINDOW OF MOZILA THUNDERBIRD
2: Claws Mail :-Claws Mail is a free, GTK+-based, open source email and
news client. It is very light lightweight. Like Firefox, the wide variety of
plug-ins for this email client makes it very flexible and secure. Claws Mail
-
8/8/2019 Open Source Technologies First Home Work
7/25
runs on Windows, Mac OS X and Unix-like systems such as Linux, and
Solaris.
POP-UP WINDOW OF Claws Mail
3 : Spicebird: -
Spicebird is a collaboration client that provides integrated
access to email, contacts, calendaring and instant messaging in a single
application. It provides easy access to various web services while retaining
all the advantages of a desktop application. It is developed by an Indiancompany called Synovel. It is a free, open source and cross-platform
software. Spicebird client is no longer supported on Mac OS X
-
8/8/2019 Open Source Technologies First Home Work
8/25
4: Zimbra Collaboration Suite : -
Zimbra is a client and server platform for
messaging and collaboration. The web client integrates email, contacts,
shared calendar, VoIP, and online document authoring in a rich browser-
based interface. This is more like MS-Exchange and Outlook combo.
Zimbra also provides native two-way sync to many mobile devices such as
Nokia Eseries, BlackBerry, Windows Mobile, iPhone with 2.0 software.
-
8/8/2019 Open Source Technologies First Home Work
9/25
5: Sylpheed : -Sylpheed is a free, GTK+-based, open source email and
news client. It is very light lightweight. Sylpheed runs on Windows, Mac OS
X and Unix-like systems such as Linux, and BSD.
-
8/8/2019 Open Source Technologies First Home Work
10/25
Some Other Email Clients Used In UNIX Operating Systems: -
Sea Monkey : -Mozilla Sea Monkey is an all-in-one Internet
application suite that includes an Internet browser, email and
newsgroup client, HTML editor, IRC chat, and web development
tools. It includes a pop-up blocker, junk mail controls, and a tabbed
interface.
Evolution or Novell Evolution : -Evolution provides integrated
mail, address book and calendaring functionality to users of theGNOME desktop.
-
8/8/2019 Open Source Technologies First Home Work
11/25
These are e-mail packages which are developed by gnu.
Q 3 : -Given below is a link for a case study. Extracts the mainpoints you got to know about MySQL after studying this case.
http://www.mysql.com/why-mysql/case-studies/mysql-
friendster-casestudy.pdf .
ANS:- After Studying The Given Site The Main Points About
MYSQL Which We Got To Know Are Given Below:-
MYSQL is used to manage a large (and growing) enterprise,
Friendster selected MySQL Network to provide the right combination
of affordable database reliability and scalability.
We can save money by leveraging MySQL Network and commodity
white-box hardware instead.
Friendster made millions of users in few months because of heavy
traffic load Users starts beginning to complain that the site was often
inaccessible, slow, or didnt work properly.
Then friendster bought in the team of experts , their challenge is to re-
engineering the sites entire MySQL database environment .
Friendsters engineering team decided to continue to base their sitesinfrastructure upon a foundation of open source software popularly
known as the LAMP stack, an integrated combination of LINUX
operating system, Apache Web server, MySQL database and PHP
programming languages.
-
8/8/2019 Open Source Technologies First Home Work
12/25
Friendstar employed the strategy called scale-out that allows dozens
of MySQL database servers to share a heavy workload. MySQL servers coordinate separate sections of the social network site
such as member profiles, photo galleries, messages, testimonials andother interconnected user information.
MySQL robust design allows the system to easily replicate and
failover to additional servers during peak traffic periods and
occasional hardware failure.
MySQL Network Gives Friendster Speed, Scalability & Production
Support, Fast Performance, Reliable, Extensible, Easy Integration
with open, less expensive components, High-Quality Technical.
MySQL Network is a comprehensive set of certified software. MySQL is an attractive alternative to higher-cost, more complex
database technology Support.
PART-BQ4: - What are the reasons for popularity of MySQL database
when there are many well established database supports are
available in market?
ANS: - Introduction Of MYSQL database :-
-
8/8/2019 Open Source Technologies First Home Work
13/25
The MySQL database
has become the world's most popular open source database because of its
consistent fast performance, high reliability and ease of use.
The Structured
Query Language (SQL) is a very popular database language, and its
standardization makes it quite easy to store, update and access data. One of
the most powerful SQL servers out there is called MySQL.
MySQL Server as free software under the GNU General Public License
(GPL), and the MySQL Enterprise subscriptions include a GPL version.
MySQL is an open-source database system with which we can do the
following things :-
Design The Structure Of The Tables (Called Schema) And How They
Relate To One Another Add, Edit And Delete Data Sort And Manipulate Data Query The Database (That Is, Ask Questions About The Data) Produce Listings Based On Queries
REASONS FOR POPULARITY OF MYSQL : -
Hardware REQUIREMENTS : -
Windows Server 2003
SP2, RAM: 512 to 4 GB, CPU: Pentium 4, 2.80 GHz, H
Drive: 80 GB IDE.
-
8/8/2019 Open Source Technologies First Home Work
14/25
Data Types:
Many data types: signed/unsigned integers 1, 2, 3, 4, and 8
bytes long, FLOAT, DOUBLE, CHAR, VARCHAR,BINARY, VARBINARY, TEXT, BLOB, DATE, TIME,
DATETIME, TIMESTAMP, YEAR.
Fixed-length and variable-length string types
Licensing : - MySQL is an open-source system that works
under the General Public License (GNU). It is
said that one of the key reasons behind the
popularity of this programming language is that
the web developers can use it free of cost.
However, if you want to sell this software as a proprietary product, you need to buy a
commercial license. Open-Source Nature : - MySQL is an open storage database
engine, which provides a wide variety like, Heap. MySQL
has the ability to integrate with various types of programming
languages. So, it is quite natural that MySQL will be more
beneficial than other web-based technologies. Technicalities : -
-
8/8/2019 Open Source Technologies First Home Work
15/25
o Sometimes MySQL lacks full support
for the stored process. This is no doubt
one of the most remarkable
disadvantages of this database system. Performance : -
y MySQL is able to perform better on Linux
and UNIX like systems. It is seen that most
of the Internet powerhouses use MySQL as
their back-end database for its stable nature. Security : -
MySQL database usually operates over IP ports
and thus it attracts the intruders wealth. But there
is nothing to worry. MySQL also permits one to
change the ports, when default becomes prone.
Recovery : - Though this database programming has several
advantages, one of the main areas in which the
MySQL server faces problem is the recovery
process. In most of the time it is seen that when a
system shuts down without prior indication, people using MySQL server may lose all their
documents. So, people using this server should
remain alert while working.
-
8/8/2019 Open Source Technologies First Home Work
16/25
FEATURES OF MYSQL DATABASE : -
MySQL Community Server and the commercial Enterprise Server.
They have a common code base and include the following features:
A broad subset of ANSI SQL 99, as well as extensions Cross-platform support Stored procedures Triggers
Cursors Updatable Views True Varchar support INFORMATION_SCHEMA SSL support Query caching Sub-SELECTs (i.e. nested SELECTs) Replication support (i.e. Master-Master Replication &
Master-Slave Replication) with one master per slave, many
slaves per master, no automatic support for multiple masters
per slave. Full-text indexing and searching using MyISAM engine
Embedded database library Partial Unicode support (UTF-8 and UCS-2 encoded strings
are limited to the BMP)
-
8/8/2019 Open Source Technologies First Home Work
17/25
Security : - A privilege and password system that is very flexible
and secure, and that enables host-based verification. Password security by encryption of all password
traffic when you connect to a server. Scalability and Limits : -
Support for large databases. We use MySQL Server
with databases that contain 50 million records. We
also know of users who use MySQL Server with200,000 tables and about 5,000,000,000 rows.
Support for up to 64 indexes per table (32 before MySQL
4.1.2). Each index may consist of 1 to 16 columns or parts of
columns. The maximum index width is 1000 bytes (767 for
InnoDB); before MySQL 4.1.2, the limit is 500 bytes. An index
may use a prefix of a column for CHAR, VARCHAR, BLOB,
or TEXT column types.
Q5: - What are the apache configuration files. Discuss some
key directives with their roles and purposes along with
practical effects.
ANS: - INTRODUCTION OF APACHE SERVER : - The Apache is HTTP
Server that provides the internet services. Apache is web server software
-
8/8/2019 Open Source Technologies First Home Work
18/25
notable for playing a key role in the initial growth of the World Wide Web.
The majority of web servers using Apache run a Unix-like operating system.
Apache is developed
and maintained by an open community of developers under the auspices of the Apache Software Foundation. The application is available for a wide
variety of operating systems, including UNIX, GNU, Linux, Solaris Mac OS
X, and Microsoft Windows. Released under the Apache License, Apache is
characterized as open-source software.
Apache Configuration Files: - apache configuration contains directiveand containers
Explanation of Directives and container: -
Directives : -
Apache is configured by placing directives in plain text configuration files.
The main configuration file is usually called httpd.conf. In addition, other
configuration files may be added using the Include directive. Any directive
may be placed in any of these configuration files.
Scope of directives: -
placing them in , , , ,
, and sections.
.htaccess Files : -
The .htaccess files follow the same syntax as the main
configuration files. Since .htaccess files are read on every request, changes
made in these files take immediate effect.
-
8/8/2019 Open Source Technologies First Home Work
19/25
Containers : -
The and directives, along with their
regex counterparts, apply directives to parts of the filesystem. Directives
enclosed in a section apply to the named filesystem directory
and all subdirectories of that directory. The same effect canbe obtained using
.htaccess files. For example, in the following configuration, directory
indexes will be enabled for the /var/web/dir1 directory and all subdirectories.
Options +Indexes
Directives enclosed in a section apply to any file with the specified
name, regardless of what directory it lies in. So for example, the following
configuration directives will, when placed in the main section of the
configuration file, deny access to any file named private.html regardless of
where it is found.
Order allow,deny
Deny from all
Q6:-How PHP is different from other programming languages
like ASP.NET, JavaScript, Java etc.
ANS: - Introduction of PHP: - PHP is a server-side scripting language
for creating dynamic Web pages. You create pages with PHP and HTML.
-
8/8/2019 Open Source Technologies First Home Work
20/25
When a visitor opens the page, the server processes the PHP commands and
then sends the results to the visitor's browser. PHP is Open Source and cross-
platform. PHP runs on Windows NT and many Unix versions, and it can be
built as an Apache module and as a binary that can run as a CGI. 5 54 When built as an Apache module, PHP is especially lightweight and speedy.
Without any process creation overhead, it can return results quickly.
Why PHP is different from other programming languages : -
PHP VS JAVA
PHP vs Java
Subject PHP Java
Integration
with
HTML
PHP has several ways to
markup the scriptlets, but
the most common way is
-
8/8/2019 Open Source Technologies First Home Work
21/25
PHP vs Java
Subject PHP Java
dynamic nature makes it a
very difficult language for
compilation. In the PHP
world, compiling just means
caching the opcodes. The
opcodes consist just in a
parsed version of PHPs
source code (i.e. translating$a = $b + 1; in an opcode
for the assignment and another
for the addition.
machine that dynamically
profiles the code being executed.
When the VM detects a place
worth of compiling, it goes
ahead and compiles it right into
machine code. The name of the
VM, hotspot, comes from that.
Encoding
support
Theres no support for
encoding in PHP. Everything
is just bytes, and its up-to-youdecide in which encoding you
are working. There are some
libraries to handle encoding,
but they are not well
integrated. Full Unicode
support is promised for the
allmighty 6.0 release, although
is yet to be seen whether they
will be able to retrofit
encoding support without
Java has been Unicode (UTF-16) based from the start. Every char
is an unicode char, and nave
developers create unicode-ready
applications without even think
about it. When you do a
str.length(), str.substring(), etc.
you are already handling unicode
chars.
-
8/8/2019 Open Source Technologies First Home Work
22/25
PHP vs Java
Subject PHP Java
disrupting the PHP
community.
Data access
PHP lacks a standard data
access API. It could be said
that PDO is aiming to be that
API, but its a recent addition
and is not the dominating API.
APIs in PHP had traditionally
be DB specific (e.g. you have
a mysqli API just for
MySQL), and you need to call
another set functions if you
want to switch databases.
Mysqli API is not welldesigned: prepared statement
is handled completelly
different than non-prepared
statement, and the way you
have to bind result
parameters is anti-intuitive.
Connection pooling is not a
widely used feature.
Java has a well designed set of
clasess for handling database
access: JDBC. This API is db
agnostic, and you can switch
databases without changing a
single line of code (but you still
might need to adjust your SQL).
There are dozens for connection
pooling implementations.
PHP VS ASP.NET: -
-
8/8/2019 Open Source Technologies First Home Work
23/25
ASP or Active Server Pages is the first attempt of Microsoft to create a
server-side language used for generating dynamic and interactive pages. In
2002 Microsoft releases the ASP.NET as a successor to ASP. ASP.NET is
built on the Common Language Runtime, which allows programmers towrite ASP.NET code using any supported .NET language (C#, C++, J#,
Jscript.NET, Python, Ruby, etc).
Here are some interesting comparative details for both languages : -
PHP generally is much simpler than ASP in terms of usage. PHP was
written in C which makes coding simple. On the other hand ASP uses
a simplified form of Visual Basic language known as VB script
(although with .NET you can choose between all the different
languages mentioned above). However ASP has a steeper learning
curve.
One of the big advantages of PHP is the great support of different
database systems (with MySQL usually as the first choice). Although
connectivity in ASP is much improved since its first versions. ASP.NET is generally faster than PHP (both on Window and on Linux
servers) with the exception of File Copy and Attribute operations.
On the other hand loading speed is a big factor. And in that case PHP
is faster, because ASP uses an overhead on the server since it uses a
COM based architecture (check below the advantage of compiling of
ASP).
However .NET enjoys all the benefits of fast and accurate
compilation. However with PHP you can use Sends PHP Accelerator
which is doing more or less the same.
-
8/8/2019 Open Source Technologies First Home Work
24/25
When it comes to databases, MySQL on PHP is a little bit faster than
SQL Server on ASP. However in terms of performance for large scale
databases opinions vary.
Features of PHP: -
PHP is open source which means free to use with tons of users with
helpful hints and solutions. PHP enjoys the flexibility of running on various platforms such as
Linux, UNIX, Windows and Solaris. On the other hand ASP is
primarily related with Windows platform.
Database Access : -
One of set modules control database access. Using PHP
with MySQL has become common enough that the MySQL interface is now
part of core PHP instead of a plug-in module. Most other databases have
modules that can be included in a PHP build to allow access. PHP can access
most any SQL or ODBC database. It can both read and write information in
the database.
File Access : -
PHP can read and write files. It can also do basic file and
directory maintenance. Because of this, you can use it to do such things as
edit documents remotely.Application Control: -
PHP started as an application control language.
Specifically, it was designed to handle access logging for HTTP.
Graphics: -
-
8/8/2019 Open Source Technologies First Home Work
25/25
PHP can not only manage text content, it can also manage
graphic content. It can be used to create graphs and charts Servers.
Extensible: -
PHP is extensible. It is written in C and the underlying
source can be expanded on with new modules written in the same. It is also
open source, so engaging in such expansion is permitted and encouraged.
For all these high features PHP is more used than other languages.