Auto-generate Flow Chart from Java/C++ Codes:

Raptor Flowchart Tutorial For Beginners

Friday, May 16, 2014

How To Get A Top Ranking In Google?



The Google Search Engine

Google's search engine is a powerful tool. Without search engines like Google, it would be practically impossible to find the information you need when you browse the Web. Like all search engines, Google uses a special algorithm to generate search results. While Google shares general facts about its algorithm, the specifics are a company secret. This helps Google remain competitive with other search engines on the Web and reduces the chance of someone finding out how to abuse the system.

Google uses automated programs called spiders or crawlers, just like most search engines. Also like other search engines, Google has a large index of keywords and where those words can be found. What sets Google apart is how it ranks search results, which in turn determines the order Google displays results on its search engine results page (SERP). Google uses a trademarked algorithm called PageRank, which assigns each Web page a relevancy score.

A Web page's PageRank depends on a few factors:

The frequency and location of keywords within the Web page: If the keyword only appears once within the body of a page, it will receive a low score for that keyword.
How long the Web page has existed: People create new Web pages every day, and not all of them stick around for long. Google places more value on pages with an established history.
The number of other Web pages that link to the page in question: Google looks at how many Web pages link to a particular site to determine its relevance.

From: http://computer.howstuffworks.com/google-algorithm.htm

Thursday, May 15, 2014

Rise and Fall of Netscape Browsers

--
Rise and Fall of Netscape Browsers

Table of Contents

1. Introduction 
2. History 
3. Complementary Products 
4. Success 
5. Competition 
6. Failure 
7. Conclusion 
8. References 

I.  Introduction

On March 3, Netscape President Jim Barksdale testified at a hearing of the Senate Judiciary Committee that his company faced much trouble. Once viewed as one of the most promising companies in the emerging Internet market, Netscape's share of the browser market had fallen from over 90% to almost 50%. The company's share price suffered accordingly, plummeting from a high of over $80 per share to just under $20 per share in the last two years. What contributed to Netscape's spectacular rise and how could the Mountain View-based company have fallen so far?

II. History

When Marc Andreessen joined the National Center for Supercomputing Applications (NCSA) at the University of Illinois in 1992, a major change in the computing industry was occurring. Large costly supercomputers were being replaced with more cost-efficient workstations based on microprocessors. The NCSA realized it no longer made economic sense to run powerful supercomputers, and decided the next stage would be to network everything together -- especially the scientists and educators who had been using the supercomputers [1].
The idea of linking computers together into a data network had been gaining momentum for over a decade, and a number of network applications had been developed to allow users to communicate through the network. Some examples included e-mail, gopher, telnet, ftp, and lynx. However, a major barrier to broader appleal was that these applications all had non-trivial and incompatible interfaces which limited their use to people with reasonable programming skills.
At the urging of Andreessen, NCSA decided to address this technical barrier. The technology to link people from all over the world existed along with network applications, hypertext, and personal computers. The challenge was to put all the pieces together. Under his leadership emerged the first version of the primitive Mosaic browser in 1993. Mosaic was very user-friendly -- it had a simple user interface -- and it allowed users connected to the Internet to share multimedia webpages.
To test Mosaic, NCSA used the Internet itself -- this time as a distribution medium. By allowing free download from the network, the center was able to quickly get Mosaic into hands of mainstream users. Overall, user response was tremendous. As the browser's popularity increased many public companies courted NCSA to commercialize Mosaic.
The founder of Silicon Graphics, Jim Clark, was one who noted the success of Mosaic. Sensing the tremendous opportunity that the browser held, Clark recruited Andreessen and together they founded Netscape. Netscape's mission was to be the leading provider of open software that links people and information over the Internet and Intranets. In order to quickly create a market for its products, Netscape decided to give away its client browser free of charge. Netscape reasoned that by giving everyone a window to the Internet, users would accept the company's technology and help develop it in new and creative ways [2].
The pace at which the Internet has developed into a technology with mass appeal and popularity is astounding. Much of Netscape's initial growth can be attributed to being a first-mover in the Internet browser market and therefore being able to reap the rewards produced through demand side positive feedback experienced in this new medium. The company sought to leverage this success by quickly expanding its product line to include a full line of clients, servers, development tools, and commercial applications. However, the profit potential in this rapidly-growing market did not go unnoticed for long, with competitors introducing a multitude of products to directly compete with Netscape's products.


III. Complementary Products

