85
Chapter 1: Introduction KPIT Cummins (NSE: KPIT, BSE: 532400) is a global IT consulting and product engineering partner company focused on the Manufacturing (Automotive, Industrial and Hi-Tech) and Diversified Financial Services industries. Headquarters are in Pune India with locations in 9 countries; the United Kingdom, Poland, France, South Africa, Germany, United States, Japan, Singapore and Korea. Worldwide there are over 4800 employees. 1.1 Company & Process Details of KPIT Cummins, Hinjewadi Pune 1.1.1 Vision: To be a respected organization where our people provide best in class solutions & services to our global customers through innovation, automation and operational excellence 1.1.2 Mission: Exceed customer expectations through commitment (people) convergence (services), collaboration (partners) in an environment that is friendly, ethical & trustworthy. 1.1.3 Profile: KPIT Cummins Global Business Solutions (GBS) is a 100% subsidiary of KPIT Info systems Limited. GBS specializes in the areas of providing consulting in Governance & Regulatory Compliance, high end transactional BPO/KPO and Enterprise Support to global customers. The services focus on leveraging: Domain & Industry experience – by virtue of assisting blue chip clients for over 50 years in Accounting & Audit services. Automation – leveraging over 17 years of IT consulting experience with Fortune 500 clients across the globe. 1

KPIT documents

Embed Size (px)

Citation preview

Page 1: KPIT documents

Chapter 1: Introduction

KPIT Cummins (NSE: KPIT, BSE: 532400) is a global IT consulting and product engineering partner company focused on the Manufacturing (Automotive, Industrial and Hi-Tech) and Diversified Financial Services industries. Headquarters are in Pune India with locations in 9 countries; the United Kingdom, Poland, France, South Africa, Germany, United States, Japan, Singapore and Korea. Worldwide there are over 4800 employees.

1.1 Company & Process Details of KPIT Cummins, Hinjewadi Pune

1.1.1 Vision:

To be a respected organization where our people provide best in class solutions & services to our global customers through innovation, automation and operational excellence

1.1.2 Mission:

Exceed customer expectations through commitment (people) convergence (services), collaboration (partners) in an environment that is friendly, ethical & trustworthy.

1.1.3 Profile:

KPIT Cummins Global Business Solutions (GBS) is a 100% subsidiary of KPIT Info systems Limited. GBS specializes in the areas of providing consulting in Governance & Regulatory Compliance, high end transactional BPO/KPO and Enterprise Support to global customers. The services focus on leveraging:

Domain & Industry experience – by virtue of assisting blue chip clients for over 50 years in Accounting & Audit services.

Automation – leveraging over 17 years of IT consulting experience with Fortune 500 clients across the globe.

Global Footprint - with delivery centers in India, Poland & China. Thought Leadership Operations Excellence

GBS was established with the objective of providing converged services – Consulting + IT + BPO/KPO. This delivers Converged Services thereby offering the benefits of process improvement, cost arbitrage, capacity creation, enhanced productivity and automation. GBS focuses in fewer verticals and believes in helping its customers create value for its shareholders.

GBS believes in building the Relationship Quotient and Employee Quotient. This ensures that every employee is empowered and skilled to provide high quality of services to our customers in a timely and ethical manner.

1

Page 2: KPIT documents

1.2 Finance and services

1.2.1 Financials

Revenues for fiscal year 2009 is USD $174.10 million. There was a growth of 20% over revenues for fiscal year 2008, USD $145.24 million. Net profit for fiscal year 2008 was USD 12.40 million. Net profit for fiscal year 2009 is USD $13.52 million, a growth of 28%. Gross profit margin expanded by 4.16% to 48.29% and EBITDA margin expanded by 2.83% to 29.44% from 2008 to 2009. Net profit after tax for quarter 4 of fiscal year 2009 USD $3.97 million a year on year growth of 85.85%. 25 customers have reached revenue of over $1 million.

KPIT Cummins is focused on Manufacturing (Automotive, Hi-Tech, Industrial, Farm Equipment) and Diversified Financial Services (DFS). Within these industries the following services are offered:

1.2.2 IT and BPO/ KPO Solutions and Services

Focus Areas: Specializations:

BPO/ KPO

Enterprise Support Services

Finance and AccountingRisk Management and Compliance ConsultingWarranty Management

Business Consulting

Business Process

Supply Chain and Customer Relationship Management (CRM)IT Strategy

Technology Solutions

Enterprise Resource Planning (ERP)

E-Business and Enterprise Application Integration (EAI]])Business Intelligence]]

Outsourcing Solutions

Application Outsourcing

Business Process OutsourcingKnowledge Process Outsourcing

2

Page 3: KPIT documents

1.2.3 Research and Development

The Center for Research in Engineering Sciences and Technology (CREST) is focused on innovation, technology, and R&D in emerging technologies. The CREST team files patents and publishes research papers in international conferences which cater to a multitude of new technologies. The focus is on use appropriate of cost effective technology, and working under technical as well as market driven constraints.

Events like monthly technical seminars, lecture series by eminent scientists, annual technical conference, are among the many initiatives undertaken by CREST to drive passion for technology, and to nurture a culture of innovation across the company. To increase a global exchanges of knowledge the Nalanda internship program has been created to increase the number of international students studying and contributing to the KPIT Cummins culture.

The quarterly journal, TechTalk@KPITCummins, is a platform for technologists to share their expertise with customers and employees. Special Issue 2009 TechTalk@KPITCummins has included articles written by industry experts and KPIT Cummins contributors.

Corporate Social Responsibility

Community Initiatives

KPIT Cummins gives:

- Scholarships are awarded to female students of the Bhagini Nivedita Pratishthan for computer related training

- Computers and software has been donated to many schools and non-profit organizations along with IT technical support and training

- Donations of computers to villages surrounding Pune has also helped increase the rural areas awareness of health issues, education, government programs as well as agricultural information

- Hardware and software support to not-for-profit organizations in the United States of America (USA) Columbus Indiana

KPIT Cummins participates and host:

- Blood donation drives with the help of Jana Kalyan Rakta Pedhi and Deenanath Mangeshkar Hospital on the Hinjawadi premises

- Donation drive for the Nav Maharashtra Community Foundation (Navam), a non-profit organization that supports innovative community projects in rural Maharashtra

3

Page 4: KPIT documents

- Clothes donation drive where boxes of clothes are collected and donated to volunteer agencies, SOS children villages, orphanages and other institutions

- World Environment Day = annual tree plantation drive

- Children’s Day = toys are collected and donated to various adoption centers and orphanages

- Environmental awareness campaign organized by Friends of Society

1.2.4 Partnerships and Memberships

Enterprise IT- SAP Channel partner India- SAP Services partner- Apriso Solution partner for Manufacturing Execution Systems (MES)- Member of Oracle Partner Network

Automotive- Partnership with VaST for delivering Virtualization Tools and Services- Premium membership with Automotive Open System Architecture (AUTOSAR)- Membership with Japan Automotive Software Platform Architecture (JasPar)

Consulting Partners- Altran an IT consulting and services company based in France- Business Connexion (BCX) is one of the biggest IT consulting, hardware services and software services provider in South Africa- Carrington Associates Asia-Pacific is an Australasian focused IT services and consulting company

Semiconductor Solutions- Member of ARM Connected Community- Founder member of India Semiconductor Association ISA

Diversified Financial Services (DFS)- Partnership with GemStone Systems to offer services in High Performance Computing and Cluster Management

4

Page 5: KPIT documents

1.3 Timeline & mergers

1.3.1 Timeline

Date: Event:

1990 KPIT Infosystems incorporated by a group of CPAs

1994 –

1998Excellence in exports award from Government of India

1995 –

1996Outstanding achievement award from Oracle[citation needed]

1997 Achieved ISO 9001, certified by KPMG

1999 IPO: 42 times oversubscribed. Became a public limited company in India

2002Merger of Cummins Infotech into KPIT Infosystems to KPIT Cummins Infosystems

Limited

2004 ISO 9001:2000 Acquisition of Panex Consulting – USA

2005

Lehman Brothers take 8% state in KPIT Cummins. Integrated all offshore facilities

in Pune, India into the state of the art campus at Hinjawadi. Acquisition of

SolvCentral.com – USA. Acquisition of Pivolis.com – France.

2006 Acquisition of CG Smith, India

2007

Achieved corporate mission of being a USD $100 million company by the financial

year 2006-2007 Strategic investment by Cargill Ventures, a venture capital arm of

Cargill Inc.

2008Acquisition of Mechanical Design Services business of Harita TVS Technologies,

India.

Table 1 : Timeline

1.3.2 Mergers and Acquisitions

Cummins (2002) - Merger with Cummins Infotech LimitedSoftware development arm of Cummins Inc. - the worlds largest producer of diesel engines

5

Page 6: KPIT documents

Panex Consulting Inc. (2003) - Acquisition of Panex Consulting Inc., USASAP implementation services in Business Intelligence & Data Warehousing space

SolvCentral.com (2005) - Acquisition of SolvCentral.comA leading Business Intelligence services and products company

Pivolis.com (2005) - Acquisition of Pivolis.com, FranceLeading outsourcing consultancy

CG Smith Software Pvt. Ltd. (2006) - Acquisition of CG Smith Software Pvt. Ltd.Leading Automotive Electronics Software & Solutions company and a member of AUTOSAR

Harita TVS (2008) - Acquisition of Mechanical Design Services Business of Harita TVS TechnologiesEngineering Design Services Company catering to Automotive and Construction & Industrial Machinery. [1]

Sparta Consulting (2009) - Acquisition of California, USA based firm leading provider of high end SAP solutions

1.4 Technology is the enabler - Process is core!

