Monday, June 26, 2006

History Of Java.

Let’s take a ride to Java’s history.

History goes back to late 1970’s when Bill Joy (chief scientist at Sun Microsystems) wanted to design a language that could be used for consumer devices like cable TV switchboxes. Joy decided that C++ and other languages was inadequate for this job, so they decided to write a language that should be short and highly effective, as the language is supposed to work on different architectures so it should be platform independent.

Joy with other group of engineers like James Gosling, Mike Sherolin, Patrick Naughton and several others decided to work on the idea to develop programming tool and the name of the project was given Green Project.

Now the first question was that, what will be the name of new language?

They decided to name the language as “Oak” (While James Gasoline was staring at an Oak tree outside his office window), later that name was dismissed as it was copyrighted and used for some other languages.
It was becoming difficult for the team to decide the name of new language, later the name “Java” struck one day during a visit to local coffee shop.

There were certain objectives the “Oak” has to meet in the consumer electronic market. As the market is filled with huge crowd of manufacturers, the main requirement of Oak was completely platform independent, regardless of the type of CPU in the device. This was the main reason Oak was deigned to be interpreted language, as compiled version cannot run on all platforms.
Job of interpreter was to create intermediate “byte code” for hypothetical machine. One more advantage was also there by doing so that as both code and interpreter was small, issues related to size was solved.

Why they decided to keep size small?
They have thought of the popularity of Oak, they have in their mind if Oak will be successful in the electronic industry, and then it should be mastered easily and in less span of time.
One more concern was there i.e. the security, as Oak based devices were accepted to work on network and they are supposed to exchange code and information, for this reason they decided to exclude pointers, so that nothing could access arbitrary address in the memory.

In April 1991 within two months with the effort of the team a hardware prototype known as “*7” was developed, by august of 1991, the team had a working prototype of the user interface and graphical system.

Work was going on for the development of an operating system, a language, an interface, and a new hardware platform through the summer of 1992.
In sep the *7 prototype was completed, it was a PDA-like device.

Unfortunately, the market did not accepted this type of technology and the battle has started to sell this new technology, even no one was interested in producing this at Sun.

In Nov 1992, the Green Project was united under the name First Person, this gave Java unsuccess in consumer electronics market.

First Person spent great amount of time to make market for the technology, but everything was in vain and finally First Person was dissolved in 1994. Most of the employees were moved to other division, but few persons still persuaded the objective of finding home for new technology.

While all this was going on, Internet was getting its popularity. The World Wide Web has requirements such as reliability, security and architectural independent; all there were fully in accordance with Java’s design parameters.
By sep of 1994, Naughton and Jonathan Payne started writing “Web Runner” later it was known as “Hot Java”. It was written in Java to show its capabilities and power, the browser was capable of interpreting the intermediate byte code.

Well despite being designed for different objective java has found its match in World Wide Web.
The introduction of Java in the information market is realized as emergence of new era in the history of web.
Sun formally announced Java and Hot Java at SunWorld’95 (May 23, 1995) In January 1996, Netscape 2.0 was released, that was Java enabled. From then everybody started supporting Java like Microsoft also announced they would support Java in their Internet Explorer Browser.

After all these failures and successes Java has finally arrived and became so popular in the tech market.

This is a true saying “Hard Work Really Pays”

Thursday, June 22, 2006

Secure Socket Layer : Internet security.

In this article we will discuss about security of your data on Internet. We will discuss about the technology, which is used for secure transaction on the Internet, a technology that ensures the cardholders that their information is safe during ordering process.

This secure technology that I am talking about is known as SSL stands for Secure Socket Layer. It is designed to create a secure connection to the server for transmission of confidential data through Internet, this standard security technology establishes an encrypted link between a web server and browser. This encrypted link ensures that all data passed between the web server and browser remains private and integral. As defined as industry standards SSL is used by millions of websites in the protection of their online transactions with their customers.

Now the question arises how can you make your web server to make SSL connection with costumer browser?

In order to create an SSL connection a web server requires an SSL certificate. When you choose to activate SSL on your web server you will be prompted to complete a number of questions about the identity of your website and your company. Your web server then creates two cryptographic keys-a Private Key and a Public Key.