The success of the Netscape browser is directly linked to the success of a range of complementary products. First, the company's browser could not run without basic complementary products such as the operating system (Windows, Mac, or Unix), the computer (PC, Apple, or Workstation) and the network. While having all three of these products provides the functionality needed to use Netscape's browser, the impact on the actual performance of the browser must be measured on a continuum: the faster that each of these products allows the Netscape browser to operate, the better [3].
Second, the development of Netscape owes much to complementary plug-in applications that can be run from within the browser window. Some programs traditionally having their own interface to the Internet have been bundled in with the browser. Two examples are gopher and file transfer protocol (FTP) which previously were executed from a command line prompt (Unix) or through a graphical user interface (Windows or Mac). Today most new users do not even know that the two applications exist because users are only exposed to the browser interface rather than the stand-alone applications.
A wealth of multimedia plug-in applications that give the browser enhanced multimedia capabilities has also contributed to the popularity of Netscape. Video, audio, animation, virtual reality, and image files compose some of the types of multimedia files that can be seen or heard through plug-ins such as RealAudio, Shockwave, Media Player, and Voxware Toolbox. Many of these applications are designed to enhance a user's experience, regardless of that user's choice of browser. While this arrangement certainly benefits Netscape, the stronger version of this complementary relationship occurs when applications are designed exclusively for Netscape's browser. For instance, if Netscape were the only browser that featured a plug-in that allowed text on a user's screen to be read aloud to the user, those interested in that particular feature would be forced to use Netscape as their browser.
Finally, numerous features accessed through Netscape can be thought of as complementary products. Chat rooms, internet telephony, guestbooks, stock portfolios, content providers, date matching, java appelets, and on-line commerce are just some of the services provided through the Netscape browser. Again we see Netscape benefiting from positive feedback: the more people who use Netscape, the more services we see available for or through the browser, which leads to more users, and so forth.


IV. Success

Netscape's initial domination of the browser market can be linked to several strategic decisions. First, Netscape Navigator was the first widely distributed Web browser [4]. While much has been made of the company's decision to distribute its browser for free over the Internet, it should be noted that only 5% of all Netscape shipments were delivered through the World Wide Web in 1996 [5], so the free beta version download does not explain the extended popularity of the Netscape browser. Instead, the majority of the company's browser sales have occurred either at retail or into the growing corporate segment of the market. For example, Netscape's business plan includes direct sales to the Fortune 100 corporations and agreements with scores of OEM companies like Compaq, IBM, HP, Sun, and Digital [6]. The company's proficiency in traditional product distribution network should not be overlooked as a key factor of success.
Second, the company's founder realized that the promise of future profits lay not necessarily with the browser but in the maturing Internet infrastructure and applications market. With this in mind, the company leveraged its initial success by broadening its product line to include a full line of clients, servers, development tools, and commercial applications.
Third, Netscape has actively pursued a strategy of "coopetition". Netscape publishes its standards openly and has won many partners with its willingness to share the market and profits. Prominent Netscape technology partners include General Electric, Sun, and Informix [7]. Netscape works with General Electric on EDI; with Sun on Java applets; and with Informix on database access through browsers. The result of this "coopetition" has been the interoperability and portibility of the Netscape browser. Gradually, the Netscape browser has become a key intranet component for many IT managers [8].
By the end of 1997, the company's stand alone browser was estimated to make up only 13% its revenue. Netscape's brand name is strong, it has a large installed client base, and the company's enterprise software and Web site continue to provide a decent revenue stream [9]. With the new strategy to make its browser free for anyone to distribute or enhance, there is still a chance for the Netscape browser to become the spanning layer over all major operation systems on all platforms. However, the potential in this rapidly-growing market did not go^M unnoticed for long, with competition introducing a products^M directly competing with Netscape.^M


V. Competition