Companies invest huge sums of money to implement IT solutions to solve all business problems, only to find that the IT solution has failed to produce the desired result. The primary reason being that IT is an enabler and not a fixer of business processes.

For example, If the Inventory turnover ratio is low because of a possible demand forecasting error,

implementing an ERP does not help A Warranty Management which can improve an inefficient quality control process can

lead to reduction in warranty expenses much more than any other IT solution Likewise, for improper demand planning, scheduling for multiple product lines could

be irregular and hHaving an MES software alone does not help remove these irregularities

Thus it is important to recognize that process is the core and IT the enabler!

Process should deliver the desired results, in a growing environment

Picture this - A car manufacturer in Detroit has a hood, deck, front doors and rear doors' supplier in Mexico. After years of pertinent efforts, the car manufacturer is now inching to precise the Just - in - time deliveries from the supplier. Now, in a rapidly changing world the car manufacturer is forced to source from China, assemble in India, and further sell in India and export to European markets. This means processes like purchasing, inventory, warranty, sales and marketing, new product development become complex and face multiple points of failure. Manufacturers are now faced with making these processes robust and scalable to ensure survival and sustainable growth.

6

Page 7: KPIT documents

Figure 1 : Process Integration

1.5 KPIT Cummins for Process Optimization and Integration

KPIT is focused on serving the manufacturing industry as it understands that manufacturers are no more looking for technology solutions but process solutions. Over the years, KPIT has helped many manufacturing companies with solutions which have further helped optimize, integrate and improve their existing processes.

Client Description KPIT Cummins GBS role

Skills & Rules based services(Finance & Accounting)

One of the largest engine manufacturer in the world

Finance & accounting services (Cash applications, Fixed assets, Reconciliations )

A global leader in electric power generation systems, engines & related technologies

Finance & accounting services (Accounts payable, Accounts Receivable, Cash applications, Fixed assets, )

An IT company providing development & support services to

Billing & invoicing

7

Page 8: KPIT documents

clients in Americas, Europe & Asia-Pacific

A U.K. based CPA firm providing book keeping, accounting & audit services.

Book keeping & accounting

Leading Consulting Firm Accounts Payable, IT platform developed to automate process

Leading pharmaceutical and chemical multinational

Setting up finance and accounting processes

Skills & Rules based services(HR Management System)One of the largest online banks providing online discount stock brokerage.

Providing Corporate Support and Plan Management services for its product

An IT Company providing development & support services to clients Americas, Europe & Asia-Pacific.

Payroll administration

Re-sourcing & HR administrativeactivities

A leading private airliner based out of India.

ESOP consulting

A leading private sector bank based out of India.

ESOP management (data management, management reporting, ESOP valuating & accounting)

Technology based services(Enterprise Support)

A global Business Intelligence (BI) software company.

Level 1, Level 2 and Level 3 product support for cases of all severities

A world leader of enterprise infrastructure software

Level 1 & 2 support for Web Application Server

One of the largest providers of Security compliance management solutions

Level 1 & Level 2 product support

8

Page 9: KPIT documents

Knowledge based services(Risk Management & Compliance)

A global leader in convenience foods & beverages.

Post implementation ERP review

A SOX compliance software solutions enterprise headquartered in the U.S.

Content Management Advisory for data extracting tools with respect to SOX compliance

A leading international provider of independent internal audit and business & technology risk consulting serices based out of the U.S.

Support services in SOX compliances

A major firm providing audit, tax & advisory services.

Support services in SOX compliances

A global leader in electrical power generation systems, engines & related technologies.

SOX advisory & support services

A control systems & control protection devices manufacturing firm based out of Germany.

SOX advisory & support services

A global manufacturing company headquartered in the U.S.

SOX advisory & support services

A global leader in power generation space based out of the U.K.

SOX advisory & support services

Knowledge based services(Business Intelligence & Data Analytics)

A global manufacturing company headquartered in the U.K. & the facilities in the U.S., Mexico, Germany & China.

Inventory analysis Sales & gross margin analysis

A global manufacturing company based in the U.S.

Business Process Re-engineering

One of the largest engine manufacturer in the world

Inventory Management

9

Page 10: KPIT documents

Table 2: Client Details & Process Optimization

KPIT Cummins Global Business Solutions has emerged as the partner of choice to enterprise organizations to craft an effective technical support base for their customers.

At KPIT Cummins GBS, we commit to deliver the best of service partnership based on our capabilities, skills and trust even as we promise to provide cost-effective solutions to our enterprise customers.

One of the biggest challenges you face after deciding to outsource your technical support is finding a provider that is capable of keeping your customer service levels consistent and strong.

Of your available partnership choices, a BPO/call center which also does tech support, simply cannot match the technology challenges you face. At the same time, a company that predominantly does software development, despite of having good technology skills, will find it difficult to adjust to the nuances of tech support processes, as it is altogether a different ballgame.

Partner with KPIT and you will: Get the best value for your engineering dollars. A significant percentage of tech

support is a repeatable process. By outsourcing this activity to KPIT, you let your developers focus on new technology development and enable management focus on market development.

Reduced capital expenditure. Grow your business, not processes and overhead. We have the technology capabilities, state-of-art technology infrastructure and processes in place to ensure your success. This means reduced up-front expenses for you. Instead of tying up capital in a technical support infrastructure, you can focus that capital in areas with higher returns: creating new products, evolving new markets and more.

Reduce dependence on underlying technologies. It’s a challenge to find and retain skilled support personnel. By outsourcing operations to KPIT, you can enjoy reliable world-class support without having to attract expensive IT talent and reduce the need for expensive knowledge creation & management.

Speeding up your time-to-benefit. By leveraging KPIT’s end-to-end solution package and process migration expertise, you reduce any risk of moving offshore and can expect measurable high quality services, right from day one.

1.6 Work Culture

Our most valuable resource at KPIT, our People, join us from diverse cultural and academic backgrounds thereby bringing in a plethora of knowledge and experience. The best way to describe such a diverse Organization is through a single letter-“WE”.

10

Page 11: KPIT documents

An environment where words ‘I’ and ‘You’ crumble into insignificance and ‘WE’ evolves above them all. It is this spirit of “WE” - the urge to collectively make a difference and yet be recognized as an individual that drives our business and helps us excel in everything we do.

At KPIT Cummins, we nurture unique people practices that foster recognition at both individual and team level. Precisely why, you and your team never feel lost in a swarm of people here! It is a pleasure to see how this has evolved into a corporate culture characterized by fairness, equal opportunity, growth and personal satisfaction.

WE give you sufficient space to indulge into research and development, prospects and platforms to explore share your knowledge and above all ample opportunities to learn and expand your horizons.

The People DNA of KPIT Cummins

Whether it is a corporate, or a community, we believe that it’s the people who make an entire difference. Embedded in the DNA of KPIT are the seven core values CRICKET (Customer Focus, Respect for Individual, Integrity, Community Contribution, Knowledge Worship, Entrepreneurship & Innovation and Teamwork & Boundarylessness). Every KPIT is proud of these values and practices each of them as well; being technically sound and hard working is just a bonus. We are passionate about winning and enjoying each other’s successes. KPIT Cummins is a place where everyone is treated as an equal and yet the differences are respected.

Our "Every Idea Counts" approach encourages people to propose new ideas and suggestions - thus nurturing a profound sense of personal involvement in the company's business. The work culture is dedicated towards building happy communities by adding value to the personal as well as professional lives.

11

Page 12: KPIT documents

Chapter 2: Oracle Weblogic and Components

Owned by Oracle Corporation, Oracle WebLogic consists of a JavaEE platform product family that includes:

a JavaEE application server, WebLogic Application Server an enterprise portal, WebLogic Portal an Enterprise Application Integration platform a transaction server and infrastructure, WebLogic Tuxedo a telecommunication platform, WebLogic Communication Platform an HTTP web server

2.1 History

Prior to co-founding WebLogic, Inc., in September 1995, Paul Ambrose and Carl Resnikoff had developed (pre-JDBC) Oracle, Sybase, and Microsoft SQL Server database-drivers for Java under the name dbKona, as well as a "three tier" server to permit applets to connect to these databases.[1]

This WebLogic 1.48 server had the name T3Server (a bastardization of "3-Tier Server"). Concurrently, Pitman and Pasker had worked on network-management tools written in Java. Pasker had written an SNMP stack in Java and a W32 native method for ICMP ping, while Pitman worked on applets to display the management data.

The 1.48 server version had (among other hidden features) the ability to extend it by modifying a dispatcher and adding a handler for different types of messages. Pasker talked Ambrose into sending him the source code for the server, and Pasker extended it so that applets could make SNMP and PING requests on the network, and display the results.

At this point, the founders worked together to pursue what eventually became the "Application Server".

BEA Systems acquired WebLogic, Inc. in 1998, following which it became BEA WebLogic. Oracle acquired BEA in 2008, following which it became Oracle WebLogic.

2.2 Application Server versions

WebLogic Server 11g (10.3.2) - Nov 2009 WebLogic Server 11g (10.3.1) - Jul 2009 WebLogic Server 10.3 - Aug 2008 [2] WebLogic Server 10.0 - Mar 2008 [3] WebLogic Server 9.2 WebLogic Server 9.1 WebLogic Server 9.0 - Nov 2006 [4] WebLogic Server 8.1 - Jul 2003 [5] WebLogic Server 7.0 - Jun 2002 [6] WebLogic Server 6.1 WebLogic Server 6.0 - file date March 2001 on an old CD [7] WebLogic Tengah 3.1 - Jun 1998 [8]

12

Page 13: KPIT documents

WebLogic Tengah 3.0.1 - Mar 1998 [9] WebLogic Tengah 3.0 - Jan 1998 [10] WebLogic Tengah - Nov 1997 [11]

2.3 Capabilities

