Saturday, February 22, 2014

JVM

Java Provides two types of HotSpot Java Virtual Machine

client VM : client VM is tuned for reducing startup time and memory footprint by invoking the -client JVM .

server VM : server VM is designed for maximum program execution speed by invoking the -server JVM.

JDK :JDK is a collection of tools for deleloping java applications .we can compile programs written in java and run them in jvm.

JRE:JRE consistes java platform core classes and supporting java platform libraries to run java applicaiton on your computer .

JVM :JVM is platform independent execution environment that converts java byte code to machine language and executes .

Thursday, February 13, 2014

Weblogic Installation - Installers - Types - Methods - System Requirements

Types of Installers :

1)OS - Specific Installers. (.exe .bin)

2)Generic Installers - This installer does not contain jdk's.

3)Upgrade Installers - Patches .

Installtion Methods :

1)Graphicl Mode Installation .

2)Console Mode Installtion (filename -mode=console).

3)Silent Mode Installation (filename -mode=silent -silent_xml= path of the silent.xml file .

Installation Types :

1)Typical Type.

2)Custom Type .

Default Domain Template : WL_HOME/common/templates/domain/wls.jar contains default configuratin of domain template .

System Requirements :

support Platforms.

Processor -- 1 GHz CPU.

Hard Disk -- 3.9 GB.

Memory 1 GB -- Recommeded 2 GB. JDK

Saturday, February 8, 2014

Reverse Proxy and forward Proxy

What is proxy server ?

Proxy servers is a server receive requests from client and it will forward the request to the origin servers.
Proxy server act as intermidiary between client and other origin servers .
Type of proxy servers :
Reverse proxy :
1)Reverse proxy is a proxy server used to pass the requests from the internet to a private network(intranet).
2)Reverse proxy servers also loadbalancing capabilities to number of backend servers
3)Reverse proxy can also lessen network traffic by servering cached information rather than passing all request to backend server by enabling cache
Forward Proxy :
1)Forward proxy is a proxy server used to pass the requests from the private network(inranet) to internet .
Proxy Chaining :
1)A Proxy chain uses two or more proxy servers .
2)Proxy chaining is not a type of proxy but a use of reverse and forward proxy acress multiple networks.

Sunday, January 26, 2014

Tomcat Installation in windows and unix

Tomcat Installation ways for running on different platforms :

Tomcat Installation in windows :
1)Installing Tomcat on Windows using the Windows installer.
It's a Wizard base interface and functionality is similar to other wizard based installers.
. Installation as a service: Tomcat will be installed as a Windows service Using the checkbox on the component page sets the service as "auto" startup.

Tray icon: When Tomcat is run as a service, there will not be any tray icon present when Tomcat is running. the tray icon will be used even if Tomcat was installed as a service.
2)Installing Tomcat in windows exatracing the zip file : you can download the tomcat zip file from the apache tomcat mirror and Extract the tomact zip file .
Tomcat Installation on unix :

you can download the tomcat source tarball (apache-tomcat-7.0.50.tar.gz) from the apache tomcat mirror and Extract the tomact zip file as below .
gunzip apache-tomcat-7.0.50.tar.gz
tar -xvf apache-tomcat-7.0.50.tar

Tomcat Configuration Files

As a Tomcat administrators you must familiarize yourself some of the concepts and files about Tomcat Container .

Tomcat Directories and Files :

1)bin - Startup, shutdown, and other scripts.

2)conf - Configuration files and related DTDs. (server.xml , tomct-users.xml , content.xml)

server.xml : The most important file in here is server.xml. It is the main configuration file for the Tomcat container.

tomct-users.xml : Users are defined in tomcat-user.xml file to access the tomcat container manager webapp .

content.xml : The contents of this file will be loaded for each web application .

3)logs - Log files are here by default.

4)webapps - Webapps folder is for deploying you webapps .

All configuration files is read at container startup, that any change to the files restart of the container is necessary to reflect the changes .

Tomcat Installation : http://jeeservers.blogspot.in/2014/01/tomcat-installation-in-windows-and-unix.html

Saturday, January 25, 2014

Jenkins Disable Security realm

1)Stop Jenkins server .

2)Edit the config.xml under $JENKINS_HOME.

3)Look for the useSecurity element in the config.xml file.