Netscape's most formidable competitor is Microsoft's Internet Explorer which today integrates its own operating system with the browser [10]. In the last two years the software giant's Internet Explorer has gone from zero to almost 50% of the browser market, and many analysts estimate that it will pass Netscape in dominant market share during 1998.
Microsoft's interest in the browser market can be traced to 1994 when the company first talked to Netscape about licensing its browser technology. Netscape declined, feeling that Microsoft's offer was undervalued and in addition would provide the company with access to virtually all of Netscape's technology. A year later, Microsoft introduced its own browser.
The battle between Netscape and Microsoft to dominate the browser market has been an interesting one. Earlier this year Netscape proposed that dominating this space hinged on providing customers with enhanced features. When sales of Netscape Communicator -- which includes e-mail, group discussion, and conferencing features -- proved disappointing, Netscape once again began pushing a stand-alone version of its browser[11].
So just how important is market share in this market? On the one hand, Netscape CEO James Barksdale insists that the Internet business will not evolve in the same way as the operating system business. "Our bet," he says, "is that the Internet will not be a winner-take-all market and that Netscape will be a big winner in this world" [12].
On the other hand, while browser revenue accounted for only 13% of Netscape's revenue in the fourth quarter of 1997, Barksdale remarks that "the browser market is the seed corn that feeds the other businesses" [13]. These include advertising and electronic-commerce revenues from its popular Web site and sales of Internet software used on servers [14].
Microsoft certainly agrees with the latter point. As one industry pundit puts it, "The browser already is the operating system" [15]. Recognizing the future implications of this statement, the company has been working hard on several fronts to assert its dominance in the browser market.
Microsoft has leveraged its dominance in the desktop operating system (OS) environment, where the company's Windows OS can be found on more than 100 million computers worldwide [16]. The company has integrated Internet Explorer into Windows 98, its operating system update due out later this year. "That kind of enhancement is great for customers," says Microsoft CEO Bill Gates, "making it so when you turn on a PC, the Internet is there and it's easy to use" [17].
Microsoft also recently announced a deal with America Online (AOL), the most popular online service. In return for making Internet Explorer the service's default browser, Microsoft agreed to integrate AOL's software into all future versions of its Windows operating system [18].
Further, the company has built on its relationships with distributors and customers. Until recently, Microsoft's browser was free, while Netscape's browser was not. This allowed Microsoft to make tremendous gains in market share. With both browsers being distributed for free, Microsoft's deep-rooted advantages have become clear. Because PC makers are locked in to distributing Microsoft's Windows 98 operating system, many do not see the benefit in providing Netscape's browser on top of Microsoft's browser.
Many are frightened at the prospect of winding up on Microsoft's bad side. "There is absolutely no question that in the computer business you are better off being a friend of (Microsoft's chairman, Bill Gates)," quips Jonathan Jacobson, an antitrust lawyer [19].
Finally, Microsoft has actively encouraged developers to tailor their Web sites to Internet Explorer. The company believes that in time, developing for both Netscape and Internet Explorer browsers will prove too much of a burden. Hence, it should attempt to win developers over now, perhaps by emphasizing specific features of Internet Explorer and reminding developers that switching costs will only increase over time. After postulating that the browser either has or will become the operating system, venture capitalist J. William Gurley goes on to note that "developer support is the key to success in the operating-system game" [20].
To its credit, Netscape still holds a majority market share in the browser market and has done its best to make operating the PC and surfing the Internet one and the same. Its recent decision to distribute its browser products for free should help to stabilize its market share. Further, its decision to license its basic computer code for free could stimulate demand for the company's browser products: for example, PC manufacturers could modify the Netscape browser and even put their own brand on it.
More generally, Netscape hopes to rally a community of software developers around its technology standard and push that standard forward. "This could open up the desktop to competition," says Bruce D. Smith, a software analyst with Merrill Lynch & Co., "and that could be a huge opportunity for Netscape" [21].
But Microsoft's dominant position in the industry, combined with its seemingly limitless financial resources and a tremendous focus on winning this battle, appear to give it the upper hand in the browser war.

VI. Failure

Netscape is in trouble. Its share of the browser market is shrinking and its profits are on the decline: in the fourth quarter of last year, the company's revenues from so-called client software, which includes its Navigator browser, dropped to $12 million, down from $52 million a year earlier [22].
The growth of its other businesses -- which include advertising and electronic-commerce revenues from its popular Web site, and sales of Internet software used on servers -- is not enough to offset the drop in its client software sales. In January, Netscape reported a net loss of $115 million for FY 1997 and announced that it would lay off 300 of its 3,200 workers [23]. Its stock price sank, and its future seemed bleak.
The president of We Develop Inc., Warren Woodford, said, "I think Netscape as a company is desperate. It on the technology side has fought a good fight." However, Netscape is now losing the fans of its browsers and the customers of its web application servers. While Microsoft's browser, Internet Explorer 4.0, is a separate application from the Windows 95 operating system, the majority of buyers of new PCs automatically receive it because Microsoft has required PC makers that install Windows 95 on the machines they ship to add Internet Explorer as well [24]. To determine how much choice Internet users actually have in web browsers, an organization called NetAction recently surveyed several top Internet service providers, asking each ISP which browser consumers received with the service's start-up kit. The survey results are displayed in table below [25]. The survey was conducted by telephone during July, 1997.