Oracle WebLogic Server forms part of Oracle Fusion Middleware portfolio and supports Oracle, DB2, Microsoft SQL Server, MySQL Enterprise and other JDBC-compliant databases. Oracle WebLogic Platform also includes:

Portal which includes Commerce Server and Personalization Server WebLogic Integration WebLogic Workshop, an Eclipse IDE for Java, SOA and Rich Internet applications JRockit, a custom JVM.

WebLogic Server includes .NET interoperability and supports the following native integration capabilities:

Native enterprise-grade JMS messaging Java EE Connector Architecture WebLogic/Tuxedo Connector COM+ Connectivity CORBA connectivity IBM WebSphere MQ connectivity

Oracle WebLogic Server Process Edition also includes Business Process Management and Data Mapping functionality. WebLogic supports security policies managed by security administrators. The Oracle WebLogic Server Security Model includes:

application business logic separated from security code complete scope of security coverage for all JavaEE and non-JavaEE components

2.4 Supported open standards

JavaEE 1.3 & 1.4 & 5 o JPA 1.0

JAAS XSLT and XQuery ebXML BPEL & BPEL-J JMX and SNMP Native support for:

o SOAP o WSDL o UDDI o WS-Security

13

Page 14: KPIT documents

o WSRP

An HTTP connection is merely a socket connection from the client to the server over a specified port. The default HTTP port is 80 and default HTTPS port is 443.

2.5 Request/Response model

The Request Line

GET Headers needed for HTTP/1.1 (Host) Query Parameters are stored

POST

Headers needed for HTTP/1.1 (Host, Content-Length or Transfer-Encoding)

Post Data (Body)

The Response Line

4 Main sets of Status Codes 2xx – Mainly 200 3xx – Mainly 301 or 302(Location Header), 304 (Not

Modified) 4xx – Mainly 404 (Not Found) 5xx – Mainly 500 or 503 (Indicates a Server Error)

Persistent Connections

What is a persistent connection, and why do we need it CPU usage/overhead associated with creating new socket connections Internet congestion is reduced because less packets are transmitted

14

Page 15: KPIT documents

2.6 Plugins

WebLogic Server plug-ins are native modules that you add to your third-party Web server installation and configure to enable interactions between WebLogic Server and applications running on Apache HTTP Server, Netscape Enterprise Server, and Microsoft Internet Information Server.

Typically, WebLogic Server handles the application requests that require dynamic functionality, the requests that can best be served with dynamic HTML pages or JSPs.

In addition to the native plug-ins , WLS ships with a default proxy web application out of the box, which can be configured and deployed to a proxy server in a WebLogic domain containing a cluster. The key component of the default proxy web app is the HttpClusterServlet, a class in the weblogic.jar, to which web requests of the proxy server are passed. The servlet then forwards requests according to a load balancing algorithm to the various nodes in a cluster.

Plug-in are configurable in the web server's configuration file. i.e. the iisproxy.ini file (for IIS Server), the httpd.conf file (for Apache Server) and the obj.conf file (for Sun One web server. The names Sun One /NSAPI Server/ iPlanet server use the same NSAPI plug-in). Sun ONE Web Server were previously known as Netscape web servers and iPlanet is the brand name for software from the Sun-Netscape Alliance. Most Netscape products were renamed iPlanet after the joint venture was organized.

You can also use WebLogic Server as your primary Web server to proxy certain requests to a secondary HTTP server/Application server. The HttpProxyServlet/HttpClusterServlet (provided as part of the distribution) takes an HTTP request, redirects it to the proxy URL, and sends the response to the client's browser back through WebLogic Server. To use the proxy, you must configure it in a Web Application and deploy that Web Application on the WebLogic Server that is redirecting requests.

Important Plug-in Parameters

WebLogicCluster, WebLogicHost, WebLogicPort

Controls where the requests get proxied to

PathTrim, PathPrepend, DefaultFileName

Controls how the request URI gets manipulated before it gets passed to WebLogic

ConnectTimeoutSecs, ConnectRetrySecs, Idempotent, WLIOTimeoutSecs, KeepAliveEnabled

Control retry logic as well as failover when connecting to WebLogic

CookieName

Needs to match the CookieName as defined on WebLogic. Default is JSESSIONID

15

Page 16: KPIT documents

DynamicServerList

Controls whether to always use the cluster list as defined in the obj.conf or to use what WebLogic believes the servers in the cluster to be

WLLocalIP

Defines the IP address to bind to when the plug-in connects to a WebLogic Server instance running on a multihomed machine. If WLLocalIP is not set, a random IP address on the multi-homed machine is used.

Debug=ON

will create a log file at /tmp/wlproxy.log by default

WLLogFile, WLTempDir

To change thedefault location of the log or tempdir

DebugConfigInfo=ON

will cause information to be dumped back to the browser when you request a special URL. http://www.yourWebserver.com:8000/weblogic/foo.jsp?__WebLogicBridgeConfig. The browser will show you the runtime configuration of the plug-in and the build # build date of the plug in at the end of the page.

16

Page 17: KPIT documents

Chapter 3 Java Message Service (JMS)

Java Message Service (JMS) is a standard API for accessing message-oriented middleware.

JMS is beneficial because it allows:

two Java programs to communicate even if one of them is unavailable queuing of messages for faster performance

Figure 2 : JMS

3.1 High-Level JMS API Architecture

Figure 3 : JMS API

17

Page 18: KPIT documents

3.2 JMS Functioning

Application A wishes to send messages to Application B

– A is the “Producer” - “Sender” – “Publisher”

– B is the “Consumer” – “Receiver” – “Subscriber”

Figure 4 : Message Process

What is a Message?

A message is composed of:

10 header fields optional header fields called properties a body

Figure 5 : Message format

Message Types

• Stream– Stream of Java primitive values

18

Page 19: KPIT documents

– Filled and read sequentially• Map

– Set of name-value pairs (String-primitive)– Entries can be accessed sequentially or randomly by name. – The order of the entries is undefined.

• Text – Contains String instances– XML document support

• Object – Contains a Serializable java object

• Bytes– Stream of uninterpreted bytes. – Used for compatibility with other message formats.

• Message

Message Headers

Table 3 : Message header

• Messaging models:

– Point to point (Queue)

– Publish/subscribe (Topic)

• JMS Administered objects

– Connection Factory– Connection– Session– Destination– Producer/Publisher

19

Page 20: KPIT documents

– Receiver/Subscriber

3.3 What is a Connection?

• Definition : represents an open connection to the messaging system

• Connection is created by ConnectionFactory

• Connection Factory creates Sessions

• Connection is a heavyweigh object due to the authentication and communication setup done when a Connection is created.

• Connection factories are created from weblogic console by giving a specific JNDI name

3.3.1 How to create a Connection Factory

Figure 6 : Weblogic Connection Factory

20

Page 21: KPIT documents

Figure 7 : Connection Factory Setting

Cluster messaging – exchange of information by cluster members

Service announcements

Liveliness heartbeats

Two messaging modes

Multicast (default)

Unicast

Option configurable by ClusterMBean.ClusterMessagingMode

3.3.2 Unicast messaging

Members in the cluster are broken down into groups based on static configuration like server names.

During runtime, the server with the earliest startup time becomes the cluster leader of its respective group

Group members pass messages to each other using the leader as the hub.

All Group leaders are inter-connected to each other.

This provides reliability and reduces the number of message hops.

21

Page 22: KPIT documents

Group leaders transmit received messages to all local group members and also to other group leaders

Members in the cluster are broken down into groups based on static configuration like server names.

During runtime, the server with the earliest startup time becomes the cluster leader of its respective group

Group members pass messages to each other using the leader as the hub.

All Group leaders are inter-connected to each other.

This provides reliability and reduces the number of message hops.

Group leaders transmit received messages to all local group members and also to other group leaders

Figure 8 : Unicast Diagram

22

Page 23: KPIT documents

3.4 Advantages of JMS Model

• Producer don’t need to wait for consumers response

• Producer and consumer can exchange messages without knowing each other

• Messages can be stored in JMS Server if consumer is not active

• Messages can be delivered asynchronously

23

Page 24: KPIT documents

Chapter 4: GC, Command line Arguments & Remotely using Managed Server.

4.1 Garbage Collection

One strength of the J2SE platform is that it shields the developer from the complexity of memory allocation and garbage collection. However, once garbage collection is the principal bottleneck, it is worth understanding some aspects of this hidden implementation. Garbage collectors make assumptions about the way applications use objects, and these are reflected in tunable parameters that can be adjusted for improved performance without sacrificing the power of the abstraction.

An object is considered garbage when it can no longer be reached from any pointer in the running program. The most straightforward garbage collection algorithms simply iterate over every reachable object. Any objects left over are then considered garbage. The time this approach takes is proportional to the number of live objects, which is prohibitive for large applications maintaining lots of live data.

Beginning with the J2SE Platform version 1.2, the virtual machine incorporated a number of different garbage collection algorithms that are combined using generational collection. While naive garbage collection examines every live object in the heap, generational collection exploits several empirically observed properties of most applications to avoid extra work.

The most important of these observed properties is infant mortality. The blue area in the diagram below is a typical distribution for the lifetimes of objects. The X axis is object lifetimes measured in bytes allocated. The byte count on the Y axis is the total bytes in objects with the corresponding lifetime. The sharp peak at the left represents objects that can be reclaimed (i.e., have "died") shortly after being allocated. Iterator objects, for example, are often alive for the duration of a single loop.

Some objects do live longer, and so the distribution stretches out to the the right. For instance, there are typically some objects allocated at initialization that live until the process exits. Between these two extremes are objects that live for the duration of some intermediate computation, seen here as the lump to the right of the infant mortality peak. Some applications have very different looking distributions, but a surprisingly large number possess this general shape. Efficient collection is made possible by focusing on the fact that a majority of objects "die young".