At this point I will give brief introduction of cryptographic system.

In simple words we can say cryptography is the theory of secret writing. It is an art of protecting information by transferring it into an unreadable format that is known as encryption. Data, which is encrypted, is known as cyber text.
In order to convert cyber text into plain text (readable format) or in other words if anybody wants to decrypt the message, has to posses a secret key.
Encrypted message can sometimes be broken by cryptanalysis, also called codebreaking.

Public key is known to everyone its not secret it is placed into a Certificate Signing Request (CSR). A certificate serves as an electronic “passport” that establishes an online entity’s credentials when doing business on the web. When Internet user sends confidential information to a web server, the user’s browser will access the server’s digital certificate and establishes a secure connection. In computer language certificate is a data file containing your details like your name, certificate serial number and expiration date, copy of certificate holder’s public key and the digital signature of the certificate-issuing authority.

After providing all the information you have to submit your CSR to a trusted Certificate Authority such as Starfield Technologies. Now concern certification authority will verify your identity, existence and domain registration ownership during SSL certificate application process. Once all the details are verified you are allowed to use SSL with your web server.

Public key, which is there in the CSR, is used to encrypt messages to certificate holder’s server, and the private key is stored in your local computer and it “decrypts” the secure messages so they can be read by your server. Data that is encrypted with the public key can be decrypted only with the private key. Conversely, data encrypted with the private key can be decrypted only with the public key

How SSL works?
Suppose you are a customer and you want to send confidential information to a secure site. Then how everything will work As the customer you won’t see all the process which take place behind the scenes so that you will experience uninterrupted shopping experience, you will only see a “padlock” icon in the browser’s status bar and the “https://” prefix in the URL.

1. A customer contacts a site and accesses a secured URL.
2. Server responds, automatically it sends its digital certificate to the customer. This digital certificate authenticates the site.
3. Customer’s web browser verifies that the server’s certificate is valid that is its been issued by a certificate authority that browser trusts.
4. Customer browser then generates a unique one time “session key” which is like a code to encrypt all communication with the site.
5. Now customer’s browser encrypts the session key with the site’s public key that was sent with site’s digital certificate, so that only the concern site can read the session key.
6. From here onwards a secure session gets established and all communications will be encrypted and decrypted by the two parties in the session.

This process is known as “handshake” process.
Now suppose if a customer attempts to submit personal information to an unsecured Web Site, the browser’s security mechanism will show a warning telling the customer that this site is not a secure site, accordingly customer can switch over to some other secure sites.

For all online merchants a secure SSL certificate provides a convenient and reliable means. With secure SSL certificate customers can rely on the business they can safely handover their credit card information and all other personal information to SSL secured sites.

Friday, June 16, 2006

Communicate without wire: Bluetooth

In this article I will talk about Bluetooth. You must be thinking what is this Bluetooth? Is it something related to cosmetics or something related to teeth or may be something…

Well to begin with, Bluetooth is a new technology named after the 10th century Danish king Harald Bluetooth Blatand who ruled part of Scandinavia in 960AD .He helped unite his part of the world. As the name implies that Bluetooth would be the technology to unite the mobile world.

Bluetooth device is the revolutionary device launched by L.M Ericsson, to integrate its phone with all Internet enabled devices. Two L.M Ericsson telephone employees, the Swedish born Sve Mattison and his Dutch colleague, Jaap Haartsen, originally designed Bluetooth technology in 1994.

The term Bluetooth refers to an open specification governed by the Bluetooth special interest group (SIG) for wireless personal area networks (PANs). This technology provides a way to connect and exchange information between devices like personal digital assistants (PDAs), mobile phones, laptops, PCs, printers and digital cameras via a secure, low cost, globally available short-range radio frequency.

Lets look at some examples where we can use Bluetooth technology.