RankInternet Service ProviderBrowser provided with start-up kit
1America OnlineIE 3.1
2CompuserveIE 3.1; NN 3.0 available as a download
3Internet MCIIE 3.1(Microsoft Internet Explorer 3.1)
4IBMNN 3.0(Netscape Navigator 3.0)
5MicrosoftIE 3.1
6BIGLOBEN/A
7T-OnlineN/A
8Sprint IP ServicesChoice of IE 3.02 or NN 3.0
9UUNETN/A
10PSINet Inc. (Mindspring)IE 3.02
Obviously, most new users receive free copies of Microsoft IE from PC makers (e.g., Compaq and Dell) as well as ISPs (e.g., AOL and MCI). This hurts Netscape because research shows that consumers are not likely to switch from their initial browser. Specifically, a survey [26] conducted in Oct. 1997 shows that 70% of all Internet users have never switched their web browsers. Therefore, Microsoft's strategy of bundling IE with its operating system and putting its browser on new PCs and Internet services is a significant threat to Netscape.

Another reason of the falling of Netscape browsers could be the company's anti-Microsoft policy: the company focuses too much energy on the battle against Microsoft. Ironically, some observers claim that it would be a better idea for Netscape to cooperate more with Microsoft if it wants to survive. After all, its browsers rely heavily on the growth of not only Unix but of Microsoft's Windows NT platform, and the recent growth of Windows NT machines is vastly greater than the growth of Unix, a trend that is expected to continue.


VII. Conclusion

The initial success of Netscape Navigator was phenomenal. By creating a common spanning layer with a unified user interface to many underlying Internet services (hypertext, multimedia, ftp, etc.), Netscape was able to unleash the Internet to the mass market. Netscape fostered "coopetition" with many other companies by publishing open standards and creating synergistic partnerships. This enabled Netscape to rapidly increase the market for its browser, by giving the consumer many complementary products and stimulating demand for the Internet as a whole.
To win market share in this emerging market, Netscape developed a solid business plan, which focused on getting the browser to as many consumers as possible in as short a time as possible. This meant direct sales to large corporations, agreements with OEM companies and a free trial scheme aimed at more price-sensitive individual consumers. With a majority of the market share in the rapidly growing web browser market, Netscape rapidly became a successful and major player in the Internet industry.
Unfortunately, new competition quickly emerged. Microsoft soon began a full scale attack on the browser market, in an attempt to gain market share away from Netscape. To accomplish this, Microsoft undercut Netscape in both pricing and distribution. To persuade price-sensitive consumers to switch to the IE browser, Microsoft gave it away for free. By bundling IE with its operating system (Windows), Internet Service Provider software, and new PCs from OEMs, IE could be widely distributed. Thus, with the right price (free) and no user-initiated installation, Microsoft could lock-in consumers to its browser solution before they even had a chance to acquire and try the Netscape browser.
The cutthroat competition from Microsoft and the resulting decline in market share for its browser has required Netscape to rethink its business plan. Netscape has decided to give its browser away for free, and to top Microsoft, is going to give away the source code as well. However, it remains unclear whether or not this will stop Netscape's market share from eroding. If not, Netscape may need to further rethink its business plan. This might include leaving the browser market and focusing on its complementary products (servers, e-commerce, etc.), partnering or merging with a larger company with more financial resources, or even cooperating with Microsoft to develop value-added enhancements to its browser.
Maybe the comment given by Bryan Vincent, the president of Bryan Vincent Association Inc., quite describes the future of Netscape, "People do not seem willing to bet their companies, infrastructure, and message on Netscape. The reason is they just don't know how well Netscape is going to do."[27]

--
copied from: http://www-inst.eecs.berkeley.edu/~eecsba1/sp98/reports/eecsba1c/pj1/

Thinking Inside The Box - The Netscape Example




I absolutely thought we were a software company - we build software and put it in boxes, and we sell it. Opps Wrong. He was so busy focusing on technology for the sake of technology that he never saw the obvious opportunity to develop Netscape's web browsing business.

Extracted from : The Wisdom of Failure: How to Learn the Tough Leadership Lessons

Wednesday, May 14, 2014

Installing WebSphere Developer Tools

copied from: https://www.ibmdw.net/wasdev/docs/install-websphere-developer-tools-8-5-5-1-release/
--

Installing V8.5.5.1 of WebSphere Developer Tools

You can install the developer tools into an existing Eclipse workbench from downloaded installations files or from Eclipse Marketplace. You can also update IBM WebSphere Application Server Developer Tools for Eclipse installed into an existing Eclipse workbench.
Ensure that your Eclipse workbench meets one the following requirements:

Installing from a remote repository

Use this installation method to use your workbench to locate and install the installation files for WebSphere Application Server Developer Tools for Eclipse V8.5.5.1 from Eclipse Marketplace. The procedure is defined in the help section Install from a remote repository.