To optimize for this scenario, memory is managed in generations, or memory pools holding objects of different ages. Garbage collection occurs in each generation when the generation fills up. Objects are allocated in a generation for younger objects or the young generation, and because of infant mortality most objects die there. When the young generation fills up it causes a minor collection. Minor collections can be optimized assuming a high infant mortality rate. The costs of such collections are, to the first order, proportional to the number of live objects being collected. A young generation full of dead objects is collected very quickly. Some surviving objects are moved to a tenured generation. When the tenured

24

Page 25: KPIT documents

generation needs to be collected there is a major collection that is often much slower because it involves all live objects.

The diagram below shows minor collections occurring at intervals long enough to allow many of the objects to die between collections. It is well-tuned in the sense that the young generation is large enough (and thus the period between minor collections long enough) that the minor collection can take advantage of the high infant mortality rate. This situation can be upset by applications with unusual lifetime distributions, or by poorly sized generations that cause collections to occur before objects have had time to die.

As noted in section 2 ergonomics nows makes different choice of the garbage collector in order to provide good performance on a variety of applications. The serial garbage collector is meant to be used by small applications. Its default parameters were designed to be effective for most small applications. The throughput garbage collector is meant to be used by large applications. The heap size parameters selected by ergonomics plus the features of the adaptive size policy are meant to provide good performance for server applications.

Figure 9 : Memory Diagram

At initialization, a maximum address space is virtually reserved but not allocated to physical memory unless it is needed. The complete address space reserved for object memory can be divided into the young and tenured generations.

The young generation consists of eden plus two survivor spaces . Objects are initially allocated in eden. One survivor space is empty at any time, and serves as a destination of the next, copying collection of any live objects in eden and the other survivor space. Objects are copied between survivor spaces in this way until they are old enough to be tenured, or copied to the tenured generation.

Other virtual machines, including the production virtual machine for the J2SE Platform version 1.2 for the Solaris Operating System, used two equally sized spaces for copying rather than one large eden plus two small spaces. This means the options for sizing the young generation are not directly comparable; see the Performance FAQ for an example.

A third generation closely related to the tenured generation is the permanent generation. The permanent generation is special because it holds data needed by the virtual machine to

25

Page 26: KPIT documents

describe objects that do not have an equivalence at the Java language level. For example objects describing classes and methods are stored in the permanent generation.

Throughput and footprint are best measured using metrics particular to the application. For example, throughput of a web server may be tested using a client load generator, while footprint of the server might be measured on the Solaris Operating System using the pmap command. On the other hand, pauses due to garbage collection are easily estimated by inspecting the diagnostic output of the virtual machine itself.

The command line argument -verbose:gc prints information at every collection. Note that the format of the -verbose:gc output is subject to change between releases of the J2SE platform. For example, here is output from a large server application:

[GC 325407K->83000K(776768K), 0.2300771 secs]   [GC 325816K->83372K(776768K), 0.2454258 secs]   [Full GC 267628K->83769K(776768K), 1.8479984 secs]

Here we see two minor collections and one major one. The numbers before and after the arrow

325407K->83000K (in the first line)

Indicate the combined size of live objects before and after garbage collection, respectively. After minor collections the count includes objects that aren't necessarily alive but can't be reclaimed, either because they are directly alive, or because they are within or referenced from the tenured generation. The number in parenthesis

(776768K)(in the first line)

Is the total available space, not counting the space in the permanent generation, which is the total heap minus one of the survivor spaces. The minor collection took about a quarter of a second.

0.2300771 secs (in the first line)

The format for the major collection in the third line is similar. The flag -XX:+PrintGCDetails prints additional information about the collections. The additional information printed with this flag is liable to change with each version of the virtual machine. The additional output with the -XX:+PrintGCDetails flag in particular changes with the needs of the development of the Java Virtual Machine. An example of the output with -XX:+PrintGCDetails for the J2SE Platform version 1.5 using the serial garbage collector is shown here.

[GC [DefNew: 64575K->959K(64576K), 0.0457646 secs] 196016K->133633K(261184K), 0.0459067 secs]]

indicates that the minor collection recovered about 98% of the young generation,

DefNew: 64575K->959K(64576K)

26

Page 27: KPIT documents

and took about 46 milliseconds.

0.0457646 secs

The usage of the entire heap was reduced to about 51%

196016K->133633K(261184K)

and that there was some slight additional overhead for the collection (over and above the collection of the young generation) as indicated by the final time:

0.0459067 secs

The flag -XX:+PrintGCTimeStamps will additionally print a time stamp at the start of each collection.

111.042: [GC 111.042: [DefNew: 8128K->8128K(8128K), 0.0000505 secs]111.042: [Tenured: 18154K->2311K(24576K), 0.1290354 secs] 26282K->2311K(32704K), 0.1293306 secs]

The collection starts about 111 seconds into the execution of the application. The minor collection starts at about the same time. Additionally the information is shown for a major collection delineated by Tenured. The tenured generation usage was reduced to about 10%

18154K->2311K(24576K)

and took about .13 seconds.

0.1290354 secs

A number of parameters affect generation size. The following diagram illustrates the difference between committed space and virtual space in the heap. At initialization of the virtual machine, the entire space for the heap is reserved. The size of the space reserved can be specified with the -Xmx option. If the value of the -Xms parameter is smaller than the value of the -Xmx parameter, not all of the space that is reserved is immediately committed to the virtual machine. The uncommitted space is labeled "virtual" in this figure. The different parts of the heap (permanent generation, tenured generation, and young generation) can grow to the limit of the virtual space as needed.

Some of the parameters are ratios of one part of the heap to another. For example the parameter NewRatio denotes the relative size of the tenured generation to the young generation. These parameters are discussed below.

27

Page 28: KPIT documents

Figure 10 : Perm Memory

The discussion that follows regarding the growing and shrinking of the heap does not apply to the throughput collector. The resizing of the heap for the throughput collector is governed by the ergonomics discussed in section 5.2.2. The parameters that control the total size of the heap and the sizes of the generations do apply to the throughput collector.

4.1.1 Total Heap

Since collections occur when generations fill up, throughput is inversely proportional to the amount of memory available. Total available memory is the most important factor affecting garbage collection performance.

By default, the virtual machine grows or shrinks the heap at each collection to try to keep the proportion of free space to live objects at each collection within a specific range. This target range is set as a percentage by the parameters -XX:MinHeapFreeRatio=<minimum> and -XX:MaxHeapFreeRatio=<maximum>, and the total size is bounded below by -Xms and above by -Xmx . The default parameters for the 32-bit Solaris Operating System (SPARC Platform Edition) are shown in this table:

-XX:MinHeapFreeRatio= 40

-XX:MaxHeapFreeRatio= 70

-Xms 3670k

-Xmx 64mTable 4 : XX Details Memory

Default values of heap size parameters on 64-bit systems have been scaled up by approximately 30%. This increase is meant to compensate for the larger size of objects on a 64-bit system.

With these parameters if the percent of free space in a generation falls below 40%, the size of the generation will be expanded so as to have 40% of the space free, assuming the size of the generation has not already reached its limit. Similarly, if the percent of free space exceeds

28

Page 29: KPIT documents

70%, the size of the generation will be shrunk so as to have only 70% of the space free as long as shrinking the generation does not decrease it below the minimum size of the generation.

Large server applications often experience two problems with these defaults. One is slow startup, because the initial heap is small and must be resized over many major collections. A more pressing problem is that the default maximum heap size is unreasonably small for most server applications. The rules of thumb for server applications are:

Unless you have problems with pauses, try granting as much memory as possible to the virtual machine. The default size (64MB) is often too small.

Setting -Xms and -Xmx to the same value increases predictability by removing the most important sizing decision from the virtual machine. On the other hand, the virtual machine can't compensate if you make a poor choice.

Be sure to increase the memory as you increase the number of processors, since allocation can be parallelized.

A description of other virtual machine options can be found at

http://java.sun.com/docs/hotspot/VMOptions.html

4.1.2 The Young Generation

The second most influential knob is the proportion of the heap dedicated to the young generation. The bigger the young generation, the less often minor collections occur. However, for a bounded heap size a larger young generation implies a smaller tenured generation, which will increase the frequency of major collections. The optimal choice depends on the lifetime distribution of the objects allocated by the application.

By default, the young generation size is controlled by NewRatio. For example, setting -XX:NewRatio=3 means that the ratio between the young and tenured generation is 1:3. In other words, the combined size of the eden and survivor spaces will be one fourth of the total heap size.

The parameters NewSize and MaxNewSize bound the young generation size from below and above. Setting these equal to one another fixes the young generation, just as setting -Xms and -Xmx equal fixes the total heap size. This is useful for tuning the young generation at a finer granularity than the integral multiples allowed by NewRatio.

4.1.3 Young Generation Guarantee

In an ideal minor collection the live objects are copied from one part of the young generation (the eden space plus the first survivor space) to another part of the young generation (the second survivor space). However, there is no guarantee that all the live objects will fit into the second survivor space. To ensure that the minor collection can complete even if all the objects are live, enough free memory must be reserved in the tenured generation to accommodate all the live objects. In the worst case, this reserved memory is equal to the size

29

Page 30: KPIT documents

of eden plus the objects in non-empty survivor space. When there isn't enough memory available in the tenured generation for this worst case, a major collection will occur instead. This policy is fine for small applications, because the memory reserved in the tenured generation is typically only virtually committed but not actually used. But for applications needing the largest possible heap, an eden bigger than half the virtually committed size of the heap is useless: only major collections would occur. Note that the young generation guarantee applies only to serial collector . The throughput collector and the concurrent collector will proceed with a young generation collection, and if the tenured generation cannot accommodate all the promotions from the young generation, both generations are collected.