4)Replace true with false and Remove the elements authorizationStrategy and securityRealm.

5) Start Jenkins server.

When Jenkins comes up, you will get full access of the system.

Wednesday, January 22, 2014

Iplanet Custom Error pages

It is better to send Custom Error page response to Client when webserver encounters the error instead of default Error Pages .


Coming to Iplanet webserver , Error handling is a part of the Request handling process .


Error Directive executes When ever the Iplanet webserver encounters the error during Request process


The following statements are included in the obj.conf file to provide custom Error page for 404 and 500 .


Add the below entry in obj.conf to proivde custom error page for 404 Errors .


Error fn="send-error" code="404" path="D:/webservicesm/IPLANET/https-webservicesm/docs/404status.html"


Add the below entry in obj.conf to proivde custom error page for 500 Errors :


Error fn="send-error" code="500" path="D:/webservicesm/IPLANET/https-webservicesm/docs/500status.html"


Tuesday, January 21, 2014

TCP connection states

TCP Connection States
STATE EXPLANATION
SYN_SEND Indicates active open
SYN_RECEIVED Server just received SYN from the client
ESTABLISHED Client received server's SYN and session is established
LISTEN Server is ready to accept connection
FIN_WAIT_1 Indicates active close
FIN_WAIT_2 Client just received acknowledgment of its first FIN from the server
TIMED_WAIT Enters this state after active close
CLOSE_WAIT Indicates passive close. Server just received first FIN from a client
LAST_ACK Server is in this state when it sends its own FIN
CLOSED Server received ACK from client and connection is closed

java.lang.ClassCastException: weblogic.net.http.SOAPHttpsURLConnection

ERROR : java.lang.ClassCastException: weblogic.net.http.SOAPHttpsURLConnection

The above error may occur while making a HTTP(s) connection to external resource from weblogic server because underline API uses weblogic implementation .

weblogic.net.http.HttpsURLConnection : This class is used to represent a HTTP with SSL (HTTPS) connection to a remote object.

To Overcome the above issue Add the below flag in jvm argument to tell the weblogic server to use the Sun API Http Handlers instead of weblogic API

-DUseSunHttpHandler=true

Change the websphere plug-in log file with out restarting a web server

Normally if you want to delete, move or rename websphere web server plug-in log file, you must stop and start the web servers but UNIX systems to manually switch the web server plug-in over to a new log file, without having to stop the web server using the below steps

1 ) Go to the plug-in logs directory and create a new log file by using the touch command .

2 ) Change the permissions on the new file to 766.

3) Edit the plugin-cfg.xml file and change the log filename to the new filename.

4) Websphere plug-in instance will automatically switch over to the new log file name after "RefreshInterval".

5)Do not edit or delete the old plug-in log file for several minutes as it might still be in use by web server processes.

NOTE :

1) If you are using a multi-processed web server, there is no way of telling when a process will start using the new plug-in log file, because it is triggered from processing a request .

2 After all plug-in instances have switched over to the new log filename, you can delete, move, rename, or zero-out the old plug-in log file, if you want.

Friday, January 17, 2014

Step by step Enabling CGI configuration in Tomcat 6

1)The CGI is a way for a web server to interact with external content-generating programs, which are often referred to as CGI(Common Gateway Interface) programs

2)CGI support can be added when you are using Tomcat as your HTTP server and require CGI support.

3)Tomcat CGI support is implemented using the servlet class org.apache.catalina.servlets.CGIServlet. This servlet is mapped to the URL pattern "/cgi-bin/*".

Note : By default CGI support is disabled in Tomcat.

How To Enabe CGI (Common Gateway Interface) :

1) Uncomment the CGIServlet from web.xml file under TOMCAT_HOME/CONF folder that's commented by default .

2) Uncomment mapping for the CGI Gateway servlet from web.xml file under TOMCAT_HOME/CONF folder that's commented by default .

3) Add the priviliged ="true" in context.xml file under TOMCAT_HOME/CONF folder.

Note : you may see the below eror if you not added priviliged ="true" in context.xml .

PM org.apache.catalina.startup.HostConfig checkResources
WARNING: Error during context [] restart
java.lang.SecurityException: Servlet of class org.apache.catalina.servlets.CGIServlet is privileged and cannot be loaded by this web application
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1146)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
)
4) Restart the Tomcat server to Pick up the new configuration