Installing from downloaded installation files

Use the following installation method if you want to download the installation files for WebSphere Application Server Developer Tools for Eclipse and then install the product into an existing Eclipse workbench. To install the product while not connected to the internet, you must download additional prerequisite Eclipse files.

Before you begin

Important: If your computer will not be connected to the Internet during the installation, then you must download and install prerequisite Eclipse files before you install WebSphere Application Server Developer Tools for Eclipse.
  1. Download the following prerequisite files depending on your version of Eclipse IDE for Java EE Developers
  2. For each compressed file that you downloaded in the previous step, extract the contents of the file into the Eclipse directory of your Eclipse IDE for Java EE Developers. Ensure that you preserve the structure of the extracted contents.
    Tip: You can overwrite any files that have the same name.
    For example, if your Eclipse directory is located in the file path C:\eclipse-jee-kepler-SR1-win32-x86_64\ , then you must extract the contents of each file into the directory C:\eclipse-jee-kepler-SR1-win32-x86_64\.
    When you are finished, the extracted files will be in the existing directories of your Eclipse IDE:
    • eclipse (For example, C:\eclipse-jee-kepler-SR1-win32-x86_64\eclipse.)
    • eclipse\plugins (For example, C:\eclipse-jee-kepler-SR1-win32-x86_64\eclipse\plugins.)
    • eclipse\features (For example, C:\eclipse-jee-kepler-SR1-win32-x86_64\eclipse\features.)
  3. From a command line, restart your Eclipse IDE for Java EE Developers using the -clean option. For example, C:\eclipse-jee-kepler-SR1-win32-x86_64\eclipse\eclipse.exe -clean
Procedure
  1. Download the .zip file of IBM WebSphere Application Server Developer Tools for Eclipse to a directory on your computer. The .zip file is available at:https://www.ibmdw.net/wasdev/downloads/websphere-application-server-developer-tools-v8-5-5/.
  2. Start your Eclipse IDE for Java EE Developers workbench.
  3. Click Help > Install new software.
  4. In the Add Repository window, click Archive.
  5. Browse to the location of the .zip file of IBM WebSphere Application Server Developer Tools for Eclipse. Select the file and then click Open.
  6. In the list of results, select IBM WebSphere Application Server Developer Tools for Eclipse V8.5.5.1. If you do not want to install all features (for example, you are installing only the WebSphere Application Server V8.5 Liberty Profile Tools feature), then expand the IBM WebSphere Application Server Developer Tools for Eclipse node and select the features that you want to install.
    Tip: Ensure that you do not select IBM WebSphere Application Server Liberty Profile Server Adapter.
  7. Click Next.
  8. On the Review Licenses page, review the license text. If you agree to the terms, click “I accept the terms of the license agreement” and then click Finish. The installation process starts.
  9. When the installation process completes, restart the workbench.

Installing Eclipse Web Tools patches (Kepler SR1 only)

Patches are available for a couple of bugs in the Eclipse Web Tools Project V3.5.1. For details, see Bug 419804 & Bug 419889. Apply these patches if you are using the developer tools installed into the Kepler SR1 release of Eclipse for Java EE Developers. Download the patches from patches32x-P-3.5.1-20131023203751.zip, then apply them similar to installing prerequisite Eclipse files. See steps 1 through 3 of the “Installing from downloaded Installation files” section.
Additional Information:
--

Testing and publishing Java projects on a WebSphere server

copied from: http://pic.dhe.ibm.com/infocenter/radhelp/v8r5/index.jsp?topic=%2Fcom.ibm.websphere.wlp.nd.multiplatform.doc%2Fae%2FwdtV855overview_ga.html
--

Testing and publishing on a server

This page provides a starting point for finding information on how to integrate the workbench with a server.
You can test an application that is running on the development workbench prior to publishing the application into the directories of the server. Publishing involves copying files (application, resource files, and deployment descriptor files) to the correct location for the server to find and use them.

Overview

You can read the following topics before testing and publishing an application on a server. They provide planning overview information that may be useful if you are new to working with a server in this development environment.
Conceptual information iconResources used to test and publish on your server
Learn what is a server, server project, server runtime environment and server configuration. Learn what server resources you need to define in the workbench to communicate to a server. In addition, learn what types of servers are supported with this development workbench.
Conceptual information iconServers view
Learn how you can manage the server within the workbench.
Conceptual information iconThe WebSphere® test environment
The commonly used application server with this product is WebSphere Application Server.

Getting started

