Open Source Technologies First Home Work

download Open Source Technologies First Home Work

of 25

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.