5) Create a cgi folder under your webapps/xxxx/WEB-INF and place your CGI scripts in cgi folder .

6) access the url http://webservicesm.blogpsot.in:8080/cgi-bin/test.pl

Monday, January 13, 2014

iplanet Request-Handling Process (obj.conf):

iplanet obj.conf Request-Handling Process : When Web Server first starts up, it performs some initialization tasks and then waits for an HTTP request from a client (such as a browser). When the server receives a request, it first selects a virtual server. The obj.conf file of the selected virtual server determines how the server handles a request.

The obj.conf file contains a series of instructions known as directives that tell the server what to do at each stage in the request-handling process as below

1.)AuthTrans (authorization translation) : Verify the authorization information (such as name and password) sent in the request.
2.)NameTrans (name translation): Translate the logical URI into a local file system path.
3.PathCheck (path checking): Check the local file system path for validity and check if the requestor has access privileges to the requested resource on the file system.
4.ObjectType (object typing): Determine the Multipurpose Internet Mail Encoding (MIME) type of the requested resource (for example, text/html, image/gif, and so on), and establish other resource-specific settings.
5.Input (prepare to read input): Select filters that will process incoming request data read by the Service step.
6.Output (prepare to send output): Select filters that will process outgoing response data generated by the Service step.
7.Route (request routing): Select the server to service the request.
8.Service (generate the response): Generate and return the response to the client.
9.AddLog (adding log entries):Add entries to log files.
Source :http://docs.oracle.com/cd/E19146-01/821-1827/abvag/index.html

Tuesday, January 7, 2014

Disabling admin console security for WebSphere Application Server

Disabling global security in the WebSphere Application Server
1) using Websphere Admin console
2) By Editing security.xml file
Procedure :To disable global security, using websphere admin console
1)Login into admin console .
2)Go to the below Navigation
Security--->Global Security--->Administrative security---uncheck the check box
3)Restart the WebSphere Application Server. Global security is now disabled.
Procedure :To disable global security, edit the security.xml file
1)Locate the security.xml file. The file is in the following directory:
WAS_NODE_PROFILE_HOME/config/cells/webservicesm
where WAS_NODE_PROFILE_HOME is the directory of the WebSphere Application Server, and webservicesm is the name of the cell .
2)Edit the security.xml file
Search for the line that begins with the following tag security:Security
In that line, search for the enabled attribute, and change the value to false .
3)Save the security.xml file.
4)Restart the WebSphere Application Server. Global security is now disabled.

HTTP3360: connection limit (xxx) exceeded in iplanet

Where xxx is the queue-size limit for the maximum number of concurrent HTTP connections that can be queued waiting for processing.

The server may also experience a hang or performance slowdown when receiving the HTTPP3360:connection limit (xxx)exceeded

What does the HTTP3360 error mean?

The connection limit is the same thing as the maximum number of threads that are set in the Connection Queue for incoming HTTP requests to be queued waiting for servicing. This is configurable via the thread-pool subelement queue-size via the server.xml configuration file

What is the Connection Limit?

The connection limit is the maximum number of ready connections that can be stored in the Connection Queue for incoming HTTP requests to be queued waiting to be serviced by a worker thread. This connection limit is configurable via the server.xml element thread-pool and its subelement queue-size .

In Oracle iPlanet Web Server 7.0 however, there is not a set default value for queue-size. The queue-size value is determined by the web servers auto-tune algorithm.


Since Web Server 7.0u2, the web server has been enhanced to automatically size the connection queue size and other server variables based on the number of file descriptors that are set on the operating system. The other variables affected by the auto detect feature is the keep-alive maximum number of connections and the maximum files for the file cache. The purpose of this enhancement is to allow the server to maximize and properly partition the file descriptors among the web server subsystems for maximum performance.
Possible Causes :

Here are some possible causes of the "Connection Limit (xxx) exceeded" message:

1. The connection queue limits may be reached as a result of an under tuned web server where the file descriptor limits have not been set for optimal server performance. In this case, we recommend sizing studies be done to determine what is the optimal thread settings to be set on the web server.

2. There may be slow response times from a specific application running on the web server which might result in incoming connections queue up. Eventually, the server reaches a point where all threads on the server are occupied and processing requests a full hang condition occurs.