If you are already familiar with administering your application server the following topics will help you set up your workspace for integrating your application server with the workbench, and guide you through the configuration and management process.
Task information iconDefining the server runtime environments preferences
This task directs the workbench to use a specific runtime environment of an application server for compiling, testing, or running your application.
Task information iconCreating a server
This task adds a server to the Servers view.
Task information iconConfiguring servers
If you are working with a WebSphere Application Server, this task sets up options and settings between the workbench and a WebSphere Application Server.
Task information iconManaging servers
This task enables you to control a server in the Servers view, such as add a project to a server, stop and start a server and many more.
Task information iconTesting artifacts on a server
This task describes the Run on Server option available in the workbench used to test application artifacts on a server.

Web resources for learning

In addition to the information found in this infocenter, the following links provide additional learning material.
Rational® Application Developer for WebSphere Software V8 Programming Guide See Chapter 23: Cloud environment and servers configuration
--

What is WebSphere Application Server Developer Tools for Eclipse?

copied from: http://pic.dhe.ibm.com/infocenter/radhelp/v9/index.jsp?topic=%2Fcom.ibm.rad.install.doc%2Ftopics%2Ft_install_wdt.html
--

Installing WebSphere Application Server Developer Tools for Eclipse

IBM® WebSphere® Application Server Developer Tools for Eclipse is a lightweight set of tools for developing, assembling, and deploying Java™ EE, OSGi, Web 2.0, and mobile applications to WebSphere Application Server.

About this task

To install WebSphere Application Server Developer Tools for Eclipse, refer to the following topics:

What to do next

To learn more about WebSphere Application Server Liberty Profile, see The Liberty profile topic available in the Information Center for WebSphere Application Server.
--

The Great Java Application Server Debate: IBM Liberty Profile

copied from: http://zeroturnaround.com/rebellabs/the-great-java-application-server-debate-ibm-liberty-profile/
--

The Great Java Application Server Debate: IBM Liberty Profile

Update: Since this post was published, RebelLabs has completed the full version of The Great Java Application Server Debate with Tomcat, JBoss, GlassFish, Jetty and Liberty Profile. Feel free to check it out!
***
This is the first blog post of a series in which we test-drive application servers from a developer’s perspective, and give our opinion on how they perform through our developer-oriented tests. This is more of a ‘how it did’ than a ‘how-to’. We start our series with a relatively new offering from IBM, the Liberty Profile.
Caveat – Yes, I’m an ex-IBM employee (who used to work on WebSphere Application Server) but hey, ZT pays my way now, so this is an accurate, genuinely non-biased, opinionated blog post which does not take my past into consideration – True Story.

The Liberty Profile is both part of the full IBM WebSphere Application Server image and a standalone download. It’s an Application Server that targets developers needs in an environment where the full WebSphere product is not ideal or appropriate. It was first available in WebSphere Application Server v8.5, released in 2012. Let’s be fair, WebSphere Application Server hasn’t had a good image among developers in the past, due to performance, size of download and complexity reasons. In fact, it has been referred to as WebsFear in some circles in the past. The Liberty Profile set out to change that image, so let’s see how it did.

First contact – Download and Install

Usual downloads with large corporates require you to give information such as your shoe size, pet’s name and BMI in order to download, but the Liberty Profile flips this on its head quite substantially for two reasons. Firstly it offers two download options – you can just grab the runtime directly, or download the tools and get the server through your tooling, neat. The second ‘shock’ is that you don’t have to provide any information to download or install, you just need to accept the licence agreement, which we’ll talk about later. IBM have really lowered the barrier to entry here and I’m sure it will pay off for them. Well done IBM!

Read the complete Java Application Server Report where we discuss the pros and cons of App servers such as: Tomcat, Jetty, GlassFish, IBM WAS Liberty Profile and JBoss (aka WildFly):

Back to the install… As I wanted to download the tools as well, I decided to go down that route. Indigo is the suggested level of eclipse (for some reason) but Juno is also supported, so I went for the latest and ‘greatest’ version of eclipse, Juno. The tooling takes the form of an Eclipse plugin that took just over 7 minutes to install including an eclipse restart, which was all a bit boring but p2 should take a quite a bit of the blame for that (13MB content.xml file and more). Hang on… back up – The tools are an eclipse plugin. They’re now lightweight, free, sit on your existing eclipse installations and don’t require you to download and install a gazillion GB of Rational Application Developer on a development machine, which is almost the polar opposite of what a developer wants on their development machine.
Once the tools were installed and eclipse restarted I could download and install my server (41.4 MB) in just over a minute – I expect most existing WAS users are quite shocked at this, but most other lightweight appserver users are shrugging their shoulders. Either way, I’m sure you’ll agree this is great progress for a large corporate which has done things very differently in the past.

