Technical Interview Questions and Answers :: WebMethod
- In Custom SQL, you can pass inputs to your SQL query at runtime. With DynamicSQL, you can pass your entire SQL statement, or part of your SQL statement can be passed at runtime; along with inputs to it. So basically you can build your SQL dynamically at runtime.
- You use Custom SQL when SQL query is fixed with input variable that are passed to the custom adapter service. You use dynamic SQL, if SQL query changes during the runtime; in this cases you prepare the sql query and pass it to dynamic adapter service in the runtime.
- Custom SQL and Dynamic SQL we have to write the queries explicitly. The main difference between Custom SQL and Dynamic SQL is; in Custom SQL we can give the input values at design time. In Dynamic SQL we can give the input values at run time.
- Custom SQL is faster than the Dynamic SQL because Custom SQL is pre-compiled (at design time) but dynamic SQL is not pre-compiled (compiled at runtime).
- Dynamic SQL is more versatile than the Custom SQL.
21 / 166
1. NO_TXN: When you configure any JDBC Connection with NO_TXN as TXN type, the Adapter Services which use this kind of connection need not be used commit and rollback services explicitly by the developer. Which means all the transactions are auto commit or auto roll back.
2. LOCAL_TXN: For Adapter Services which use any connection that was configured with LOCAL_TXN as TXN Type, then the developer has to use the pub.art.transaction.commit & pub.art.transaction.rollback explicitly in his code; which means the transactions are not auto committed and needs explicit transaction control.
Also, all the DB Interactions within the transaction boundary are committed or rolled back together. Txn boundary is when you start a TXN using pub.art.startTransaction ; You can write as many Adapter Services as you want here and then endTransaction;as you are using LOCAL_TXN all these adapter Services will be committed or rolled back together.
Note: in LOCAL_TXN the entire adapter Services you write between start and end txns should be talking to same database (can talk to multiple tables, though)
3. XA_TXN: Same as Local txn; but the adapter services you write in between start and end can talk to Different Databases; which means XA_TXN supports multiphase transactions. A transaction will be used when you want to say, insert content into 2 Diff DBs, one after the other; If the insert in 2nd DB fails then if you want to rollback in the 1st DB as well, then use XA txn.
No transaction -- means the DB manages the transaction (not IS); this is "auto-commit"
Local transaction -- means IS manages the transaction; can only involve one Local transaction connection and 0 or more "No transaction" connections
XA transaction -- means IS manages the transaction and can handle distributed transactions (operation over more than 1 database)
Local transaction means in a single transaction we can do multiple operations on a single database. To be more clear all these multiple operations use the same Adapter connection.
XA transaction means in a single transaction we can do multiple operations on different databases.
To be more clear all these multiple operations use different Adapter connection.
Use no transaction for select and local transaction for any DML (insert, delete, and update) operations to handle the transaction boundary (via start, commit and rollback).
22 / 166
23 / 166
There are seven types of notifications: Insert, Update, Delete, Basic, Stored Procedure, StoredProcedureNotificationWithSignature, and Ordered Notifications. They vary in how they are structured and operate,
In contrast with Insert Notifications, Update Notifications, and Delete Notifications, Basic Notifications require that you define a buffer table, and a database trigger or other means of monitoring database changes so that changes are written into the buffer table.
24 / 166
webMethods ‘Optimize for process’ is component which is responsible for monitoring the customer requests, generating statistics, calculate the KPIs, and notifying you with any violation for the rules you define to monitor your business process.
25 / 166
The document gateway service adds “hints†to TN_parms that Trading Networks uses when performing document recognition for a flat file document.
When new flat file comes to TN has to be recognized and processed document type matching. For finish this activity flat file doesn't contain metadata like XML file. It’s our responsibility to provide Meta data like who is the sender, receiver, document type. we are using gateway service to provide all this information to the TN as TN_parms pipeline variable which will be provided by gateway service. It is our responsibility to invoke or provide the gateway service to the each and every new flat file(document type). once you have been defined the Gateway service to specific flat file document make sure that you need to give the gateway service to the whoever is interested to send this type of flat file to TN in order to process the file in TN.
26 / 166
To configure large document handling
27 / 166
Public Queue - is a queue that you define to schedule the delivery of documents that are aimed at multiple different receiving partners. When you define a public queue, the name of the public queue is added to the list of queues you can select when specifying a scheduled delivery method with the Deliver Document By processing action.
Private Queue - are queues that contains only delivery tasks that correspond to documents aimed for a specific receiving partner. You define private queues in the profile of the receiving partner.
28 / 166
Protocol types : EDIINT, FTP, FTPS, HTTP, HTTPS, EMAIL, WEBSERVICES, QUEUE.
A delivery service delivers a document to the receiving partner.
29 / 166
Preprocessing Action - Verify Digital Signature, Validate Structure Of Document, Check Duplication, Save.
Processing Action - Execute a Service, Send an alert email, Change the user status, Deliver the document to Receiver, Respond with a message.
Both the action performed at run time.
30 / 166
Trading Partner Agreement (TPA) - you can define trading partner agreements for pairs of partners. Each TPA contains specific information for two trading partners, where one partner represents a sender and the other represents the receiver. You can create applications that use TPA information to tailor how documents are exchanged. Other webMethods components (e.g., webMethods EDI Module) use TPAs to perform processing.