Difference Between Fault

Embed Size (px)

Citation preview

  • 8/11/2019 Difference Between Fault

    1/30

    Difference between fault-tolerant and load-balancingLoad balancing: It is done between 2 or more servers where the load is distributed between servers. Fault tolerance:It is done between 2 servers where one server acts as a primary and the second server acts as a backup

    server for the primary server. Whenever failure occurs for primary server, the backup secondary serverbecomes the primary server.

    Difference between Max jobs and Flow Limit and ThreadCountThe below diagram from Tibco documentation gives good overview of concepts like Max jobs, FlowLimit, Thread Count, Activation Limit etc.

    The process instances created are typically held in memory. However, this may not be the case if thefollowing parameters are set: Max Jobs: If the number of process instances in memory have reached the value of Max Jobs, then the processinstances created are temporarily held on a disk. These process instances will be moved back intomemory when sufficient memory is available.

    Flow Limit :When set, this property limits the number of process instances that can be created. If the number ofprocess instances being created exceeds the value of FlowLimit, the engine suspends the creation ofnew process instances. However, it continues executing the process instances in memory. The engineresumes creating new process instances when process instances, approximately half the value specifiedfor FlowLimit, have completed.

    The number of process instances that can be created in memory is also limited by the memoryavailable on the machine and the memory allocated to the JVM on which the process engine executes.

    ThreadCount: The process instances in memory are executed by the BusinessWorks engine. The number of processinstances that can be executed concurrently by the engine is limited by the maximum number ofthreads, specified by property ThreadCount. Threads execute a finite number of tasks or activitiesuninterrupted and then yield to the next process instance that is ready.

    http://2.bp.blogspot.com/-7OdUPfrWgO8/UPar8ruLtjI/AAAAAAAABn8/hAuhgqK2uS0/s1600/image003-753824.png
  • 8/11/2019 Difference Between Fault

    2/30

    StepCount: The engine property StepCount determines the number of tasks that are executed by a threaduninterruptedly. However, the exceptions to StepCount occur when the job is blocked or in atransaction. When a job is in a transaction, the thread will not be released even if the StepCount isexceeded. However, if a process instance is waiting or is in a blocked state, it can be paged out andthe freed memory used to process another process instance.

    Activation Limit: Activation Limit can be set if a process instance that is blocked should remain in memory tillcompletion. Setting the ActivationLimit affects the engine performance substantially.

    Factors affecting performance of TIBCO BWBelow factors decides the performance of Tibco Activmatrix BW process during runtime, So one has todecide these resources very carefully

    Hardware - CPU, Memory and Disk resourcesJava - JVM and JVM configuration

    Engine - Number of engines, number of threads, job creators, flow control, job pool, etc.Job - Job, Message sizeProcess Design - User scripts, sub-processes, inline processes, checkpoints, logging activitiesExternal software - like relational DB, other TIBCO Software product

    In addition to the components above, the performance of the BusinessWorks engine is also affected byexternal factors such as

    rate of incoming messages, network latency, performance of external applications with whom BW processes communicate, and other OS processes that may be running on Resources in the EAR file An EAR file can contain below resources - 1. Local project resources 2. LibraryBuilder resources 3. AliasLibrary resources files 4. Files referred in CLASSPATH of the designer 5. All the files under designer installation directory

    Detecting & handling duplicate process instances04 Nov

    Duplicate messages should be detected and discarded to avoid processing the same event morethan once. Duplicate detection is performed when a process instance executes its first Checkpointactivity.

    To detect duplicates, a value must be specified for the duplicateKey element in the Checkpointactivity input schema. This value should be some unique key contained in the event data thatstarts the process.

  • 8/11/2019 Difference Between Fault

    3/30

    For example, the order ID value is unique for all new orders or JMS Message ID in case ofmessage is received from JMS.

    Duplicate detection can only be done across multiple engines on different machines if a databaseis used to store process engine data. If you are running fault tolerant process engines (that is,

    only one process engine is running at a particular time), or if all process engines run on the samemachine, you can use a file system for process engine storage.

    When a duplicate is detected, the Checkpoint activity fails with the DuplicateException . You can place an error transition from the Checkpoint activity or Catch activity to a series of activities tohandle the duplicate message. If no error transition is specified, the process instance terminatesand duplicate messages are effectively ignored.

    In this example, when a duplicate message is detected, the duplicate message is confirmed sothat it is no longer redelivered, then the transition is taken to the end of the process definition.

    what is difference between the SOAP over JMS and SOAP over HTTP?

    10 Nov

    Consider using SOAP over HTTP for:

    Externally facing web services (e.g. customers or suppliers)

    http://tibcowithbts.files.wordpress.com/2012/11/abcd.png
  • 8/11/2019 Difference Between Fault

    4/30

    For simple point -to-point and stateless services

    Where you need a thin client with no MOM installations

    Consider using SOAP over JMS for:

    High -volume distributed messaging

    Asynchronous messaging

    Where a transaction boundary is needed in the middleware

    Where the message consumers are slower than the producers

    Guaranteed deliver and/or only once delivery of messages

    Publish/subscribe

    Distributed peer systems that might at times be disconnected

    QueuesFor queue receivers, any messages that have been sent to receivers, but have not been acknowledged before thefailover, may be sent to other receivers immediately after the failover.A receiver trying to acknowledge a message after a failover may receive the javax.jms.IllegalStateException . This exceptionsignifies that the attempted acknowledgement is for a message that has already been sent to another queuereceiver. This exception only occurs in this scenario, or when the session or connection have been closed. Thisexception cannot occur if there is only one receiver at the time of a failover, but it may occur for exclusive queues ifmore than one receiver was started for that queue.When a queue receiver catches a javax.jms.IllegalStateException , the best course of action is to call the Session.recover()method. Your application program should also be prepared to handle redelivery of messages in thissituation. Allqueue messages that can be redelivered to another queue receiverafter a failover always have the header fieldJMSRedelivered set to true ;application programs must check this header to avoid duplicate processing of the same message in the case ofredelivery.

    How does the secondary server know that the primary server is failed?a. Based on heartbeat intervals

    Below are the scenerio I can expect:1. When ever the TIBCO Administrator is down we have todeploye a application from TRA -> Appmanage.2. In case we have to deploye various applications usingsame global parameters, we have to provide every time these

  • 8/11/2019 Difference Between Fault

    5/30

    parameters in TIBCO administrator wile deployement.

    So its better to get a best proctice to deploye applicationfrom backend using the scripts. below are the advantages:

    1. If Admin is down we are able to deploye application2. We use a properties file (XML) which is having all thevariables which can be used by various simillerapplications. So low workload.

    The scripting tools allow you to build an EAR file for an application configured in TIBCO Designer, thenload the application into one or more TIBCO Administrator administration domains. Deployment optionscan be specified in a deployment configuration file that is created using the AppManage utility. If your application is not complex and needs only machine bindings defined for each domain, you canuse the AppManage utility to create the deployment configuration file from information in the EAR file, thenedit the configuration file with the machine names where the applications will be deployed. In thisscenario, the TIBCO

    Administrator GUI is not used. If your application is complex and needs more then machine bindings defined, you can import an EARfile into the TIBCO Administrator GUI and specify deployment configuration options for the application.This method is preferred if your application includes complex mappings, such as fault tolerance, runtimevariables, alerts and so on.In this scenario, the TIBCO Administrator GUI is used to initially set the applicationsdeploymentconfiguration options. After the options are set, the TIBCO Administrator GUI is no longer used. The

    AppManage utility updates the deployment configuration file from the application configured in the TIBCO Administrator GUI. The file is edited for each administration domain by changing machine bindings and soon, then deployed into each administration domain

    buildear UtilityThe buildear utility builds an EAR file based on the Enterprise Archive resource that is defined ina TIBCO Designer project. The project directories and files must be writable so that buildearcan save the file. When saving, buildear increments the archive build number and saves it tothe project.

    AppManage UtilityThe AppManage utility creates an XML based deployment configuration file in which deployment options canbe defined. The utility also uploads the deployment file and EAR file into a TIBCO Administratoradministration domain. The AppManage utility can be used to:

    Upload an EAR file and a deployment configuration file and deploy the application inone operation. Using this method, you can quickly deploy your applications inmultiple domains. Export all application archives and deployment configuration files within a domain, so they can be batchdeleted, started, stopped, undeployed, or deployed in another domain. For TIBCO Rendezvous

    administration domains, you can change the transport set for application to administration servercommunication, from rv (Rendezvous) to local, or the reverse. Undeploy a deployed application. Delete an application from an administration domain. .Stop a successfully deployed service instance of an application.

    Starting AppManageTo start the AppManage utility, change directory to TIBCO_HOME /tra/ version /bin and type AppManage - action .

    Starting Buildear

  • 8/11/2019 Difference Between Fault

    6/30

    To start the buildear utility, change directory to TIBCO_HOME /tra/ version /bin and type buildear-options . See the next section for information about using online helpwhere options include:-export /deploy/-undeploy/-start/-stop /-kill/-upload-truncate Truncate the application deployment revision-batchExport To export deployment configuration files forall the archives under a directory-batchUpload Uplaod all applications specified in

    AppManage.batch-batchConfig Config all applications specified in

    AppManage.batch-batchDeploy Deploy all applications specified in

    AppManage.batch-batchUndeploy Undeploy all applications specified in

    AppManage.batch-batchDelete Delete all applications specified in

    AppManage.batch-batchstart Start all applications specified in

    AppManage.batch-batchstop Stop all applications specified in

    AppManage.batch-batchkill Kill all applications specified in

    AppManage.batch

    When running the same command against the NewHireApp application that is contained in the HireAppfolder, the following syntax must be used for the -app option. A forward slash separates the folder andapplication name.

    AppManage -undeploy -app HireApp/NewHireApp -user a -pw a -domain test

    If you are accessing an administration domain, the log is written to theTIBCO_HOME /tra/domain/ domain /logs/ApplicationManagement.log file.

    For example, using the following command line, the AppManage utility compares the oldconfiguration.xml file withthe given EAR file. If any service, global variables, or both have been added, removed, or updated, a logfile is created in the same directory where the oldconfiguration.xml file resides, using the file name,oldconfiguration.xml.log .

    AppManage -export -ear c:\ears\timer_wait.ear -deployConfig oldconfiguration.xml -out newconfiguration.xml

    Difference between SOAP over HTTP and SOAP over JMSPosted: April 23, 2013 in TIB BW

    0

    There are various Pros and Cons while using Soap over JMS/Soap over HTTP. Few of themcovered here

    SOAP over HTTP:

    Firewall friendly is that all services support this transport Supported on all platforms (easiest connectivity in b2b scenario) Clients can be simple and lightweight It is not always reliable. No guaranteed delivery.

    SOAP over JMS:

    Assured delivery/only once delivery using either persistent queues or durable topics.

    http://tiblight.wordpress.com/category/tib-bw/http://tiblight.wordpress.com/category/tib-bw/http://tiblight.wordpress.com/category/tib-bw/http://tiblight.wordpress.com/2013/04/23/difference-between-soap-over-http-and-soap-over-jms/#respondhttp://tiblight.wordpress.com/2013/04/23/difference-between-soap-over-http-and-soap-over-jms/#respondhttp://tiblight.wordpress.com/2013/04/23/difference-between-soap-over-http-and-soap-over-jms/#respondhttp://tiblight.wordpress.com/category/tib-bw/
  • 8/11/2019 Difference Between Fault

    7/30

    Asynchronous support Publish/subscribe Queuing if better for achieving larger scalability and reliability Better handles temporary high load Large volume of messages (EDA) Better support in middleware software Transaction boundary

    OAP Event SourceService Palette

    Service Palette offers architectural advantage over SOAP Event Source when you want to develop webservices. Service Palette offers multiple operations defined at a higer level while the configuration isscattered when you use SOAP event source to implement multiple operations in the service.

    One of the differences between Service palette and soap event source is is when it comes tosequencing. When you use SOAP Even source you have sequencing key in the Misc tab and this field cancontain an XPath expression that specifies which processes should run in order. Process instances withsequencing keys that evaluate to the same value will be executed sequentially in the order the processinstance was created.

    Using the SOAP Event Source, you can run only one operation at a time. While using the Service Paletteyou can run multiple operations simultaneously

    When to use services/soap activity: When you have to use multiple transports, use services to build urwebsevices, using soap activity you can configure only one transport.

    Abstract wsdl creation:-Drag wsdl palette from palette window to designer windoow and make configure the respective inputand output schemas and create the porttype and inside that one create the operation and configure ucreated the schemas inside of that operation.create one process and Drag soap event source activityand configure ur wsdl just now u created above and make the necessary transport ie http or jms and inthe configuration section of ur soap event soap select wsdl source option and select and save that in urlocal drive .That is nothing but ur concrete wsdl .Create one folder inside of ur projects and import urconcrete wsdl inside of that directory .create one more soap request reply activity inside of ur newlycreated process and configure ur newly imported schema.

    Abstract WSDL consists of the structure of the message that is; what operation, what is the input andwhat is the ouput . Whereas in concrete WSDL has all the things that the abstract wsdl has in addition ithas transport(http,jms) details.

    Abstract wsdl:-Used on server side,contains request,response and type of operation performed.concrete wsdl:-used on client side,contains abstract wsdl and transport used.

  • 8/11/2019 Difference Between Fault

    8/30

    "Web Services Inspection Language is a service discovery mechanism that is an alternative to UDDI aswell as complementary to UDDI. When you discover Web services with UDDI, you have to go to acentralized registry. WSIL is an alternative approach to Web service discovery. WSIL allows you to godirectly to the service provider and ask for the services it provides."

    "WSIL defines an XML based Language allowing publishers to advertise their services"

    he WSIL specification relies on a completely distributed model for providing service-relatedinformation. The service descriptions can be stored at any location, and requests to retrieve theinformation are generally made directly to the entities that are offering the services. The WSILspecification does not stipulate any particular format for the service information. It relies onother standards, including UDDI, to define the description formats. The WSIL specification alsorelies on existing Web technologies and infrastructure to provide mechanisms for publishing andretrieving its documents.

    WSIL provides the ability to disseminate service-related information through existing protocolsdirectly from the point at which the service is being offered. This enables focused discovery to

    be performed on a single target; however, because of its decentralized and distributed model,WSIL is not a good mechanism for executing focused discovery if the communication partner isunknown.

    The WSIL specification does not define a service description language. WSIL documents provide amethod for aggregating different types of service descriptions. Within a WSIL document, a singleservice can have more than one reference to a service description . For example, a single Web servicemight be referenced twice in a WSIL document: once directly via its WSDL, and again via itsbusinessService entry in a UDDI registry. References to these two service descriptions should be put intoa WSIL document. If multiple references are available, it is beneficial to put all of them in the WSILdocument so that the application that uses the document can select the type of service description thatis compatible with and preferred by that application.

    Soap action is used to identity operations, for each operation soap action will have some unique valuethis value is used by service to identify which operation it has to execute

    1. >What are the modes of TIBCO BW Installations ?;

    GUI modeConsole modeSilent mode

  • 8/11/2019 Difference Between Fault

    9/30

    2. Will Active Enterprise Adapter Palette activities override the existing transport type of; adapterservice?Answer: Yes

    3. Does Adapter service support RVCMQ transport for publishing?Answer: No

    4. What is the difference between Invoke an Adapter Request-Response Service Activity and AdapterRequest-Response Service activity?Answer:; Invoke an Adapter Request - Response:

    It Requests a response from external application to adapter service.

    Adapter Request-Response Server Activity:It Requests a response from adapter service to external application.

    4. Does Copy File activity allow copying directories to new location?Answer:; Yes, The Copy File activity allows you to copy files and directories to a; new location.

    5. Does Create file activity allows creating new directories?Answer: Yes, The Create File activity creates a new file or directory with the specified name. Whencreating a file, you can also provide the file contents.

    6. What is the Difference between Concrete WSDL; and Abstract WSDL?Answer: The Abstract WSDL describes the interface of the web service which includes the format ofrequest and response messages of each operation.

    The Concrete WSDL describes the abstract WSDL plus transport information. Concrete WSDL containsmessages, operations and transport specific information (JMS or Http), which is used by SOAP client.

  • 8/11/2019 Difference Between Fault

    10/30

    7. What is the Difference between EMS (Enterprise Messaging Service) and Rv (Rendezvous)?Answer: EMS (Enterprise Messaging Service):

    1. A Producer sends a message to the central server. The server stores the message until it has deliveredit to each consumer.

    2. Producer to server; Server to consumers.

    3. The central server stores all messages and delivery state forall its clients. It requires disk resources in proportion to total

    throughput volume.

    4. Disk failure on a server host computer can be catastrophic,affecting all messages from client. Many installations protect againstdisk failure using safeguards such as disk mirroring.

    5. The central server is the master of overall delivery state.

    Rv (Rendezvous):

    1. A producer sends a message to consumers. The producer stores the message until each consumer hasacknowledged receipt.

    2. Peer-to-peer.

    3. Stream-oriented Protocol.

    4. Each producer stores its outbound messages and some deliverystate; It requires disk resources in proportion to its outbound volume.

    5. Disk failure on a peer host computer affects only themessages that its programs produce or consume. However, disk mirroringfor each individual peer is often impractical.

  • 8/11/2019 Difference Between Fault

    11/30

    ;8. How you perform Performance Tuning on BW engine?;Answer:; Using this we can perform Performance tuning in BW engine.

    Max JobsFlow LimitActivation LimitJava heap Size

    9. What are include in EAR file?Answer:;

    Library builderAlias LibraryProcess DefinitionsShared Resources

    10. What are the maximum, we can configure Faul tolerance mode for EMS?Answer: At any point of time, we can configure only two servers in FT.

    11. What is the use of Critical Section Group?Answer:; Critical Section groups are used to synchronize process instances so that only one processinstance executes the grouped activities at any given time.

    12. How do you use XSLT file?Answer: The transform XML activity allows you to transform an input XML document into the outputspecified by the given XSLT File shared configuration resource.

  • 8/11/2019 Difference Between Fault

    12/30

    13. How you send messages in a sequence order in ems?Answer: By using Sequence Key Property.

    14. Where do you configure database connection for EMS?Answer:; In Stores.config file.

    15. How to set message priorities on the destinations using tibco EMS?Answer: By specifying priority index at receiving end.

    16. Is that possible to change process or shared variable during run time?Answer: Yes, Its possible to change process or shared variables at run time using assign and set sharedvariable activity.

    17. In Mapping using XSLT, what is the meaning of (..) in the statement?Answer: Parent loop

    18. Can you deploy a BW engine on system which has only TRA?Answer: No

    19. What are the main parts of JMS message?Answer:;

  • 8/11/2019 Difference Between Fault

    13/30

    HeaderBodyProperties

    20.; What is the Difference between Alias Library and Library Builder?

    Answer: A Library builder is used to create a design time Library which can be used; to share a set ofTIBCO BW processes or resources across projects during the development phase.

    An Alias Library is used to access some Java classes which are part of a jar file.

    21. What is BW Memory Management?

    Answer: Memory saving mode can reduce the memory used by actively running process instances aswell as potentially improve the performance of checkpoints. By default, Memory saving mode isdisabled, But you can enable garbage collection on specific process instances by setting theEnableMemorySavingMode property to true. You can enable memory saving mode for all processinstances by setting the EnableMemorySavingMode property to true, EnableMemorySavingMode = true.

    Try this property adding your deployment TRA or BW Engine. Tra file and Redeploy it. But memorysaving is very limited though, make sure if your process is claiming more heap and/or reaching out ofmemory exception, there is something wrong process design, Verify each activity and cleanup all unusedcontent.

    22. Can we have 2 processes running on the same Http Connection and same Port No.?

  • 8/11/2019 Difference Between Fault

    14/30

    Answer: No

    23. Do we have to redesign the project if we make some changes in XSD'S like enumeration changes or just update them?

    Answer: If you modified any property (Enumeration.. etc) for any field in schema, you need not re-design your project. It's just property, it automatically imported where ever you're using (diff process)this schema.

    24. What is the difference between SOAP Event Source and Service Activity?

    Answer: By using SOAP Event source activity we can perform only one operation, if you need to havemultiple operations in one place, you can use Service Activity, as it supports multiple operations in oneplace.

    25. If you have installed a particular version of TIBCO software e.g. TIBCO BW X.Y.Z, What are X, Y and Znumber stands for?

    Answer: Integration can be at different application layers:X:PatchY:MajorZ:Minor

  • 8/11/2019 Difference Between Fault

    15/30

    26. What is the role of TRA?

    Answer: TRA stands for TIBCO Runtime Agent.The TRA has two main functions:Supplies an agent that is running in the background on each machine. The agent is responsible for starting and stopping processes that run on a machine according to thedeployment information.The agent monitors the machine. That information is then visible via TIBCO Administrator.

    Supplies the run-time environment, that is, all shared libraries including third-party libraries.

    27. What are the resources that gets included in the EAR file, created by the TIBCO Designer?

    Answer: AnEAR file can contain local project resources, LibraryBuilder resources,

    and files as specified in AliasLibrary resources. In addition, theTIBCO Designer classpath may include references to other files that areincluded in the EAR file.28. What are the revision control system options available in TIBCO designer?Answer:

    File sharingVSSPerforceXML CanonClearCaseiPlanetCVSPVCS29. What are the different modes of service invocation?Answer: Services can be invoked in several ways.>A one-way operation is executed once and does not wait for a response.Arequest-response operation is executed once and waits for one response.

  • 8/11/2019 Difference Between Fault

    16/30

    In a request-response service, communication flows in both directions.The complete interaction consists of two point-to-point messagesarequest and a response. The interaction is only considered completeafter the response has arrived.Publication (notification) means an operation sends information on an as-needed basis, potentiallymultiple times.Subscription means incoming information is processed on an as-needed basis, potentially multipletimes.30. What is vcrepo.dat?

    Answer: TIBCODesigner creates a file named vcrepo.dat in the project root directorywhen you first save the project. This file is used to store propertiessuch as display name, TIBCO Rendezvous encoding, and description. Thisfile can be used for identification in place of the project rootdirectory and can be used as the repository locator string (repoUrl).

    31. What are the TIBCO BW activities that can participate in transactions?

    Answer: Notall TIBCO BusinessWorks activities can participate in a transaction.Only the following types of activities have transactional capabilities:

    JDBC activitiesJMS activitiesActiveEnterprise Adapter activities that use JMS transports

    EJB activitiesTIBCO iProcess BusinessWorks Connector activities

    32. What are the different types of Transactions TIBCO provides?

    Answer: TIBCOBusinessWorks offers a variety of types of transactions that can beused in different situations. You can use the type of transaction thatsuits the needs of your integration project. When you create atransaction group, you must specify the type of transaction. TIBCOBusinessWorks supports the following types of transactions:JDBCJava Transaction API (JTA) UserTransaction

  • 8/11/2019 Difference Between Fault

    17/30

    XA Transaction

    33. What activities are supported in JTA Transaction?

    Answer: The Java Transaction API (JTA) UserTransaction type allows:

    JDBCJMSActive Enterprise Adapter (using JMS transports)EJB activities

    34. What activities are supported in XA Transaction

    Answer: The XA Transaction type allows:

    JDBC activitiesActiveEnterprise Adapter activities that use the JMS transportJMS activities

    to participate in transactions.

    Note:ForJMS activities and ActiveEnterprise Adapter activities, request/replyoperations cannot participate in an XA transaction. Also, EJB activitiescannot participate in an XA Transaction group.

    35. What are the possible Error output's of Read File activity?

    Answer: Integration can be at different application layers:

    FileNotFoundException :Thrown when yhe file does not exist.UnsupportedEncodingException:Thrown when the text ;s encoding is not valid and the content of thefile is read into process data.FileIOException :Thrown when an I/O exception occurred when trying to read the file.

    36. What is the purpose of the inspector activity

  • 8/11/2019 Difference Between Fault

    18/30

    Answer: TheInspector activity is used to write the output of any or all activitiesand process variables to a file and/or stdout. This is particularlyuseful when debugging process definitions and you wish to see the entireschema instead of mapping specific elements to the Write File activity.

    37. What are the maximum/minimum of threads available for incoming HTTP

    Answer: The maximum/minimum of threads available for incoming HTTP : 75/10

    38. How can unauthorized users be prevented from triggering a process

    Answer: Unauthorizedusers be prevented from triggering a process by giving 'write' accessfor the process engine to only selected users. Only users with 'write'access can do activities like deploying applications, starting/stoppingprocess engines etc.

    39. What are the mandatory configuration parameters for FTP Connection & FTP with firewall

    Answer: The mandatory configuration parameters for FTP Connection

    FTP hostPortUsername & Password>

    If Firewall is enabled in addition the proxy host and port are required.

    40. howto design a process such that depending on number of records updated ina database, 3 different sub-processes may be called

    Answer: Define 3 transitions from JDBC update with condition on the no of updates and call appropriatechild processes.

  • 8/11/2019 Difference Between Fault

    19/30

    41. How to use legacy .dat file format with latest designer

    Answer: Convert .dat file to multi file project using Administration tab whilestarting up Designer(Other one being Project tab) and then open themultifile project in the normal way.

    42. What are the encodings supported by designer

    Answer: Encodings supported by designer are

    ISO8859-1(Latin-1)UTF-8

    43. What are the 4 main panels of the Designer window

    Answer: The 4 main panels of the Designer window are

    Project panelPalette panelDesign panelConfiguration panel

    44. How do you determine if there are broken references in the project

    Answer: Project -> Validate for deployment

    45. Where are the Designer preferences stored

    Answer: Designer preferences stored are stores in a file called 'Designer .prefs' in the userhome directory.

    46. Explain the process configuration parameters - Max Jobs, Flow Limit & Activation Limit ?

    Answer:

  • 8/11/2019 Difference Between Fault

    20/30

    Max Jobs :MaxJobs specifies the number of process instances that are kept inmemmory. Once this limit is reached newly created process instances(subject to flow limit) are paged out to disk.0 specifies no limit andis the default.

    Flow Limit :FlowLimit specifies the maximum number of running process instances thatare spawned before the process starter is suspended ie it enters aFLOW_CONTROLLED state and does not accept new events. This can be usedto control the number of process instances running simultaneously andwhen the protocol generating the event can store the event till it isreceived, like email servers, JMS, RV etc. 0 specifies no limit and is

    the default.

    Activation Limit :Activationlimit flag specifies that once a process instance is loaded it must beplaced in memmory till it completes execution. By default it is enabled.

    47. What are the options for configuring storage for process engine's checkpoint repository

    Answer: The options for configuring storage for process engine's checkpoint repository are:

    Local FileDatabase. Fault tolerant engines can recover from a checkpoint only when database is used.

    48. Process engines in a fault tolerant group can be configured as peers or master secondary.How dothese differ

    Answer: The options for configuring storage for process engine's checkpoint repository are:

    -Peer means all of them have the same weight. In this case when oneengine fails another one takes over and continues processing till itfails.- In master secondary configuration weights are

  • 8/11/2019 Difference Between Fault

    21/30

    unequal, the secondary starts processing when master fails. But whenmaster recovers, secondary stops and master continues processing.

    49. What are the uses of grouping activities

    Answer: Uses of grouping activities are:

    Create a set of activities having a common error transition.Repeat group of activities based on a condition. - Iterate over a list.- Repeat until condition true.- Repeat on Error until condition true.

    Group activities into a transaction.To create a critical section area that synchronizes process instances.A'Pick First Group' allows you to wait for the occurence of multipleevents and proceed along a path following the first event to occur.

    50. What is the purpose of a Lock shared configuration resource

    Answer: ALock is specified for a 'Critical Section' group when the scope is'Multiple'. It can be used to ensure synchronization across processinstances belonging to multiple processs definitions or for processinstances across engines(Check multi engine flag for lock in this caseand the BW engine needs to be configured with database persistence whiledeployment). If synchronization is for process instances belonging tothe same processs definition inside one engine, just specify the scopeas 'Single'.

    51. How to control the sequence of execution of process instances created by a process starter

    Answer: Usethe sequencing key field in the Misc tab of any process starter.Process instances with the same value for this field are executed in thesequence in which they are started.

  • 8/11/2019 Difference Between Fault

    22/30

    52. Can there be two error transitions out of an activity

    Answer: No. There can be only one Error and one Success if no matching condition transition out of eachactivity.

    53. When is a 'No Action' group used

    Answer: 'No Action' group used to have a set of activities having a common error transition

    54. What activity can be used to set the value of a 'User defined process variable'

    Answer: The 'Assign' activity can be used to set the value of a 'User defined process variable'.

    55. Which are the two process variables available to all activities with inputs ?

    Answer

    $_globalVariables$_processContext

    56. Which mechanism can be used to passdata between a process instance and a called sub process other than

    mapping from/to the caller's input/output

    Answer: This can be accomplished using job shared variables, unless in the callprocess activity the 'Spawn' flag is enabled in which case the called sub process is a new job and hence gets a fresh copy of the job shared variable initialized as per itsconfiguration. A shared variable can overcome this limitation as it's scope is not limited to one job.

    57. What are the three scenarios where BW engine has to be configured with database persistenceinstead of Local File

    Answer: The three scenarios are:

    Shared Variables across BW engines.Locking across groups in multiple BW engines.Wait Notify across BW engines.

  • 8/11/2019 Difference Between Fault

    23/30

    58. If you want a group to be executed ifthere is some unhandled error but subject to some max number ofiterations which group do you use ?

    Answer: We can use Repeat on Error until true

    59. When is a 'Generate Error' activity useful

    Answer: When you handle an error inside acalled subprocess or group and want to rethrow the error to the

    caller(happens by default if you dont handle the error in the calledprocess)

    60. Which activity is used for detecting duplicate message processing

    Answer: CheckPoint activity- Specify the uniqueID for the duplicate key field andengine maintainslist of these key fields. When a process come to checkpoint activity with

    the same value forduplicate key which already exists, it throws a DuplicateException. An errortransition canthen handle this case.

    61. Give an example where graceful migration of service from one machine to another is not possible.

    Answer: HTTP Receiver. In this case the receiver on new machine starts listening on the same port,but you need to redirect requests from the old machine to the new one.

    62. What are the types of adapter services

    Answer: Types of adapter services are :

  • 8/11/2019 Difference Between Fault

    24/30

    Subscriber ServicePublisher ServiceRequest-Response ServiceRequest-Response Invocation Service

    63. If the business process needs to invoke another web service which resource do you use

    Answer: SOAP request reply activity. If thebusiness process needs to be exposed as SOAP service use SOAP EventSource in conjunction with SOAP Send Reply or SOAP Send Fault.

    64. What is the functionality of the Retrieve Resources resource

    Answer: It can be used to serve the wsdl file of a SOAP Event Source to a (http)client.Construct aprocess like: HTTP Receiver -> Retrieve Resources -> Send HTTP Response

    Now the WSDL file for a SOAP service can be retreived using the http request

    http://://?wsdl

    where 'path' is the folder path to the SOAP Event Source process and'resourceName' is the name of the process

    Example :http://purch:8877/Purchasing/GetPurchaseOrder?wsdl

    65. What is the scope of user defined process variables

    Answer: The scope of user defined process variables is only the process in which it is defined.(Not eveninside a sub process thatis invoked from this process)66. What is difference between shared variable and job shared variable ?

    Answer

  • 8/11/2019 Difference Between Fault

    25/30

    Both of them can be manipulated via the palette resources 'Get shared variable' and 'Set sharedvariable'.

    A job shared variable is private to one instance of job or in otherwords each job has a fresh copy. In the case of shared variable the samecopy is sharedacross all job instances. It can even be persisted and can survive BW enginerestarts andeven shared across multiple BW engines(when deployed using DB persistence).

    67. How do wait-notify resources work

    Answer: Basically wait and notify should share a common notification configurationwhich is just aschema definition for data that will be passed from notifier to waiter.Specific instances of waiter & notifier are corrrelated via a key.

    For example: when one process is inwait state for key 'Order-1', it waits till another process issues a notification with the same key value.

    68. What is the default Axis in XPath

    Answer: Child axis- What this means is that when you select "BOOK" from the currentcontext, itselects a child node with that name, not a sibling with that name. Otheraxes are parent ,self , sibling etc.

    69. What are the output formats for XSLT

    Answer:

  • 8/11/2019 Difference Between Fault

    26/30

    XMLHTMLText

    70. What does ' Success if no matching condition' transition mean

    Answer:

    Lets say between two nodes N1 and N2, there are 3 success transitions withcondition and thereis no success transition without condition. If none of the conditions matchthen a 'Success ifno matching condition' transition can be used. Also if there is a successtransition and also

    success transitions with condition and if the condition matches then boththe sucess transition(no condition) as well as the transition(s) with matching conditions arefollowed. So you canuse 'Success if no matching condition' to prevent duplicate paths ofexecution.

    71. What is the Purpose of $_error variable ?

    Answer: $_error variable is available in the node following the error transition. Itcaptures the errormessage, error code etc.

    72. What are the cases where business process cant proceed correctly subsequent to restart from acheckpointAnswer

  • 8/11/2019 Difference Between Fault

    27/30

    Sending HTTP response, confirming an email/jms message etc. This isbecause the confirmation or sending HTTP response has to done in the same session. When enginecrashes these sessions are closed at their socket level. In such cases send response/confirm beforecheckpoint.

    73. Which group do you use to wait for multiple events and proceed with thefirst to occur

    Answer: A 'Pick First Group'.

    The command line interface of the administration tool allows you to perform a variety of functions. Thefollowing lists of command usefull for Ems.

    Create User: create a new user syntex : create user ["user_description"] [password=]example: create user test "Test user" password=test

    Show Users: Show all users syntex : show usersexample: show users

    Delete user: delete the named user syntax : delete user example: delete user test

    Create group: creates a new group of users. Initially the group is empty. You need to add users in thegroup. syntax : create group group_name "description"example: create group Training "Training group"

    Delete group: delete the named group syntax : delete group example: delete group training

    Add member: Add one or more users to the group syntax : add member , ...example: add member training test

    Set password: Set the password for the named user syntax : set password [password]example: set password test 123

    Grant admin : Grant the named global administrator permissions to the named user or group. For acomplete listing of global administrator permissions

  • 8/11/2019 Difference Between Fault

    28/30

    syntax : grant admin user= | group= example: grant admin user=test all

    grant admin group=training allNote: some admin permissions: all:- all admin permissions, change-connection:-delete connection

    Connect: Connect the administrative tool to the server syntax : connect tcp://:example: connect tcp://server2000:7222

    Disconnect: Disconnect the administrative tool from the server syntax : disconnectexample: disconnect

    create topic : Creates a topic with specified name and properties. Properties are listed in acomma-separated list, as described in topics.conf . You can set the properties directly in the

    topics.confor by means of the setprop topic command in the EMS Administrator Tool.

    syntax : create topic example: create topic t1

    Show Topic : Shows the details for the specified topic syntax : show topic example: show topic t1

    setprop topic : Set topic properties, overriding any existing properties syntax : setprop topic example: setprop topic t1 secure,sender_name

    addprop topic : Adds properties to the topic. Property names are separated by commas syntax : addprop topic example: addprop topic t1 failsafe

    Grant topic : Grants specified permissions to specified user or group on specified topic. Multiplepermissions are separated by commas.Topic permissions are: subscribe, publish, durable, use_durableDestination-level administrator permissions can also be granted with this command. The following areadministrator permissionsfor topics are - view , create , delete, modify , purgesyntax : grant topic Note: The best way to define permissions on topic is-open acl.conf and modify in the fileexample: TOPIC=t1 USER=user1 PERM=publish,subscribe,view

    purge topic : Purge all messages for all subscribers on the named topic syntax : purge topic example: purge topic t1

    delete topic : delete specefic topicsyntax : delete topic

  • 8/11/2019 Difference Between Fault

    29/30

    example: delete topic t1

    create queue : Creates a queue with the specified name and properties. The possible queue propertiesare described in

    Destination Properties. Properties are listed in a comma-separated list, as described inqueues.conf. You can set the

    properties directly in the queues.conf or by means of the setprop queue command in the EMSAdministrator Tool.syntax : create queue example: create queue q1

    Show Queue : Shows the details for the specified queuesyntax : show queue example: show queue q1

    setprop queue : Set queue properties, overriding any existing properties. Any properties on a topicthat are not explicitly specified by this command are removed

    syntax : setprop queue example: setprop queue q1 secure,sender_name

    addprop queue : Adds properties to the queue. Property names are separated by commas syntax : addprop queue example: addprop queue q1 failsafe

    Grant queue : Grants specified permissions to specified user or group on specified queue. Multiplepermissions are separated by commas Queue permissions are: receive, send, browseDestination-level administrator permissions can also be granted with this command. The following are

    administrator permissionsfor queue are - view , create , delete, modify , purgesyntax : grant queue Note: The best way to define permissions on queue is-open acl.conf and modify in the fileexample: QUEUE=q1 USER=user1 PERM=receive,browse

    purge queue : Purge all messages in the named queue syntax : purge queue example: purge queue q1

    delete queue : delete specefic queuesyntax : delete queue example: delete queue t1

    Create durable : Creates s static durable subscriber syntax : create durable [property,....,property]example: create durable t1 durable1Note: why durable: By default, subscribers only receive messages when they are active. If messagesarrive on the topic

  • 8/11/2019 Difference Between Fault

    30/30

    when the subscriber is not available, the subscriber does not receive those messages.The EMS APIs allow you to create durable subscribers to ensure that messages are received, even if themessage consumeris not currently running. Messages for durable subscriptions are stored on the server as long as durablesubscribers existfor the topic, or until the message expiration time for the message has been reached, or until thestorage limit has beenreached for the topic. Durable subscribers can receive messages from a durable subscription even if thesubscriber was notavailable when the message was originally delivered.When an application restarts and recreates adurable subscriber with thesame ID, all messages stored on the server for that topic are published to the durable subscriber.

    Delete durable : Delete the named durable subscriber syntax : delete durable example: delete durable durable1

    Show config: Shows the configuration parameters for the connected server syntax : show config

    Show consumer or show consumers: information about a specific consumer or all consumers syntax : show consumer or show consumersexample: show consumer 6 or show consmers

    show connections : Show connections between clients and server syntax: show connections [type=q|t|s] [host=hostname] [user=username] [version] [address] [counts][full]example: show connections

    show db : Prin t a summary of the servers databases syntax : show db [sync|async]example: show db