Internship documetn part3


Published on

this is the main body of the M.Sc internship document done at KPIT Cummins GBS, Pune.

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

Internship documetn part3

  1. 1. Chapter 1: Introduction<br />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.<br />1.1Company & Process Details of KPIT Cummins, Hinjewadi Pune<br />1.1.1 Vision: <br />To be a respected organization where our people provide best in class solutions & services to our global customers through innovation, automation and operational excellence <br />1.1.2Mission: <br />Exceed customer expectations through commitment (people) convergence (services), collaboration (partners) in an environment that is friendly, ethical & trustworthy.<br />1.1.3Profile: <br />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:<br />Domain & Industry experience – by virtue of assisting blue chip clients for over 50 years in Accounting & Audit services. <br />Automation – leveraging over 17 years of IT consulting experience with Fortune 500 clients across the globe. <br />Global Footprint - with delivery centers in India, Poland & China. <br />Thought Leadership <br />Operations Excellence <br />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.<br />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.<br />1.2 Finance and services<br />1.2.1Financials<br />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.<br />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:<br />1.2.2 IT and BPO/ KPO Solutions and Services<br />Focus Areas:Specializations:BPO/ KPOEnterprise Support ServicesFinance and AccountingRisk Management and Compliance ConsultingWarranty ManagementBusiness ConsultingBusiness ProcessSupply Chain and Customer Relationship Management (CRM)IT StrategyTechnology SolutionsEnterprise Resource Planning (ERP)E-Business and Enterprise Application Integration (EAI]])Business Intelligence]]Outsourcing SolutionsApplication OutsourcingBusiness Process OutsourcingKnowledge Process Outsourcing<br />1.2.3Research and Development<br />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.<br />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.<br />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.<br />Corporate Social Responsibility<br />Community Initiatives<br />KPIT Cummins gives:<br />- Scholarships are awarded to female students of the Bhagini Nivedita Pratishthan for computer related training<br />- Computers and software has been donated to many schools and non-profit organizations along with IT technical support and training<br />- 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<br />- Hardware and software support to not-for-profit organizations in the United States of America (USA) Columbus Indiana<br />KPIT Cummins participates and host:<br />- Blood donation drives with the help of Jana Kalyan Rakta Pedhi and Deenanath Mangeshkar Hospital on the Hinjawadi premises<br />- Donation drive for the Nav Maharashtra Community Foundation (Navam), a non-profit organization that supports innovative community projects in rural Maharashtra<br />- Clothes donation drive where boxes of clothes are collected and donated to volunteer agencies, SOS children villages, orphanages and other institutions<br />- World Environment Day = annual tree plantation drive<br />- Children’s Day = toys are collected and donated to various adoption centers and orphanages<br />- Environmental awareness campaign organized by Friends of Society<br />1.2.4Partnerships and Memberships<br />Enterprise IT- SAP Channel partner India- SAP Services partner- Apriso Solution partner for Manufacturing Execution Systems (MES)- Member of Oracle Partner Network<br />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)<br />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<br />Semiconductor Solutions- Member of ARM Connected Community- Founder member of India Semiconductor Association ISA<br />Diversified Financial Services (DFS)- Partnership with GemStone Systems to offer services in High Performance Computing and Cluster Management<br />1.3 Timeline & mergers<br />1.3.1Timeline<br />Date:Event:1990KPIT Infosystems incorporated by a group of CPAs1994 –1998Excellence in exports award from Government of India1995 –1996Outstanding achievement award from Oracle[citation needed]1997Achieved ISO 9001, certified by KPMG1999IPO: 42 times oversubscribed. Became a public limited company in India2002Merger of Cummins Infotech into KPIT Infosystems to KPIT Cummins Infosystems Limited2004ISO 9001:2000 Acquisition of Panex Consulting – USA2005Lehman 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 – USA. Acquisition of – France.2006Acquisition of CG Smith, India2007Achieved 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.<br />Table SEQ Table * ARABIC 1 : Timeline<br />1.3.2Mergers and Acquisitions<br />Cummins (2002) - Merger with Cummins Infotech LimitedSoftware development arm of Cummins Inc. - the worlds largest producer of diesel engines<br />Panex Consulting Inc. (2003) - Acquisition of Panex Consulting Inc., USASAP implementation services in Business Intelligence & Data Warehousing space<br /> (2005) - Acquisition of SolvCentral.comA leading Business Intelligence services and products company<br /> (2005) - Acquisition of, FranceLeading outsourcing consultancy<br />CG Smith Software Pvt. Ltd. (2006) - Acquisition of CG Smith Software Pvt. Ltd.Leading Automotive Electronics Software & Solutions company and a member of AUTOSAR<br />Harita TVS (2008) - Acquisition of Mechanical Design Services Business of Harita TVS TechnologiesEngineering Design Services Company catering to Automotive and Construction & Industrial Machinery. [1]<br />Sparta Consulting (2009) - Acquisition of California, USA based firm leading provider of high end SAP solutions<br />1.4Technology is the enabler - Process is core!<br />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. <br />For example, <br />If the Inventory turnover ratio is low because of a possible demand forecasting error, implementing an ERP does not help <br />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 <br />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 <br />Thus it is important to recognize that process is the core and IT the enabler! <br />Process should deliver the desired results, in a growing environment<br />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. <br />Figure SEQ Figure * ARABIC 1 : Process Integration<br />1.5KPIT Cummins for Process Optimization and Integration<br />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. <br />Client Description KPIT Cummins GBS roleSkills & 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 clients in Americas, Europe & Asia-Pacific Billing & invoicingA U.K. based CPA firm providing book keeping, accounting & audit services. Book keeping & accountingLeading Consulting Firm Accounts Payable, IT platform developed to automate processLeading pharmaceutical and chemical multinational Setting up finance and accounting processesSkills & 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 productAn IT Company providing development & support services to clients Americas, Europe & Asia-Pacific.  Payroll administrationRe-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 severitiesA world leader of enterprise infrastructure software Level 1 & 2 support for Web Application ServerOne of the largest providers of Security compliance management solutions Level 1 & Level 2 product supportKnowledge based services(Risk Management & Compliance)  A global leader in convenience foods & beverages. Post implementation ERP reviewA SOX compliance software solutions enterprise headquartered in the U.S. Content Management Advisory for data extracting tools with respect to SOX complianceA leading international provider of independent internal audit and business & technology risk consulting serices based out of the U.S. Support services in SOX compliancesA major firm providing audit, tax & advisory services. Support services in SOX compliancesA global leader in electrical power generation systems, engines & related technologies. SOX advisory & support servicesA control systems & control protection devices manufacturing firm based out of Germany.  SOX advisory & support servicesA global manufacturing company headquartered in the U.S. SOX advisory & support servicesA global leader in power generation space based out of the U.K. SOX advisory & support servicesKnowledge 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 analysisA global manufacturing company based in the U.S. Business Process Re-engineeringOne of the largest engine manufacturer in the world Inventory Management<br />Table SEQ Table * ARABIC 2: Client Details & Process Optimization<br />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. <br />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.<br />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. <br />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.<br />Partner with KPIT and you will: <br />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. <br />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. <br />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. <br />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. <br />1.6 Work Culture<br />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”. <br />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. <br />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. <br />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.<br />The People DNA of KPIT Cummins<br />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. <br />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.<br />Chapter 2: Oracle Weblogic and Components<br />Owned by Oracle Corporation, Oracle WebLogic consists of a JavaEE platform product family that includes:<br />a JavaEE application server, WebLogic Application Server <br />an enterprise portal, WebLogic Portal <br />an Enterprise Application Integration platform <br />a transaction server and infrastructure, WebLogic Tuxedo <br />a telecommunication platform, WebLogic Communication Platform <br />an HTTP web server <br />2.1History<br />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]<br />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.<br />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.<br />At this point, the founders worked together to pursue what eventually became the " Application Server" .<br />BEA Systems acquired WebLogic, Inc. in 1998, following which it became BEA WebLogic. Oracle acquired BEA in 2008, following which it became Oracle WebLogic.<br />2.2Application Server versions<br />WebLogic Server 11g (10.3.2) - Nov 2009 <br />WebLogic Server 11g (10.3.1) - Jul 2009 <br />WebLogic Server 10.3 - Aug 2008 [2] <br />WebLogic Server 10.0 - Mar 2008 [3] <br />WebLogic Server 9.2 <br />WebLogic Server 9.1 <br />WebLogic Server 9.0 - Nov 2006 [4] <br />WebLogic Server 8.1 - Jul 2003 [5] <br />WebLogic Server 7.0 - Jun 2002 [6] <br />WebLogic Server 6.1 <br />WebLogic Server 6.0 - file date March 2001 on an old CD [7] <br />WebLogic Tengah 3.1 - Jun 1998 [8] <br />WebLogic Tengah 3.0.1 - Mar 1998 [9] <br />WebLogic Tengah 3.0 - Jan 1998 [10] <br />WebLogic Tengah - Nov 1997 [11] <br />2.3Capabilities<br />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:<br />Portal which includes Commerce Server and Personalization Server <br />WebLogic Integration <br />WebLogic Workshop, an Eclipse IDE for Java, SOA and Rich Internet applications <br />JRockit, a custom JVM. <br />WebLogic Server includes .NET interoperability and supports the following native integration capabilities:<br />Native enterprise-grade JMS messaging <br />Java EE Connector Architecture <br />WebLogic/Tuxedo Connector <br />COM+ Connectivity <br />CORBA connectivity <br />IBM WebSphere MQ connectivity <br />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:<br />application business logic separated from security code <br />complete scope of security coverage for all JavaEE and non-JavaEE components <br />2.4Supported open standards<br />JavaEE 1.3 & 1.4 & 5 <br />JPA 1.0 <br />JAAS <br />XSLT and XQuery <br />ebXML <br />BPEL & BPEL-J <br />JMX and SNMP <br />Native support for: <br />SOAP <br />WSDL <br />UDDI <br />WS-Security <br />WSRP<br />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.<br />2.5Request/Response model<br />The Request Line <br /><ul><li>GET
  2. 2. Headers needed for HTTP/1.1 (Host)
  3. 3. Query Parameters are stored
  4. 4. POST</li></ul>Headers needed for HTTP/1.1 (Host, Content-Length or Transfer-Encoding)<br />Post Data (Body)<br /> The Response Line<br />4 Main sets of Status Codes<br />2xx – Mainly 200<br />3xx – Mainly 301 or 302(Location Header), 304 (Not Modified)<br />4xx – Mainly 404 (Not Found)<br />5xx – Mainly 500 or 503 (Indicates a Server Error)<br />Persistent Connections<br />What is a persistent connection, and why do we need it<br />CPU usage/overhead associated with creating new socket connections<br />Internet congestion is reduced because less packets are transmitted<br />2.6Plugins<br />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. <br />Typically, WebLogic Server handles the application requests that require dynamic functionality, the requests that can best be served with dynamic HTML pages or JSPs.<br />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. <br />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.<br />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.<br />Important Plug-in Parameters<br />WebLogicCluster, WebLogicHost, WebLogicPort<br />Controls where the requests get proxied to<br />PathTrim, PathPrepend, DefaultFileName<br />Controls how the request URI gets manipulated before it gets passed to WebLogic<br />ConnectTimeoutSecs, ConnectRetrySecs, Idempotent, WLIOTimeoutSecs, KeepAliveEnabled<br />Control retry logic as well as failover when connecting to WebLogic<br />CookieName<br />Needs to match the CookieName as defined on WebLogic. Default is JSESSIONID<br />DynamicServerList <br />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<br />WLLocalIP<br />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.<br />Debug=ON <br />will create a log file at /tmp/wlproxy.log by default<br />WLLogFile, WLTempDir <br />To change thedefault location of the log or tempdir<br />DebugConfigInfo=ON <br />will cause information to be dumped back to the browser when you request a special URL. 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.<br />Chapter 3 Java Message Service (JMS) <br />Java Message Service (JMS) is a standard API for accessing message-oriented middleware.<br /> JMS is beneficial because it allows:<br /><ul><li>two Java programs to communicate even if one of them is unavailable
  5. 5. queuing of messages for faster performance</li></ul>Figure SEQ Figure * ARABIC 2 : JMS<br />3.1High-Level JMS API Architecture<br />Figure SEQ Figure * ARABIC 3 : JMS API<br />3.2JMS Functioning<br />Application A wishes to send messages to Application B<br />A is the “Producer” - “Sender” – “Publisher”<br />B is the “Consumer” – “Receiver” – “Subscriber”<br />Figure SEQ Figure * ARABIC 4 : Message Process<br /> What is a Message?<br />A message is composed of:<br /><ul><li>10 header fields
  6. 6. optional header fields called properties
  7. 7. a body</li></ul>Figure SEQ Figure * ARABIC 5 : Message format<br />Message Types<br /><ul><li>Stream
  8. 8. Stream of Java primitive values
  9. 9. Filled and read sequentially
  10. 10. Map
  11. 11. Set of name-value pairs (String-primitive)
  12. 12. Entries can be accessed sequentially or randomly by name.
  13. 13. The order of the entries is undefined.
  14. 14. Text
  15. 15. Contains String instances
  16. 16. XML document support
  17. 17. Object
  18. 18. Contains a Serializable java object
  19. 19. Bytes
  20. 20. Stream of uninterpreted bytes.
  21. 21. Used for compatibility with other message formats.
  22. 22. Message</li></ul>Message Headers<br />Table SEQ Table * ARABIC 3 : Message header<br />Messaging models:<br />Point to point (Queue)<br />Publish/subscribe (Topic)<br />JMS Administered objects<br />Connection Factory<br />Connection<br />Session<br />Destination<br />Producer/Publisher<br />Receiver/Subscriber<br />3.3What is a Connection?<br />Definition: represents an open connection to the messaging system<br />Connection is created by ConnectionFactory<br />Connection Factory creates Sessions<br />Connection is a heavyweigh object due to the authentication and communication setup done when a Connection is created. <br />Connection factories are created from weblogic console by giving a specific JNDI name<br />3.3.1How to create a Connection Factory<br />Figure SEQ Figure * ARABIC 6 : Weblogic Connection Factory<br />Figure SEQ Figure * ARABIC 7 : Connection Factory Setting<br />Cluster messaging – exchange of information by cluster members<br />Service announcements<br />Liveliness heartbeats<br />Two messaging modes<br />Multicast (default)<br />Unicast<br />Option configurable by ClusterMBean.ClusterMessagingMode<br />3.3.2Unicast messaging<br />Members in the cluster are broken down into groups based on static configuration like server names.<br />During runtime, the server with the earliest startup time becomes the cluster leader of its respective group<br />Group members pass messages to each other using the leader as the hub.<br />All Group leaders are inter-connected to each other.<br />This provides reliability and reduces the number of message hops.<br />Group leaders transmit received messages to all local group members and also to other group leaders<br />Members in the cluster are broken down into groups based on static configuration like server names.<br />During runtime, the server with the earliest startup time becomes the cluster leader of its respective group<br />Group members pass messages to each other using the leader as the hub.<br />All Group leaders are inter-connected to each other.<br />This provides reliability and reduces the number of message hops.<br />Group leaders transmit received messages to all local group members and also to other group leaders<br />Figure SEQ Figure * ARABIC 8 : Unicast Diagram<br />3.4Advantages of JMS Model<br />Producer don’t need to wait for consumers response <br />Producer and consumer can exchange messages without knowing each other<br />Messages can be stored in JMS Server if consumer is not active <br />Messages can be delivered asynchronously<br />Chapter 4:GC, Command line Arguments & Remotely using Managed Server.<br />4.1Garbage Collection<br />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. <br />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. <br />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. <br />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. <br />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" .<br />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 generation needs to be collected there is a major collection that is often much slower because it involves all live objects. <br />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. <br />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.<br />Figure SEQ Figure * ARABIC 9 : Memory Diagram<br />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. <br />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. <br />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. <br />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 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.<br />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. <br />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: <br />[GC 325407K->83000K(776768K), 0.2300771 secs]   [GC 325816K->83372K(776768K), 0.2454258 secs]   [Full GC 267628K->83769K(776768K), 1.8479984 secs]<br />Here we see two minor collections and one major one. The numbers before and after the arrow <br />325407K->83000K (in the first line)<br />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 <br />(776768K)(in the first line)<br />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.<br />0.2300771 secs (in the first line)<br />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.<br />[GC [DefNew: 64575K->959K(64576K), 0.0457646 secs] 196016K->133633K(261184K), 0.0459067 secs]]<br />indicates that the minor collection recovered about 98% of the young generation, <br />DefNew: 64575K->959K(64576K) <br />and took about 46 milliseconds.<br />0.0457646 secs<br />The usage of the entire heap was reduced to about 51%<br />196016K->133633K(261184K)<br />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:<br />0.0459067 secs<br />The flag -XX:+PrintGCTimeStamps will additionally print a time stamp at the start of each collection.<br />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]<br />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%<br />18154K->2311K(24576K)<br />and took about .13 seconds.<br />0.1290354 secs<br />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.<br />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.<br />Figure SEQ Figure * ARABIC 10 : Perm Memory<br />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.<br />4.1.1Total Heap<br />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. <br />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: <br />-XX:MinHeapFreeRatio=40-XX:MaxHeapFreeRatio=70-Xms3670k-Xmx64m<br />Table SEQ Table * ARABIC 4 : XX Details Memory<br />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. <br />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 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. <br />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: <br />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. <br />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. <br />Be sure to increase the memory as you increase the number of processors, since allocation can be parallelized.<br />A description of other virtual machine options can be found at<br /><br />4.1.2The Young Generation<br />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. <br />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. <br />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. <br />4.1.3Young Generation Guarantee<br />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 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.<br />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). <br />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. <br />Here are the default values for the 32-bit Solaris Operating System (SPARC Platform Edition): <br />NewRatio2 (client JVM: 8)NewSize2228kMaxNewSizeNot limitedSurvivorRatio32<br />Table SEQ Table * ARABIC 5 : Memory Ratio<br />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.<br />The rules of thumb for server applications are: <br />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. <br />Unless you find problems with excessive major collection or pause times, grant plenty of memory to the young generation. <br />Increasing the young generation becomes counterproductive at half the total heap or less (whenever the young generation guarantee cannot be met). <br />Be sure to increase the young generation as you increase the number of processors, since allocation can be parallelized.<br />NOTE:<br />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.<br />4.2Command Line Arguments<br />Thread Dump:<br />Java –verbose:gc filename<br />Get the thread dump using ctrl+break on windows platform.<br />On linux platform use kill -3 process Id.<br />To print the gc details:<br />Java –verbose:gc –XX:+printGCDetails <classname> > outputfile.txt<br />Setting Heap Size:<br />Pass Xms and Xmx in the java arguments<br />Say java Class as<br />Java –Xms=20M –Xmx=30M Hello<br />Following command is working when the above command is not working:<br />Java –Xms20M –Xmx30M Hello<br />Setting the Perm size:<br />Set the perm maximum size using MaxPermSize size: and set the perm minimum size using PermSize size.<br />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.<br />To check the memory size:<br />Runtime.getRuntime().totalMemory();<br />Runtime.getRuntime().freeMemory();<br />To see the hierchy in which the classes are getting loaded:<br />Say a class is there:<br />java -verbose:class Hello<br />4.3Remotely Using Managed Server<br />The steps and procedure for Remotely using Managed Server is:<br />To run a managed server in the domain on remote machine:<br />    Requirements:<br />    <br />    1. Two Physical machine on LAN. (Local, Remote)<br />    2. Weblogic (required version) should be installed on both the Machines<br />    <br />    <br />    Configuration (on Local machine)<br />    <br />    1. Create a domain on Local machine and start the admin server.<br />    2. Create two managed servers MSLocal and MSRemote<br />    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<br />    <br />    4. Create a machine MachineRemote and keep MSRemote in that (MSRemote will run on Remote). Give the<br />    IP for the MSRemote and MachineRemote as that of the Remote machine<br />    <br />    <br />    Configuration (on Remote machine)<br />    <br />    1. Start node manger (from start menu or through command prompt)<br />    2. Open the Admin console by giving http://Local Machine's IP: port on which the admin server is running on Local machine/console<br />    3. Goto Machine and check the node manager status. It would be " inactive" --> not reachable<br />    <br />    4. Open command prompt and set the environment.<br />    5. Then start WLST using java weblogic.WLST<br />    <br />************************************************************<br />    D :/> java weblogic.WLST<br />    <br />    Initializing Weblogic Scripting Tool (WLST)...<br />    <br />    Welcome to Weblogic Server Administration Scripting Shell<br />    <br />    Type help () for help on available commands<br />    <br />    wls:/offline><br />    <br />*************************************************************<br />    6. wls:/offline> connect ('username','password','t3://Local Machine's IP: port on which the admin server is running on Local machine')<br />    <br />    Ex:  connect ('weblogic','weblogic','t3://')<br />    <br />    OR you can use just connect () and it will prompt for the required details as follows<br />    <br />     Connect ()<br />    Please enter your username [weblogic]: weblogic<br />    Please enter your password [weblogic]:<br />    Please enter your server URL [t3://localhost:7001]:t3://<br />    Connecting to t3:// with userid weblogic...<br />    Successfully connected to Admin Server 'AdminServer' that belongs to domain 'base_domain'.<br />    <br />    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.<br />    <br />    <br />    Wls: /base_domain/serverConfig> nmEnroll ('D:/BEA1001/wlserver_10.0/common/nodemanager')<br />    Enrolling this machine with the domain directory at D:/BEA1001/wlserver_10.0/com<br />    mon/nodemanager...<br />    Successfully enrolled this machine with the domain directory at D:BEA1001wlser<br />    ver_10.0common odemanager.<br />    <br />    <br />    8. Now goto admin console and check the status of the node manager. It would be active-->reachable<br />    <br />    9. Start the managed server 'MSRemote'.<br />    <br />    10. You can see the folder 'MSRemote' created under wlserver_10.0common odemanagerservers in which you can see the logs.<br />Chapter 5Security Certification & Bug Filing<br />5.1To generate a custom Certificate<br />Step1) Generate a key (creates a *.jks i.e. key store)<br />C:Vivekeauser_projectsdomainsJMS_domain>keytool -genkeypair -alias support -keyalg RSA -keysize 1024 -validity 999 -keypass weblogic -keystore identity.jks -storepass weblogic<br />Figure SEQ Figure * ARABIC 11 : Keytool<br />Step 2) CSR – certificate signed request generation (CSR)<br />C:Vivekeauser_projectsdomainsJMS_domain>keytool -certreq -alias support -keypass weblogic -keystore identity.jks -storepass weblogic -file certreq<br />Figure SEQ Figure * ARABIC 12 : Certificate Signed Request<br />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.<br />--- Website link:::<br />Step 4) Chaining of the certificates<br />C:Vivekeauser_projectsdomainsJMS_domain>keytool -importcert -keystore identity.jks -storepass weblogic -file C:VivekFinalChain.cer -alias support<br />FinalChain.cer – The final notepad that contains all the certificate contents in a single notepad file i.e. certificate, intermediate certificate and root certificate<br />Figure SEQ Figure * ARABIC 13 : Keystore<br />Verify the generated key – to check what are the details and contents of the key that got generated.<br />Figure SEQ Figure * ARABIC 14 : Key Generated diagram<br />Verify the Chaining ::: whether the certificate chain is valid.<br />Figure SEQ Figure * ARABIC 15 : Chaining<br />To add the certificate in the keystore:<br />C:Vivek>keytool -import -file Root.cer -alias root -keystore trust123.jks -storepass weblogic<br />Figure SEQ Figure * ARABIC 16 : Keystore Certificate<br />To view the newly created keystore one can use:<br />Figure SEQ Figure * ARABIC 17 : Chained Key View<br />5.2 Bug & Filing Bugs<br />Figure SEQ Figure * ARABIC 18 : The Screen<br />Figure SEQ Figure * ARABIC 19 : The Bug Filing GUI<br />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.<br />Leave “Enter a Bug like Bug#” blank for now, and click the “Enter a Bug against this Product” button.<br />Figure SEQ Figure * ARABIC 20 : The Bug Detail Template<br />Use context sensitive help and menus where available.<br />Customer: An internal customer will give the bug a lower BPS score.<br />Status: Should be “10” until you are ready to submit the bug for validation.<br />Publish: Do not publish the bug<br />Security Vulnerability: Select “No”. This is important, as selecting “Yes” will change the level of access required to edit the bug.<br />Hide/unhide text: Choose “Hide” as we do not intend to publish our bugs to our customers at this time.<br />Important: Use this template to record the Bug Description: <br />Figure SEQ Figure * ARABIC 21 : Bug Detail Screen<br />Assigned: the bug is Auto Assigned by default. <br />Status: Change to 16 if you have finished entering the bug. This will cause it to show up in the BDE/CRV queries.<br />Chapter 6Support Patterns & Customer Management<br />6.1Load Balancing Problems:<br />The problem of uneven load-balance of HTTP requests in a cluster can be characterized as:<br />Uneven load-balance of HTTP requests due to uneven distribution of HTTP sessions<br />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.<br />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:<br />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]<br />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.<br />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.<br />Factors that affect General Server List<br /> X-WebLogic-Cluster-List HTTP header in the response stream from a cluster node that services a particular request.<br />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.<br />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<br />Diagnosis<br />Configure the proxy plug-in to produce additional diagnostic data. Refer to General Diagnostic Process for Problems with Proxy Plug-in for details.<br />Look at the proxy bridge page for General Server ListIf 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. <br />Original: General Server List:1. Host: '' Port: 8001 Status: OK 2. Host: '' Port: 8001 Status: OKTruncated: General Server List: 1. Host: '' Port: 8001 Status: OK<br />Figure SEQ Figure * ARABIC 22 : Plugin Detail log<br />The next step is to identify which factors, (a) or (b), or a combination of both that contributes to the problem.<br />Truncated X-WebLogic-Cluster-ListSearch 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.  <br />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] = [] Mon May 10 13:14:30 2004 ###Response### : Srvr# [2] = [] 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] = []<br />Figure SEQ Figure * ARABIC 23 : Full Cluster log<br />Exception in request-responseLook 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. <br />Proxy bridge page after an error:requests: 6Exception objects created: 1CONNECTION_REFUSED exceptions: 1Corresponding 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 ''/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] ( errno = 0) raised at line 1536 of URL.cpp<br />Figure SEQ Figure * ARABIC 24 : Proxy Bridge log<br />Resolution<br />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.<br />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”.<br />6.2HTTP Session Replication Failures<br />Causes:<br />The application using http session does not function as designed and you see a loss of session data<br />You might be asked to re-login into the application even when the session is still not timed out<br />You are seeing errors and warnings related to Http Session failures in the server’s log file<br />Request does not get failover to another server properly<br />Main cause:<br />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.<br />What are the types of Http Session Replication?<br />There are five different implementations of session persistence:<br />Memory<br />-In case of Single Server <br />File system persistence<br />-Session object is stored in the file system<br />JDBC persistence<br />-Session object is stored in a database table<br />Cookie-based session persistence<br />-Session information is stored in the cookie and retrieved later<br />In-memory replication (across a cluster)<br />-The session object is kept in memory and given to the secondary server<br />If the problem is because of Session Replication, steps to be taken are,<br />Verify whether the customer has enabled debug flag<br />Check weblogic.xml.<br />Make sure that session data is serializable<br />Test the multicast port<br />Validate Cluster Configuration<br />Enabling the Debug flag:<br />You could enable the flags DebugCluster, DebugClusterAnnouncements, DebugFailOver, DebugReplication, DebugReplicationDetails.<br />To Enable:<br />Using weblogic.Admin  command line utility(Deprecated from 9.x versions)<br />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): <br />java weblogic.Admin -url t3://localhost:7001 -username system -password weblogic SET -type ServerDebug -property DebugCluster true<br />By changing the config.xml<br />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:<br /><ServerDebug DebugCluster=" true" Name=" myserver" /><br />Checklist for each Session Persistence type used:<br />Memory (single-server, non-replicated)<br />When you use memory-based storage, all session information is stored in memory and is lost when you stop and restart WebLogic Server.<br />Make sure you have allocated sufficient heap size when running WebLogic Server; otherwise, your server may run out of memory under heavy load.<br />Not a recommended type for Cluster configuration (because the data is kept in heap and is not available to any other server).<br />File system persistence<br />Verify  weblogic.xml. <br />Make sure you have enough disk space.<br />JDBC persistence<br />Make sure the connection pool that connects to the database has read/write access for the database table used.<br />Cookie Based Persistence<br />Make sure you have not stored anything other than java.lang.String in the http session.<br />Do not flush the Http response object in your application code.<br />Make sure that the content length of the response exceeds the buffer size set (default is 8192 bytes).<br />Make sure that cookies are enabled in the browser.<br />Make sure that you do not use commas (,) in a string when using cookie-based session persistence.<br />In-memory replication<br />Make sure that the Weblogic Server is accessed only via a proxy server or a hardware load balancer.<br />The hardware load balancer should support a compatible passive or active cookie persistence mechanism, and SSL persistence.<br />6.3Customer Management<br />Top 6 qualities of Successful DRE’s<br />Define clear problem statement and seek agreement on the same<br />Empathize and align with the customer<br />Large part of case communication is done on phone<br />Exhibit strong technical ability with desire to constantly improve<br />Take ownership of the case and constantly engage<br />Are willing to go above and beyond to satisfy the customer<br />Top 6 signs that case is getting derailed<br />More than a week has gone by and Problem Definition has not occurred<br />Customer is calling and asking for status repeatedly<br />Customer is lacking confidence on solutions presented<br />Long running case with no sign of convergence<br />Customer is seeking escalation early on in the case life cycle<br />Customer is asking for abrupt case closure<br />Step in to the customer’s shoes<br />Evaluate along the way if you would be happy with the service provided<br />What can you do to change course that can lead to positive outcome<br />Understand your lows and highs and seek constant improvement<br />Recipe for Success - 3 legged Stool<br />Strong Technical Ability<br />Excellent Communication skills<br />Attitude of a Champion<br />6.4Case review findings<br />Common Themes observedSuggested Remedial techniquesNotes1Most of the communication to customer is via email and very little phone conversation is taking place80% or more of the case communication should be on phoneMake repeated calls and seek your managers help if needed in reaching the customerAsk the customer what are convenient times and what is the best way to reach themEmail communication should typically be used for opening and closing emails and additionally to describe several detailed steps when presenting solutions to the customer2Too 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 problemCall intelligently keeping the customer’s time zone in mindLeave voice messages that show you care and are interested in engaging and providing an effective and expedient solutionSeek your managers help in case you are challenged in reaching a customerReach out to the SAM if needed and seek their help3Lack 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 ClarifyEmail 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.4Several long spells of no communication with customer encompassing both scenarios:Follow up with customer to seek clarification or gather needed filesProvide timely updates to customer on case progressEvery 3 to 4 days or less the DRE should contact the customer and provide status of progressLikewise 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 reviewsThe only exception is when customers are unavailable and/or ask for some more time to try suggested solutions. These situations should be documented clearly in the case notes5Very 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.6Many 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 colleaguesUse RTCCUse AOF forumsReproduce problem7Poor 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 DRE’s, problem reproduction efforts, leverage of RTCC, AOF and other forums for the case8Too 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 caseCase 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 frustrationLack of clear case ownership can also dilute accountability.9DRE 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 DREDRE 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 availabilityDRE should set appropriate message in ‘out of office’ assistantDRE should set appropriate VM informing of their absence.10Little evidence of actively engaging, empathizing and going the extra mile for the customers cause.Increase calls to the customer and frequently communicate 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 exercisesOffer to conduct WebEx if you sense confusion, lack of clear understanding or frustration on the customers partReach out within BEA to identify Sales, PS and any other peer team that can help the customer instead of directing the customer to do soBe engaged and facilitate the problem resolution process even if the problem is not with BEA product, e.g. Sun JVM11Case 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’s12Grammar 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 Lal should do random audits of email communication to seek compliance and discuss remediation strategies with DRE if needed13Larger focus on case closure instead of enhanced customer service aimed at delighting the customerDRE’s should avoid 2-2-7 process all togetherManagers frequently review cases to ensure that DRE’s do not ask for case closure14Very little success in customer reaching the DRE, invariably most calls go to DRE’s VMHave 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 managerIt is important that the customer talks to the DRE or the DRE’s manager instead of VM which is more often the case.<br />Table SEQ Table * ARABIC 6 : Case finding review<br />Appendices<br />Appendice-1JDBC Program<br />import java.sql.*;<br />import java.util.*;<br />import javax.sql.*;<br />import*;<br />public class prepstmt<br />{<br />public static void main(String[] args) throws ClassNotFoundException, SQLException<br />{<br />System.out.println(" inside jdbc" );<br />String drivertype = System.getProperty(" drivertype" );<br />String url = System.getProperty(" url" );<br />String user = System.getProperty(" user" );<br />String password = System.getProperty(" password" );<br />Class.forName(drivertype);<br />Connection conn = DriverManager.getConnection(url, user, password);<br />String vsql = " insert into employee values(?,?,?,?)" ;<br />PreparedStatement pstsmt = conn.prepareStatement(vsql);<br />pstsmt.setInt(1,113);<br />pstsmt.setString(2," Ravan" );<br />pstsmt.setString(3," Ra" );<br />pstsmt.setString(4," Z" );<br />pstsmt.executeUpdate();<br />System.out.println(" Display" );<br />Statement st = conn.createStatement();<br />System.out.println(" hello" );<br />String query1 = " insert into Employee values(1,'kapil','suk','aa')" ;<br />String query2 = " insert into Employee values(1,'shashi','suk','aa')" ;<br />String query3 = " insert into Employee values(1,'ankur','suk','aa')" ;<br />String query4 = " insert into Employee values(1,'nikhil','suk','aa')" ;<br />st.clearBatch();<br />st.addBatch(query1);<br />st.addBatch(query2);<br />st.addBatch(query3);<br />st.addBatch(query4);<br />st.executeBatch();<br />ResultSet rs = st.executeQuery(" Select * from Employee" );<br />while(<br />{<br />System.out.print(" " +rs.getInt(" EMPID" ));<br />System.out.print(" " +rs.getString(" FIRSTNAME" ));<br />System.out.print(" " +rs.getString(" SURNAME" ));<br />if(null != rs.getString(" MIDDLE_NAME" ))<br />{<br />System.out.println(" " +rs.getString(" MIDDLE_NAME" ));<br />}<br />else<br />{<br />System.out.println(" Welcome aboard" );<br />}<br />}<br />pstsmt.close();<br />conn.close();<br />}<br />Appendice-2JNDI Connection & SubContext Program<br />import javax.naming.*;<br />import java.util.*;<br />import*;<br />import java.sql.*;<br />import javax.sql.*;<br />public class JndiClient<br />{<br />public static void main(String a[]) throws Exception<br />{<br />FileInputStream fis = new FileInputStream("" );<br />Properties props=new Properties();<br />System.out.println(" 1---" +props);<br />props.load(fis);<br />System.out.println(" 2---" +props);<br />Context ic = new InitialContext(props);<br />System.out.println(" 3 got Intial Context ----" +ic);<br />DataSource ds = (DataSource)ic.lookup(" DS" );<br />Connection con1 = ds.getConnection();<br />Connection con2 = ds.getConnection();<br />Connection con3 = ds.getConnection();<br />Connection con4 = ds.getConnection();<br />Connection con5 = ds.getConnection();<br />con1.close();<br />con2.close();<br />con3.close();<br />con4.close();<br />con5.close();<br />Integer o1 = new Integer(12);<br />Integer o2 = new Integer(11);<br />ic.bind(" objone" ,o1);//bind<br />ic.bind(" objtwo" ,o2);<br />ic.lookup(" objone" );//lookup<br />ic.unbind(" objone" );<br />ic.rebind(" objthr" ,o1);//rebind<br />ic.createSubcontext(" subcontextone" );//creating subcontext<br />ic.createSubcontext(" subcontextone/student" );<br />ic.createSubcontext(" subcontexttwo" );<br />ic.createSubcontext(" subcontexttwo/employee" );<br />}<br />}<br />Appendice-3Request Dispatcher Program<br />package Org.RD;<br />import*;<br />import javax.servlet.*;<br />import javax.servlet.http.*;<br />import java.sql.*;<br />import javax.naming.*;<br />import javax.sql.*;<br />public class stwo extends HttpServlet<br />{<br />public void service(ServletRequest request, ServletResponse response) throws ServletException,IOException<br />{<br />System.out.println(" Srv two service.." );<br />PrintWriter out= response.getWriter();<br />out.println(" output from servlet two" );<br />ServletContext application = getServletContext().getContext(" /Srvlethttp" );<br />RequestDispatcher rd = application.getRequestDispatcher(" /Myserv2" );<br />rd.include(request,response);<br />out.println(" ---last line of Servlet two" );<br />}<br />}<br />Appendice-4JSP Application Program<br /><html><br /><body><br />getdata page<br /><%@page isErrorPage=" false" %><br /><%@pageerrorPage=" error.jsp" %><br /><%@page import=" java.sql.*;" %><br /><%<br />System.out.println(" inside jdbc" );<br />Class.forName(" oracle.jdbc.driver.OracleDriver" );<br />String url = " jdbc:oracle:thin:@localhost:1521:XE" ;<br />Connection conn = DriverManager.getConnection(url, " system" , " sh" );<br />Statement st = conn.createStatement();<br />ResultSet rs = st.executeQuery(" Select * from Employee where `ID = 50" );<br />while(<br />{<br />System.out.println(" hello" );<br />System.out.print(" " +rs.getInt(" EMPID" ));<br />System.out.print(" " +rs.getString(" FIRSTNAME" ));<br />System.out.print(" " +rs.getString(" SURNAME" ));<br />if(null != rs.getString(" MIDDLE_NAME" ))<br />{<br />System.out.println(" " +rs.getString(" MIDDLE_NAME" ));<br />}<br />else<br />{<br />System.out.println(" Welcome aboard" );<br />}<br />}<br />st.close();<br />conn.close();<br />%><br /></body><br /></html><br />Appendice-5Reservation Program<br />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 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:<br />public class seat<br />{<br />char name;<br />int seat;<br />boolean isSeatempty<br />}<br />*/<br />public class seat<br />{<br />char name;<br />int seat;<br />boolean isSeatempty;<br />}<br />public class reservation<br />{<br />public static void main(String args[])<br />{<br />int i;<br />Scanner scn = new Scanner(<br />System.out.println(" -:The Reservation Menu:-" );<br />System.out.println(" 1. Reservation." );<br />System.out.println(" 2. Exit." );<br />System.out.println(" Enter Ur Choice:" );<br />i=scn.nextInt();<br />}<br />}<br />import java.util.*;<br />import*;<br />public class sea extends seat<br />{<br />String name;<br />int [] seat= new int[67];<br />ArrayList al= new ArrayList();<br />public void reserv(int j)<br />{<br />Scanner scn = new Scanner(;<br />System.out.println(" Enter the name: " );<br />;<br />seat=j;<br />al.add();<br />System.out.println(" Seats :" +j+" name :" +name);<br />}<br />}<br />public class sss<br />{<br />public static void main(String args[])<br />{<br />sea ss = new sea();<br />int i,j;<br />String k;<br />do<br />{<br />Scanner scn = new Scanner(;<br />System.out.println(" -:The Reservation Menu:-" );<br />System.out.println(" 1. Reservation." );<br />System.out.println(" 2. Exit." );<br />System.out.println(" Enter Ur Choice:" );<br />i=scn.nextInt();<br />//The Reservation GUI<br />switch(i)<br />{<br />case 1:<br />System.out.println(" No. of Seats: " );<br />j=scn.nextInt();<br />if(j>5 || j<0)<br />{<br />if(j>5)<br />{<br />System.out.println(" Sorry!, We are unable to allocate seats greater than 5 Enter between 1 & 5 " );<br />}<br />if(j<0)<br />{<br />System.out.println(" Are u Serious?? plz enter valid seats between 1 & 5 " );<br />}<br />break;<br />}<br />ss.reserv(j);<br />/*<br />System.out.println(" Enter the name: " );<br />;<br />System.out.println(" Seats :" +j+" name :" +k);<br />//Reserving the Seats//<br />name[1]=" shashi" ;<br />seat[1]=1;<br />System.out.println(name[1]+" " +seat[1]);<br />break;<br />*/<br />default:<br />if(i!=1 && i!=2)<br />{<br />System.out.println(" Please, Enter the proper No." );<br />}<br />}<br />}while(i!=2);<br />System.out.println(" Thanks for using our System" );<br />}<br />}<br />Appendice-6Weekly Report<br />Roll No: MS-08-12<br />Name: Shashi Sannabhadti<br />Period Covered : Jan – April.<br />Company Address: KPIT Cummins, Rajiv Ghandhi Infotech Park, Hinjewadi, Pune.<br />Internship Guide: Mr. Srikant Mudiraj<br />Class: MSc. (Advn. I.T.)<br />Company: KPIT Cummins<br />Weekly Report1st Week Report.27th Jan, 2010Joined the organization KPIT Cummins, Hinjewadi, Pune. Did Introduction with the HR’s and also the formalities were completed.28th Jan, 2010Meet the Team for GBS in KPIT. Did get to know the place and interacted with the team.29th Jan, 2010Got ID’s, did self-study from the materials on the VPN. RMI, Implementation Class and Servlet & JDBC overview files.30th Jan, 2010 & 31st Jan, 2010Saturday and Sunday.2nd Week Report1st Feb, 2010It was our Induction day as it was a Monday.2nd Feb, 2010 It was our second day of induction.3rd Feb,2010Training 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, 2010OOPS static, Up casting and Down casting, Threading & G.C., Array, Multiple Array.5th Feb,2010Thread v/s Process, Thread Dump, Synchronized Deadlock.6th & 7th Feb, 2010Saturday & Sunday.3rd Week Report8th Feb, 2010Garbage Collection, Algorithms, verbose G.C., GC Dump logs, Xmx and Xms9th Feb, 2010 & 10th Feb, 2010Corporate Training 11th Feb, 2010Thread Dump, Xmx, Xms, Native & Perm memory Size, Tools.jar12th Feb, 2010Mahashivratri Holiday.13th Feb, 2010 & 14th Feb, 2010Saturday & Sunday4th Week Report15th Feb, 2010Training Timings changed from 2pm to 2 am in the mornings. Soft Skills and JDBC16th Feb, 2010Self-Study17th Feb, 2010Collections (Set, Interfaces, List Interfaces, Queue, Lists, Sets, Hash Set, Arraylist)18th Feb, 2010Hash 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.20th Feb, 2010 & 21st Feb, 2010 Saturday & Sunday5th WeekReportTraining continued by Srikant Sir22nd Feb, 2010 Soft Skills, JDBC, Callable Statements, Prepared Statements, JNDI23rd Feb, 2010Soft Skills, JNDI, Webserver, Web Container, Web Application.24th Feb, 2010Java Advanced 25th Feb, 2010Soft Skills, Http servlet, Request Dispatcher, Servlet Chaining26th Feb, 2010JSP’s, Servlet v/s JSP’s, Implicit variables, local variables.27th Feb, 2010 & 28th Feb, 2010Saturday & Sunday6th week Report1st Mar, 2010Java, JSP Directives, JSP Include Tags, Request Scope, Get & Post2nd Mar, 2010Soft Skills and Business Writing Skills. Java, Conversation, Cookies and Session Scope. 3rd Mar, 2010Session Scope, MVC and Filters4th Mar, 2010Custom Tag Libraries, JSTL,5th Mar, 2010Java Struts, MVC1, MVC2, Struts6th Mar, 2010 & 7th Mar, 2010Saturday & Sunday7th WeekReport8th Mar, 2010Assessment 2 (Advanced Java test) marks got was 47%9th Mar, 2010Soft Skills, Java remote method Invocation, doPut, Session tracking and servlets10th Mar, 2010Soft Skills, Array List11th Mar, 2010Soft Skills, Assessment 3 scored 57%.12th Mar, 2010Product Training started by Deepanshu Sir13th Mar, 2010Customer Management Training14th Mar, 2010Sunday.8th week Report15th Mar, 2010Product Training Web-Logic. JMS, JNDI, Managed Server & Domain Template16th Mar, 2010User Lockout, Domain Management, Bread Crumbs, WLST, Node manager, Servers.17th Mar, 2010Logs & monitoring18th Mar, 2010Modes, JDBC issues, & Support Patterns19th Mar, 2010Role of Web Server, MIME Types, HTTP Status codes20th Mar, 2010 & 21st Mar, 2010Saturday & Sunday9th WeekReport22nd Mar, 2010Soft Skills, Assessment 4 (Product Training) Scored 68% 23rd Mar, 2010Soft Skills, Multi-Tier Architecture, DNS Round Robin, Transactions Management.24th Mar, 2010Soft Skills, Cluster Configuration25th Mar, 2010Soft Skills, Unicast & Multicast26th Mar, 2010Soft Skills, JRockit Overview, Memory Management, Garbage Collection.27th Mar, 2010Confidence Building Training (ITIA)28th Mar, 2010Sunday10th WeekReport29th Mar, 2010Soft Skills, Log Filters30th Mar, 2010Soft Skills, Message Oriented Middleware, Advantages of JMS, Topic & Queue31st Mar, 2010Soft Skills, MDB Overview & JMS Queue.1st April, 2010Soft Skills, JMX (Java Management Extension)2nd April, 2010Soft Skills, Parameters and flags3rd April, 2010 & 4th April, 2010Saturday & Sunday11th Week Report6th April, 2010Soft Skills, Recordings on Server7th April, 2010Soft Skills, Web logic Security training by Laxmi Madam. CA, Certification and keytool.8th April, 2010Soft Skills, SSL, Two Way SSL. Security Architecture, Credential Mapping9th April, 2010Soft Skills, Credential Mapper, Role Mapping, Authentication, Roles.10th April, 2010 & 11th April, 2010Saturday & Sunday12th Week Report12th April, 2010Soft Skills, Web logic Security Framework & principal, Issue categories by Surjeet Sir and Workload Manager by Srikant Sir 13th April, 2010Soft Skills, Process Training by Sada Sir14th April, 2010SR Handling, ODM by David Sir and Support Patterns by Sada Sir15th April, 2010Viva by Saumajeet Sir, Floor Hit and welcome16th April, 2010Team Allocation and Resignation Process.<br />References:<br /><ul><li>Head First Java
  23. 23. SCJP 1.5 Java
  24. 24. Oracle Weblogic Pdf Files.
  25. 25. BEA Training Notes
  26. 26. Java Training pdf files</li></ul>Websites:<br /><ul><li>
  27. 27.
  28. 28.
  29. 29.
  30. 30.
  31. 31.