3. For Web Server versions prior to 7.0u7, there was an auto-tuning bug which would auto tune the queue-size to 1.

Monday, January 6, 2014

Websphere Application Server Multiple Data Centers for High Availability

Active/Passive:
1)One data center is serving requests, the other is not performing work but is standing by in case it is needed. Application data and applicationstate are replicated asynchronously between data centers so that when an outage occurs, failover to the surviving data center can be accomplished quickly witha minimal outage (minimal could mean some number of minutes or even a few hours in this context).

2)It is the easiest and safest to implement since only one is serving requests -- but it is also the most expensive, at least in termsof hardware, since you have two data centers with 100 percent capacity

Active/Active:
1)Both data centers are serving requests. Because each data center is active, application data (minimally) and application state (possibly) must be shared between the data centers, and replication of the application data and application state needs to be synchronous, with a minimal latency, in order to avoiding consistencies.

2)It is slightly more complex than Active/Passive -- but with some additional effort, it can work in a reliable manner .

Reformed Active/Active:
1)The key difference in this variation to Active/Active is that the data centers do not share application state and, if possible, there is no sharing of application data -- or it is at least minimized, if it can't be avoided altogether. For this to work, you need to provide affinity for requests to a specific data center, which is best accomplished with a network switch that distributes the load to the data centers (which, naturally, means it doesn't reside in either data center).

2)is the most complex topology to implement; to do so requires a sizable investment in suitable network capacity between the data centers.
Source : http://www.ibm.com/developerworks/websphere/techjournal/0707_col_alcott/0707_col_alcott.html

Sunday, January 5, 2014

Websphere Commerce Technology


Source : http://www-01.ibm.com/software/commerce/websphere-commerce/technology-partners/

WebSphere Commerce V7.0, System Administration

Architecture :
a.Identify components of IBM WebSphere Commerce and how IBM WebSphere Commerce integrates with other products.
b.Describe supported system topologies and available IBM WebSphere Commerce Editions.
c.Describe IBM WebSphere Commerce component architecture (e.g., data load, payment, etc.)

Installation, Configuration and Migration :
a.Describe hardware and software requirements for IBM WebSphere Commerce V7.0.
b.Install development, staging, authoring and runtime environments in both single and multi-tier environments.
c.Create and configure IBM WebSphere Commerce instances using IBM WebSphere Commerce Configuration $Manager and command line tools.
d.Perform migration to IBM WebSphere Commerce V7.0 using the migration tools.
e.Verify and troubleshoot the installation, configuration and migration tasks.
f.Demonstrate how WebSphere Commerce supports globalization.

Set up and Administer IBM WebSphere Commerce Stores :
a.Compare and contrast the steps necessary to publish a store using the Publish Wizard versus the publishstore utility.
b.Apply the concepts of store archives and store assets, and describe which store models are available.
c.Publish a store to support a business model and verify its functionality.
d.Manage organizations, groups, users and roles.
e.Configure store features such as store flow, store style, email activity, marketing and promotions.
f.Configure scheduler jobs to support store features.
g.Create and configure message types and transport methods.
h.Build, package, deploy and verify custom assets.
i.Use WebSphere Commerce staging and data load utilities.
j.Describe the different catalog management tools and their uses.
k.Demonstrate knowledge of workspaces.
l.Enable and configure Social Commerce, Mobile Commerce, and Gift Registry.
m.Configure payment plug-ins and payment rules.

Maintain and Monitor IBM WebSphere Commerce
a.Install fixes, fix packs and feature packs.
b.Describe the logging services and identify the logs available in WebSphere Commerce.
c.Use of database cleanup utility.
d.Configure scheduler jobs for site-level activities.
e.Backup resources for disaster recovery.

Security and Auditing
a.Describe WebSphere Commerce security and authentication model.
b.Demonstrate how to enable different levels of WebSphere Application Server Security.
c.Configure and manage access control.
d.Configure WebSphere Commerce security using LDAP, SSL and Single Sign-On (SSO).
e.Apply business auditing features.
f.Configure WebSphere Commerce implementation to address PCI-DSS (PCI Data Security Standard).