Now days, you have to either manually enter the names and phone numbers of all your contacts or in other advance way you can use a cable to connect your phone and PC and can run some application to synchronize the contact information.
With this new technology you could see this happens automatically, without your involvement, whenever phone will come in the range of PC data will automatically updated.
With Bluetooth there are so many exciting applications like, now days whenever you come to office, you have to do so many setup to get start to work, like you have to connect your notebook to USB port, you switch it on, then your notebook gets boot up and after that only you are able to log in. All this process takes some of your time now think about the situation where you walk into the office switch on the notebook and get ready to do work. This is possible with Bluetooth, it makes your notebook to start communicating with your server via radio signals, not require you to connect it to the USB port.
Even car manufacturers are not left behind; car manufacturers such as BMW, Lexus and Toyota have equipped some of their models with Bluetooth car kits. This allows you to use the features of your cell phone through the car’s audio system while the phone itself stored in the trunk for instance.


Now the question arises, how this technology works?

The Bluetooth system consists of an RF (Radio Frequency) transceiver, baseband and protocol stack. It uses radio standards to enable file-sharing and data transfers between devices like PDA and desktop. These radio frequencies are present in all directions and their range varies between 10cm to 10m, further it can be extended to 100m depending on the power class of the product, again this power transmission rates varies in many Bluetooth products depending on the power saving features available in particular unit, bandwidth requirements, transmission distance, etc.
Because this Bluetooth technology uses radio signals, the walls in our house will not impede a Bluetooth network. Also we can control devices in the different rooms very easily.

Bluetooth operates in globally available low radio frequency at 2.4 GHz and supports data speed of up to 721 Kbps, as well as three voice channels.
To make use of Bluetooth technology you have to make sure the new device which you buy is Bluetooth compatible, Bluetooth compatible devices comes with software to configure Bluetooth to share data by implementing specific profiles, these profiles will determine what type of information or resources the device can store.

When you want two new Bluetooth device should communicate, first you have to introduce them to share data, this is known as pairing (authorizing the device to communicate with each other).
It is also possible to configure the devices to have password protection, so that other people cannot take part in your communication. One more thing is also there, you can set up the device to constantly announce their presence to the device in its range, and the connection can be automatically establish.

Conclusion.
As this is the emerging technology today and is widely adopted by industry leaders, in every version new features are included, the next version of Bluetooth includes a number of features to increase security, usability and value of Bluetooth.

Sunday, June 11, 2006

Java Virtual Machine


Java Virtual Machine.

Sun Microsystems’s Java Virtual Machine is one of the best-known examples of application virtual machine.

In this article we will discuss about Java Virtual Machine and how it works.

As we know java has come up as powerful computer programming language, which has got its own benefits over conventional languages.
Main advantage of java programming language is platform independence, which means any application written in java can be operated on any of the platform, instead of having to produce separate versions of the application for each computer and operating system.

Now the question arises how it's possible for a Java application to run on many different machines?
From the figure above you can get the flow of java program execution.
The key to Java's portability and security is the Java Virtual Machine on which java relies, because of this simulated machine computer programmer does not communicate with system, in turn it it directly communicates with virtual machine, in this way programmer utilizes functions that are built into the JVM and not the operating system.

JVM does not have any information regarding the programming language. It knows only the binary format of the byte code.The java compiler from which you compile java program does not produce native executable code for a particular machine like C compiler would do. Instead it produces a special format called byte code, in other words byte code can be thought of as the machine language for JVM.
The JVM interprets a stream of bytecodes as a sequence of instructions and then execute to produce desired output.
JVM depends on opearting system, it must have a possible mapping for its instruction on every operating system or machine that it is installed in order to work.
Once the bytecodes are interpreted by the JVM the instructions are mapped to the instructions in the operating system or on the hardware. JVM actually uses operating system and machine instructions to carry out the instructions it has been given.

It is possible that the instruction which JVM has can be carry out by one operating system and while with another it is not. This is one of the reason why Java has not achieved 100% portability.

The main purpose of the Java Virtual Machine is to solve the problem with creating portable computer programs. The question which still comes to the mind does the JVM completely solved the problem and made Java 100% portable?
The answer is no..It does not completely solve the problem, there is no doubt that it has provided a good solution that is most part effective but not 100% effective. Java has still achieved a relatively high degree of portability. Java has allowed people to develop many cross-platform applications and has proven to be useful and powerful interpretation of a virtual machine.

Sponsers link