Startup performance – restart/redeploy

Note to JRebel fans – app server restarts and app redeploys are the things other people do when they want to waste their time ;o)
The Liberty Profile is constructed in a modular and dynamic way such that its runtime is constructed to suit the applications running on the server. This means if your app doesn’t use specific functionality, your runtime doesn’t load it or start it. This leads to a much faster startup time.
We need an application to test on the Liberty Profile, so we’ll try a couple in varying sizes. Firstly the petclinic application which has the spring framework, hibernate libraries, and others.
On my macbook air (spec shown below) the petclinic app took approx 15 seconds from “Run As->Run On Server” till my petclinic application was visible. This includes deployment, application server startup and initialization time. A redeploy (including reinitialization) of a change took just over 5 seconds. Not bad for a small app.
aboutthismac
Let’s now look at a bigger application. Jenkins is a 53MB web app, which I copied across to the hot deploy folder that the Libery Profile supports and the app is installed and started as soon as it sees it. From the console log, the application starts in 0.73 seconds and after 4 seconds of initialization, the app is ready to use. Pretty impressive.
[AUDIT ] CWWKZ0001I: Application jenkins started in 0.73 seconds.

Tooling support – how good is the best, how good is the worst

The Liberty Profile tools, named “IBM WebSphere Application Server Developer Tools for Eclipse” (a product name that almost needs punctuation) is only supported on the Eclipse platform. One of the things I’ve realised since leaving IBM is how many IntelliJ IDEA and NetBeans users there are out there. While IBM do want to cater to it’s own audience I do think it’s a kick in the teeth to all other developers who don’t use eclipse to force people to use the tools which IBM dictates you should use. The tools let you download and install the whole server easily, and provides feature rich development for the programming models which the Liberty Profile supports. It also provides rich editor support for server config changes in a similar style to a deployment descriptor editor which you’ve likely seen/used.
Overall the tooling is good, on Eclipse, although there were a number of times the server state was out of sync with the tooling which got annoying as there were lengthly delays in waiting for the tools to catch up, which stacked up my other user actions and made my dev environment useless. This happened more than once and is very painful as it does bring development down to it’s knees as everything is dependant on the previous task completing.
servernotresponding

Open standard’s compliance

IBM is pretty hot on compliance and standards (often more so than anything else) so it’s no surprise to see the Liberty Profile following the same path. Although version 8.5 of the Liberty Profile is not compliant with Web Profile, the latest Beta is. The Liberty Profile also supports standardised OSGi applications and allows users to create bundles and applications they can deploy and run on the server.

Ease of Config change

The Liberty Profile really does excel when you look to the config. I feel like I always want to compare the Liberty Profile to the full profile of WebSphere purely becuase parts of it are soooo much slicker and, well, generally better. This is probably more of as a result of the poor config model the full WebSphere server has, but the Liberty Profile is more than comparable to other lightweight servers out there today with config. Let’s take a look at the config we get generated from a newly created server:
 description="new server">
 
    
    
        jsp-2.2
  id="defaultHttpEndpoint" host="localhost" httpPort="9080" httpsPort="9443" />    
Let’s give existing WAS users a moment to pick up their bottom jaw… This is the only config the server has. It’s simple, to the point and uses convention over configuration. As new ‘features’ are added to this config file, they are added to the runtime dynamically, without a server restart required. ALL config for the server can go into this file, and it can optionally be split up for ease of management or sharing.

User Interface

This sucks! The Liberty Profile does not provide an administrative console to perform useful actions like updating the server config or installing/uninstalling applications etc so you’re stuck with the eclipse editor to update the server.xml, or just going in manually. There is a web app called the Liberty Profile Admin UI Tech Preview, which is a admin console beta download. I had a quick play but it has extremely basic functionality and for some reason provides it in a mobile app look and feel even on the browser, which simply isn’t good enough in todays environment when browser fronted applications can provide such a rich interface. All in all, the Tech Preview feels more like a very light on features status app which you might want on your mobile device, rather than any useful kind of usable management console.

Config Change & Turnaround time

WebSphere users who are used to multiple and large config files scattered across numerous directories will be very pleasantly surprised with the new config model, not just being a single file, but so small, as mentioned earlier. The dynamic runtime allows the server.xml file to be altered, reloaded on the fly (JRebel likey) and visible to the application instantly.

Feature richness