Performance Tuning : a.Apply recommended JVM settings for WebSphere Commerce sites.
b.Configure Dynamic caching and use the Cache Monitor tool to administer it.
c.Monitor performance using WebSphere Commerce Performance Monitoring Infrastructure (PMI) module.
d.Illustrate database performance tuning options.
e.Apply WebSphere Application Server optimization techniques.
f.Perform clustering for high availability and load-balancing.

Support and Troubleshooting : a.Perform troubleshooting of WebSphere Commerce and its software components.
b.Use logs and traces for problem determination.
c.Use data in WebSphere Commerce database tables for troubleshooting.
d.Troubleshoot payment processing issues.
e.Use of IBM self-help tooling for support and troubleshooting.
f.Demonstrate understanding of IBM Software Support.

Wednesday, January 1, 2014

Create a Boot Identity File by using java weblogic.Server for an Administration Server

Boot Identity File by using java weblogic.Server for an Administration Server :
Note: Use this technique only if you invoke the java weblogic.Server command from the command line. If you use a script to start an Administration Server
Oracle recommends that we do not use the technique described in this section for the following reasons:
􀁺 It requires we to store an unencrypted password in the startup script.
􀁺 Each time we run the script, the server boots with the supplied user credentials and then creates a new boot identity file
we can create a boot identity file by invoking the weblogic.Server class directly on the command line and including the following options in the Java command:
-Dweblogic.management.username=our username
-Dweblogic.management.password=our password
-Dweblogic.system.StoreBootIdentity=true These options cause the server instance to boot with the supplied user credentials and then store them in a file named boot.properties
For example, the following command starts an Administration Server named myAdminServer and creates a boot identity file:
java -Dweblogic.management.username=weblogic
-Dweblogic.management.password=weblogic
-Dweblogic.system.StoreBootIdentity=true
-Dweblogic.Name=myAdminServer weblogic.Server
For more information about invoking the weblogic.Server class directly from a command line,see weblogic.Server Command-Line Reference in Command Reference.

Integration process for Apache to weblogic

* We have to downloaded and install weblogic serverApplication server, Apache webserver from the official websites
* We want to install apache plug-in file,so that we can avoid port number when accessing the deployed applications
* The steps given below should work for apache 2.x
1. Download the apache server plug in for weblogic from :
http://download.oracle.com/otn/bea/weblogic/server103/WLSWebServerPlugins1.0.1150354-Apache.zip
2. Extract the zip file into your hard disk
3. Make sure you have necessary modules in the extracted zip folder
For eg: mod_wl_220.so under windows folder
4. Verify that plug-in mod_so.c is enabled by typing the following command
$APACHE_HOME \bin\apachetl –l (Unix/linux)
Or
$APACHE_HOME \bin\httpd –l (windows)
Where APACHE_HOME is the directory containing your Apache HTTP Server installation
This lists all enabled modules. If mod_so.c is not listed, you must rebuild apache server to have it enabled
5. Install the Apache HTTP Server Plug-In module for Apache 2.0.x by copying the mod_wl_22.so file to the $APACHE_HOME\modules directory
6. Add the following line to your APACHE_HOME/conf/httpd.conf file manually:
LoadModule weblogic_module modules/mod_wl_22.so
7. Modify the ServerName as your machine ip address.
8. Add the following lines:

WebLogicHost ip_address
WebLogicPort 7001


SetHandler weblogic-handler

10. Verify the syntax of the httpd.conf file with the following command:
$APACHE_HOME\bin\apachectl -t
The output of this command reports any errors in your httpd.conf file or returns:
Syntax OK
11. Re-start Apache server.
12. Test everything by hitting the URL below in the browser:
http://servername/application_name/

Weblogic 11G installation steps in consolemode

