REAL-TIME IBM [ WCS ] Interview Questions & Answers | STEP-IN
IBM WCS Interview Questions and Answers

REAL-TIME IBM [ WCS ] Interview Questions & Answers | STEP-IN

Last updated on 04th Jul 2020, Blog, Interview Questions

About author

Ramanan (Sr Manager - Director Level )

He is Possessing 11+ Years Of Experience in IBM. His Passion lies in Developing Entrepreneurs & Activities. Also, Rendered his intelligence to the Enthusiastic JOB Seekers.

(5.0) | 15212 Ratings 5896

These IBM WCS  Interview Questions have been designed specially to get you acquainted with the nature of questions you may encounter during your interview for the subject of IBM WCS  . As per my experience good interviewers hardly plan to ask any particular question during your interview, normally questions start with some basic concept of the subject and later they continue based on further discussion and what you answer.we are going to cover top 100 IBM WCS   Interview questions along with their detailed answers. We will be covering IBM WCS   scenario based interview questions, IBM WCS   interview questions for freshers as well asIBM WCS  interview questions and answers for experienced.

Q1. what is the difference between the controller command and task command?

Ans:

Generally controller command is the main command which we used to call from the JSP to process the request, But task command is used to perform some specific task like for inventory check, price check, these are handled through task commands, so task command are command which perform specific task for controller command. DIFFERENCE – By the above statement we can visualize that Controller command is required to be configure in the struts file, but task command is not required to be configured in struts, rest everything is same in both.

Q2. What is ObjectNotFoundException and FinderException ?

Ans:

ObjectNotFoundException is the subclass of FinderExcepton, So when the AccessBean finder method  return empty row, we get ObjectNotFoundException, but as generally we throw FinderException in EJB, so ObjectNotFoundException is catched in FinderException and thrown.

Q3. What is reload interval? where do we configure reload interval?

Ans:

WC_eardir\Stores.war\WEB-INF\ibm-web-ext.xml — change reload-interval
reload interval is generally used at the time when we are doing caching. if we make the relaod-interval to 10 then  the jsp  compilation interval will be 10 sec.

Q4.Explain the access control policy?What is the purpose of access control policy?

Ans:

There are two types of access control, both of which are policy-based: 

  • Command-level access control determines whether the user is allowed to execute the particular command within the store you have specified. 
  • Resource-level access control policy could be applied to determine if the user can access the resource in question. 
  • Access control in a WebSphere Commerce application is composed of the following elements: users, actions, resources, and relationships.
  • Users are the people that use the system. For access control purposes, users must be grouped into relevant access groups. 
  • Actions are the activities that users can perform on the resource. For access control purposes, actions must also be grouped into relevant action groups. For example, a common action used in a store is a view. A view is invoked to display a store page to customers. The views used in your store must be declared as actions and assigned to an action group before they can be accessed. 
  • Resources are the entities that are protected. For example, if the action is a view, the resource to be protected is the command that invoked the view, for example com.ibm.commerce.command.ViewCommand. 
  • Relationships are the relationship between the user and the resource. Access control policies may require that a relationship between the user and the resource be satisfied. For example, users may only be allowed to display the orders that they have created.

Q5.Explain the Dynacache?

Ans:

The bright solution for this is DynaCache system which is provided by IBM Websphere Application server.Dyna Cache is to be configured to catch some objects and later based on some matching rules Dyna cache retrive those objects from the cache.Caching rules are specified in Cachespec.xml file.

Q6.What the EJB transaction parameters?

Ans:

Possible values for TRANSATTRIBUTE are:

  • NotSupported:Bean cannot be involved in a transaction. If the client has started a transaction, the existing transaction is suspended until the bean’s method has completed.
  • Required :Bean must always run within a transaction
  • Supports :If the client has started a transaction, the bean joins the transaction.
  • RequiresNew:Bean always starts a new transaction.
  • Mandatory:The client must start a transaction when the bean is invoked.
  • Never :If the client has started a transaction, the bean throws an exception. 

Q7.which are different types of entity beans n which one is used in commerce?

Ans:

There are 2 types of entity beans available namely

  • BMP-Bean Managed Persistence
  • CMP -Container Managed Persistence
  • CMP is used in commerce to interact with the database in commerce.

Q8.Which are the different types of databeans. What is commonly used in commerce.when do we use it?

Ans:

A data bean is a Java bean that is used within a JSP page to provide dynamic content. A data bean normally provides a simple representation of a WebSphere Commerce entity bean.

There are two types of data beans: smart data beans and command data beans.

  • A smart data bean uses a lazy fetch method to retrieve its own data. This type of data bean can provide better performance in situations where not all data from the access bean is required, since it retrieves data only as required. Smart data beans that require access to the database should extend from the access bean for the corresponding entity bean and implement thecom.ibm.commerce.SmartDataBean interface. When database access is not required, the smart data bean should extend the SmartDataBeanImpl class.
  • A command data bean relies on a command to retrieve its data and is a more lightweight data bean. The command retrieves all attributes for the data bean at once, regardless of whether the JSP page requires them. As a result, for JSP pages that use only a selection of attributes from the data bean, a command data bean may be costly in terms of performance time. Command data beans can also extend from their corresponding access beans and implement thecom.ibm.commerce.CommandDataBean interface.
  • SmartDataBean is commonly used in wcs.We use command databean only when using Command databean is impractical.