The lack of EJB and CDI support in Version 8.5 is very noticeable, as well as the lack of inbuilt messaging. As a result the Liberty profile doesn’t support the full Web Profile technologies, but interestingly additional effort has been put into OSGi application support instead. I think many would have preferred EJB and CDI support, particularly looking at the requests on the WASdev forums. The latest beta of the Liberty Profile, however, does contain increased support including EJB, CDI, WebServices and some really interestingly product extension support, which allows users to create their own ‘feature’s in the server.xml file, but this is still in Beta.

Team effectiveness, Documentation & Support

The Liberty Profile is a sharable developer app server. By this I mean it allows for great collaboration among other developers in the same team by providing the following:
  • A server.xml that can be moved to any other Liberty Profile server instance
  • Support for server.xml snippets that can be imported into an existing server.xml. The snippet takes the same format as the server.xml and can be shared across the team
  • The eclipse tooling creates a new project in the workspace, per server, which allows you to check in config files to your favoured repository easily.
  • Servers can be ‘packaged’ into an archive and extracted onto other machines to easily share with other developers in the team, or even other test stages etc if you just wanted to duplicate your environment
Documentation can mostly be found on the new community site wasdev, which is non-typical in terms of the traditional IBM sites, but still suffers from the hangover of developerWorks performance and format. It’s run by the development team so isn’t full of the usual marketing/sales. There is also the traditional IBM information center, which people typically love or hate, that provides more formal documentation for the product. You can get support from the wasdev forum which is reasonably active, and again, you’re talking with the development team, this is on a best can do basis. If you choose to pay the big bucks you’ll also get the full IBM support where you can even afford to scream and still expect help :o)

Things that didn’t fit into other sections

One feature which is pretty nifty is minify, which takes your Liberty Profile server and removes everything your application doesn’t need leaving you with a much smaller footprint. This sounds like a feature you could use once you’ve finished making your dynamic development changes and just want to reduce the footprint and make the server as fast and small as possible.
You’re now able to use the Liberty Profile on a mac, which most devs wouldn’t be too shocked at, but most existing WAS (and mac) users might have just broken into tears (in a good way).
There is no migration story from the Liberty Profile to the full profile of WAS, which means if you wanted to develop your application on the Liberty Profile to make use of its lightweight nature but use full WebSphere app server in production, you’ll need to map the server config yourself. It would be nice to see a tool which mapped your server.xml to a bunch of jython scripts that could create the same environment in full WAS.
The Liberty Profile is free to use, but only in development. If you wanted to move to production with the Liberty Profile you’ll need to pay the usual WAS bucks. Sadly there is no license for using the Liberty Profile outside of development for your hobby usage. So if you wanted to run an app server for a home project, you’re not licensed to do so with the Liberty Profile :o(

Summary

Overall, the Liberty Profile is one of the fastest changing and most interesting app servers to watch on the market today. Don’t look at it as just another WebSphere app server, take a look at it with a fresh and open mind and I really think you’ll be impressed with it. The new Beta is just as exciting with some great new features.
On the downside, it comes at a cost. Yes, development is free, but the world doesn’t stop at development and the cost curve to use it outside of development is very steep, particularly in comparison to other lightweight servers out there today, many of which are free.
As the Liberty Profile is new and rapidly moving, it looks like the biggest focus is on feature and technology support rather than some of the fluffier aspects such as UI and migration, but it needs to focus on these aspects because in reality, devs will be comparing this server to Tomcat and Glassfish which have already been around for many years and the Liberty Profile is playing a catch up game to these servers.
It’s important to IBM there is a good answer to the question, “Why would I use the Liberty Profile over Tomcat”. Ease of use, particularly around config, is one of the big reasons here for me, but it realistically depends on the requirements of your application and if the Liberty Profile doesn’t support the features you need, it’s not even in the equation. The most compelling reason to use the Liberty Profile, in my mind, is if you’re already decided to use WebSphere in production. IBM have put together a doc comparing the Liberty Profile to Tomcat.
It’s certainly one to keep an eye out for going forward. I personally know the main developers and architects on the Liberty Profile such as Ian Robinson, Alex Mulholland, Alasdair Nottingham, Erin Schnabel, Tim DeBoer and many more. They should take a lot of credit for the changes you’re seeing in the Liberty Profile and are individually responsible for the great new direction and results it has already achieved.
It will be interesting to see how the Liberty Profile handles the increase functionality with both footprint and size and what this means to the wider portfolio of WebSphere Application Server products as the Liberty Profile improves and increased in scope in the future.
I hope you enjoyed this post – let me know what your thoughts are around WebSphere and the new Liberty Profile in the comments below or tweet us @Rebel_Labs. Existing WebSphere users – What do you make of the new changes? Non WebSphere users – Would you consider looking into/using the Liberty Profile?

--