Choose BEA Home Directory:
--------------------------
"BEA Home" = [D:\bea]
Use above value or select another option:
1 - Enter new BEA Home
2 - Change to default [C:\bea]
Enter option number to select OR [Exit][Previous][Next]> 1
<--------------- Oracle Installer - WebLogic Platform 10.3.0.0 --------------->
Choose BEA Home Directory:
--------------------------
"BEA Home" = [D:\bea]
Enter new BEA Home OR [Exit][Previous][Next]> next
<--------------- Oracle Installer - WebLogic Platform 10.3.0.0 --------------->
Choose Install Type:
--------------------
Select the type of installation you wish to perform.
->1¦Complete
¦ Install the following software products and examples:
¦ - WebLogic Server
¦ - Workshop
2¦Custom
¦ Choose software products and components to install and perform optional
¦configuration.
Enter index number to select OR [Exit][Previous][Next]> 1
<--------------- Oracle Installer - WebLogic Platform 10.3.0.0 --------------->
Choose Product Installation Directories:
----------------------------------------
BEA Home Directory: [D:\bea]
Product Installation Directories:
1¦WebLogic Server: [D:\bea\wlserver_10.3]
2¦Workshop: [D:\bea\workshop_10.3]
Enter index number to select OR [Exit][Previous][Next]> 1
<--------------- Oracle Installer - WebLogic Platform 10.3.0.0 --------------->
Choose Product Installation Directories:
----------------------------------------
"WebLogic Server" = [Enter new value or use default "D:\bea\wlserver_10.3"]
Enter new WebLogic Server OR [Exit][Previous][Next]> next
<--------------- Oracle Installer - WebLogic Platform 10.3.0.0 --------------->
Choose Product Installation Directories:
----------------------------------------
BEA Home Directory: [D:\bea]
Product Installation Directories:
1¦WebLogic Server: [D:\bea\wlserver_10.3]
2¦Workshop: [D:\bea\workshop_10.3]
Enter index number to select OR [Exit][Previous][Next]> 2
<--------------- Oracle Installer - WebLogic Platform 10.3.0.0 --------------->
Choose Product Installation Directories:
----------------------------------------
"Workshop" = [Enter new value or use default "D:\bea\workshop_10.3"]
Enter new Workshop OR [Exit][Previous][Next]> next
<--------------- Oracle Installer - WebLogic Platform 10.3.0.0 --------------->
Choose Product Installation Directories:
----------------------------------------
BEA Home Directory: [D:\bea]
Product Installation Directories:
1¦WebLogic Server: [D:\bea\wlserver_10.3]
2¦Workshop: [D:\bea\workshop_10.3]
Enter index number to select OR [Exit][Previous][Next]> next
<--------------- Oracle Installer - WebLogic Platform 10.3.0.0 --------------->
Choose Shortcut Location:
-------------------------
*The installer creates shortcuts to BEA components, samples, and tools. As
*a user with administrative privileges, you can specify where these
*shortcuts are created.
->1¦"All Users" Start Menu folder (recommended)
¦For some installations, this setting may limit the automatic creation of
¦server shortcuts for users without administrative privileges. Refer to the
¦documentation for more information.
2¦Local user's Start Menu folder
¦Select this option if you need to ensure that other profiles registered on
¦this machine will not have access to these shortcuts.
Enter index number to select OR [Exit][Previous][Next]> 1
<--------------- Oracle Installer - WebLogic Platform 10.3.0.0 --------------->
Choose Shortcut Location:
-------------------------
*Are you sure you wish to create the shortcuts in the selected location?
* *"All Users" Start Menu folder (recommended)
*For some installations, this setting may limit the automatic creation of
*server shortcuts for users without administrative privileges. Refer to the
*documentation for more information.
->1¦Yes.
2¦No, Go back to the previous screen and make another choice.
Enter index number to select OR [Exit][Previous][Next]> 1
<--------------- Oracle Installer - WebLogic Platform 10.3.0.0 --------------->
The following Products and JDKs will be installed:
--------------------------------------------------
WebLogic Platform 10.3.0.0
+----WebLogic Server
¦ +----Core Application Server
¦ +----Administration Console
¦ +----Configuration Wizard and Upgrade Framework
¦ +----Web 2.0 HTTP Pub-Sub Server
¦ +----WebLogic JDBC Drivers
¦ +----Third Party JDBC Drivers
¦ +----WebLogic Server Clients
¦ +----WebLogic Web Server Plugins
¦ +----UDDI and Xquery Support
¦ +----Server Examples
+----Workshop
¦ +----Workshop for WebLogic
¦ +----Workshop Runtime Framework
+----JDKs
+----Sun SDK 1.6.0_05
+----BEA JRockit 1.6.0_05 SDK
*Estimated size of installation: 1,107.0 MB
Enter [Exit][Previous][Next]> next
<--------------- Oracle Installer - WebLogic Platform 10.3.0.0 --------------->
Installing files..
0% 25% 50% 75% 100%
[------------|------------|------------|------------]
[***************************************************]