If desired, the parameter SurvivorRatio can be used to tune the size of the survivor spaces, but this is often not as important for performance. For example, -XX:SurvivorRatio=6 sets the ratio between each survivor space and eden to be 1:6. In other words, each survivor space will be one eighth of the young generation (not one seventh, because there are two survivor spaces).

If survivor spaces are too small, copying collection overflows directly into the tenured generation. If survivor spaces are too large, they will be uselessly empty. At each garbage collection the virtual machine chooses a threshold number of times an object can be copied before it is tenured. This threshold is chosen to keep the survivors half full. An option, -XX:

+PrintTenuringDistribution, can be used to show this threshold and the ages of objects in the new generation. It is also useful for observing the lifetime distribution of an application.

Here are the default values for the 32-bit Solaris Operating System (SPARC Platform Edition):

NewRatio 2 (client JVM: 8)

NewSize 2228k

MaxNewSize Not limited

SurvivorRatio 32Table 5 : Memory Ratio

The maximum size of the young generation will be calculated from the maximum size of the total heap and NewRatio. The "not limited" default value for MaxNewSize means that the calculated value is not limited by MaxNewSize unless a value for MaxNewSize is specified on the command line.

The rules of thumb for server applications are:

First decide the total amount of memory you can afford to give the virtual machine. Then graph your own performance metric against young generation sizes to find the best setting.

Unless you find problems with excessive major collection or pause times, grant plenty of memory to the young generation.

Increasing the young generation becomes counterproductive at half the total heap or less (whenever the young generation guarantee cannot be met).

30

Page 31: KPIT documents

Be sure to increase the young generation as you increase the number of processors, since allocation can be parallelized.

NOTE:

If the garbage collector has become a bottleneck, you may wish to customize the generation sizes. Check the verbose garbage collector output, and then explore the sensitivity of your individual performance metric to the garbage collector parameters.

4.2 Command Line Arguments

Thread Dump:Java –verbose:gc filename

Get the thread dump using ctrl+break on windows platform.On linux platform use kill -3 process Id.

To print the gc details:Java –verbose:gc –XX:+printGCDetails <classname> > outputfile.txt

Setting Heap Size:Pass Xms and Xmx in the java arguments

Say java Class as Hello.javaJava –Xms=20M –Xmx=30M Hello

Following command is working when the above command is not working:Java –Xms20M –Xmx30M Hello

Setting the Perm size:Set the perm maximum size using MaxPermSize size: and set the perm minimum size using PermSize size.

Perm size cannot be set by passing the parameters at runtime as the classes are loaded at first hand. It can be achieved by setting the java options in the startup scripts.

To check the memory size:Runtime.getRuntime().totalMemory();Runtime.getRuntime().freeMemory();

To see the hierchy in which the classes are getting loaded:Say a class Hello.java is there:

java -verbose:class Hello

4.3 Remotely Using Managed Server

31

Page 32: KPIT documents

The steps and procedure for Remotely using Managed Server is:

To run a managed server in the domain on remote machine:    Requirements:        1. Two Physical machine on LAN. (Local, Remote)    2. Weblogic (required version) should be installed on both the Machines            Configuration (on Local machine)        1. Create a domain on Local machine and start the admin server.    2. Create two managed servers MSLocal and MSRemote    3. Create a machine MachineLocal and keep MSLocal in that (MSLocal will run on Local). Give the IP for the MSLocal and Machine Local as that of the Local machine        4. Create a machine MachineRemote and keep MSRemote in that (MSRemote will run on Remote). Give the    IP for the MSRemote and MachineRemote as that of the Remote machine            Configuration (on Remote machine)        1. Start node manger (from start menu or through command prompt)    2. Open the Admin console by giving http://Local Machine's IP: port on which the admin server is running on Local machine/console    3. Goto Machine and check the node manager status. It would be "inactive"--> not reachable        4. Open command prompt and set the environment.    5. Then start WLST using java weblogic.WLST    ************************************************************    D :/> java weblogic.WLST        Initializing Weblogic Scripting Tool (WLST)...        Welcome to Weblogic Server Administration Scripting Shell        Type help () for help on available commands        wls:/offline>    *************************************************************    6. wls:/offline> connect ('username','password','t3://Local Machine's IP: port on which the admin server is running on Local machine')        Ex:  connect ('weblogic','weblogic','t3://10.10.71.30:1001')        OR you can use just connect () and it will prompt for the required details as follows         Connect ()    Please enter your username [weblogic]: weblogic    Please enter your password [weblogic]:    Please enter your server URL [t3://localhost:7001]:t3://10.10.71.30:1001    Connecting to t3://10.10.71.30:1001 with userid weblogic...    Successfully connected to Admin Server 'AdminServer' that belongs to domain 'base_domain'.        7. Enroll the machine: here we have to provide the path of the node manger directory under our installation as a parameter to nmEnroll method.

32

Page 33: KPIT documents

            Wls: /base_domain/serverConfig> nmEnroll ('D:/BEA1001/wlserver_10.0/common/nodemanager')    Enrolling this machine with the domain directory at D:/BEA1001/wlserver_10.0/com    mon/nodemanager...    Successfully enrolled this machine with the domain directory at D:\BEA1001\wlser    ver_10.0\common\nodemanager.            8. Now goto admin console and check the status of the node manager. It would be active-->reachable        9. Start the managed server 'MSRemote'.        10. You can see the folder 'MSRemote' created under wlserver_10.0\common\nodemanager\servers in which you can see the logs.

33

Page 34: KPIT documents

Chapter 5 Security Certification & Bug Filing

5.1 To generate a custom Certificate

Step1) Generate a key (creates a *.jks i.e. key store)

C:\Vivek\bea\user_projects\domains\JMS_domain>keytool -genkeypair -alias support -keyalg RSA -keysize 1024 -validity 999 -keypass weblogic -keystore identity.jks -storepass weblogic

Figure 11 : Keytool

Step 2) CSR – certificate signed request generation (CSR)

C:\Vivek\bea\user_projects\domains\JMS_domain>keytool -certreq -alias support -keypass weblogic -keystore identity.jks -storepass weblogic -file certreq

Figure 12 : Certificate Signed Request

34

Page 35: KPIT documents

Step 3) Go to the verisign site and provide the certificate (CSR) data and ask for the key... it will be sent by means of an email.

--- Website link::: https://securitycenter.verisign.com

Step 4) Chaining of the certificates

C:\Vivek\bea\user_projects\domains\JMS_domain>keytool -importcert -keystore identity.jks -storepass weblogic -file C:\Vivek\FinalChain.cer -alias support

FinalChain.cer – The final notepad that contains all the certificate contents in a single notepad file i.e. certificate, intermediate certificate and root certificate

Figure 13 : Keystore

Verify the generated key – to check what are the details and contents of the key that got generated.

35

Page 36: KPIT documents

Figure 14 : Key Generated diagram

Verify the Chaining ::: whether the certificate chain is valid.

Figure 15 : Chaining

To add the certificate in the keystore:

C:\Vivek>keytool -import -file Root.cer -alias root -keystore trust123.jks -storepass weblogic

36

Page 37: KPIT documents

Figure 16 : Keystore Certificate

37

Page 38: KPIT documents

To view the newly created keystore one can use:

Figure 17 : Chained Key View

38

Page 39: KPIT documents

5.2 Bug & Filing Bugs

Figure 18 : The Screen

Figure 19 : The Bug Filing GUI

Select the product and component from the context sensitive menu on the right hand side. The sub-component is an optional field, and it can be left blank.

Leave “Enter a Bug like Bug#” blank for now, and click the “Enter a Bug against this Product” button.

39

Page 40: KPIT documents

Figure 20 : The Bug Detail Template

Use context sensitive help and menus where available.

Customer: An internal customer will give the bug a lower BPS score.

Status: Should be “10” until you are ready to submit the bug for validation.

Publish: Do not publish the bug

Security Vulnerability: Select “No”. This is important, as selecting “Yes” will change the level of access required to edit the bug.

Hide/unhide text: Choose “Hide” as we do not intend to publish our bugs to our customers at this time.

Important: Use this template to record the Bug Description:

40

Page 41: KPIT documents

Figure 21 : Bug Detail Screen

Assigned: the bug is Auto Assigned by default.

Status: Change to 16 if you have finished entering the bug. This will cause it to show up in the BDE/CRV queries.

41

Page 42: KPIT documents

Chapter 6 Support Patterns & Customer Management

6.1 Load Balancing Problems:

The problem of uneven load-balance of HTTP requests in a cluster can be characterized as:

Uneven load-balance of HTTP requests due to uneven distribution of HTTP sessions

The proxy forwards requests without any session cookie to a cluster node based on round-robin load-balance scheme and a new session is created on that node. Ideally all cluster nodes should receive an equal share of HTTP sessions. When that does not happen, nodes with more sessions get more volume of requests than other nodes because of the “sticky” load-balance policy. The net result is uneven load distribution among cluster nodes.

Requests with session cookie are always forwarded to the node that is the “primary” host of the session, which is called sticky load-balancing or session affinity based load balancing. The investigation of uneven load balancing does not apply to this type of request. A request with session cookie will have log entries like below in proxy debug log:

Mon May 10 13:14:40 2004 Parsing cookie JSESSIONID=Af48B06Xe6BvewE8yCNWKz62dsiu028qlO9GvkS41bg3n53RbJ2Z!-2032354160!-457294087 Mon May 10 13:14:40 2004 getpreferredServersFromCookie: -2032354160!-457294087 Mon May 10 13:14:40 2004 Hdrs from Client:[cookie]=[JSESSIONID=Af48B06Xe6BvewE8yCNWKz62dsiu028qlO9GvkS41bg3n53RbJ2Z!-2032354160!-457294087]