Q9.which are the different flavours of EJB in wcs ?

Ans:

Different flavours of EJB available in WCS are Session Bean and Entity Bean.

Q10.What are acessbeans? 

Ans:

WebSphere Commerce commands interact with access beans rather than directly with entity beans. Access beans provide a simpler interface to clients, caching of the home object, and reduced call traffic to the enterprise bean.Access beans behave like Java beans, and hide all enterprise bean-specific programming interfaces from the client, like the JNDI, home and remote interfaces.

Q11. What is the advantage of accessbean?

Ans:

Advantage of accessbean:

  • At run time the access bean caches the enterprise bean home object because look ups to the home object are expensive, in terms of time and resource usage.
  • The access bean implements a copyHelper object that reduces the number of calls to the enterprise bean when commands get and set enterprise bean attributes. 
  • Only a single call to the enterprise bean is required when reading or writing multiple enterprise bean attributes. 

Q12.State one diff between 6.0 and 7.0 commerce version?

Ans:

Social Commerce Support,Coshoping provision, rich look and feel,starter stores optimized for mobile devices.

Q13.what is optimistic locking?

Ans:

  • WebSphere Commerce uses an optimistic locking scheme that allows the database transaction isolation level to be lowered from repeatable read to read committed. Using that scheme, database rows not normally accessed concurrently are not locked with an intent to update when they are read. Instead, when the update is eventually made, the row is checked to make sure it has not been updated concurrently since it was read.
  • If it has been updated concurrently, then the transaction is rolled back and the command may be restarted from the beginning in a new transaction, if appropriate. In this scheme, performance is improved when concurrent updates do not normally occur, because the relatively expensive process of obtaining the database locks with intent to update is avoided. On the other hand, for those operations where concurrent updates are more likely to occur, pessimistic locking, whereby intent to update locks are obtained when the row is read, continues to be used, thus avoiding the more expensive process of rolling back and re-starting from the beginning in a new transaction.

Q14.Which are the different subsystems in commerce?

Ans:

There are mainly 6 subsystems available in WCS namely:

  • Catalog 
  • Member 
  • Order 
  • Marketing 
  • Merchandising 
  • Trading.

Q15.What is the use of commitCopyHelper() and refreshCopyHelper()?

Ans:

  • commitCopyHelper():Instead of using the remote interface, CopyHelper Access Beans exist that contain getters and setters for CMP fields that do not exist on the remote interface. The methods within the CopyHelper Access Beans write data to a hash table that in turn updates the database when commitCopyHelper() is called. The hash table can record multiple database changes then update the database in one transaction, unlike the remote methods which require one transaction per change.
  • RefreshCopyHelper():which does the reverse function of commitCopyHelper(). The method refreshCopyHelper() writes to the hash table from the database.

Q16.What does map.mapxmi file contain?

Ans:

Mappings from EJB bean attribute definitions to database table schema column definitions .

Q17.List the different business models of wcs ?

Ans:

The different business models of wcs are:

  • B2C 
  • B2B 
  • Demand chain 
  • Supply chain 
  • Value chain 
  • Extended sites.

Q18.Which are different types of Exceptions used in commerce?

Ans:

  • ECApplicationException
  • ECSystemException

Q19. What is ECApplicationException?

Ans:

This exception is thrown if the error is related to user input and will always fail. For example, when a user enters an invalid parameter, an ECApplicationException is thrown. When this exception is thrown, the solution controller does not retry the command, even if it is specified as a retriable command.

Q20.  What is ECSystemException?

Ans:

