Tuesday, August 21, 2007

Mastering Ajax

http://www.ibm.com/developerworks/web/library/wa-ajaxintro1.html

AJAX vs web service

AJAX is a technique for improving the user experience. You are able to
update the user interface without posting back and redisplaying the
entire page to the user.

Web services are services accessed over http using xml standards that
allow software systems to communicate using a standard protocol, I can
write a web service implemented in java and use it with a c# client for
example.

AJAX is about user interfaces, web services are about systems
interfaces. If you write an html form with some fancy AJAX that's not a
web service. How does my java application talk to your web service? It
doesn't!

It very possible to design an AJAX system with the EJB or webservice.
There is only one thing you must note. Ajax is using HTTP verbs, that
means it only talks to Servlet for (java) or CGI, or anything that is
using HTTP.

Now if you really need to make use of EJB or webservices.
This is the basic design:

AJAX ---HTTP--> Servlet ---> EJB / WebService
AJAX ---HTTP--> Webservice
For directly accessing webservices, you need to construct your SOAP message in your javascript code. Then send it thru POST.
You will get a SOAP message where you need to parse the content.

For EJB, there is always a requirement for the server-side code that accepts HTTP requests, to be able to access EJB.
Accept that new job -- the right way


  1. Start well
  2. Restate the fine print
  3. Ask for clarification
  4. Keep it short
  5. End on a positive tone

A sample letter

Dear Mr Sharma,

Thank you for offering me the position of marketing manager.
I would be willing to join the organisation effective January 5, 2006. I would like to restate the following terms and conditions agreed upon during our final meeting:

As agreed, the total CTC (cost to the company) would be INR 5 lakhs per annum.

  • I would be based out of Mumbai and would be provided relocation expenses.
  • The company would offer me boarding and lodging for the first 15 days.
  • I would be entitled to performance based bonuses after six months of probation.
  • I would request a clarification on the following:
  • The medical insurance policy offered to the employee and the dependent family members.
  • The annual leave and carry forward policies.

Please let me know what would be a convenient time to call you and discuss the same.
Looking forward to joining the team at XYZ (name of the company).

Yours sincerely,
Vilas Malik(M)
XXXX
Address

I visited to Egypt from 13th January to 17th January 2007. This Tour was oragnised by my company Talentica and we were 39 people in group. It was a wonderful memory of our trip to Egypt. Below is the link of some pictures taken during trip.






Thursday, August 16, 2007

Oracle 10g

Oracle 10g is Oracle's grid computing product group including (among other things) a database management system (DBMS) and an application server. In addition to supporting grid computing features such as resource sharing and automatic load balancing, 10g products automate many database management tasks. The Real Application Cluster (RAC) component makes it possible to install a database over multiple servers.
10g follows Oracle's 9i platform. Oracle says that the g (instead of the expected i) in the name symbolizes the company's commitment to the grid model. However, according to some reports, many early adopters are deploying 10g solely for its automation features and have no immediate plans of implementing a grid environment.

Grid computing (or the use of a computational grid) is applying the resources of many computers in a network to a single problem at the same time - usually to a scientific or technical problem that requires a great number of computer processing cycles or access to large amounts of data. A well-known example of grid computing in the public domain is the ongoing SETI (Search for Extraterrestrial Intelligence) @Home project in which thousands of people are sharing the unused processor cycles of their PCs in the vast search for signs of "rational" signals from outer space. According to John Patrick, IBM's vice-president for Internet strategies, "the next big thing will be grid computing."
Grid computing requires the use of software that can divide and farm out pieces of a program to as many as several thousand computers. Grid computing can be thought of as distributed and large-scale cluster computing and as a form of network-distributed parallel processing. It can be confined to the network of computer workstations within a corporation or it can be a public collaboration (in which case it is also sometimes known as a form of peer-to-peer computing).

A number of corporations, professional groups, university consortiums, and other groups have developed or are developing frameworks and software for managing grid computing projects. The European Community (EU) is sponsoring a project for a grid for high-energy physics, earth observation, and biology applications. In the United States, the National Technology Grid is prototyping a computational grid for infrastructure and an access grid for people. Sun Microsystems offers Grid Engine software. Described as a distributed resource management (DRM) tool, Grid Engine allows engineers at companies like Sony and Synopsys to pool the computer cycles on up to 80 workstations at a time. (At this scale, grid computing can be seen as a more extreme case of load balancing.)

Grid computing appears to be a promising trend for three reasons: (1) its ability to make more cost-effective use of a given amount of computer resources, (2) as a way to solve problems that can't be approached without an enormous amount of computing power, and (3) because it suggests that the resources of many computers can be cooperatively and perhaps synergistically harnessed and managed as a collaboration toward a common objective. In some grid computing systems, the computers may collaborate rather than being directed by one managing computer. One likely area for the use of grid computing will be pervasive computing applications - those in which computers pervade our environment without our necessary awareness.

Load balancing is dividing the amount of work that a computer has to do between two or more computers so that more work gets done in the same amount of time and, in general, all users get served faster. Load balancing can be implemented with hardware, software, or a combination of both. Typically, load balancing is the main reason for computer server clustering.
On the Internet, companies whose Web sites get a great deal of traffic usually use load balancing. For load balancing Web traffic, there are several approaches. For Web serving, one approach is to route each request in turn to a different server host address in a domain name system (DNS) table, round-robin fashion. Usually, if two servers are used to balance a work load, a third server is needed to determine which server to assign the work to. Since load balancing requires multiple servers, it is usually combined with failover and backup services. In some approaches, the servers are distributed over different geographic locations.

Real Application Cluster (RAC) is a component of the Oracle 9i database product that allows a database to be installed across multiple servers. According to Oracle, RAC's shared disk method of clustering databases: increases scalability because servers can easily be added or subtracted to meet current needs, lowers costs because companies don't have to buy high-end servers, and improves availability because if one server fails, another can assume its workload.
RAC's shared disk architecture is an unusual approach to database clustering. Most competing database products (such as Microsoft's SQL Server and IBM's DB2 for Windows and Unix environments) use the alternative, which is known as "shared nothing" architecture. Shared nothing architecture partitions data and only gives each server access to its own disk subsystem, while shared disk architecture gives all servers access to the entire database. This adds failover capacity to the database, because all servers have access to the whole database. Proponents claim that this capacity increases 9i's reliability and availability significantly. British Telecom, for example, reported that deploying the product enabled them to cut their failover time from a typical 20 minutes to between 10-60 seconds.

Tuesday, August 14, 2007

Monday, August 13, 2007

oracle 'drop connected user'

scott@ORA92> drop user SHAMBHU;
drop user sunil
*
ERROR at line 1:
ORA-01940: cannot drop a user that is currently connected


scott@ORA92> select sid, serial# from v$session where username = 'SHAMBHU';

SID SERIAL#
---------- ----------
11 16

scott@ORA92> alter system kill session '11,16';

System altered.

scott@ORA92> drop user SHAMBHU;

User dropped.

scott@ORA92> select username from dba_users
2 where username = 'SHAMBHU'
3 /

no rows selected