The plug-in maintains an in-memory list called the “General Server List” which is the list containing cluster nodes  known to be in good health (Status: OK) at any point of time. The plug-in uses the General Server List to determine which cluster node to choose in order to forward a request without a  session cookie. If there is no problem, the General Server List will be same as the Static List that is configured with plug-in.

There are some conditions (as described below) that will cause General Server List to shrink and become a subset of Static List. When that occurs, there will be fewer nodes available to which the plug-in will forward requests without any session cookie and thus distribution of HTTP sessions will be uneven.

42

Page 43: KPIT documents

Factors that affect General Server List

a.  X-WebLogic-Cluster-List HTTP header in the response stream from a cluster node that services a particular request.

b. What is X-WebLogic-Cluster-List HTTP header? The backend weblogic server that processes a request from plug-in, returns the list of live cluster members known to it at that point via a HTTP header X-WebLogic-Request-ClusterInfo in the response stream. The header will be returned only if there is a change in cluster list.If the returned cluster list is truncated, then the plug-in’s General Server List will also become subset of the full cluster list. The backend cluster node will return a truncated list when it has a subset of cluster nodes in it’s own cluster view. This is the most common cause of load-balance problems.

c. Any Exception that has occurred when the plug-in attempts to get a request serviced by a cluster node, i.e., when sending the http request to a cluster node or when reading the response from it

Diagnosis

1. Configure the proxy plug-in to produce additional diagnostic data. Refer to General Diagnostic Process for Problems with Proxy Plug-in for details.

2. Look at the proxy bridge page for General Server List

If the list does not show all the cluster nodes with Status: OK, then the General Server List has been truncated to contain a subset of nodes. 

Original: General Server List:

1. Host: '172.18.137.50' Port: 8001 Status: OK 2. Host: '172.18.137.54' Port: 8001 Status: OK

Truncated: General Server List: 1. Host: '172.18.137.50' Port: 8001 Status: OK

Figure 22 : Plugin Detail log

3. The next step is to identify which factors, (a) or (b), or a combination of both that contributes to the problem.

a. Truncated X-WebLogic-Cluster-List

Search for X-WebLogic-Cluster-List in proxy log and see at what point a truncated list has been returned from backend cluster node. Determine which backend cluster node has returned the truncated X-WebLogic-Cluster-List by following the preceding log entries for the same request.  

43

Page 44: KPIT documents

Full cluster list:Mon May 10 13:14:30 2004 Hdrs from WLS:[X-WebLogic-Cluster-Hash]=[sUuYnuyhFpkhw6ty44bkNczWnaA]Mon May 10 13:14:30 2004 Hdrs from WLS:[X-WebLogic-Cluster-List]=[-2032354160!-1408071374!38625!-1|-457294087!-408071370!38625!-1]…………………. Mon May 10 13:14:30 2004 Parsing cluster list: -2032354160!-1408071374!38625!-1|-457294087!-1408071370!38625!-1 Mon May 10 13:14:30 2004 Initializing lastIndex=0 for a list of length=2 Mon May 10 13:14:30 2004 ### Got a new Server List of length 2 ### Mon May 10 13:14:30 2004 ###Response### : Srvr# [1] = [172.18.137.50:38625:65535] Mon May 10 13:14:30 2004 ###Response### : Srvr# [2] = [172.18.137.54:38625:65535] 

Truncated cluster list: Tue May 11 12:22:01 2004 Hdrs from WLS:[X-WebLogic-Cluster-Hash]=[O2ukNQEbMOLzU+R2026DpZaYVtI] Tue May 11 12:22:01 2004 Hdrs from WLS:[X-WebLogic-Cluster-List]=[848189891!-1408071374!38625!-1] …………………. Tue May 11 12:22:01 2004 Parsing cluster list: 848189891!-1408071374!38625!-1 Tue May 11 12:22:01 2004 Initializing lastIndex=0 for a list of length=1 Tue May 11 12:22:01 2004 ### Got a new Server List of length 1 ### Tue May 11 12:22:01 2004 ###Response### : Srvr# [1] = [172.18.137.50:38625:65535]

Figure 23 : Full Cluster log

b. Exception in request-response

Look for “Exception objects created” under “Runtime statistics” on the proxy bridge page. If the count is greater than 0, then some exceptions have occurred. 

Also look for “Exception” in the proxy log. 

44

Page 45: KPIT documents

Proxy bridge page after an error:requests: 6Exception objects created: 1CONNECTION_REFUSED exceptions: 1

Corresponding log entries in proxy log:Tue May 11 12:22:00 2004 attempt #0 out of a max of 5 Tue May 11 12:22:00 2004 trying connect to PRIMARY '172.18.137.54'/38625 /65535 at line 1138 for '/mywebapp/session.jsp' Tue May 11 12:22:00 2004 INFO: New NON-SSL URL Tue May 11 12:22:00 2004 *******Exception type [CONNECTION_REFUSED] (172.18.137.54:38625 errno = 0) raised at line 1536 of URL.cpp

Figure 24 : Proxy Bridge log

Resolution

c. If the problem is found to be X-WebLogic-Cluster-List returning truncated list, then find out which cluster node had returned that response and focus on that node. Most often the problem is due to Multicast causing instability in cluster. See Multicast Error pattern for diagnosis of multicast problem.

d. If some exceptions are reported by bridge page, find out what type of exceptions have occurred.

If the problem could not be resolved, because one or both of the above factors continue to affect the General Server List, then you can setDynamicServerList=”OFF” so that General Server List will always contain the full list of cluster nodes as configured (Static List). For details, refer to General Parameters for Web Server Plug-Ins and look for description of DynamicServerList. But pay attention to the implications of setting DynamicServerList=”OFF”.

6.2 HTTP Session Replication Failures

Causes:

The application using http session does not function as designed and you see a loss of session data

You might be asked to re-login into the application even when the session is still not timed out

You are seeing errors and warnings related to Http Session failures in the server’s log file

Request does not get failover to another server properly

45

Page 46: KPIT documents

Main cause:Session replication Failures are usually because of multicast/network

issues. Sometimes, configuration issues will lead to failures (please check the section Validate the Weblogic.xml entries). Also please ensure that the data put into the session should be serializable otherwise replication may fail.

What are the types of Http Session Replication?There are five different implementations of session persistence:

1. Memory

-In case of Single Server

2. File system persistence

-Session object is stored in the file system

3. JDBC persistence

-Session object is stored in a database table

4. Cookie-based session persistence

-Session information is stored in the cookie and retrieved later

5. In-memory replication (across a cluster)

-The session object is kept in memory and given to the secondary server

If the problem is because of Session Replication, steps to be taken are,

Verify whether the customer has enabled debug flag Check weblogic.xml. Make sure that session data is serializable Test the multicast port Validate Cluster Configuration

Enabling the Debug flag:

You could enable the flags DebugCluster, DebugClusterAnnouncements, DebugFailOver, DebugReplication, DebugReplicationDetails.

To Enable:

1. Using weblogic.Admin  command line utility(Deprecated from 9.x versions)

46

Page 47: KPIT documents

You can use the weblogic.Admin command line utility to dynamically turn the debug options on and off. 

For example, to turn on DebugCluster on all administration instances of ServerDebug Mbean (i.e., Admin Server or a Managed Server): 

java weblogic.Admin -url t3://localhost:7001 -username system -password weblogic SET -type ServerDebug -property DebugCluster true

2. By changing the config.xml

Alternatively, you can edit the config.xml and the Mbean element in the <ServerDebug/> stanza for each server that you want to debug and setting to value of “true” to enable or “false” to disable. Then you must restart the Admin Server. Managed Servers will reconnect to the Admin Server and the debug flags will then dynamically take effect. Example:

<ServerDebug DebugCluster="true" Name="myserver"/>

Checklist for each Session Persistence type used:

Memory (single-server, non-replicated)

1. When you use memory-based storage, all session information is stored in memory and is lost when you stop and restart WebLogic Server.

2. Make sure you have allocated sufficient heap size when running WebLogic Server; otherwise, your server may run out of memory under heavy load.

3. Not a recommended type for Cluster configuration (because the data is kept in heap and is not available to any other server).

File system persistence

1. Verify  weblogic.xml. 2. Make sure you have enough disk space.

JDBC persistence

1. Make sure the connection pool that connects to the database has read/write access for the database table used.

Cookie Based Persistence

1. Make sure you have not stored anything other than java.lang.String in the http session.2. Do not flush the Http response object in your application code.

47

Page 48: KPIT documents

3. Make sure that the content length of the response exceeds the buffer size set (default is 8192 bytes).

4. Make sure that cookies are enabled in the browser.5. Make sure that you do not use commas (,) in a string when using cookie-based session

persistence.

In-memory replication

1. Make sure that the Weblogic Server is accessed only via a proxy server or a hardware load balancer.

2. The hardware load balancer should support a compatible passive or active cookie persistence mechanism, and SSL persistence.

6.3 Customer Management

Top 6 qualities of Successful DRE’s

Define clear problem statement and seek agreement on the same

Empathize and align with the customer

Large part of case communication is done on phone

Exhibit strong technical ability with desire to constantly improve

Take ownership of the case and constantly engage

Are willing to go above and beyond to satisfy the customer

Top 6 signs that case is getting derailed

More than a week has gone by and Problem Definition has not occurred

Customer is calling and asking for status repeatedly

Customer is lacking confidence on solutions presented

Long running case with no sign of convergence

Customer is seeking escalation early on in the case life cycle

Customer is asking for abrupt case closure

Step in to the customer’s shoes

Evaluate along the way if you would be happy with the service provided

48

Page 49: KPIT documents

What can you do to change course that can lead to positive outcome

Understand your lows and highs and seek constant improvement