This exception is thrown if a runtime exception or a WebSphere Commerce configuration error is detected. Examples of this type of exception include create exceptions, remote exceptions, and other EJB exceptions. When this type of exception is thrown, the solution controller retries the command if the command is retriable and the exception was caused by either a database deadlock or database rollback.   

    Subscribe For Free Demo

    Q21.Which exception is retriable?

    Ans:

    ECSystemException

    Q22.How can we make a command retriable?

    Ans:

    A retriable command is a controller command that can re-execute itself after encountering a system-level exception during the command execution.

    • To make an existing controller command retriable, must perform one of the following steps:
    • Set the retriable properties in the PROPERTIES column of the CMDREG database table, where PROPERTIES is the default properties associated with this command.
    • The properties are in the property1=value1&property2=value2 form, where propertyn is the name of the property and valuen is the value corresponding to the property.
    • Set an instance property <CommandRegistryRetriableProperty defaultValue=”1″ /> in the wc-server.xml file.

    Q23.Difference between mastercatalog and sales catalog?

    Ans:

    • There are two types of catalogs in a WebSphere Commerce system: master and sales. While a master catalog is the central location to manage all your store’s merchandise and services, a sales catalog is a subset of the merchandise and services found in the master catalog.
    •  Every store in the WebSphere Commerce system must have a master catalog. Only one master catalog can exist at a time, and multiple stores can share a master catalog. However, you can create one or more sales catalogs for customer display purposes. A sales catalog has a flexible display structure that allows you to associate products to more than one category, to suit the requirements of your store. 

    Q24.Explain the SKU,partnumber?

    Ans:

    Every product has a unique identification number when it is manufatured i.e.,PartNumber.SKU is a store keeping unit which is a number when a products  are orderable.

    Q25.Which tool is used for catalog management ?

    Ans:

    Product Management Tool.

    Q26.what is the difference between product and item?

    Ans:

    • Products: A product acts as template for a group of items(or SKUs) that exhibits the same attributes.
    • Items: An item is a tangible unit of merchandise that has a specific name, part number and price.

    Q27.What is attribute dictionary?

    Ans:

    An attribute dictionary is a set of common attributes and attribute values that can be reused by multiple products. The attribute management tool in Management Center provides business users the ability to create,update, assign, and manage product attributes.

    Q28.Difference between Static Kit and Packages?

    Ans:

    • Packages: A package is an atomic collection of catalog entries. It is that all the items in a package can sold together but individual selling of items in a package is not allowed.
    • Static Kits: A static kit is a group of products that are ordered as a unit.A static kit will back order if any of its components are unavailable.A static kit is first created as a package then configured by an administrator.

    Q29.What is calculation usage?

    Ans:

    Calculation usage consists of types of taxes that can be attached to an order item.By default we have 7 types of taxes like shipping, discount, shipping tax, etc.All those can be found in CALUSAGE database table.

    Q30.Different types of Charges?

    Ans:

    There are 7 types of charges, those are:

    • discount
    • shipping
    • sales tax
    • shipping tax
    • coupon
    • surcharge
    • shipping adjustment
    Course Curriculum

    Get In-Depth IBM WebSphere Commerce Server Certification Course

    Weekday / Weekend BatchesSee Batch Details

    Q31.What is fulfillment center?

    Ans:

    Stores use fulfillment centers as both inventory warehouses and shipping and receiving centers. One store can have one or many fulfillment centers.

    Q32.What is calcode?

    Ans:

    While attachment is defined outside of a calculation code, the following properties are defined as part of a calculation code:

    • A calculation usage. This specifies the calculation type for which a calculation code can be used. Calculation usages are covered in Calculation usages.
    • Calculation methods that are used to qualify, calculate, and apply the calculation code.
    • A flag indicating if a calculation code must be qualified or not
    • A flag indicating if the calculation code is active, inactive, or marked for deletion.
    • The method of grouping order items for calculations.
    • A sequence number that is used to determine the order of calculations when multiple calculation codes of the same calculation usage apply to an order item.
    • A time range during which the calculation code is in effect.
    • These properties are defined in the CALCODE database table. 

    Q33.What are calmethods?

    Ans:

    Calculation methods use the information that is part of calculation usages, calculation codes, and calculation scales to determine monetary amounts for order items. Calculation methods are categorized by the task that they perform within the calculation framework and the part of the calculation framework to which the calculation method belongs.

    Q34.When taxes are calculated?

    Ans:

    Taxes are calculated when we proceed to checkout.

    Q35.How many ways calcode can be attached?

    Ans:

    Three ways calcode can be attached.

    • Direct attachment: Here, we can attach a calcode to order or orderitem directly
    • Indirect attachment: Here, we attach a calcode to catalog or catalog group. Hence, every item in a particular catalog or catalog group is indirectly attached to calcode that is attached to that catalog or catalog group.
    • Default attachment: Here, we implicitly attach a calcode specifying a calcode to an orderitem in STENCALUSG table.

    Q36.How many types of inventory exists?

    Ans:

    There are 4 types of inventory exists in wcs namely:

    • ATP  
    • Non ATP 
    • External Inventory 
    • No Inventory.

    Q37.Whar are the different types of order capture?

    Ans:

    WebSphere Commerce supports several mechanisms for submitting orders. A customer or Customer Service Representative can submit an order using any of the following methods:

    • Requisition lists 
    • Wish lists 
    • Shopping carts 
    • Scheduled orders are recurring orders 
    • Quick orders 
    • Copied orders 
    • Sales quotes.

    Q38.How to know whether an inventory is allocated for the order or not?

    Ans:

    By checking in to OrderItems table InventoryStatus column.If that column has an value as allc then an inventory is allocated for the order.

    Q39. What are the subsystems you deal in your project?

    Ans:

    • Marketing Subsystem – The Marketing subsystem provides numerous marketing concepts to your site, designed to increase brand awareness, and to attract and retain customers. Components of the marketing subsystem provide functionality to create marketing campaigns, including customer segments and advertising; and e-mail activities.
    • Catalog Subsystem- The catalog subsystem provides online catalog navigation, partitioning, categorization, and associations. In addition, the catalog subsystem includes support for personalized interest lists and custom catalog display pages. The catalog subsystem contains all logic and data relevant to an online catalog, including catalog groups (or categories), catalog entries, and any associations or relationships among them.
    • Member Subsystem- A member can be a user, a group of users (also known as a member group), or an organizational entity (which can be an organization, such as “IBM” or an organizational unit within an organization, such as “Electronic Commerce Division”). Business logic in the Member subsystem provides member registration and profile management services. Other services which are closely related to the Member subsystem include access control, authentication, and session management.
    • Registration information: Registration data for users and organizational entities can be configured to be stored in the WebSphere Commerce database or the directory server. Member group’s data can be stored only in the WebSphere Commerce database. For authentication purposes, a registered user has a unique identifier and a password. If the WebSphere Commerce database is used as registry, the unique identifier is the logon ID. If the directory server is used, the unique identifier can be a distinguished name or a relative distinguished name.
    • Profile management: A Site Administrator manages user and organizational entity profiles and data, including the organizations or organizational units, roles, users, and member groups within a site. In addition, a Buyer Administrator and Seller Administrator can manage users and organizational entities.
    • Access control and authorization: Access control determines what tasks users can perform on specific resources. An access group is a group of members defined specifically for access control purposes. A Site Administrator creates, maintains, and deletes access groups for a site. A Buyer Administrator or a Seller Administrator can also manage access groups for access control policies. Access groups usually group users based on their roles, organizations, and registration status.
    • Security, authentication, and session management: A user can be authenticated against a WebSphere Commerce database or a directory server. WebSphere Commerce supports two challenge types: logon ID and password, and X.509 client certificate. When logon ID and password is used, a user is authenticated against the WebSphere Commerce database or a directory server. When X.509 client certificate is used, the Web server performs the authentication. WebSphere Commerce supports two types of session management: cookie-based and URL rewriting.
    • Trading Subsystem- The trading subsystem in WebSphere Commerce provides the logic, function and data relevant for negotiating the price and quantity of a product or set of products between the buyer and seller organization. The trading subsystem includes auctions, contracts, and Request for Quote (RFQ) components that are used to carry out specific transactions between organizations.
    • Order Management Subsystem- The Order Management subsystem provides shopping carts, order capture, order fulfillment, inventory, and payment function support.

    Order management is broadly divided into:

    • Order capture: Order capture provides functionality such as sales quotes and shopping carts and order submission. There are a number of ways to create shop carts and submit orders, as described in the order mechanisms section.
    • Order processing: Order processing is responsible for the overall coordination of inventory allocation, payment processing, releasing the order to fulfillment and tracking order status.
    • Inventory processing: WebSphere Commerce supports two inventory systems: Available to promise (ATP) and non-ATP. The interface to inventory is encapsulated by a single inventory task command, which in turn invokes either ATP or non-ATP task commands.
    • Payment processing: WebSphere Commerce Payments supports the use of payment plug-ins for offline or online payment processing.

    Q40. Explain Order Management subsystem flow?                                                                             

    Ans:

    The Order Management subsystem includes all logic and data relevant to placing, processing, and managing orders. The Order Management subsystem also deals with returns.                                                               

    • OrderCreate: The order will be created even though there is no orderitems in the cart.
    • OrderItemAdd: When the customer selects the item and click on the add to the cart, then the OrderItemAddCmd will be called. The order state will be pending (P).
    • OrderItemUpdate: This command will be called when the quantity of the item is updated in the shopping cart page. The order state will be pending (P).
    • OrderCalculate: This command will be called when the customer adds the orderitems in the cart. The order state will be pending (P).
    • OrderItemMove: This command merges the current pending order to the previous order when the customer places the order by signing on to the store.
    • OrderPrepare: It basically calculates determines the discount, prices, shipping charges and taxes for the order.
    • OrderProfileUpdate: This command will be called to update the billing and shipping address and ship mode of the customer.
    • OrderProcess: Submits the order.

    Here, the order can be blocked for several reasons.

    • This may be due to manual verification of the customer.
    • The order payment has not been captured completely. If the full payment has been captured then the state of the order is complete (C) i.e. payment authorization is complete. When the partial payment has been captured the order state will be (M) i.e. part of the amount has been approved.
    • OrderScheduled: The order is released, if the order is unblocked and fulfills all the requirements. This cmd is invoked by the scheduler. The order state will be released (R). When the order will be released, message will be sent to the LSP for shipment. Once the order gets shipped, the state of the order will be shipped (s) and after that shipment confirmation mail will be sent to the ecommerce. After this the state of the order will be deposited (D).
    • OrderCancel: The order can be cancelled through Customer Sales Representatives, before the order is released to Fulfillment. OrderCancel can cancel orders with an order status of P, X, W, E, A, B, C, M and OrderItem not in R, S, F, and G. Here the order state will be cancelled (X).
    •  OrderEdit: This will be called, when the CSR is working with the order. The editor id will be assigned to the order. The order state will be CSR Edit (E). The order can be edit before the releasing the order.

    Q41. Can you explain about Access Control Policies?

    Ans:

    Access control policies is the utility provided by WebSphere Commerce, to allow access to the authorized group of user to a perform set of actions on the resources present in the application. There are four main concepts in the ACP.

    • Access: Allowing access to group of authorized users to which policy applies
    • Actions: Actions performed by user on the resources.
    • Resources:  Resources may include business objects (i.e. set of commands, etc)
    • Relationship: Each user can have relationship associated with it. (For e.g. a policy can apply the creator of an order can modify it and it is between the order and the user.)

    The basic XML elements of the access control policy files are

    • <Action>: The new action will be loaded on ACACTION table.
    • <ActionGroup>: It is a group of related action and the action groups are stored in ACACTGRP table. Actions are associated with action groups in ACACTGRP table.
    • <Attribute>: Attribute is defined in ACATTR table.
    • <ResourceCategory>:  Resource Category is defined in ACRESCGRY table.
    • <ResourceGroup>: It is a set of resources and defined in ACRESGRP table.
    • <Relation>: Each resource can have set of relationship associated with it and it is stored in ACRELATION table.
    • <RelationGroup>: Relation group are defined in ACRELGRP.
    • <Policy>: Policies are defined in ACPOLICY.
    • <PolicyGroup>: Policy group are defined in ACPOLGRP.

    Q42. What is the Syntax of acess control policy?

    Ans:

    acpload database_name db_username db_pwd WC_Installdir/xml/policies/acp_file_name.xml

    Q43. What is acugload?

    Ans:

    The acugload is the utility to load the user access group in the appropriate database. This utility will load the <UserGroup> element in the MBRGRPUSG table.

    Q44. What is acpnlsload?

    Ans:

    • The acpnlsload utility loads the XML files containing the display names and descriptions, into the appropriate databases. To insert or update display names and descriptions for the various policy related elements run the acpnlsload script.

     This script loads the following elements:

    • <Action_nls>, <Attribute_nls>, <ActionGroup_nls>, <ResourceCategory_nls>, <ResourceGroup_nls>, <Relation_nls>, <Policy_nls>, <PolicyGroup_nls>

    Q45. What is acpextract?

    Ans:

    The acpextract utility extracts the access control policy and access group information in the database and generates files that capture the information in XML format. It uses an input filter XML file to specify the data to extract from the database.

    Q46. Suppose one user login into our site. He selected some of items and he has given the order. After two months, how can you check the status of the Order?

    Ans:

     The status of the order can be checked from ORDERS table.

     Select STATUS from ORDERS where ORDERS_ID=XXXXXXX;

    Q47. I want to collect user email id’s whose email id ends with @and particular company name.com. Then how can you give SQL query to Database in WCS?

    Ans:

    The email id of the user can be found from ADDRESS table.  The ADDRESS_ID is the foreign key in the ORDERS table.

    • So for the particular user, first take the order no and fetch the ADDRESS_ID from the ORDERS table.
    • Use that ADDRESS_ID to get the email id for the user. Here there can be multiple addresses like permanent address (P) and the temporary address (T) for the same user. So, fetch the address with the STATUS as P.
    • Select EMAIL1 from ADDRESS where STATUS=’P’ and ADDRESS_ID in (select ADDRESS_ID from ORDERS where ORDERS_ID = XXXXXXX);
    • If you want to search email ID directly, so run the below query.
    • Select * from ADDRESS where EMAIL1 like ‘%@abc.com’ OR ‘EMAIL2 like ‘%@abc.com
    • Where EMAIL1 stands for primary email address.
    • EMAIL2 stands for secondary email address.

    Q48. I want to know the particular member _id. Then tell me the relation between MEMBER tables with ORDER table?

    Ans:

    The MEMBER_ID is the primary in the MEMBER table and the foreign key in the ORDERS table.

    Q49. What kind of tables did you use?

    Ans:

    In the Order management Flow following tables are used.

    • ORDERS, XORDERS, ORDERITEMS, XORDERITEMS, OICOMPLIST, XOICOMPLIST, RMA, XRMA,    RMAITEM, XRMAITEM, RMAITEMCMP, XRMAITEMCMP, ORDADJUST, ORDIADJUST, CATENTRY, CATENTREL

    In Member Subsystem, following tables are used.

    • USERS, MEMBER, USERREG, USERSDEMO, USERPROF, ADDRESS, ADDRESSBOOK

    Q50. What are JSP programming best practices?

    Ans:

    Below are the JSP programming best practices:-

    • Use JSTL in place of Java Code.
    • Use commerce specific bean (<wcbase:useBean>) in place of standard bean (<jsp:useBean>) activation.
    • Use commerce specific maps to access request parameters i.e. WCParam & WCParamValues.
    • Use StoreErrorDataBean data bean for error handling. This can be used to display store specific error message in the jsp.
    • Use .jspf extension for the JSP segments. The parent jsp should be with .jsp extension and the included jsp should be with .jspf extension.
    • Use escapeXml attribute to preserve the HTML formatting. By default the value of the escapeXml will be true. When this value is true then the html special characters will be converted to standard entity codes.
    • Use the POST method instead of GET.
    Course Curriculum

    Best IBM WebSphere Commerce Server Training from Real-Time Experts

    • Instructor-led Sessions
    • Real-life Case Studies
    • Assignments
    Explore Curriculum

    Q51. What is the Purpose of Access Control Policy?

    Ans:

    •  Components such as users, actions, relationships, and resources constitute access control in any Web Sphere Commerce application. Actions are the activities that users perform on the available resources. For controlling the purposes of access control, actions must be grouped into relevant groups.
    • E.g., the common action in any online store is a view, which is invoked to display a page to the customers. Views used in the store are declared as actions and should be assigned to an action group prior allowing the access.
    • Two types of access control, based on policy: resource-level and command-level access control are practiced. Resource-level access control policy is applied to establish if the user needs to access the resource. Command-level access control confirms whether the user should be allowed to execute the particular command within the specified store.

    Q52. What is the difference between Controller and Task Command?

    Ans:

    • Controller Command is the command that gets called upon a request, just like We have actions in struts and controller in Spring. Task is a step in this bigger process. Task command are the commands that perform specific task for a controller command, like service classes in other frameworks. In order to complete the request, a controller command may invoke multiple task commands.
    • Other difference are : 1. There is a url mapping for controller command whereas Task command don’t have URL mapped to them.Controller command gets invoked before the task command.

    Q53. Can We See Objects Cached In Dynacache?

    Ans:

    We can see , monitor and can even change dynacache manually but for that we need to install a seperate application provided by WCS.

    Q54. Explain SHIPMODE, SHIPINFO, SHPMODEDSC, SHPMODCLCD, SHPARRANGE, and SHPJCRRULe?

    Ans:

     SHIPMODE – Each row of this table represents the shipmode for store entity.

    • SHIPMODE_ID, STOREENT_ID, CODE, CARRIER and MARKFORDELETE (0 by default)
    • SHPARRANGE- Each row of this table represents a ShippingArrangement, indicating that a FulfillmentCenter can ship products on behalf of a Store using a ShippingMode.
    • SHPARRANGE_ID, STORE_ID, FFMCENTER_ID, SHIPMODE_ID.
    • SHIPMODEDSC-Each row contains the language dependent description of the ship mode.

    Q55. What do we understand by Optimistic Locking?

    Ans:

    Optimistic Locking is an approach where rows in the database are not normally accessed simultaneously and not locked with an intention to update. When the update is ultimately made, the row is checked to ensure that it has not been updated simultaneously. If it has been updated.

    Q56.What does Order Prepare Command do?         

    Ans:

    • update order item validation
    • update order item prices
    • update order item total
    • update auto added order items
    • check order inventory
    • determine prices
    • discounts
    • shipping charges
    • shipping adjustmenttaxes
    • Lock the order
    • ensure all orderitems are buyable.

    Q57. What Is The Role Of Helper Classes In Wcs?

    Ans:

    Helper class is a utility class that can be used without prior coding and it reduces code redundancy.

    Q58.Explain Order Management flow in WCS?

    Ans:

     Following is the flow in WCS

    • OrderCreate: Creation of the order, even if there are no items available in the cart.
    • OrderItemAdd: Adding of an item into the cart after the customer selects it.
    • OrderItemUpdate: Updated in the shopping cart page, after the customer replaces the item. Order state will exhibit pending
    • OrderCalculate: Calculate the total items added in the cart.
    • OrderItemMove: Merges the current pending order to the previous order.
    • OrderPrepare: Calculates discounts, shipping charges and taxes for execution of the order.
    • OrderProfileUpdate: Update in the billing & shipping address and mode of delivery to the customer.
    • OrderProcess: Final execution of the order.                                          

    Q59.Differentiate between Product & Item?

    Ans:

    Merchandise that can be sold is known as item whereas such saleable items grouped is known as Product, which shares certain characteristics. For example – Cell phones are product whereas iPhone 7 is an item. Merchandises are always attached to Stock keeping unit or items. The product has no relevance regarding quantity or stock.

    Q60.What Is Fulfillment Center ?

    Ans:

    Fulfillment center or Delivery Center is the store or warehouse from where the actual delivery of merchandise takes place.

    Q61. Explain the table ATTRIBUTE ?

    Ans:

    attribute table includes all the attribute information of the catentry_id. The primary key is attribute_id. Catentry_id may have many atrribute_id. E.g of attribute is color, fm radio, internet browser, blue tooth, video recorder, etc. Attribute specifies all features that are available for catentry_id. The attrtype table consists attribute type information. Attrtype_id can be string, float, integer, datetime, freefrom, bigint, & attachment. The attrvalue table consists of the stringvalue and the floatvalue. Description of attribute_id is specific to the store language_id.

    Q62. Explain EMSPOT precisely?

    Ans:

    Marketing spots that are generated in the application stores them in table emspot. This table contains emspot_id, name, store_id, usuagetype & description.

    Q63. What Steps Are Needed To Create A New Promotion Type?

    Ans:

    Create necessary lzx files( template , object definition and properties ), make config entries and then Build open Laszlo project ( for LOBTools ) so that new promotion type should be displayed in management center.                                                       

    Q64. Define Business policy categories provided by WCS?

    Ans:

    • Catalog business policies: Catalog business policies define the scope and characteristics of the catalog of products for sale in a store including prices and the categorization of products in a store’s catalog.
    • Payment business policies: Invoicing, payment, and refund business policies define how a store accepts payments, pays refunds, and the format of a store’s invoices.
    • Returns business policies :Returns business policies define if refunds are accepted, the time period they are accepted for, and any re-stocking fees applied to returns.
    • Shipping business policies: Shipping business policies define the shipping providers a store can use and the charges associated with each type.

    Q65.What are different types of promotions?

    Ans:

    There are three types of promotions.

    • Order Promotions
    • Product Promotions
    • Shipping Promotions

    Q66. What are different types of calculation usages used in WCS?

    Ans:

    WebSphere Commerce performs all calculations for one calculation usage at a time. The order of calculation usages is stored in the SEQUENCE column of the STENCALUSG database table. The entries in this table are initially populated with information from the language-independent bootstrap file: wcs-bootstrap.xml.

    Q67. On what table promotion codes are stored?

    Ans:

    The promotions that are created through accelerator are stored in PX_PROMOTION table.

    Q68. How do you call a task command from a controller command? 

    Ans:

    Task commands are invoked from controller commands to perform the set of business operations.

    Q69. What is the SYNTAX to call a task command from a controller command?

    Ans:

    •  OrderCalculateCmd cmd = (OrderCalculateCmd) CommandFactory.createCommand (OrderCalculateCmd.class.getName(), getStoreId()))
    • cmd.setCommandContext (getCommandContext ());
    • cmd.setRequestProperties (requestProperties);
    • cmd.execute ();

    Q70. What is controller commands used in Member Subsystem?

    Ans:

    UserRegistrationAddCmd for adding the user. This will insert the data of the user in USERS, USERREG, USERPROF, USERDEMO and ADDRESS table.

    IBM WCS Sample Resumes! Download & Edit, Get Noticed by Top Employers! Download

    Q71. For creating a Controller Command, we register Controller Command into CMDREG table? 

    Ans:

    It is not necessary to enter data in the CMDREG table, but an entry should be made in the struts-config.xml.The controller command can be registered in the CMDREG table by xml and SQL query.

    Q72. Can you list out some of the Controller Commands for giving the promotions to products, which you have been used? 

    Ans:

    Our custom command GOSPPromotionCodeAddRemoveCmdImpl inherits the out of box command PromotionCodeAddRemoveControllerCmdImpl to apply promotion in the shopping cart page.

    Q73. Can you list out the tag libraries in WCS?

    Ans:

    Core tags, sql tags, xml tags and fmt tags.

    Q74. What is Dyna caching?

    Ans:

    Caching improves response time and reduces system load to improve the performance of world-wide web applications.

    Q75. What is the difference between WCParam and param implicit objects?

    Ans:

    WCParam is a Websphere Commerce specific implicit object. This allows to access and decrypt the the HTTP request.Param is a standard JSP implicit object, but it does not guarantee to decrypt the HTTP request.

    Q76. What are the different ways of Cache Invalidation?

    Ans:

    • Invalidating the cache using timeout: This can be done by adding <timeout>10</timeout> in side of <cache-id> element. The timeout value will be in seconds. If the default value is 0, then the cache will not expire.
    • Using Command invalidation: Command based invalidation means invalidation rules are executed upon the execution of the command that extends CachableCommandImpl WebSphere Command framework.
    • The invalidation id’s are constructed based on the fields and methods provided by command.
    • Invalidating cache using dyna cache API and CACHEIVL table: WebSphere provides DynaCacheInvalidation command which is called by scheduler to process the record in CACHEIVL table.
    • Invalidating cache using dependency trees: Using dependency id’s the cache can be invalidated.

    Q77. What is CommandContext ?

    Ans:

    CommandContext is the interface in WebSphere Commerce, which contains session and user information and set in the Controller command before the execute method is called.

    Q78. What is use of fmt tag?

    Ans:

    fmt tag is used to display the message in locale language.

    Q79. Why JSTLEnvironmentSetup.jspf is included in jsp ?

    Ans:

    This file retrieves and prepares the JSP page path, file path and resource bundle path which are used by other JSP’s. The EnvironmentSetup.jsp includes most commonly used attributes such as storeDir, jspDir, includeDir, bundleDir, etc.

    Q80. Do you know about .sar files? What’s the use of it?

    Ans:

    Yes Store archive file (.sar) is the zip file that contains all necessary assets to create a store or site.

    Q81. What are the business models in WCS?

    Ans:

    Business model provides sample commerce solution which includes organization structure, default roles and access control policies, one or more starter stores, administrator tools and business processes that demonstrate best practices.

    Q82. What is the difference between DataBean and AccessBean?

    Ans:

    • DataBean class implements SmartDataBean uses lazy fetch method. Uses appropriate AccessBean for database access. It is used in JSP.
    • AccessBean are light-weight simple Java Bean and it is called in the Command, to fetch all the data at once. AccessBean extends AbstractEntityAccessBean.
    • InputDataBean retrieves data from the URL or view command attributes.

    Q83. What are the types of Data Bean?

    Ans:

    Data Bean is Java Bean that is used in JSP to populate dynamic data.

    There are three types of Data Bean,

    • Smart Data Bean
    •  Command Data Bean
    • Input Data Bean 

    Q84. What is Command Data Bean?

    Ans:

     Command data bean relies on the command and it is more light weight. The command data bean fetches all the data at once, regardless of whether the JSP requires them or not. 

    Q85. What is master catalog?

    Ans:

    Master Catalog is a centralized location to manage stores. Everything that is required for the store is present in master catalog. It is a single catalog that contains products, items, relationships and prices that is required for sale in the store.

    Q86. What is a fulfillment center? Can a store have a multiple fulfillment centers?

    Ans:

    Fulfillment centers are used by stores as warehouses for shipping and receiving centers. One store can have multiple fulfillment centers associated with it. Inventory count is maintained separately for each fulfillment centers. Fulfillment includes picking, packing and shipping. Picking is the selection of products from one or more releases from a fulfillment centers, packing is the putting the products in the shipping container and shipping is sending them to customers.

    Q87. Which method is invoked in the data bean for calling an access bean?

    Ans:

    In the populate () method we can write the code to call access bean.

    Q88. Explain something about scheduler?

    Ans:

    A WebSphere Commerce scheduler is a background server that schedules and launches the jobs both at the site level and the store level.The scheduler polls the SCHACTIVE table to find the jobs scheduled to run.

    Q89. Difference between Optimistic locking and pessimistic locking?

    Ans:

    • Optimistic locking improves the performance of application by reducing the isolation level of the database transactions. If two or more transaction is performing the update operation of the same row, the lock on the row will be acquired by one transaction and remaining transaction will be roll backed.
    • Pessimistic locking protects the integrity of the database by locking the database assets over the entire duration of the transaction. But this will affect performance of the application that is running multiple transactions at a time and becomes deadlock.

    Q90. What is Prebuilt Kit?

    Ans:

     A prebuilt kit is a collection of catalog entries that cannot be sold separately. A prebuilt kit has own its price and cannot be changed once it is added to the shopping cart. Inventory of prebuilt kit is independent of its component parts.

    Q91. What is the purpose of Bootstrap files?

    Ans:

    Bootstrap files are XML files which WebSphere Commerce uses during instance creation to populate database tables with information after the schema has been created. Once the data has been loaded, you can see the preloaded information in the table. These files are used to retrieve information about the specific data, such as calculation codes and pricing policies.

    Q92. Explain about EMSPOT?

    Ans:

    All the Marketing spot that is created in the application will have record in the EMSPOT table.EMSPOT table consists of EMSPOT_ID, STORE_ID, NAME, DESCRIPTION and USUAGETYPE.

    Q93. Explain about ADDRESS and ADDRBOOK?

    Ans:

    ADDRBOOK table contains the address owned by the member. ADDRESS_ID is the primary key.ADDRESS table consists of Member own address, friend address and etc.  ADDRESS_ID is the primary key; ADDRESSTYPE can be Shipping S, Billing B or Shipping and Billing SB.

    Q94.What is SKU?

    Ans:

      SKU is Stock keeping unit. Items are referred to as SKU as they are the narrowest identifier for which business needs to track quantity.         

    Q95. What Is Attr Type Table Used For ?

    Ans:

    It is used for storing data type of attribute values. Valid values: INTEGER, STRING, FLOAT, DATETIME, FREEFORM or BIGINT.

    Q96. What is purchase condition and reward in promotions ?

    Ans:

    Purchase condition is the condition that must be fulfilled before a promotion is applied and Reward is the benefit that is passed to customer.For Example – If promotion is “Buy 2 Quantity of  X,  Get Y Free” , Purchase condition is inclusion of 2 qty of X in Cart. Reward in this case would be 1 qty of Y.

    Are you looking training with Right Jobs?

    Contact Us
    Get Training Quote for Free