Recipe for Success - 3 legged Stool

Strong Technical Ability

Excellent Communication skills

Attitude of a Champion

49

Page 50: KPIT documents

6.4 Case review findings

Common Themes observed Suggested Remedial techniques

Notes

1 Most of the communication to customer is via email and very little phone conversation is taking place

80% or more of the case communication should be on phone Make repeated calls and seek your managers help if needed in reaching the customer Ask the customer what are convenient times and what is the best way to reach them

Email communication should typically be used for opening and closing emails and additionally to describe several detailed steps when presenting solutions to the customer

2 Too many back and forth cycles via email before problem can be understood and needed files can be collected from customer (typically 3 weeks or more)

Call repeatedly till you can talk to the customer and get a detailed understanding of the problem Call intelligently keeping the customer’s time zone in mind Leave voice messages that show you care and are interested in engaging and providing an effective and expedient solution

Seek your managers help in case you are challenged in reaching a customerReach out to the SAM if needed and seek their help

3 Lack of clear understanding of problem, documentation of the problem in Clarify and communication of the same to the customer. Visible disconnect between customers expectations and DRE’s attempt to solve problem observed due to this behavior.

After understanding the problem and associated context via one or more initial calls ensure that a “Problem Description” is captured in Clarify Email the customer the “Problem Description”, this will minimize the possibility of disconnects and ensure that DRE is effectively engaged.

Managers should use EPC (Early Point Check in) and pay close attention to such cases.

4 Several long spells of no communication with customer encompassing both

Every 3 to 4 days or less the DRE should contact the customer and

The only exception is when customers are unavailable and/or ask

50

Page 51: KPIT documents

scenarios:1. Follow up with customer to seek clarification or gather needed files2. Provide timely updates to customer on case progress

provide status of progress Likewise the DRE should follow up every few days to collect pending log files etc. If customer’s are asking status this should raise a red flag and managers should catch this during case reviews

for some more time to try suggested solutions. These situations should be documented clearly in the case notes

5 Very little attempt to reproduce the customer’s problem.

Every attempt should be made to reproduce the customer’s problem.

Clearly results in providing effective solutions and many times shortens the resolution times. Removes the guess work out of the problem solving approach, increases the DRE knowledge and confidence when communicating with the customer.

6 Many times trouble shooting technique comes across as “trial and error” approach. E.g. DRE first presents a solution, customer comes back after some time and communicates that it did not work, DRE presents another solution and this goes on for a while This leads to long running cases and customers communication progressively reflects lesser faith in DRE(BEA support’s) ability to solve the problem.

Technical Leads need to review cases periodically and provide help as needed. DRE’s need to seek help from their colleagues Use RTCC Use AOF forums Reproduce problem

7 Poor documentation of case activity in Clarify.

All fields of clarify needs to be properly populated, particularly proper title, customer contact info, sub system, severity etc. All case related activity needs to be logged in Clarify including discussions with other

51

Page 52: KPIT documents

DRE’s, problem reproduction efforts, leverage of RTCC, AOF and other forums for the case

8 Too many reassignments of cases and at times multiple DRE’s are working the same case. This can lead to customer frustration and at a minimum confusion on the customer’s part.

Case assigners should seek Tech leads help if needed to identify appropriate DRE for any particular case Case assigners should be aware of all DRE imminent absences for vacation training etc. DRE (case owner) should only update case, other DRE’s can help but should refrain from directly communicating to the customer about the case as this can lead to customer confusion and frustration

Lack of clear case ownership can also dilute accountability.

9 DRE planned absences are poorly handled and cases have been kept idle for original DRE to return. This has resulted in long running cases and additionally customer has not been communicated case status.

DRE should proactively communicate to the customer about their planned absence in advance and advise them of their option to wait or work with another DRE DRE should provide his manager a list of active cases in order of high to low priority that needs immediate reassignment, this should be done prior to the day of their in availability DRE should set appropriate message in ‘out of office’ assistant DRE should set appropriate VM informing of their absence.

10 Little evidence of actively engaging, empathizing and going the extra mile for the

Increase calls to the customer and frequently communicate

52

Page 53: KPIT documents

customers cause. to customer your efforts, progress made etc. Make a conscious effort to understand the criticality of the situation and business impact for the customer. Offer to provide phone support for detailed deployment, installation exercises Offer to conduct WebEx if you sense confusion, lack of clear understanding or frustration on the customers part Reach out within BEA to identify Sales, PS and any other peer team that can help the customer instead of directing the customer to do so Be engaged and facilitate the problem resolution process even if the problem is not with BEA product, e.g. Sun JVM

11 Case opening email and closing email not being consistently used.

Managers need to ensure via reviews that this is being religiously followed. Lal Matthews needs to provide a set of templates that needs to be consistently used by all ISC DRE’s

12 Grammar and language skills need improvement. Several emails where ‘patient’ is used instead of ‘patience’.

Lal should conduct or arrange for basic written and speaking classes. Incentives can be provided to DRE’s who seek additional training and certification in English language

53

Page 54: KPIT documents

Lal should do random audits of email communication to seek compliance and discuss remediation strategies with DRE if needed

13 Larger focus on case closure instead of enhanced customer service aimed at delighting the customer

DRE’s should avoid 2-2-7 process all together Managers frequently review cases to ensure that DRE’s do not ask for case closure

14 Very little success in customer reaching the DRE, invariably most calls go to DRE’s VM

Have all calls to be routed via a receptionist who can then transfer the call to the DRE (page DRE if needed) or the DRE’s manager

It is important that the customer talks to the DRE or the DRE’s manager instead of VM which is more often the case.

Table 6 : Case finding review

54

Page 55: KPIT documents

Appendices

Appendice-1 JDBC Program

import java.sql.*;import java.util.*;import javax.sql.*;import java.io.*;

public class prepstmt{

public static void main(String[] args) throws ClassNotFoundException, SQLException{

System.out.println("inside jdbc");

String drivertype = System.getProperty("drivertype");String url = System.getProperty("url");String user = System.getProperty("user");String password = System.getProperty("password");

Class.forName(drivertype);Connection conn = DriverManager.getConnection(url, user, password);String vsql = "insert into employee values(?,?,?,?)";PreparedStatement pstsmt = conn.prepareStatement(vsql);

pstsmt.setInt(1,113);pstsmt.setString(2,"Ravan");pstsmt.setString(3,"Ra");pstsmt.setString(4,"Z");

pstsmt.executeUpdate();

System.out.println("Display");

Statement st = conn.createStatement();

System.out.println("hello");

String query1 = "insert into Employee values(1,'kapil','suk','aa')";String query2 = "insert into Employee values(1,'shashi','suk','aa')";String query3 = "insert into Employee values(1,'ankur','suk','aa')";String query4 = "insert into Employee values(1,'nikhil','suk','aa')";

st.clearBatch();st.addBatch(query1);st.addBatch(query2);st.addBatch(query3);

55

Page 56: KPIT documents

st.addBatch(query4);st.executeBatch();

ResultSet rs = st.executeQuery("Select * from Employee");

while(rs.next()){

System.out.print(" "+rs.getInt("EMPID"));System.out.print(" "+rs.getString("FIRSTNAME"));System.out.print(" "+rs.getString("SURNAME"));if(null != rs.getString("MIDDLE_NAME")){System.out.println(" "+rs.getString("MIDDLE_NAME"));}else{System.out.println(" Welcome aboard");}

}pstsmt.close();conn.close();}

Appendice-2 JNDI Connection & SubContext Program

import javax.naming.*;import java.util.*;import java.io.*;import java.sql.*;import javax.sql.*;

public class JndiClient{

public static void main(String a[]) throws Exception{

FileInputStream fis = new FileInputStream("jndi.properties");Properties props=new Properties();System.out.println("1---" +props);props.load(fis);System.out.println("2---" +props);Context ic = new InitialContext(props);System.out.println("3 got Intial Context ----"+ic);DataSource ds = (DataSource)ic.lookup("DS");

Connection con1 = ds.getConnection();Connection con2 = ds.getConnection();Connection con3 = ds.getConnection();

56

Page 57: KPIT documents

Connection con4 = ds.getConnection();Connection con5 = ds.getConnection();

con1.close();con2.close();con3.close();con4.close();con5.close();

Integer o1 = new Integer(12);Integer o2 = new Integer(11);

ic.bind("objone",o1); //bindic.bind("objtwo",o2);ic.lookup("objone"); //lookupic.unbind("objone");ic.rebind("objthr",o1); //rebind

ic.createSubcontext("subcontextone"); //creating subcontextic.createSubcontext("subcontextone/student");ic.createSubcontext("subcontexttwo");ic.createSubcontext("subcontexttwo/employee");

}}

Appendice-3 Request Dispatcher Program

package Org.RD;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import java.sql.*;import javax.naming.*;import javax.sql.*;

public class stwo extends HttpServlet{

public void service(ServletRequest request, ServletResponse response) throws ServletException,IOException

{System.out.println("..in Srv two service..");PrintWriter out= response.getWriter();out.println("output from servlet two");ServletContext application = getServletContext().getContext("/Srvlethttp");RequestDispatcher rd = application.getRequestDispatcher("/Myserv2");rd.include(request,response);out.println("---last line of Servlet two");

}}

57

Page 58: KPIT documents

Appendice-4 JSP Application Program

<html><body>getdata page

<%@page isErrorPage="false"%><%@page errorPage="error.jsp"%>

<%@page import="java.sql.*;"%>

<%System.out.println("inside jdbc");Class.forName("oracle.jdbc.driver.OracleDriver");String url = "jdbc:oracle:thin:@localhost:1521:XE";Connection conn = DriverManager.getConnection(url, "system", "sh");Statement st = conn.createStatement();ResultSet rs = st.executeQuery("Select * from Employee where `ID = 50");while(rs.next()){

System.out.println("hello");System.out.print(" "+rs.getInt("EMPID"));System.out.print(" "+rs.getString("FIRSTNAME"));System.out.print(" "+rs.getString("SURNAME"));if(null != rs.getString("MIDDLE_NAME")){

System.out.println(" "+rs.getString("MIDDLE_NAME"));}else{

System.out.println(" Welcome aboard");}

}st.close();conn.close();%>

</body></html>

Appendice-5 Reservation Program

There are 67 seats in train. There are only 5 seats in a row and in last row there are only 2 seats. One person can reserve only 5 seats at a time. If person reserving seat, the care is taken that he may get

58

Page 59: KPIT documents

all in row. If seats are not available in row then the arrangement is so that person group gets nearby seats. The following class is given:

public class seat{char name;int seat;boolean isSeatempty}*/

public class seat{char name;int seat;boolean isSeatempty;}public class reservation{

public static void main(String args[]){

int i;Scanner scn = new Scanner(System.in)System.out.println("-:The Reservation Menu:-");System.out.println("1. Reservation.");System.out.println("2. Exit.");System.out.println("Enter Ur Choice:");i=scn.nextInt();

}}

import java.util.*;import java.io.*;

public class sea extends seat{

String name;int [] seat= new int[67];

ArrayList al= new ArrayList();

public void reserv(int j){

Scanner scn = new Scanner(System.in);System.out.println("Enter the name: ");

name=scn.next();

59

Page 60: KPIT documents

seat=j;

al.add();System.out.println("\n\nSeats :"+j+"\n name :"+name);

}}public class sss{

public static void main(String args[]){

sea ss = new sea();int i,j;String k;

do{

Scanner scn = new Scanner(System.in);

System.out.println("-:The Reservation Menu:-");System.out.println("1. Reservation.");System.out.println("2. Exit.");System.out.println("Enter Ur Choice:");i=scn.nextInt();

//The Reservation GUIswitch(i){

case 1:System.out.println("No. of Seats: ");j=scn.nextInt();if(j>5 || j<0){

if(j>5){

System.out.println("\n\n\nSorry!, \n\n We are unable to allocate seats greater than 5\n Enter between 1 & 5\n\n");

}if(j<0){

System.out.println("\n\n\nAre u Serious?? plz enter valid seats between 1 & 5\n\n");

}break;}ss.reserv(j);

/*System.out.println("Enter the name: ");k=scn.next();

60

Page 61: KPIT documents

System.out.println("\n\nSeats :"+j+"\nname :"+k);

//Reserving the Seats//name[1]="shashi";seat[1]=1;

System.out.println(name[1]+" "+seat[1]);break;*/

default:if(i!=1 && i!=2){

System.out.println("Please, Enter the proper No.");}

}}while(i!=2);

System.out.println("\n\n\n \t\tThanks for using our System");}

}

61

Page 62: KPIT documents

Appendice-6 Weekly Report

Roll No: MS-08-12Name: Shashi SannabhadtiPeriod Covered : Jan – April.Company Address: KPIT Cummins, Rajiv Ghandhi Infotech Park, Hinjewadi, Pune.Internship Guide: Mr. Srikant MudirajClass: MSc. (Advn. I.T.)Company: KPIT Cummins

Weekly Report1st Week Report.27th Jan, 2010 Joined the organization KPIT Cummins, Hinjewadi, Pune. Did Introduction with

the HR’s and also the formalities were completed.28th Jan, 2010 Meet the Team for GBS in KPIT. Did get to know the place and interacted with

the team.29th Jan, 2010 Got ID’s, did self-study from the materials on the VPN. RMI, Implementation

Class and Servlet & JDBC overview files.30th Jan, 2010 & 31st Jan, 2010

Saturday and Sunday.

2nd Week Report1st Feb, 2010 It was our Induction day as it was a Monday.2nd Feb, 2010 It was our second day of induction.3rd Feb,2010 Training was conducted by Anshul madam on Core Java. She taught us C v/s

Java, Web Server v/s Appserver. OOPS Concepts, jar files, overview of memory Management. Wrapper Classes, Access Specifiers and Abstraction.

4th Feb, 2010 OOPS static, Up casting and Down casting, Threading & G.C., Array, Multiple Array.

5th Feb,2010 Thread v/s Process, Thread Dump, Synchronized Deadlock.6th & 7th Feb, 2010

Saturday & Sunday.

3rd Week Report8th Feb, 2010 Garbage Collection, Algorithms, verbose G.C., GC Dump logs, Xmx and Xms9th Feb, 2010 & 10th Feb, 2010

Corporate Training

11th Feb, 2010 Thread Dump, Xmx, Xms, Native & Perm memory Size, Tools.jar12th Feb, 2010 Mahashivratri Holiday.13th Feb, 2010 & 14th Feb, 2010

Saturday & Sunday

4th Week Report15th Feb, 2010 Training Timings changed from 2pm to 2 am in the mornings. Soft Skills and

JDBC16th Feb, 2010 Self-Study17th Feb, 2010 Collections (Set, Interfaces, List Interfaces, Queue, Lists, Sets, Hash Set, Arraylist)18th Feb, 2010 Hash Map & Self Study19th Feb, 2010 Assessment -1 regarding programing a bus reservation system. Which I

completed after taking 1 hour extra time which was above average and 8th person to complete the programing task out of 21.

62

Page 63: KPIT documents

20th Feb, 2010 & 21st Feb, 2010

Saturday & Sunday

5th WeekReport Training continued by Srikant Sir22nd Feb, 2010 Soft Skills, JDBC, Callable Statements, Prepared Statements, JNDI23rd Feb, 2010 Soft Skills, JNDI, Webserver, Web Container, Web Application.24th Feb, 2010 Java Advanced25th Feb, 2010 Soft Skills, Http servlet, Request Dispatcher, Servlet Chaining26th Feb, 2010 JSP’s, Servlet v/s JSP’s, Implicit variables, local variables.27th Feb, 2010 & 28th Feb, 2010

Saturday & Sunday

6th week Report1st Mar, 2010 Java, JSP Directives, JSP Include Tags, Request Scope, Get & Post2nd Mar, 2010 Soft Skills and Business Writing Skills. Java, Conversation, Cookies and Session

Scope.3rd Mar, 2010 Session Scope, MVC and Filters4th Mar, 2010 Custom Tag Libraries, JSTL,5th Mar, 2010 Java Struts, MVC1, MVC2, Struts6th Mar, 2010 & 7th Mar, 2010

Saturday & Sunday

7th WeekReport8th Mar, 2010 Assessment 2 (Advanced Java test) marks got was 47%9th Mar, 2010 Soft Skills, Java remote method Invocation, doPut, Session tracking and servlets10th Mar, 2010 Soft Skills, Array List11th Mar, 2010 Soft Skills, Assessment 3 scored 57%.12th Mar, 2010 Product Training started by Deepanshu Sir13th Mar, 2010 Customer Management Training14th Mar, 2010 Sunday.8th week Report15th Mar, 2010 Product Training Web-Logic. JMS, JNDI, Managed Server & Domain Template16th Mar, 2010 User Lockout, Domain Management, Bread Crumbs, WLST, Node manager,

Servers.17th Mar, 2010 Logs & monitoring18th Mar, 2010 Modes, JDBC issues, & Support Patterns19th Mar, 2010 Role of Web Server, MIME Types, HTTP Status codes20th Mar, 2010 & 21st Mar, 2010

Saturday & Sunday

9th WeekReport22nd Mar, 2010 Soft Skills, Assessment 4 (Product Training) Scored 68%23rd Mar, 2010 Soft Skills, Multi-Tier Architecture, DNS Round Robin, Transactions Management.24th Mar, 2010 Soft Skills, Cluster Configuration25th Mar, 2010 Soft Skills, Unicast & Multicast26th Mar, 2010 Soft Skills, JRockit Overview, Memory Management, Garbage Collection.27th Mar, 2010 Confidence Building Training (ITIA)28th Mar, 2010 Sunday10th WeekReport29th Mar, 2010 Soft Skills, Log Filters30th Mar, 2010 Soft Skills, Message Oriented Middleware, Advantages of JMS, Topic & Queue31st Mar, 2010 Soft Skills, MDB Overview & JMS Queue.

63

Page 64: KPIT documents

1st April, 2010 Soft Skills, JMX (Java Management Extension)2nd April, 2010 Soft Skills, Parameters and flags3rd April, 2010 & 4th April, 2010

Saturday & Sunday

11th Week Report6th April, 2010 Soft Skills, Recordings on Server7th April, 2010 Soft Skills, Web logic Security training by Laxmi Madam. CA, Certification and

keytool.8th April, 2010 Soft Skills, SSL, Two Way SSL. Security Architecture, Credential Mapping9th April, 2010 Soft Skills, Credential Mapper, Role Mapping, Authentication, Roles.10th April, 2010 & 11th April, 2010

Saturday & Sunday

12th Week Report12th April, 2010 Soft Skills, Web logic Security Framework & principal, Issue categories by Surjeet

Sir and Workload Manager by Srikant Sir13th April, 2010 Soft Skills, Process Training by Sada Sir14th April, 2010 SR Handling, ODM by David Sir and Support Patterns by Sada Sir15th April, 2010 Viva by Saumajeet Sir, Floor Hit and welcome16th April, 2010 Team Allocation and Resignation Process.

64

Page 65: KPIT documents

References:

Head First Java

SCJP 1.5 Java

Oracle Weblogic Pdf Files.

BEA Training Notes

Java Training pdf files

Websites:

www.javaranch.com

www.oracle.com

www.wikipedia.com

www.kpitcummins.com

www.google.com

http://java.sun.com/docs/hotspot/VMOptions.html

65